:root{--ink:#243c35;--green:#346654;--muted:#7c8881;--line:#e5e9e2;--bg:#f7f8f3;--white:#fff;--soft:#edf2e9}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #b6c880}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.4px;margin-bottom:10px;font-size:32px}h2{letter-spacing:-.6px;margin-bottom:12px;font-size:21px}p{color:var(--muted)}.shell{grid-template-columns:238px 1fr;min-height:100vh;display:grid}aside{border-right:1px solid var(--line);background:#fcfcf9;flex-direction:column;height:100vh;padding:40px 24px 22px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1.4px;align-items:center;gap:9px;font-size:32px;font-weight:700;display:flex}.brandmark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:25px;font-style:italic;display:grid}.dot{color:#8ea579;margin-left:-9px}.eyebrow{letter-spacing:1.9px;color:var(--muted);font-size:10px;font-weight:700}aside>.eyebrow{letter-spacing:1px;margin:16px 0 45px}nav{gap:8px;display:grid}.nav{color:#727e77;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:14px;padding:13px 15px;display:flex}.nav span{font-size:21px}.nav.active{color:var(--green);background:#eaf0e7;font-weight:700}.sidebar-note{margin-top:auto;padding:24px 10px 20px}.sidebar-note strong{font-size:12px;display:block}.sidebar-note p{margin:5px 0;font-size:11px}.seed{color:#91a47f;font-size:31px}aside>small{color:#9aa39c;border-top:1px solid var(--line);padding-top:18px;font-size:10px}main{width:100%;max-width:1500px;padding:0 44px}header{border-bottom:1px solid var(--line);height:85px;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.slash{color:#c3c9bf;padding:0 15px}.pill{color:var(--green);white-space:nowrap;background:#eef4e9;border:1px solid #dbe5d7;border-radius:20px;padding:4px 11px;font-size:10px}.heading{padding:38px 0 22px}.heading .eyebrow{color:#7e967e;margin-bottom:13px}.heading>p:last-child{margin:0;font-size:13px}.welcome-grid{grid-template-columns:1.25fr 1fr;gap:26px;margin-top:12px;display:grid}.welcome{background:#e8eedf;border-radius:16px;min-height:480px;padding:36px;position:relative;overflow:hidden}.welcome h2{letter-spacing:-1px;margin:25px 0 14px;font-size:32px;line-height:1.5}.welcome p{color:#6b7f67;max-width:330px;font-size:13px}.pale{background:#f6f8f0}.art{height:150px;margin-top:40px;position:relative}.art>div{background:#8da686;border-radius:90px 90px 18px 18px;width:110px;height:135px;position:absolute;bottom:0;left:20px;transform:rotate(-17deg)}.art>div:nth-child(2){background:#c3cfaa;width:100px;height:170px;left:115px;transform:rotate(20deg)}.art>div:nth-child(3){background:#e9dbb1;width:80px;height:100px;left:210px;transform:rotate(12deg)}.art span{color:#627b5b;font-family:Georgia,serif;font-size:12px;font-style:italic;position:absolute;bottom:0;right:0}.card{border:1px solid var(--line);background:var(--white);border-radius:14px;margin-bottom:24px;padding:28px}.login{margin-bottom:0;padding:36px}.login>p{font-size:12px}.login h2{margin-top:20px}form{gap:17px;margin-top:25px;display:grid}label{color:#506258;gap:8px;font-size:12px;display:grid}input,select{color:var(--ink);background:#fcfdfa;border:1px solid #dfe5da;border-radius:7px;min-width:0;max-width:100%;padding:11px 12px}.primary{background:var(--green);color:#fff;border:0;border-radius:7px;padding:12px 18px}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:8px 12px;font-size:12px}.fine{color:#8f9a90;margin:20px 0 0;font-size:10px;line-height:1.8}.setup{background:var(--bg);border:1px dashed #cdd8c6;border-radius:9px;margin-top:28px;padding:20px}.setup p{margin:8px 0 0;font-size:12px}.toolbar{justify-content:space-between;align-items:center;margin:10px 0 24px;display:flex}.toolbar select{min-width:230px;margin-top:6px;display:block}.toolbar h2{margin:0}.metrics{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.metrics article>span{color:var(--muted);font-size:12px;display:block}.metrics strong{margin-top:12px;font-size:28px;font-weight:500;line-height:1.4;display:block}.metrics strong small{color:var(--muted);margin-left:7px;font-size:12px}.metrics .text-metric{margin-top:18px;font-size:19px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h2{margin:0}.empty{text-align:center;padding:45px 10px}.empty>span{color:#91a084;font-size:33px}.empty h3{margin:14px 0 7px;font-size:15px}.empty p{margin:0;font-size:12px}.rows{margin:20px 0 0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:18px 0;display:flex}.rows li:last-child{border:0}.rows li>.pill{margin-left:auto}.rows strong{font-size:13px}.rows p{margin:3px 0 0;font-size:11px}.avatar{background:var(--soft);color:#759369;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.alert{color:#815331;background:#fff3e8;border:1px solid #ecd6bf;border-radius:9px;margin-bottom:20px;padding:14px}.alert button{color:inherit;background:0 0;border:0;margin-left:14px;text-decoration:underline}.inline-form{grid-template-columns:1fr 1fr auto;align-items:end}.inline-form .primary{height:46px}dl{grid-template-columns:130px 1fr;gap:12px;display:grid}dt{color:var(--muted)}dd{margin:0}footer{color:#96a08f;border-top:1px solid var(--line);justify-content:space-between;margin-top:20px;padding:30px 0 25px;font-size:10px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1000px){.shell{grid-template-columns:190px 1fr}aside{padding:28px 18px}main{padding:0 25px}.welcome-grid{grid-template-columns:1fr}.welcome{min-height:340px}.art{opacity:.35;width:200px;position:absolute;bottom:20px;right:15px}.welcome p,.welcome h2{z-index:1;position:relative}.metrics{gap:10px}.metrics article{padding:18px}.inline-form{grid-template-columns:1fr}}@media (max-width:640px){.shell{display:block}aside{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:18px 20px;position:static}.brand{font-size:27px}.brandmark{width:31px;height:31px;font-size:22px}aside>.eyebrow,.sidebar-note,aside>small{display:none}nav{gap:7px;margin-top:18px;display:flex}.nav{gap:8px;padding:8px 11px;font-size:12px}.nav span{font-size:17px}main{padding:0 20px}header{height:62px}.heading{padding:28px 0 20px}h1{font-size:26px}.welcome{min-height:330px;padding:26px}.welcome h2{font-size:27px}.card,.login{padding:24px}.metrics{grid-template-columns:1fr}.metrics article{justify-content:space-between;align-items:center;display:flex}.metrics strong,.metrics .text-metric{margin:0;font-size:22px}.toolbar select{min-width:150px;max-width:210px}.rows li{gap:10px}.rows strong{font-size:12px}footer{gap:20px}footer span:last-child{display:none}}.client-heading{gap:16px;margin:30px 0 20px}.client-heading p{margin:6px 0 0}.client-heading .eyebrow{margin-bottom:8px}.client-layout{grid-template-columns:minmax(300px,.95fr) minmax(330px,1.1fr);align-items:start;gap:22px;display:grid}.client-directory{padding:22px}.client-search{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:end;gap:10px;margin-top:0}.client-search button{height:46px}.client-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:end;gap:10px;margin:18px 0;display:grid}.client-filters label{gap:6px;min-width:0;display:grid}.client-filters select{width:100%;min-width:0;padding:8px}.client-list{margin:0;padding:0;list-style:none}.client-row{border:1px solid #0000;border-bottom-color:var(--line);text-align:left;width:100%;color:var(--ink);background:0 0;border-radius:8px;align-items:center;gap:12px;padding:16px 9px;display:flex}.client-row:hover{background:#f7f9f3}.client-row.selected{background:#edf3e8;border-color:#c9d9c1}.client-row .avatar{flex-shrink:0}.client-row .pill{margin-left:auto}.client-summary{min-width:0;display:grid}.client-summary strong{overflow-wrap:anywhere}.client-summary>span,.client-summary small{color:#6b7f73;font-size:11px}.pill.archived{color:#777;background:#f2f2f0;border-color:#ddd}.pagination{justify-content:space-between;align-items:center;gap:8px;margin-top:24px;display:flex}.pagination>span{color:var(--muted);font-size:11px}.client-placeholder{text-align:center;background:#f0f4e9;place-items:center;min-height:440px;display:grid}.client-placeholder h3{margin-top:16px}.client-placeholder p{font-size:13px}.client-detail .section-title h2{overflow-wrap:anywhere;max-width:75%}.client-subtitle{margin:10px 0 0;font-size:11px}.client-form fieldset{border:0;grid-template-columns:1fr 1fr;gap:18px;min-width:0;margin:0;padding:0;display:grid}.client-form fieldset label:first-child{grid-column:1/-1}.client-form fieldset:disabled input,.client-form fieldset:disabled select{opacity:1;color:#526559;background:#f5f6f2}.form-actions{flex-direction:column;align-items:stretch;gap:12px;display:flex}.form-actions p{margin:0;font-size:11px}.client-history{margin:16px 0 0;padding:0;list-style:none}.client-history li{border-left:2px solid #d5e1cc;gap:4px;padding:0 0 20px 18px;display:grid}.client-history li:last-child{padding-bottom:0}.client-history strong{font-size:12px}.client-history span,.client-history small{color:#73816f;font-size:11px}.success{color:#315c41;background:#edf5e7;border:1px solid #cbdcc0;border-radius:8px;margin-bottom:18px;padding:12px 18px}@media (max-width:1150px){.client-layout{grid-template-columns:1fr}.client-placeholder{min-height:240px}}@media (max-width:640px){nav{overflow-x:auto}.nav{flex-shrink:0}.client-heading{flex-direction:column;align-items:start}.client-form fieldset{grid-template-columns:1fr}.client-row{gap:8px;padding:13px 4px}.client-directory{padding:18px}}.schedule-toolbar{flex-wrap:wrap;align-items:end;gap:16px;padding:20px;display:flex}.date-controls{align-items:end;gap:8px;display:flex}.date-controls input{max-width:155px}.view-controls{gap:4px;display:flex}.calendar{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:18px;display:grid;overflow:hidden}.calendar.single-day{grid-template-columns:1fr}.calendar-day{border-right:1px solid var(--line);min-height:270px;padding:10px}.calendar-day:last-child{border-right:0}.calendar-day.today{background:#f2f6ee}.calendar-day h3{text-align:center;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.calendar-empty{text-align:center;padding-top:22px;font-size:10px}.booking-card{width:100%;color:var(--ink);text-align:left;overflow-wrap:anywhere;background:#f4f8f0;border:1px solid #ccdcca;border-left:3px solid #638967;border-radius:7px;gap:6px;margin-bottom:10px;padding:10px 8px;display:grid}.booking-card strong{font-size:12px}.booking-card>span,.booking-card small{font-size:10px}.booking-card.cancelled{color:#84877f;background:#f5f4f2;border-color:#dfdfd9}.booking-card.completed{background:#eef5f7;border-color:#c6dbe1}.booking-card.no_show{background:#fff7ea;border-color:#ead6b7}.booking-status{color:#567a52;font-size:10px}.booking-status.cancelled{color:#888}.booking-status.no_show{color:#916525}.schedule-list{margin:0;padding:0;list-style:none}.schedule-list button{text-align:left;width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 10px;display:flex}.schedule-list .booking-status{margin-left:auto}.schedule-list button:hover{background:var(--soft)}.schedule-pagination{margin:16px 0 26px}.booking-editor{scroll-margin-top:25px}.booking-form fieldset{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0;padding:0;display:grid}.booking-form>button{justify-self:end}.client-picker form{grid-template-columns:1fr auto;align-items:end}.client-picker{max-width:620px;margin-bottom:20px}.client-options{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.booking-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px;display:flex}.danger{color:#9a5141}.status-confirm{background:#fff5e8;border-radius:8px;width:100%;padding:16px}.status-confirm button{margin-right:10px}.booking-history{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}@media (max-width:1100px){.calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-day{border-bottom:1px solid var(--line)}.booking-form fieldset{grid-template-columns:1fr 1fr}}@media (max-width:640px){.calendar{grid-template-columns:1fr}.calendar-day{min-height:100px}.date-controls{flex-wrap:wrap}.booking-form fieldset{grid-template-columns:1fr}.schedule-list button{display:grid}.schedule-list .booking-status{margin-left:0}}.staff-workspace{gap:24px;display:grid}.staff-row{border-bottom:1px solid var(--line,#e2e7e1);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.staff-row p{margin:6px 0}.staff-row button{flex-shrink:0}.staff-checkbox{align-items:center;gap:12px;display:flex}.staff-checkbox input{width:20px}.invite-result{background:#f1f5ef;border-radius:12px;margin-top:24px;padding:20px}.invite-page{max-width:700px;margin:auto;padding:48px 24px}.invite-page .card{margin-top:24px}.follow-up-overview{margin-bottom:32px}.follow-ups-workspace>.section-title,.follow-up-overview>.section-title{gap:20px}.follow-ups-workspace>.section-title>div,.follow-up-overview>.section-title>div{min-width:0}.follow-ups-workspace>.section-title>button,.follow-up-overview>.section-title>button{flex-shrink:0}.follow-up-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.follow-up-metric{text-align:left;color:#344b3d;background:#f8faf6;border:1px solid #dce4d7;border-radius:16px;gap:10px;padding:20px;display:grid}.follow-up-metric:hover,.follow-up-metric.selected{background:#edf3e9;border-color:#54795b}.follow-up-metric strong{font-size:32px;font-weight:500}.follow-up-metric strong small{margin-left:6px;font-size:14px}.follow-up-metric>small{color:#5b695f;font-size:12px;line-height:1.6}.follow-up-context{background:#edf3e9;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:16px;display:flex}.follow-up-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.follow-up-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin-top:16px;display:grid}.follow-up-row{gap:12px}.follow-up-row .client-summary{overflow-wrap:anywhere;min-width:0}.follow-up-overdue{color:#8f4329;background:#f9e7df}.follow-up-person{border-bottom:1px solid #e2e7e1;gap:8px;margin-bottom:20px;padding:18px 0;display:grid}.follow-up-person strong{font-size:22px}.follow-up-person button{justify-self:start}.follow-up-detail textarea{resize:vertical;width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #d9dfd6;border-radius:10px;padding:12px;line-height:1.6;display:block}.follow-up-detail .client-form fieldset{grid-template-columns:1fr}.follow-up-warning{color:#6b4c18;background:#fff3db;border-radius:10px;padding:14px}.follow-up-actions{border-top:1px solid #e2e7e1;flex-wrap:wrap;gap:10px;margin:20px 0;padding-top:20px;display:flex}.follow-up-close,.follow-up-result{background:#f2f5ef;border-radius:12px;margin:20px 0;padding:18px}.follow-up-result p{white-space:pre-wrap;overflow-wrap:anywhere}.follow-up-metric:focus-visible{outline-offset:3px;outline:3px solid #54795b}@media (max-width:1100px){.follow-up-layout{grid-template-columns:1fr}}@media (max-width:700px){.follow-ups-workspace>.section-title,.follow-up-overview>.section-title{flex-direction:column;align-items:flex-start;gap:12px}.follow-up-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.follow-up-metric{padding:16px}.follow-up-context{flex-direction:column;align-items:stretch}}@media (max-width:600px){.staff-row{flex-direction:column;align-items:flex-start}}.operations-stack{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.operations-row{flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0;display:flex}.operations-row label{flex:1;min-width:120px}.operations-row input:not([type=checkbox]),.operations-row select{width:100%;min-width:0}@media (max-width:640px){.operations-row{align-items:stretch}.operations-row label{flex-basis:100%}}.clinical-panel{border-top:1px solid #dce6df;margin-top:24px;padding-top:20px}.clinical-panel textarea{resize:vertical;width:100%}.clinical-panel details{padding:12px 0}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.invoice-list{gap:8px;margin:18px 0;display:grid}.invoice-row{text-align:left;color:inherit;background:#f6f9f6;border:1px solid #dce6df;border-radius:12px;gap:8px;padding:18px;display:grid}.invoice-row.selected{background:#edf5ef;border-color:#34674d}.invoice-row span{font-size:13px}.operations-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (max-width:900px){.operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-question{border-bottom:1px solid #dce6df;padding:18px 0}.form-question textarea{resize:vertical;width:100%}textarea{color:inherit;font:inherit;background:#fbfcfa;border:1px solid #d9dfd8;border-radius:10px;padding:12px;line-height:1.6}.import-table-wrap{margin:20px 0;overflow-x:auto}.import-table{border-collapse:collapse;width:100%;min-width:700px;font-size:14px}.import-table caption{text-align:left;color:var(--muted);margin-bottom:12px}.import-table th,.import-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dce4dd;padding:14px 12px}.import-table th{background:#f2f6f1}.import-table td{overflow-wrap:anywhere;max-width:330px}.import-table select{width:100%;max-width:310px}.import-confirm{background:#f2f6f1;border-radius:12px;gap:16px;margin-top:20px;padding:20px;display:grid}.import-confirm>label{align-items:center;gap:8px;display:flex}.import-confirm input[type=checkbox]{flex:none;width:auto;margin:0}.import-outcomes{max-height:400px;padding-left:22px;overflow-y:auto}.import-outcomes li{padding:8px 0}.insight-table{margin:16px 0;overflow-x:auto}.insight-table table{border-collapse:collapse;width:100%;min-width:560px}.insight-table th,.insight-table td{text-align:left;border-bottom:1px solid var(--line,#e5e9e2);padding:12px}.insight-table caption{text-align:left;margin-bottom:8px;font-size:12px}.draft-dialog{color:#142e28;background:#fff;border:1px solid #d9dfd8;border-radius:16px;width:min(460px,100vw - 32px);padding:24px}.draft-dialog::backdrop{background:#142e2859}.draft-dialog .operations-row{margin-top:20px}.session-next-actions{background:#f2f8f3;border:1px solid #cddfd3;border-radius:12px;margin-bottom:20px;padding:18px}.session-next-actions>.operations-row{margin-top:12px}
