:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#243c35;background:#f5f8f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#243c35;--muted:#87968e;--line:#e6ece7;--paper:#f5f8f4;--white:#fff;--green:#285c50;--green-dark:#173d38;--mint:#eaf3ec;--gold:#a77b42;--rose:#f8eeea;--shadow:0 14px 40px rgba(30,61,53,.08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #85b9a0;outline-offset:2px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--green-dark);color:#eef5f0;padding:25px 17px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 29px}.brand-mark{width:38px;height:38px;border-radius:13px;background:#d8e9d9;color:#285c50;display:grid;place-items:center;font:25px Georgia,serif;flex:none}.brand b{display:block;font:600 22px Georgia,serif;letter-spacing:.2px}.brand small{display:block;color:#adc3b8;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;margin-top:2px}.nav-caption,.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.25px;color:#8fa197}.sidebar .nav-caption{padding:6px 12px 8px;color:#93afa3}.sidebar nav{display:grid;gap:4px}.nav-link{width:100%;border:0;border-radius:10px;background:transparent;color:#c5d5cd;text-align:left;padding:11px 12px;display:flex;align-items:center;gap:12px;font-size:12px}.nav-link span{width:18px;text-align:center;font-size:16px}.nav-link:hover,.nav-link.active{background:#2c5b51;color:#fff}.side-foot{margin-top:auto}.secure-note{background:#214a43;border:1px solid #37645a;border-radius:9px;padding:10px;color:#d8e5dd;font-size:10px;margin-bottom:12px}.profile-button{width:100%;border:0;background:transparent;color:#eef5f0;display:flex;gap:9px;align-items:center;text-align:left;padding:7px 3px}.profile-button span:nth-child(2){min-width:0;flex:1}.profile-button b,.profile-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-button b{font-size:10px}.profile-button small{font-size:9px;color:#a9beb4;margin-top:2px}.profile-button i{font-style:normal;color:#b5c9c0}.avatar{width:33px;height:33px;background:#d8e9d9;color:#285c50;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-weight:700;font-size:10px}.large-avatar{width:52px;height:52px;font-size:14px}.main{margin-left:250px;min-height:100vh}.topbar{height:72px;position:sticky;top:0;z-index:4;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumb{font-size:11px;color:#39574c}.breadcrumb span{color:#adb9b2;padding:0 7px}.top-actions{display:flex;align-items:center;gap:10px}.top-search{height:35px;min-width:200px;border:1px solid var(--line);border-radius:9px;background:#fbfcfa;color:#89988f;display:flex;align-items:center;gap:7px;padding:0 10px;font-size:15px}.top-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:10px;color:var(--ink)}.icon-button,.menu-button{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:9px;color:#5e786b}.menu-button{display:none}.content{max-width:1450px;margin:auto;padding:28px 34px 48px}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:21px}.page-title h1{font:500 27px Georgia,serif;letter-spacing:-.2px;margin:0}.page-title p{margin:5px 0 0;font-size:11px}.page-title .eyebrow{margin:0 0 6px}.muted{color:var(--muted)}.primary,.secondary{border-radius:9px;padding:10px 14px;font-size:11px;font-weight:650}.primary{border:0;background:var(--green);color:#fff;box-shadow:0 3px 8px #285c5020}.primary:hover{background:#1f4d42}.secondary{border:1px solid #dbe5df;background:#fff;color:#365a4f}.text-button{border:0;background:transparent;color:#447461;font-size:10px;font-weight:650;padding:5px}.small-button{padding:9px 11px}.panel,.metric,.program-card,.patient-summary{background:#fff;border:1px solid #eaf0eb;border-radius:13px;box-shadow:0 2px 8px #1e3d3506}.panel{padding:18px;margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-head h2{font:500 17px Georgia,serif;margin:0}.panel-head p{font-size:10px;margin:4px 0 0}.welcome{background:linear-gradient(112deg,#28574d,#397463);color:#fff;border-radius:15px;padding:23px 26px;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:130px;margin-bottom:18px}.welcome .eyebrow{color:#bcd4c7;margin:0 0 5px}.welcome h2{font:500 24px Georgia,serif;margin:0 0 6px}.welcome p:not(.eyebrow){color:#d4e5dc;margin:0;font-size:11px}.date-label{font-size:10px;color:#d7e9df;text-align:right}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px}.metric{padding:15px 16px;min-height:94px}.metric span{font-size:10px;color:#84948c;display:block}.metric b{font:500 25px Georgia,serif;display:block;margin:6px 0 1px}.metric small{font-size:9px;color:#92a098}.two-col,.detail-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:15px}.detail-grid{grid-template-columns:1fr 1fr}.appointment-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #eef2ef}.appointment-row:first-of-type{border-top:0}.appointment-time{font-size:10px;color:#456153;min-width:100px;font-weight:650}.appointment-main{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.appointment-main div{min-width:0}.appointment-main b,.appointment-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-main b{font-size:10px}.appointment-main span{font-size:9px;color:#87968e;margin-top:2px}.tag{display:inline-flex;align-items:center;white-space:nowrap;border-radius:20px;padding:4px 8px;background:#edf5ef;color:#527565;font-size:9px;font-weight:650}.tag.pending{background:#fbf3e7;color:#a17740}.tag.done{background:#edf2f0;color:#738278}.tag.muted-tag{background:#f3f4f2;color:#818c86}.shortcut-list{display:grid;gap:7px}.shortcut-list button{background:#fbfcfa;border:1px solid #edf1ed;border-radius:8px;text-align:left;padding:10px 11px;color:#486356;font-size:10px}.shortcut-list button:hover{background:#eff5ef}.help-note{background:#f7f9f6;color:#829189;font-size:9px;line-height:1.5;border-radius:8px;padding:10px 11px;margin:12px 0 0}.empty-state{padding:24px 13px;text-align:center;color:#8c9a93;font-size:10px}.search-label{display:flex;align-items:center;gap:12px;color:#6a7e74;font-size:10px;margin-bottom:13px}.search-label input{width:min(360px,100%);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:10px}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.8px;font-size:9px;color:#9aa79f;font-weight:650;padding:10px 9px;border-bottom:1px solid #edf1ed}.data-table td{padding:11px 9px;border-bottom:1px solid #f0f3f0;font-size:10px;color:#52675e}.data-table tr:last-child td{border-bottom:0}.person-link{display:flex;align-items:center;gap:8px;text-align:left;border:0;background:none;color:inherit;padding:0}.person-link b,.person-link small{display:block}.person-link b{font-size:10px;color:#304a40}.person-link small{font-size:9px;color:#93a098;margin-top:2px}.patient-summary{padding:16px;display:flex;align-items:center;gap:13px;margin-bottom:15px}.patient-summary h2{font:500 21px Georgia,serif;margin:0 0 3px}.patient-summary p{font-size:10px;margin:4px 0}.patient-actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.record-fields{display:grid;grid-template-columns:145px 1fr;gap:9px 12px;margin:0;font-size:10px}.record-fields dt{color:#83928a}.record-fields dd{margin:0;color:#3e5a4d;white-space:pre-wrap;overflow-wrap:anywhere}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.patient-photo{margin:0}.patient-photo img{width:100%;height:125px;object-fit:cover;border-radius:8px;background:#f0f3ef}.patient-photo figcaption{font-size:8px;color:#819087;margin-top:5px}.timeline{border-left:1px solid #dce7df;margin:6px 0 0 4px;padding-left:15px}.timeline-item{position:relative;padding:0 0 12px;font-size:10px}.timeline-item:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#75a88d;left:-19px;top:4px}.timeline-item b{font-size:9px}.timeline-item p{color:#728379;white-space:pre-wrap;margin:5px 0 0}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.program-card{padding:15px;display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.program-card h3{font:500 15px Georgia,serif;margin:3px 0 4px}.program-card p{font-size:10px;margin:4px 0}.program-card .eyebrow{margin:0}.login-screen,.setup-screen{min-height:100vh;background:radial-gradient(circle at top left,#eaf3ec,#f5f8f4 45%);display:grid;place-items:center;padding:20px}.login-card,.setup-card{background:#fff;width:min(410px,100%);border:1px solid #e7ede8;border-radius:17px;box-shadow:var(--shadow);padding:27px}.login-card .brand-mark,.setup-card .brand-mark{margin-bottom:17px}.login-card .eyebrow,.setup-card .eyebrow{margin:0 0 6px}.login-card h1,.setup-card h1{font:500 25px Georgia,serif;margin:0}.login-card>p:not(.eyebrow),.setup-card>p:not(.eyebrow){font-size:11px;line-height:1.5}.login-card label,.modal label{display:grid;gap:5px;color:#6c7e75;font-size:10px;margin:13px 0}.login-card input,.modal input:not([type=checkbox]),.modal select,.modal textarea{width:100%;border:1px solid #e3eae4;border-radius:8px;padding:10px;font-size:11px;color:#345346;background:#fff}.login-card .primary{width:100%;margin:9px 0}.small{font-size:9px;line-height:1.45}.setup-step{margin:19px 0 10px;border-radius:10px;background:#f4f8f4;padding:13px;font-size:10px}.setup-step b,.setup-step span{display:block}.setup-step b{color:#315949;margin-bottom:5px}.setup-step span{color:#77887e;line-height:1.5}.secondary-link{font-size:10px;color:#3f735d;text-decoration:none}.modal-backdrop{position:fixed;inset:0;background:#102f2970;z-index:10;display:none;place-items:center;padding:18px}.modal-backdrop.open{display:grid}.modal{background:#fff;border-radius:15px;width:min(540px,100%);max-height:min(88vh,760px);overflow:auto;padding:20px;box-shadow:0 20px 70px #10292040}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h2{font:500 20px Georgia,serif;margin:0}.close-modal{border:0;background:#f2f6f2;border-radius:50%;width:29px;height:29px;color:#5c7167}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 11px}.form-grid label{display:grid;align-content:start}.form-grid .wide{grid-column:1/-1}.modal textarea{min-height:68px;resize:vertical}.modal input[type=file]{padding:8px}.modal .check-row{display:flex;align-items:center;gap:7px}.check-row input{accent-color:var(--green)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.toast{position:fixed;bottom:19px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#1f4d42;color:#fff;padding:10px 15px;border-radius:9px;font-size:10px;box-shadow:var(--shadow);transition:.2s;z-index:20;max-width:calc(100vw - 30px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:#8c4139}@media(max-width:1050px){.sidebar{width:220px}.main{margin-left:220px}.content{padding:24px 22px}.topbar{padding:0 22px}.metrics{grid-template-columns:repeat(2,1fr)}.two-col,.detail-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{transform:translate(-105%);transition:transform .2s;width:254px;box-shadow:12px 0 30px #193a301a}.sidebar.open{transform:translate(0)}.main{margin:0;padding-bottom:20px}.topbar{height:60px;padding:0 13px}.menu-button{display:block;margin-right:8px}.breadcrumb{font-size:10px;flex:1}.topbar{justify-content:flex-start}.top-actions{gap:6px}.top-search{display:none}.content{padding:19px 13px 35px}.page-title{align-items:center}.page-title h1{font-size:23px}.page-title .primary,.page-title .secondary{padding:9px 10px;font-size:9px}.welcome{padding:18px;min-height:120px}.welcome h2{font-size:21px}.welcome p:not(.eyebrow){font-size:10px;max-width:220px}.date-label{max-width:110px;font-size:8px}.metrics{gap:8px}.metric{padding:11px;min-height:83px}.metric span{font-size:9px}.metric b{font-size:21px}.metric small{font-size:8px}.panel{padding:14px 12px}.panel-head h2{font-size:15px}.appointment-row{gap:7px}.appointment-time{min-width:78px;font-size:9px}.appointment-main .avatar{width:28px;height:28px;font-size:8px}.appointment-main b{font-size:9px}.appointment-main span{font-size:8px}.tag{font-size:8px;padding:4px 6px}.patient-summary{align-items:flex-start;flex-wrap:wrap}.patient-summary h2{font-size:18px}.patient-summary>div:nth-child(2){flex:1;min-width:160px}.patient-actions{width:100%;margin:3px 0 0;justify-content:flex-start}.patient-actions button{font-size:9px;padding:8px}.record-fields{grid-template-columns:110px 1fr;font-size:9px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-photo img{height:110px}.program-grid{grid-template-columns:1fr}.program-card{padding:13px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal{padding:16px}.top-actions .icon-button{display:none}.top-actions .small-button{font-size:9px;padding:8px}.search-label{align-items:flex-start;flex-direction:column}.search-label input{width:100%}}
