@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/atkinsonhyperlegible/v12/9Bt23C1KxNDXMspQ1lPyU89-1h6ONRlW45G07JIoSwQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/atkinsonhyperlegible/v12/9Bt23C1KxNDXMspQ1lPyU89-1h6ONRlW45G04pIo.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/atkinsonhyperlegible/v12/9Bt73C1KxNDXMspQ1lPyU89-1h6ONRlW45G8Wbc9eiWPVFw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/atkinsonhyperlegible/v12/9Bt73C1KxNDXMspQ1lPyU89-1h6ONRlW45G8Wbc9dCWP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Atkinson Hyperlegible", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--color-primary: #0E7490;--color-on-primary: #FFFFFF;--color-secondary: #22D3EE;--color-on-secondary: #0F172A;--color-accent: #059669;--color-on-accent: #FFFFFF;--color-background: #F8FAF9;--color-foreground: #164E63;--color-card: #FFFFFF;--color-card-foreground: #164E63;--color-muted: #E8F1F6;--color-muted-foreground: #475569;--color-border: #CBD5E1;--color-ring: #0E7490;--color-destructive: #DC2626;--color-on-destructive: #FFFFFF;--color-sidebar: #FFFFFF;--color-sidebar-foreground: #1E293B;--color-topbar: #FFFFFF;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--space-xs: 2px;--space-sm: 4px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--space-2xl: 24px;--space-3xl: 32px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.07);--text-sm: 11px;--text-base: 13px;--text-lg: 16px;--text-xl: 22px}[data-theme=dark]{--color-background: #0F172A;--color-foreground: #E2E8F0;--color-card: #1E293B;--color-card-foreground: #E2E8F0;--color-muted: #1E293B;--color-muted-foreground: #94A3B8;--color-border: #334155;--color-sidebar: #0F172A;--color-sidebar-foreground: #E2E8F0;--color-topbar: #1E293B;--color-primary: #22D3EE;--color-on-primary: #0F172A;--color-accent: #10B981;--color-on-accent: #0F172A;--color-destructive: #EF4444;--color-on-destructive: #FFFFFF;--color-secondary: #38BDF8;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px rgba(0,0,0,.5)}html{color-scheme:light dark;scroll-padding-top:88px;scroll-padding-bottom:62px;scroll-behavior:auto}*{font-family:var(--font-sans)}*:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}* :focus{scroll-margin:12px}body{background:var(--color-background);color:var(--color-foreground)}.sidebar,.dialog-backdrop,.booking-header,.booking-footer{padding-bottom:env(safe-area-inset-bottom)}.sidebar{padding-top:calc(24px + env(safe-area-inset-top))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation:none!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}app-root{display:block;min-height:100vh;color:var(--color-foreground);background:var(--color-background)}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px 18px;background:var(--color-sidebar);color:var(--color-sidebar-foreground);border-right:1px solid var(--color-border);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px;color:var(--color-foreground);font-size:19px;font-weight:700}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary)}nav{display:grid;gap:5px}nav button,.sidebar-bottom>button{width:100%;height:42px;padding:0 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-muted-foreground);display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;transition:background .15s,color .15s}nav button:hover:not(:disabled),nav button.active{background:var(--color-muted);color:var(--color-foreground)}nav button.active{box-shadow:inset 3px 0 var(--color-primary)}nav button:disabled,.sidebar-bottom>button:disabled{cursor:default;opacity:.45}.sidebar-bottom{margin-top:auto}.profile{margin-top:14px;border-top:1px solid var(--color-border);padding:18px 8px 0;display:flex;align-items:center;gap:10px}.profile>span:nth-child(2){min-width:0;flex:1}.profile>button{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 auto;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted-foreground);display:grid;place-items:center;cursor:pointer}.profile>button:hover{background:var(--color-muted);color:var(--color-foreground)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--color-muted);color:var(--color-primary);font-size:12px;font-weight:800}.profile strong,.profile small{display:block}.profile strong{color:var(--color-card-foreground);font-size:13px}.profile small{margin-top:2px;color:var(--color-muted-foreground);font-size:11px}main{min-width:0;background:var(--color-background)}.topbar{height:88px;padding:0 30px;background:var(--color-topbar);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.topbar p{margin:0 0 4px;color:var(--color-muted-foreground);font-size:12px}.topbar h1{margin:0;font-size:23px;line-height:1.1;letter-spacing:0;color:var(--color-foreground)}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-button{width:38px;height:38px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-card);display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:#f2f6f4}.primary-button,.secondary-button,.today-button{min-height:38px;border-radius:6px;padding:0 15px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;cursor:pointer}.primary-button{background:var(--color-primary);color:var(--color-card)}.primary-button:hover{background:var(--color-primary)}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button,.today-button{background:var(--color-card);border-color:var(--color-border)}.link-button{min-height:32px;border:0;background:transparent;color:var(--color-primary);cursor:pointer;font-weight:700}.metric-band{padding:20px 30px;background:var(--color-card);border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-band>div{min-height:63px;padding:2px 24px;border-right:1px solid #e4e8e6;display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:10px}.metric-band>div:first-child{padding-left:0}.metric-band>div:last-child{border-right:0}.metric-band span{grid-column:1/-1;color:var(--color-muted-foreground);font-size:11px;text-transform:uppercase;font-weight:700}.metric-band strong{margin-top:4px;font-size:25px;line-height:1}.metric-band small{align-self:end;padding-bottom:1px;color:#7d8b86}.metric-band .next-up strong{font-size:15px;display:flex;align-items:center;gap:7px}.next-up i{width:8px;height:8px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px #d9f1e7}.schedule-toolbar{min-height:68px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.week-controls{display:flex;align-items:center;gap:7px}.week-controls h2{margin:0 0 0 10px;font-size:16px}.practitioner-key{display:flex;flex-wrap:wrap;justify-content:end;gap:15px;color:#58665f;font-size:12px}.practitioner-key span{display:flex;align-items:center;gap:6px}.practitioner-key i{width:8px;height:8px;border-radius:2px}.calendar{margin:0 30px 30px;height:760px;overflow:auto;background:var(--color-card);border:1px solid var(--color-border);border-radius:7px;display:grid;grid-template-columns:64px repeat(5,minmax(140px,1fr));grid-template-rows:52px 792px;transition:opacity .2s}.calendar.is-loading{opacity:.65}.calendar-head{position:sticky;top:0;z-index:5;border:0;border-left:1px solid #e6ebe8;border-bottom:1px solid var(--color-border);background:var(--color-card);display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.calendar-head span{color:#73817b;font-size:11px;font-weight:700;text-transform:uppercase}.calendar-head strong{font-size:17px}.calendar-head:hover{background:#f1f6f3}.calendar-head.spacer{left:0;z-index:6;border-left:0}.time-axis{position:sticky;left:0;z-index:4;background:var(--color-card);border-right:1px solid var(--color-border)}.time-axis span{position:absolute;left:12px;transform:translateY(-7px);color:#819089;font-size:10px}.time-axis span:nth-child(1){top:0}.time-axis span:nth-child(2){top:72px}.time-axis span:nth-child(3){top:144px}.time-axis span:nth-child(4){top:216px}.time-axis span:nth-child(5){top:288px}.time-axis span:nth-child(6){top:360px}.time-axis span:nth-child(7){top:432px}.time-axis span:nth-child(8){top:504px}.time-axis span:nth-child(9){top:576px}.time-axis span:nth-child(10){top:648px}.time-axis span:nth-child(11){top:720px}.day-column{position:relative;border-right:1px solid #e6ebe8;background:repeating-linear-gradient(to bottom,var(--color-card) 0,var(--color-card) 71px,#edf0ef 71px,#edf0ef 72px)}.day-column:last-child{border-right:0}.appointment{position:absolute;z-index:2;left:5px;right:5px;min-height:44px;overflow:hidden;padding:7px 8px 6px 11px;border-left:3px solid var(--accent);border-radius:4px;background:color-mix(in srgb,var(--accent) 12%,white);box-shadow:0 1px 2px #1f302819;cursor:pointer}.appointment:hover{box-shadow:0 3px 10px #1f302825}.appointment.cancelled{opacity:.52;filter:grayscale(.5);text-decoration:line-through}.appointment time{float:right;color:#65736d;font-size:10px}.appointment strong,.appointment span{display:block;padding-right:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment strong{font-size:12px}.appointment span{margin-top:3px;color:#687770;font-size:10px}.patient-tools{margin:24px 30px 16px;display:flex;align-items:center;justify-content:space-between}.patient-tools>span{color:var(--color-muted-foreground);font-size:13px}.search-field{width:min(380px,100%);height:40px;padding:0 12px;border:1px solid #d6dedb;border-radius:6px;background:var(--color-card);display:flex;align-items:center;gap:9px;color:var(--color-muted-foreground)}.search-field input{min-width:0;flex:1;border:0;outline:0;background:transparent}.patient-table{margin:0 30px 30px;border:1px solid #dae1de;border-radius:7px;overflow:hidden;background:var(--color-card)}.table-row{width:100%;min-height:64px;padding:0 20px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-card);display:grid;grid-template-columns:minmax(220px,1.2fr) .7fr 1.2fr .8fr;align-items:center;gap:16px;text-align:left;color:var(--color-muted-foreground);font-size:13px}button.table-row{cursor:pointer}button.table-row:hover{background:var(--color-muted)}.table-row:last-child{border-bottom:0}.table-head{min-height:42px;background:var(--color-muted);color:#72807b;font-size:11px;font-weight:700;text-transform:uppercase}.patient-name{display:flex;align-items:center;gap:12px;color:var(--color-foreground)}.patient-name i{width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:var(--color-muted);color:#247158;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}.table-row.platform-row{grid-template-columns:minmax(200px,1.4fr) 1fr 1.2fr .9fr 64px 92px}.table-row .row-action{justify-self:end}.empty-state{padding:64px;text-align:center;color:var(--color-muted-foreground)}.patient-record{padding:22px 30px 40px}.back-link{min-height:34px;margin-bottom:12px;padding:0;border:0;background:transparent;color:#39715f;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:650}.patient-summary{min-height:142px;padding:24px 26px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-card);display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(420px,1.5fr);align-items:center;gap:20px}.patient-avatar{width:62px;height:62px;border-radius:50%;background:#dceee7;color:#1f6b52;display:grid;place-items:center;font-size:18px;font-weight:800}.patient-summary h2,.record-section h3,.clinical-note h4{margin:0;letter-spacing:0}.patient-summary h2{font-size:22px}.patient-summary p,.section-heading p{margin:5px 0 0;color:#74817c;font-size:12px}.patient-summary dl{margin:0;display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:18px}.patient-summary dt{margin-bottom:6px;color:#7b8883;font-size:10px;font-weight:750;text-transform:uppercase}.patient-summary dd{margin:0;overflow-wrap:anywhere;font-size:13px;font-weight:650}.record-tabs{margin-top:18px;border-bottom:1px solid #d8dfdc;display:flex;gap:22px}.record-tabs button{min-height:44px;padding:0 2px;border:0;border-bottom:3px solid transparent;background:transparent;color:#65736d;cursor:pointer;font-weight:650}.record-tabs button.active{border-bottom-color:var(--color-primary);color:#175f49;box-shadow:none}.record-section{padding-top:22px}.section-heading{min-height:50px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.record-section h3{font-size:17px}.history-list{border:1px solid var(--color-border);border-radius:7px;overflow:hidden;background:var(--color-card)}.history-row{min-height:72px;padding:12px 18px;border-bottom:1px solid #e6ebe9;display:grid;grid-template-columns:130px minmax(200px,1fr) auto;align-items:center;gap:18px}.history-row:last-child{border-bottom:0}.history-row time strong,.history-row time span,.history-row>span strong,.history-row>span small{display:block}.history-row time strong,.history-row>span strong{font-size:13px}.history-row time span,.history-row>span small{margin-top:3px;color:#74817c;font-size:11px}.history-row>i{font-style:normal}.clinical-list{display:grid;gap:12px}.clinical-note{padding:18px 20px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-card)}.clinical-note>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.clinical-note>header>div{display:flex;align-items:center;gap:7px}.clinical-note>header time{color:#6f7d77;font-size:12px}.status.draft{background:var(--color-card) 0d7;color:#8a5d16}.status.signed{background:#e3eee9;color:#17644d}.amendment-label{color:#596b8f;font-size:10px;font-weight:750;text-transform:uppercase}.clinical-note h4{margin-top:14px;font-size:15px}.clinical-note>p{margin:9px 0 16px;color:#3f4d47;white-space:pre-wrap;line-height:1.55;font-size:13px}.document-panel{margin:14px 0;padding:12px;border:1px solid #e1e7e4;border-radius:7px;background:var(--color-muted);display:grid;gap:10px}.document-panel header{display:flex;align-items:center;justify-content:space-between;color:var(--color-muted-foreground);font-size:12px}.document-list{display:grid;gap:6px}.document-list>p{margin:0;color:#74817c;font-size:12px}.document-row{width:100%;padding:9px 10px;border:1px solid #e2e8e5;border-radius:6px;background:var(--color-card);text-align:left;cursor:pointer}.document-row strong,.document-row small{display:block}.document-row small{margin-top:3px;color:#74817c;font-size:11px}.document-upload{width:fit-content;min-height:34px;padding:0 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-card);display:inline-flex;align-items:center;cursor:pointer;font-size:12px;font-weight:700}.document-upload input{display:none}.clinical-note>footer{padding-top:13px;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.clinical-note>footer>span{color:#74817c;font-size:11px}.clinical-note>footer>div{display:flex;gap:8px}.clinical-empty{border:1px dashed #cfd9d5;border-radius:7px;display:grid;place-items:center;gap:9px}.form-guidance{padding:10px 12px;border-left:3px solid #5973b8;background:#f0f3fa;color:#4c5e83!important;line-height:1.45}.clinical-template-picker{padding:12px;border:1px solid #dce4e1;border-radius:7px;background:var(--color-muted);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.clinical-template-picker small{grid-column:1/-1;color:#66756f}.clinical-template-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.clinical-template-preview span{padding:8px 9px;border-radius:5px;background:var(--color-card)}.clinical-template-preview strong,.clinical-template-preview small{display:block}.clinical-template-preview strong{font-size:11px}.clinical-template-preview small{margin-top:2px;font-size:10px}.dialog-backdrop{position:fixed;inset:0;z-index:20;padding:20px;background:color-mix(in srgb,#000 55%,transparent);display:grid;place-items:center}.dialog{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:8px;background:var(--color-card);box-shadow:0 24px 70px #0c181450}.dialog>header{min-height:76px;padding:0 22px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.dialog>header>div{display:flex;align-items:center;gap:12px}.dialog-icon{width:38px;height:38px;border-radius:6px;background:#dff0e9;color:var(--color-primary);display:grid;place-items:center}.dialog h2,.dialog p{margin:0}.dialog h2{font-size:18px}.dialog p{margin-top:3px;color:#7a8782;font-size:12px}.dialog form{padding:22px;display:grid;gap:16px}.dialog label{display:grid;gap:7px;color:#4e5c56;font-size:12px;font-weight:700}.dialog input,.dialog select,.dialog textarea{width:100%;min-width:0;border:1px solid #ccd6d2;border-radius:6px;background:var(--color-card);color:var(--color-foreground);outline:0}.dialog input,.dialog select{height:42px;padding:0 11px}.dialog input:disabled{background:#f3f6f4;color:#52605a;cursor:not-allowed}.dialog textarea{resize:vertical;padding:10px 11px}.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary) 18}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog footer{margin:4px -22px -22px;padding:16px 22px;border-top:1px solid var(--color-border);background:var(--color-muted);display:flex;justify-content:flex-end;gap:9px}.form-error{margin:0!important;padding:10px 12px;border-radius:5px;background:var(--color-card);color:#9c321f!important;font-size:12px!important}.form-success{margin:0 0 14px!important;padding:10px 12px;border-radius:5px;background:var(--color-muted);color:#17644d!important;font-size:12px!important}.slot-picker{display:grid;gap:8px}.slot-picker>span{color:#4e5c56;font-size:12px;font-weight:700}.slot-picker>p{margin:0;padding:14px;border:1px dashed #ccd6d2;border-radius:6px;color:#72807a;text-align:center;font-size:12px}.slot-picker>div{max-height:150px;overflow:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.slot-picker button{min-height:44px;height:36px;border:1px solid #d2dbd7;border-radius:5px;background:var(--color-card);cursor:pointer;font-size:12px}.slot-picker button:hover,.slot-picker button.selected{border-color:var(--color-primary);background:var(--color-muted);color:#145c47;font-weight:700}.appointment-details{padding:22px}.status-line{margin-bottom:16px}.status{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:4px;background:#edf1ef;color:#52605a;font-size:10px;font-weight:800;text-transform:uppercase}.status.confirmed,.status.arrived{background:#e1efe9;color:#17664e}.status.completed{background:#e6ebf7;color:#3b5795}.status.cancelled,.status.no_show{background:#f4e7e4;color:#943a2a}.appointment-details dl{margin:0;display:grid}.appointment-details dl>div{min-height:48px;padding:9px 0;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:115px 1fr;align-items:center}.appointment-details dt{color:#77847f;font-size:11px;font-weight:700;text-transform:uppercase}.appointment-details dd{margin:0;color:#26332e;font-size:13px;font-weight:600}.billing-panel{margin-top:18px;padding:14px;border:1px solid #e1e7e4;border-radius:7px;background:var(--color-muted);display:grid;gap:12px}.billing-panel h3{margin:0;font-size:13px;color:var(--color-muted-foreground);text-transform:uppercase}.invoice-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.invoice-heading small{color:var(--color-muted-foreground)}.billing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.billing-summary span{padding:10px;border-radius:6px;background:var(--color-card)}.billing-summary small,.billing-summary strong{display:block}.billing-summary small{color:var(--color-muted-foreground);font-size:10px;font-weight:750;text-transform:uppercase}.billing-summary strong{margin-top:3px;color:var(--color-foreground);font-size:14px}.invoice-vat{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;margin-top:12px}.invoice-vat label{display:flex;flex-direction:column;gap:4px;color:var(--color-muted-foreground);font-size:10px;font-weight:750;text-transform:uppercase}.invoice-vat input{padding:8px 9px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-card);color:var(--color-foreground);font-size:12px}.invoice-vat input[readonly]{color:var(--color-muted-foreground)}.payment-list{display:grid;gap:6px}.payment-row{display:grid;grid-template-columns:96px auto minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--color-muted-foreground);font-size:12px}.payment-row strong{color:var(--color-foreground)}.payment-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted-foreground)}.billing-actions{display:flex;flex-wrap:wrap;gap:8px}.communication-panel>.secondary-button{justify-self:start}.communication-list{display:grid;gap:8px}.communication-row{padding:10px;border-radius:6px;background:var(--color-card)}.communication-row header{display:flex;align-items:center;justify-content:space-between;gap:8px}.communication-row header strong{font-size:13px;color:var(--color-foreground)}.communication-row header span{padding:2px 7px;border-radius:20px;background:#e9f7f0;color:#178a5a;font-size:10px;font-weight:750;text-transform:uppercase}.communication-row header span[data-status=FAILED],.communication-row header span[data-status=SKIPPED]{background:#fbece9;color:#a33d2a}.communication-row header span[data-status=QUEUED],.communication-row header span[data-status=SENDING]{background:var(--color-card) 2d9;color:#8a5a16}.communication-row small{display:block;margin-top:4px;color:var(--color-muted-foreground);font-size:11px}.communication-row p{margin:7px 0 0;color:#425048;font-size:12px}.communication-row .communication-error{color:#a33d2a}.status-actions{padding-top:16px;display:flex;flex-wrap:wrap;gap:8px}.appointment-details footer{margin:20px -22px -22px;padding:16px 22px;border-top:1px solid var(--color-border);background:var(--color-muted);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.danger-button{min-height:38px;margin-right:auto;padding:0 12px;border:1px solid #e1bcb5;border-radius:6px;background:var(--color-card);color:#a33d2a;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:650}.danger-button:hover{background:#fdf2ef}.danger-button:disabled{opacity:.5;cursor:wait}.toast{position:fixed;z-index:30;right:24px;top:100px;min-height:42px;padding:0 15px;border-radius:6px;background:#173e31;color:var(--color-card);display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px #15231e30;font-size:13px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.84fr) minmax(520px,1.16fr);background:var(--color-background)}.login-showcase{position:relative;min-height:100vh;overflow:hidden;padding:clamp(32px,5vw,72px);background:#123f37;color:#fff;display:flex;flex-direction:column}.login-brand{position:relative;z-index:2;width:fit-content;min-height:44px;color:#fff;display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:19px}.login-showcase .brand-mark{background:#fff;color:#0e7490}.login-geometry{position:absolute;inset:0;pointer-events:none;opacity:.62}.login-geometry:before{content:"";position:absolute;width:min(38vw,540px);aspect-ratio:1;right:max(-18vw,-250px);top:13%;border:1px solid #73a99c;border-radius:50%;box-shadow:0 0 0 44px #174b42,0 0 0 45px #4e8075,0 0 0 90px #174b42,0 0 0 91px #376d61}.login-geometry span{position:absolute;right:9%;width:42%;height:1px;background:#6b9a90;transform:rotate(-18deg);transform-origin:right}.login-geometry span:nth-child(1){bottom:29%}.login-geometry span:nth-child(2){bottom:24%;width:34%}.login-geometry span:nth-child(3){bottom:19%;width:26%}.login-showcase-copy{position:relative;z-index:2;max-width:610px;margin:auto 0 48px}.login-showcase-copy p{margin:0 0 17px;color:#99c9bd;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.login-showcase-copy h1{max-width:570px;margin:0;font-size:clamp(42px,4.5vw,68px);line-height:1.01;letter-spacing:-.04em;text-wrap:balance}.login-showcase-copy>span{max-width:520px;margin-top:24px;color:#c5ddd7;display:block;font-size:16px;line-height:1.65}.login-assurances{position:relative;z-index:2;margin:0;padding:22px 0 0;border-top:1px solid #47736a;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none}.login-assurances li{min-width:0;color:#cbe0da;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-size:11px;font-weight:700;line-height:1.25}.login-assurances svg{color:#75c5b1}.login-form-area{min-width:0;min-height:100vh;padding:30px clamp(36px,7vw,110px) 24px;background:var(--color-background);display:grid;grid-template-rows:auto 1fr auto}.login-utility{min-height:44px;display:flex;align-items:center;justify-content:space-between}.login-utility>a{min-height:44px;color:var(--color-muted-foreground);display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:12px;font-weight:700}.login-utility>a:hover{color:var(--color-primary)}.login-panel{width:min(430px,100%);margin:auto;padding:48px 0}.login-icon{width:42px;height:42px;border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border));border-radius:8px;background:var(--color-muted);color:var(--color-primary);display:grid;place-items:center}.login-eyebrow{margin:18px 0 8px;color:var(--color-primary);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-panel h2{margin:0;color:var(--color-foreground);font-size:34px;line-height:1.1;letter-spacing:-.025em}.login-panel .login-intro{margin:10px 0 30px;color:var(--color-muted-foreground);font-size:14px;line-height:1.5}.login-panel form{display:grid;gap:17px}.login-panel label{display:grid;gap:8px;color:var(--color-foreground);font-size:12px;font-weight:700}.login-panel input{width:100%;height:48px;padding:0 14px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-card);color:var(--color-card-foreground);outline:0;transition:border-color .16s,box-shadow .16s,background .16s}.login-panel input:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.login-panel input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.login-panel .primary-button{width:100%;min-height:48px;margin-top:5px;background:#08775d;color:#fff;transition:background .16s,box-shadow .16s}.login-panel .primary-button:hover:not(:disabled){background:#07654f;box-shadow:0 7px 20px #075a4626}.login-panel .secondary-button{width:100%;min-height:46px}.login-panel .link-button{width:fit-content;justify-self:center}.login-panel form+form{margin-top:22px;padding-top:22px;border-top:1px solid var(--color-border)}.login-support{margin:0;color:var(--color-muted-foreground);text-align:center;font-size:11px}@media(max-width:1000px){.login-page{grid-template-columns:minmax(340px,.78fr) minmax(460px,1.22fr)}.login-showcase{padding:38px}.login-assurances{grid-template-columns:1fr;gap:10px}.login-form-area{padding-inline:48px}}@media(max-width:820px){.login-page{display:block}.login-showcase{min-height:auto;padding:24px}.login-geometry:before{width:360px;right:-230px;top:-80px}.login-geometry span{display:none}.login-showcase-copy{max-width:520px;margin:48px 0 24px}.login-showcase-copy h1{font-size:clamp(34px,9vw,48px)}.login-showcase-copy>span{margin-top:16px;font-size:14px}.login-assurances{padding-top:16px;grid-template-columns:repeat(3,1fr)}.login-form-area{min-height:auto;padding:18px 24px 24px}.login-panel{padding:48px 0 40px}}@media(max-width:520px){.login-showcase-copy{margin-top:36px}.login-showcase-copy h1{font-size:34px}.login-showcase-copy>span{display:none}.login-assurances{grid-template-columns:1fr;gap:8px}.login-assurances li:nth-child(2),.login-assurances li:nth-child(3){display:none}.login-form-area{padding-inline:20px}.login-panel{padding-block:40px 32px}.login-panel h2{font-size:30px}}.security-card{margin-top:4px;padding:16px;border:1px solid #dce4e1;border-radius:7px;background:var(--color-muted);display:grid;gap:14px}.security-card h3{margin:0 0 3px;font-size:14px}.security-card p{margin:0;color:#66756f;font-size:12px}.inline-auth-form{display:grid;gap:12px}.security-card code{padding:10px;border-radius:5px;background:var(--color-card);color:#23312b;overflow-wrap:anywhere}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-heading h3,.settings-heading p{margin:0}.settings-heading p{margin-top:4px;color:#74817c;font-size:12px}.template-sections{display:grid;gap:10px}.template-sections>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-sections>header strong,.template-sections>header small{display:block}.template-sections>header small{margin-top:3px;color:#74817c}.template-section-row{padding:10px;border:1px solid #e0e6e3;border-radius:7px;background:var(--color-muted);display:grid;grid-template-columns:24px minmax(120px,.8fr) minmax(160px,1.2fr) auto;align-items:end;gap:9px}.template-section-row>strong{align-self:center;color:var(--color-muted-foreground);text-align:center}.template-section-actions{display:flex;gap:5px}.template-section-actions .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}@media(max-width:900px){.app-shell{grid-template-columns:68px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand{padding-inline:7px}.brand>span:last-child,nav span,.sidebar-bottom>button span,.profile>span:last-child{display:none}nav button,.sidebar-bottom>button{justify-content:center;padding:0}.profile{padding-inline:7px}.metric-band{grid-template-columns:1fr 1fr;gap:16px 0}.metric-band>div:nth-child(2){border-right:0}.schedule-toolbar{align-items:flex-start;flex-direction:column;padding-block:14px}.practitioner-key{justify-content:start}.calendar{margin-inline:16px}.topbar,.metric-band,.schedule-toolbar{padding-inline:16px}.table-row{grid-template-columns:minmax(190px,1fr) .7fr 1.2fr}.table-row>span:last-child{display:none}.patient-summary{grid-template-columns:auto 1fr}.patient-summary dl{grid-column:1/-1}}@media(max-width:620px){.app-shell{display:block;padding-bottom:62px}.sidebar{position:fixed;inset:auto 0 0;z-index:10;width:100%;height:62px;padding:8px 18px;flex-direction:row;align-items:center}.brand,.sidebar-bottom{display:none}nav{width:100%;display:flex;justify-content:space-around}nav button{width:90px;height:46px;flex-direction:column;gap:2px;font-size:10px}nav span{display:block}nav button.active{box-shadow:inset 0 -3px var(--color-primary)}.topbar{height:76px;padding-inline:14px}.topbar h1{font-size:20px}.topbar-actions .icon-button{display:none}.primary-button{padding-inline:11px;font-size:12px}.metric-band{padding:14px}.metric-band>div{padding-inline:14px}.metric-band strong{font-size:21px}.metric-band small{font-size:10px}.schedule-toolbar{padding-inline:14px}.week-controls h2{font-size:13px}.calendar{margin-inline:0;border-left:0;border-right:0;border-radius:0;grid-template-columns:52px repeat(5,minmax(130px,1fr))}.patient-tools,.patient-table{margin-inline:14px}.table-row{grid-template-columns:1fr;padding:10px 14px}.table-row>span:not(:first-child),.table-head{display:none}.form-grid{grid-template-columns:1fr}.slot-picker>div{grid-template-columns:repeat(4,1fr)}.appointment-details dl>div{grid-template-columns:90px 1fr}.patient-record{padding:14px}.patient-summary{padding:18px;grid-template-columns:auto 1fr}.patient-summary dl{grid-template-columns:1fr;gap:12px}.history-row{grid-template-columns:92px 1fr}.history-row>i{grid-column:2;justify-self:start}.clinical-note>footer{align-items:flex-start;flex-direction:column}.section-heading{align-items:flex-start}}.period-toggle{display:flex;gap:7px}.period-toggle .secondary-button.active{background:var(--color-primary);color:var(--color-card);border-color:var(--color-primary)}.reports-grid{margin:20px 30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:7px;padding:18px 20px}.report-card h3{margin:0 0 12px;color:#58665f;font-size:12px;text-transform:uppercase}.report-card:last-child{grid-column:1/-1}.report-row{display:grid;grid-template-columns:minmax(110px,220px) 1fr auto auto;gap:10px;align-items:center;padding:6px 0;font-size:13px;color:var(--color-foreground)}.report-row>span:last-of-type{color:var(--color-muted-foreground)}.report-bar{height:9px;overflow:hidden;background:var(--color-border);border-radius:3px}.report-bar i{display:block;height:100%;background:var(--color-primary);border-radius:3px}.report-empty{margin:0;padding:14px 0;color:#87938e;font-size:13px}.status-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-legend span{display:flex;justify-content:space-between;padding:9px 12px;background:#f6f8f7;border-radius:5px;font-size:13px;color:#3a4a42}.status-legend strong{color:#1f2c26}.settings-tabs{display:flex;flex-wrap:wrap;gap:2px 6px;padding:2px 28px 0;border-bottom:1px solid var(--color-border)}.settings-tabs button{padding:10px 14px;background:none;border:0;border-bottom:2px solid transparent;color:var(--color-muted-foreground);font-size:13px;font-weight:600;cursor:pointer}.settings-tabs button.active{color:#1f6e52;border-bottom-color:var(--color-primary)}.dialog .settings-panel{padding:22px 28px 0}.template-list{display:grid;gap:12px}.dialog .template-editor{padding:14px;gap:12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-muted)}.template-editor header{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-editor header span,.template-editor header strong,.template-editor header small{display:block}.template-editor header strong{color:var(--color-foreground);font-size:13px}.template-editor header small{margin-top:2px;color:var(--color-muted-foreground);font-size:11px}.template-editor header em{color:#68766f;font-size:10px;font-style:normal;font-weight:750;text-transform:uppercase}.template-editor .secondary-button{justify-self:end}.manage-list{display:flex;flex-direction:column}.manage-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.manage-row:has(.practice-dot){grid-template-columns:auto minmax(0,1fr) auto auto auto}.manage-label{display:flex;flex-direction:column}.manage-label strong{font-size:14px;color:var(--color-foreground)}.manage-label small{margin-top:2px;color:var(--color-muted-foreground);font-size:12px}.practice-dot i{display:block;width:18px;height:18px;border-radius:50%}.colour-hint{align-self:end;padding-bottom:10px;color:#87938e;font-size:12px}.dialog input[type=color]{padding:5px}.next-up i.closed{background:#d98c34;box-shadow:0 0 0 3px #f6e3c8}.hours-editor{display:flex;flex-direction:column;gap:8px}.hours-row{display:grid;grid-template-columns:minmax(110px,1fr) 40px 96px 96px;align-items:center;gap:10px;padding:9px 12px;background:#f6f8f7;border-radius:6px}.hours-row>label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;color:#3a4a42}.hours-row label i{width:8px;height:8px;border-radius:50%;background:#d3dad6}.hours-row label i.open{background:var(--color-primary);box-shadow:0 0 0 3px #d9f1e7}.hours-row input[type=checkbox]{accent-color:var(--color-primary);width:16px;height:16px;margin:0}.hours-row input[type=time]{height:36px;padding:0 8px}.blocked-time-list{display:grid;gap:8px}.blocked-time-row{padding:10px 12px;border:1px solid #e1e7e4;border-radius:6px;background:var(--color-muted);display:flex;align-items:center;justify-content:space-between;gap:12px}.blocked-time-row span,.blocked-time-row strong,.blocked-time-row small{display:block}.blocked-time-row strong{font-size:13px;color:var(--color-foreground)}.blocked-time-row small{margin-top:2px;color:var(--color-muted-foreground);font-size:12px}.blocked-time-row .danger-button{min-height:32px;margin-right:0}.staff-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.staff-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f2ec;color:#1f6e52;font-size:12px;font-weight:700}.role-badge{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.role-badge.admin{background:#eef4ff;color:#2563eb}.role-badge.receptionist{background:#f3ecf9;color:#7c3aed}.role-badge.practitioner{background:#e9f7f0;color:#178a5a}.status-chip{padding:3px 9px;border-radius:20px;background:#e9f7f0;color:#178a5a;font-size:11px;font-weight:600}.status-chip.inactive{background:#f0f2f2;color:#6b7873}.you-tag{margin-left:6px;padding:1px 6px;border-radius:10px;background:#eef4ff;color:#2563eb;font-size:10px;font-style:normal;font-weight:700;text-transform:uppercase}.online-booking-setting{padding:14px 0;border-block:1px solid #e1e7e4;display:flex;align-items:center;justify-content:space-between;gap:18px}.online-booking-setting h3{margin:0;color:#26352e;font-size:14px}.online-booking-setting p{margin:4px 0 0;color:#73817b;font-size:12px}.online-booking-setting .secondary-button{flex:none;text-decoration:none}.audit-list{display:grid;gap:8px}.audit-row{padding:12px;border:1px solid #e1e7e4;border-radius:6px;background:var(--color-muted);display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px}.audit-row time{color:var(--color-muted-foreground);font-size:11px}.audit-row strong,.audit-row small{display:block}.audit-row strong{color:var(--color-foreground);font-size:13px}.audit-row small{margin-top:3px;color:var(--color-muted-foreground);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-row em{color:var(--color-muted-foreground);font-size:12px;font-style:normal;font-weight:650}.page-content{padding:24px 30px 40px}.dashboard-grid{padding:24px 30px 40px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:20px}.dashboard-card{border:1px solid var(--color-border);border-radius:7px;background:var(--color-card);padding:20px}.dashboard-card h2,.dashboard-card p{margin:0}.dashboard-card h2{font-size:16px}.dashboard-card p{margin-top:4px;color:var(--color-muted-foreground);font-size:12px}.dashboard-card>header{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-side{display:grid;align-content:start;gap:20px}.upcoming-list,.shortcut-list{display:grid}.upcoming-list>button{min-height:68px;padding:10px 4px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-card);display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;cursor:pointer}.upcoming-list>button:hover,.shortcut-list button:hover{background:var(--color-muted)}.upcoming-list time strong,.upcoming-list time small,.upcoming-list span strong,.upcoming-list span small{display:block}.upcoming-list small{margin-top:3px;color:var(--color-muted-foreground);font-size:11px}.shortcut-list button,.operational-card button{padding:13px 8px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-card);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.shortcut-list span,.shortcut-list strong,.shortcut-list small,.operational-card span,.operational-card strong,.operational-card small{display:block}.shortcut-list small,.operational-card small{margin-top:3px;color:var(--color-muted-foreground);font-size:11px}.operational-card{display:grid}.operational-card h2{margin-bottom:8px}.operational-card button strong{margin-top:3px;font-size:18px}.page-metrics{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.page-metrics span{padding:16px 18px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-card)}.page-metrics small,.page-metrics strong{display:block}.page-metrics small{color:var(--color-muted-foreground);font-size:10px;font-weight:750;text-transform:uppercase}.page-metrics strong{margin-top:5px;font-size:20px}.page-filters{margin-bottom:16px;display:flex;align-items:end;gap:10px}.page-filters>label:not(.search-field),.settings-surface label{display:grid;gap:6px;color:#52605a;font-size:11px;font-weight:700}.page-filters select,.settings-surface input,.settings-surface select,.settings-surface textarea{min-width:140px;height:40px;padding:0 10px;border:1px solid #ccd6d2;border-radius:6px;background:var(--color-card)}.settings-surface textarea{height:auto;padding:10px}.list-detail{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(420px,1.3fr);gap:18px;align-items:start}.staff-list,.detail-card,.message-history,.settings-surface{border:1px solid var(--color-border);border-radius:7px;background:var(--color-card);overflow:hidden}.staff-list>button{width:100%;min-height:76px;padding:12px 16px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-card);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;cursor:pointer}.staff-list>button:hover,.staff-list>button.selected{background:#f0f7f4}.staff-list span strong,.staff-list span small{display:block}.staff-list span small{margin-top:3px;color:var(--color-muted-foreground);font-size:11px}.detail-card{padding:20px}.detail-card>header{display:flex;justify-content:space-between;gap:12px}.detail-card h2{margin:10px 0 0;font-size:20px}.detail-card header p{margin:4px 0 0;color:var(--color-muted-foreground);font-size:12px}.detail-card>header>strong{font-size:23px}.detail-card .billing-summary{margin-block:18px}.detail-history{margin-top:22px;border-top:1px solid #e3e8e5;padding-top:16px}.detail-history h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;color:var(--color-muted-foreground)}.detail-history>article{padding:11px 0;border-bottom:1px solid var(--color-border)}.detail-history article header{display:flex;justify-content:space-between}.detail-history strong,.detail-history small{display:block}.detail-history small,.detail-history p{margin:3px 0 0;color:var(--color-muted-foreground);font-size:11px}.page-intro{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.page-intro h2,.page-intro p{margin:0}.page-intro h2{font-size:18px}.page-intro p{margin-top:4px;color:var(--color-muted-foreground);font-size:12px}.page-intro>span{color:#64736c;font-size:12px}.communication-filters .search-field{flex:1}.message-history article{padding:15px 18px;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px}.message-channel{width:34px;height:34px;border-radius:6px;background:#e5f2ed;color:var(--color-primary);display:grid;place-items:center}.message-history header{display:flex;align-items:center;gap:9px}.message-history header span{padding:2px 7px;border-radius:12px;background:#e9f7f0;color:#178a5a;font-size:9px;font-weight:750}.message-history header span[data-status=FAILED],.message-history header span[data-status=SKIPPED]{background:#fbece9;color:#a33d2a}.message-history p,.message-history small,.message-history em{display:block;margin:4px 0 0;color:#66756f;font-size:11px;font-style:normal}.message-history em{padding:7px;border-radius:4px;background:#fbece9;color:#a33d2a}.message-history time{color:var(--color-muted-foreground);font-size:11px}.settings-page{max-width:1180px}.settings-page>.settings-tabs{padding-inline:0}.settings-surface{margin-top:16px;padding:24px;overflow:visible}.settings-surface form{display:grid;gap:16px}.settings-surface footer,.settings-panel footer{padding-top:16px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:9px}.settings-surface .settings-panel{padding:0}.settings-surface .gdpr-panel{display:grid;gap:24px}.document-upload-bar{margin-bottom:16px;padding:14px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-card);display:flex;align-items:end;gap:12px}.document-upload-bar>label:first-child{display:grid;gap:6px;color:#52605a;font-size:11px;font-weight:700}.document-upload-bar select{min-width:280px;height:36px;border:1px solid #ccd6d2;border-radius:6px}.document-groups{display:grid;gap:12px}.document-groups>article{padding:17px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-card)}.document-groups>article>header{margin-bottom:10px;display:flex;justify-content:space-between}.document-groups h4,.document-groups p{margin:0}.document-groups p,.document-groups header span{margin-top:4px;color:var(--color-muted-foreground);font-size:11px}.intake-template-field{grid-template-columns:28px minmax(160px,1fr) minmax(160px,1fr) 130px auto auto}.checkbox-label{align-content:center;grid-template-columns:auto auto}.patient-form-issue{margin-bottom:16px;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card);display:flex;align-items:end;gap:12px}.patient-form-issue label{display:grid;gap:6px;font-size:11px;font-weight:700}.patient-form-issue select,.patient-form-issue input{height:38px;border:1px solid #ccd6d2;border-radius:6px;padding-inline:9px}.patient-form-issue label:first-child{flex:1}.issued-link{margin-bottom:16px;padding:14px;border-radius:8px;background:#e5f2ed;display:flex;align-items:center;gap:10px}.issued-link span{min-width:0;flex:1}.issued-link strong,.issued-link small{display:block}.issued-link small{overflow:hidden;text-overflow:ellipsis;color:#526b61}.patient-form-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-card)}.patient-form-detail{padding:22px;border-left:1px solid var(--color-border)}.patient-form-detail>header{display:flex;justify-content:space-between;gap:12px}.patient-form-detail h3,.patient-form-detail p{margin:0}.patient-form-detail header p{margin-top:5px;color:#65766f}.patient-form-detail dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.patient-form-detail dt{color:#74817c;font-size:10px;text-transform:uppercase}.patient-form-detail dd{margin:3px 0 0;font-size:12px}.form-answer-list{margin-top:18px;display:grid;gap:8px}.form-answer-list>div{padding:12px;border-radius:6px;background:#f5f8f6}.form-answer-list small{color:#65766f}.form-answer-list p{margin-top:4px;white-space:pre-wrap}.consent-evidence{margin-top:18px;padding:16px;border-left:3px solid #1f7c61;background:#eaf4ef}.consent-evidence p{margin:8px 0;line-height:1.5}@media(max-width:900px){.dashboard-grid,.list-detail,.patient-form-layout{grid-template-columns:1fr}.patient-form-detail{border-left:0;border-top:1px solid var(--color-border)}.intake-template-field{grid-template-columns:28px 1fr}.page-metrics{grid-template-columns:1fr 1fr}.communication-filters{align-items:stretch;flex-wrap:wrap}}@media(max-width:620px){.sidebar nav{overflow-x:auto;justify-content:flex-start}.sidebar nav button{min-width:76px}.page-content,.dashboard-grid{padding:14px}.dashboard-metrics{border-bottom:0}.page-filters,.document-upload-bar{align-items:stretch;flex-direction:column}.page-filters .search-field,.page-filters>label,.page-filters select,.document-upload-bar select{width:100%}.staff-list>button{grid-template-columns:1fr auto}.staff-list>button i{grid-column:2}.message-history article{grid-template-columns:34px 1fr}.message-history time{grid-column:2}.settings-surface{padding:16px}.settings-surface .manage-row,.settings-surface .staff-row{grid-template-columns:1fr;align-items:start}.patient-form-issue,.issued-link{align-items:stretch;flex-direction:column}.patient-form-detail dl{grid-template-columns:1fr}}
