:root{--ground:#f7f7f5;--surface:#fff;--ink:#1f2225;--muted:#6b6f73;--faint:#9a9d9f;--line:#e1e1de;--accent:#3a5560;--accent-weak:#edf1f2;--alert:#8a4b2e;--alert-weak:#f6eee8;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--radius:6px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#17191b;--surface:#1e2124;--ink:#e6e7e5;--muted:#9a9d9f;--faint:#6b6f73;--line:#33363a;--accent:#8fb0bc;--accent-weak:#232b2e;--alert:#d89a78;--alert-weak:#2e2420;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#17191b;--surface:#1e2124;--ink:#e6e7e5;--muted:#9a9d9f;--faint:#6b6f73;--line:#33363a;--accent:#8fb0bc;--accent-weak:#232b2e;--alert:#d89a78;--alert-weak:#2e2420;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font);margin:0;font-size:14.5px;line-height:1.55}h1,h2,h3{font-family:var(--font);margin:0;font-weight:600}a{color:var(--accent)}button{font:inherit;cursor:pointer}.shell{grid-template-columns:196px 1fr;min-height:100vh;display:grid}@media (max-width:820px){.shell{grid-template-columns:1fr}}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:20px;padding:18px 12px;display:flex}@media (max-width:820px){.sidebar{z-index:20;border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:10px 14px;position:sticky;top:0;overflow-x:auto}}.brand{flex-direction:column;gap:1px;padding:0 6px;display:flex}.brand strong{color:var(--ink);font-size:14.5px;font-weight:700}.brand span{color:var(--faint);font-size:11.5px}@media (max-width:820px){.brand{padding:0 12px 0 0}.brand span{display:none}}.nav{flex-direction:column;gap:1px;display:flex}@media (max-width:820px){.nav{flex-direction:row;gap:2px}}.nav a{white-space:nowrap;color:var(--muted);border-radius:5px;align-items:center;gap:9px;padding:7px 10px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav a i{stroke-width:1.75px;flex:none;width:16px;height:16px}.nav a:hover{color:var(--ink)}.nav a.active{color:var(--ink);background:var(--accent-weak);font-weight:700}.main{flex-direction:column;gap:20px;max-width:1180px;padding:22px 28px 60px;display:flex}@media (max-width:600px){.main{padding:16px 14px 48px}}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.topbar h1{font-size:18px}.topbar p{color:var(--muted);margin:4px 0 0;font-size:13px}.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;align-items:center;gap:7px;padding:7px 13px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:0 0}.btn:active{transform:translateY(1px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.grid{gap:12px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-line{color:var(--muted);flex-wrap:wrap;gap:4px 28px;font-size:13.5px;display:flex}.summary-line b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.status{color:var(--muted);font-size:13px}.status.attn{color:var(--alert);font-weight:600}.status:before{content:"";background:var(--faint);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status.attn:before{background:var(--alert)}.status.ok:before{background:var(--accent)}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;letter-spacing:.02em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}td.num{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr.row-link{cursor:pointer}tr.row-link:hover{background:var(--accent-weak)}.searchbox{background:var(--surface);border:1px solid var(--line);border-radius:5px;align-items:center;gap:8px;max-width:320px;padding:7px 11px;display:flex}.searchbox input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;width:100%}.searchbox svg{color:var(--faint);flex:none}.cal-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;grid-template-columns:60px repeat(3,1fr);display:grid}.cal-body{border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);grid-template-columns:60px repeat(3,1fr);display:grid;overflow:hidden}.cal-cell{color:var(--muted);border-left:1px solid var(--line);padding:8px 10px;font-size:12px}.cal-cell:first-child{border-left:none}.cal-head .cal-cell{color:var(--ink);font-size:12.5px;font-weight:700}.cal-row{display:contents}.hour{background:var(--ground);color:var(--faint);text-align:right;border-top:1px solid var(--line);padding:6px 8px;font-size:11px}.slot{background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);flex-direction:column;gap:3px;min-height:46px;padding:3px;display:flex}.appt{background:var(--ground);border:1px solid var(--line);border-radius:3px;padding:5px 7px;font-size:11.5px;line-height:1.3}.appt strong{color:var(--ink);font-size:12px;font-weight:600;display:block}.appt.busy{background:var(--alert-weak);border-color:var(--alert)}.appt.busy strong{color:var(--alert)}.patient-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding-bottom:16px;display:flex}.patient-head h1{font-size:17px}[data-panel][hidden]{display:none!important}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex}.tab{appearance:none;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;margin-right:18px;padding:9px 3px;font-size:13.5px;font-weight:600}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.file-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 4px;display:flex}.file-row:last-child{border-bottom:none}.file-tag{color:var(--muted);flex:none;width:38px;font-size:11px;font-weight:700}.file-meta{flex:1;min-width:0}.file-meta strong{font-size:13.5px;font-weight:600;display:block}.file-meta span{color:var(--muted);font-size:12px}.exercise-card{flex-direction:column;gap:6px;display:flex}.exercise-thumb{aspect-ratio:16/10;background:var(--ground);border:1px solid var(--line);color:var(--faint);border-radius:5px;justify-content:center;align-items:center;font-size:12px;display:flex}.note{color:var(--muted);border-top:1px solid var(--line);padding-top:12px;font-size:12.5px}.btn i{stroke-width:2px;flex:none;width:15px;height:15px}.alert-row{border-bottom:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:10px;padding:9px 0;font-size:13px;display:flex}.alert-row:last-child{border-bottom:none}.alert-row i{width:16px;height:16px;color:var(--faint);flex:none;margin-top:1px}.alert-row.attn{color:var(--ink)}.alert-row.attn i{color:var(--alert)}.alert-row strong{color:var(--ink);font-weight:600}.next-label{text-transform:uppercase;letter-spacing:.03em;color:var(--faint);margin:0 0 4px;font-size:11px}.next-appt{margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.4}.next-appt span{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.week-grid{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:56px repeat(7,1fr);display:grid;overflow:hidden}.week-head{display:contents}.week-head .cal-cell{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:8px 6px;font-size:12px;font-weight:700}.week-head .cal-cell:first-child{border-left:none}.week-head .cal-cell.today{background:var(--accent-weak)}.week-hour{background:var(--ground);color:var(--faint);text-align:right;border-top:1px solid var(--line);padding:6px;font-size:11px}.week-cell{background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);flex-direction:column;gap:3px;min-height:44px;padding:3px;display:flex}.week-cell.today{background:var(--accent-weak)}.month-grid{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.month-dow{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:7px 8px;font-size:11.5px;font-weight:700}.month-dow:first-child{border-left:none}.month-cell{background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);flex-direction:column;gap:3px;min-height:92px;padding:6px 7px;display:flex}.month-cell:nth-child(7n+1){border-left:none}.month-cell.outside{background:var(--ground);color:var(--faint)}.month-cell.today .month-daynum{color:var(--accent);font-weight:700}.month-daynum{color:var(--muted);font-size:12px;font-weight:600}.month-appt{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.35;overflow:hidden}.month-more{color:var(--muted);font-size:11px}
