:root{--ink:#17322d;--muted:#687a75;--brand:#9d6b4f;--brand-dark:#6e4835;--cream:#f8f5f0;--surface:#fff;--line:#dedfd9;--success:#24745a;--warning:#a26418;--danger:#a33f3f;--radius:14px}*{box-sizing:border-box}body,html{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:#17322d;color:#f8f5f0;padding:28px 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.logo{font-family:Georgia,serif;letter-spacing:.22em;font-size:20px}.nav-title{margin:30px 10px 8px;font-size:10px;letter-spacing:.14em;color:#9fb2ac}.nav a{display:flex;gap:10px;padding:10px;border-radius:9px;color:#dce6e2;font-size:14px}.nav a.active,.nav a:hover{background:#284640;color:white}.main{padding:36px 42px;max-width:1500px;width:100%}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:var(--brand)}h1{font-size:34px;margin:5px 0}h1,h2{font-family:Georgia,serif;font-weight:500}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 8px 24px rgba(34,47,43,.04)}.metric{font-size:28px;font-family:Georgia,serif;margin:8px 0}.badge{font-size:11px;padding:5px 8px;border-radius:999px;background:#e9f3ef;color:var(--success);font-weight:700}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px}.table td{border-top:1px solid var(--line);padding:14px 12px;font-size:14px}.btn{border:0;background:var(--ink);color:white;border-radius:10px;padding:11px 16px;font-weight:650;cursor:pointer}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.patient-header{padding:20px 6vw;display:flex;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.patient-main{max-width:1080px;margin:0 auto;padding:72px 24px}.hero{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:56px;gap:56px;align-items:center}.hero h1{font-size:56px;line-height:1.05}.actions{display:flex;gap:12px;margin-top:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:650}.field input,.field select,.field textarea{padding:12px;border:1px solid var(--line);border-radius:9px;background:white}.steps{display:flex;gap:6px;margin-bottom:28px}.step{height:5px;flex:1 1;background:#dedfd9;border-radius:9px}.step.on{background:var(--brand)}.notice{border-left:3px solid var(--brand);padding:14px 18px;background:#f4ece6;color:#604536}.stack{display:grid;grid-gap:16px;gap:16px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:24px}.grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero h1{font-size:42px}}@media(max-width:560px){.form-grid,.grid{grid-template-columns:1fr}.patient-main{padding-top:38px}.actions{flex-direction:column}}.management-nav{display:grid;grid-gap:2px;gap:2px;margin-top:24px;max-height:calc(100vh - 125px);overflow:auto}.management-heading{margin-bottom:24px}.dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.summary-card{display:grid;grid-template-columns:34px 1fr;align-items:center;color:inherit}.summary-card>svg{grid-row:1/4;color:var(--brand);width:21px}.summary-card>small,.summary-card>span{color:var(--muted)}.summary-card>strong{font:500 28px Georgia,serif}.dashboard-columns{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:16px;gap:16px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-title h2,.section-title p{margin:0 0 5px}.section-title>a{color:var(--brand-dark);font-weight:700;font-size:13px}.status-chart{display:grid;grid-gap:14px;gap:14px}.status-chart>div{display:grid;grid-template-columns:105px 1fr 24px;grid-gap:10px;gap:10px;align-items:center;font-size:12px}.status-chart i{height:9px;background:var(--cream);border-radius:8px;overflow:hidden}.status-chart b{display:block;height:100%;background:var(--brand);border-radius:8px}.alert-list{display:grid;grid-gap:9px;gap:9px}.alert-list a{display:flex;align-items:center;gap:9px;padding:10px;border-radius:9px;background:var(--cream);font-size:13px}.alert-list svg{width:16px;color:var(--warning)}.management-loading{min-height:130px;display:grid;place-items:center}.patient-record-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:18px}.patient-record-summary span{display:grid;grid-gap:5px;gap:5px;padding:12px;background:var(--cream);border-radius:10px;font-size:13px}.settings-summary{white-space:pre-wrap;padding:16px;background:var(--cream);border-radius:10px;overflow:auto}@media(max-width:1100px){.dashboard-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.dashboard-columns,.dashboard-summary,.patient-record-summary{grid-template-columns:1fr}}.management-heading{align-items:center}.open-record-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border:1px solid var(--brand-dark);border-radius:8px;background:var(--brand-dark);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.open-record-button:hover{background:var(--ink);border-color:var(--ink);box-shadow:0 5px 14px rgba(23,50,45,.18);transform:translateY(-1px)}.open-record-button:focus-visible{outline:3px solid rgba(157,107,79,.25);outline-offset:2px}@media(max-width:760px){.management-heading{align-items:flex-start;gap:14px}.management-heading .profile-trigger span{display:none}.open-record-button{width:100%}}.inventory-form{display:grid;grid-template-columns:1.4fr 1fr .7fr 1.5fr auto;grid-gap:10px;gap:10px;align-items:end}.calendar-modal input,.calendar-modal select,.calendar-modal textarea,.form-grid>label input,.form-grid>label select,.inventory-form input,.inventory-form select,.stack>label input,.stack>label select,.stack>label textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.record-details{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.record-details div{padding:10px;background:var(--cream);border-radius:9px}.record-details dt{font-size:11px;color:var(--muted);text-transform:uppercase}.record-details dd{margin:4px 0 0}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-top:20px}.report-grid>div{display:grid;grid-gap:7px;gap:7px;padding:18px;background:var(--cream);border-radius:12px}.report-grid span{color:var(--muted);font-size:12px}.report-grid strong{font:500 25px Georgia,serif}.table td small{display:block;color:var(--muted);margin-top:4px}@media(max-width:900px){.inventory-form,.report-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.inventory-form,.record-details,.report-grid{grid-template-columns:1fr}}.inventory-mode{display:flex;gap:8px;margin:20px 0}.inventory-mode button{display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.inventory-mode button svg{width:16px}.inventory-mode button.active{background:var(--ink);border-color:var(--ink);color:#fff}.inventory-adjust-form{display:grid;grid-template-columns:1fr 1fr 1.4fr;grid-gap:14px;gap:14px;align-items:end}.inventory-adjust-form label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:700}.inventory-adjust-form input,.inventory-adjust-form select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.stock-preview{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;grid-gap:14px;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.stock-preview span{display:grid;grid-gap:3px;gap:3px;text-align:center}.stock-preview small{color:var(--muted)}.stock-preview b{font-size:20px}.stock-preview i{font-style:normal;color:var(--brand)}.stock-preview.invalid{border-color:var(--danger);color:var(--danger)}.inventory-adjust-form>.btn{justify-self:start}.inventory-stock-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.inventory-stock-grid>div{display:grid;grid-gap:4px;gap:4px;padding:14px;background:var(--cream);border-radius:10px}.inventory-stock-grid strong{font:500 25px Georgia,serif}.inventory-stock-grid small{color:var(--muted)}.kpi-heading h2{margin:4px 0}.kpi-card-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.kpi-card-grid article{display:grid;grid-gap:8px;gap:8px}.kpi-card-grid article>span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.kpi-card-grid article>strong{font:500 34px Georgia,serif}.kpi-change{display:flex;align-items:center;gap:4px}.kpi-change svg{width:15px;height:15px}.kpi-change.up{color:var(--success)}.kpi-change.down{color:var(--danger)}.kpi-change.neutral{color:var(--muted)}.kpi-visual-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:16px;gap:16px}.kpi-visual-grid h2{margin-bottom:4px}.kpi-visual-grid p{margin-top:0}.weekly-bars{height:220px;display:flex;align-items:stretch;gap:10px;padding-top:15px;border-bottom:1px solid var(--line)}.weekly-bars>div{flex:1 1;display:grid;grid-template-rows:1fr auto;grid-gap:7px;gap:7px;min-width:0}.bar-pair{display:flex;align-items:flex-end;justify-content:center;gap:3px}.bar-pair i{width:min(18px,42%);min-height:2px;border-radius:4px 4px 0 0;background:var(--brand)}.bar-pair i+i{background:var(--ink)}.weekly-bars small{text-align:center;color:var(--muted);font-size:9px}.chart-legend{display:flex;gap:15px;margin-top:12px;font-size:11px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:9px;height:9px;border-radius:2px;background:var(--brand)}.chart-legend span+span i{background:var(--ink)}.trend-line{width:100%;height:220px;padding:12px;background:linear-gradient(to bottom,transparent 24%,var(--line) 25%,transparent 26%,transparent 49%,var(--line) 50%,transparent 51%,transparent 74%,var(--line) 75%,transparent 76%);overflow:visible}.trend-line polyline{fill:none;stroke:var(--brand);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.contribution-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px}.kpi-progress span{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.kpi-progress>div{height:9px;border-radius:99px;background:var(--cream);overflow:hidden}.kpi-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand)}@media(max-width:850px){.inventory-adjust-form,.inventory-stock-grid,.kpi-card-grid{grid-template-columns:1fr 1fr}.kpi-visual-grid{grid-template-columns:1fr}}@media(max-width:560px){.contribution-grid,.inventory-adjust-form,.inventory-stock-grid,.kpi-card-grid{grid-template-columns:1fr}.stock-preview{gap:7px;padding:12px 8px}.inventory-mode{display:grid;grid-template-columns:1fr 1fr}}.product-total-preview{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--cream);color:var(--muted)}.product-total-preview span{display:flex;gap:5px;align-items:baseline}.product-total-preview b{color:var(--ink)}.product-total-preview i{font-style:normal;color:var(--brand);font-size:20px}.product-total-preview strong{color:var(--ink);font-size:17px}.inventory-heading{align-items:flex-start;margin-bottom:18px}.inventory-heading h2{margin:4px 0}.inventory-heading p{margin:0}.inventory-primary-actions{display:flex;gap:8px}.inventory-overview-table .table-action,.inventory-primary-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.inventory-overview-table td{vertical-align:middle}.inventory-overview-table td:first-child{min-width:190px}.inventory-overview-table td:last-child{min-width:235px}.stock-number{font:500 22px Georgia,serif;color:var(--ink)}.inventory-add-action{border-color:var(--brand)!important;color:var(--brand-dark)!important}.inventory-modal{width:min(570px,100%)}.inventory-modal h2{margin-bottom:5px}.inventory-modal-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px;margin:20px 0}.inventory-modal-fields label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:700}.inventory-modal-fields label:last-child{grid-column:1/-1}.inventory-modal-fields input,.inventory-modal-fields textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.inventory-modal-fields input[readonly]{background:var(--cream);color:var(--muted)}.inventory-modal .stock-preview{margin:4px 0 0}.inventory-warning{margin:8px 0 0;color:var(--danger);font-size:12px;font-weight:700}.inventory-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}@media(max-width:700px){.inventory-heading{gap:14px;flex-direction:column}.inventory-primary-actions{width:100%}.inventory-primary-actions .btn{flex:1 1}.inventory-modal-fields{grid-template-columns:1fr}.inventory-modal-fields label:last-child{grid-column:auto}.product-total-preview{align-items:stretch;flex-direction:column;gap:5px}.product-total-preview i{display:none}}.patient-forms{padding:16px 20px}.patient-forms h2{margin:0 0 8px}.patient-forms-table td,.patient-forms-table th{padding:8px 10px}.patient-forms-table td:first-child{width:46%}.patient-forms-table td:nth-child(2){width:110px}.patient-forms-table .row-actions{flex-wrap:nowrap}.compact-action{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:7px;font-size:12px;white-space:nowrap}@media(max-width:700px){.patient-forms-table .row-actions{flex-wrap:wrap}}.brand-logo{display:block;width:160px;height:58px;object-fit:cover;aspect-ratio:8/3;border-radius:6px}.sidebar .brand-logo{width:190px;height:90px;margin:-14px -5px 8px}.policy{line-height:1.72}.policy h2{margin-top:30px}.legal-item{display:grid;grid-template-columns:24px 1fr 110px;grid-gap:12px;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}.signature-pad{border:1px solid var(--line);border-radius:10px;background:white;touch-action:none;width:100%;height:180px}.tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:10px 13px;white-space:nowrap;font-size:13px}.tabs a:first-child{border-bottom:2px solid var(--brand);font-weight:700}.status-not-configured{color:var(--warning);background:#fff4df;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.legal-copy{white-space:pre-wrap;line-height:1.7}.login-shell{background:#101a18}.login-card{width:min(440px,calc(100% - 32px));background:white;padding:32px;border-radius:16px}.login-card .brand-logo{width:240px;height:120px;margin:0 auto 18px}.brand-logo{object-fit:contain!important;object-position:center;background:transparent!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#fff 0,var(--cream) 55%)}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(23,50,45,.1)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--cream);border-radius:12px}.auth-tabs button{border:0;padding:11px;background:transparent;border-radius:9px;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(23,50,45,.08);font-weight:700}.auth-links{display:flex;justify-content:space-between;font-size:14px;color:var(--brand-dark)}.profile-control{position:fixed;right:24px;bottom:20px;z-index:30}.profile-trigger{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;box-shadow:0 8px 24px rgba(23,50,45,.12);cursor:pointer;color:var(--ink)}.profile-popover{position:absolute;right:0;bottom:52px;width:245px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 16px 45px rgba(23,50,45,.16);display:grid;grid-gap:10px;gap:10px}.profile-popover hr{border:0;border-top:1px solid var(--line);width:100%}.profile-popover a,.profile-popover button{border:0;background:none;text-align:left;padding:6px 0;cursor:pointer;color:var(--ink)}.management-heading .profile-control{position:relative;right:auto;bottom:auto;z-index:30}.management-heading .profile-trigger:hover{border-color:var(--brand);box-shadow:0 10px 28px rgba(23,50,45,.16)}.management-heading .profile-trigger:focus-visible{outline:3px solid rgba(157,107,79,.24);outline-offset:2px}.profile-chevron{transition:transform .18s ease}.profile-trigger[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}.management-heading .profile-popover{right:0;top:calc(100% + 8px);bottom:auto}.management-heading .profile-popover a:hover,.management-heading .profile-popover button:hover{color:var(--brand-dark)}.login-card{width:min(560px,100%);max-width:100%;overflow:hidden}.login-card input,.login-card select,.login-card textarea{width:100%;min-width:0;max-width:100%}.login-card .form-grid,.login-card .form-grid>*{min-width:0}.login-card>.back-link{display:none}@media(max-width:600px){.login-shell{padding:14px}.login-card{padding:24px 20px}.login-card .form-grid{grid-template-columns:1fr}}.portal-header{position:-webkit-sticky;position:sticky;top:0;z-index:25;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portal-nav{height:76px;max-width:1180px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:34px}.portal-nav .brand-logo{width:135px;height:52px;background:transparent}.patient-links{display:flex;align-items:center;gap:6px;flex:1 1}.patient-links a{padding:10px 12px;border-radius:8px;font-size:14px;color:#425a54}.patient-links a:hover{background:var(--cream);color:var(--ink)}.mobile-menu{display:none;border:0;background:none}.header-account{position:relative}.account-trigger{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:7px;border-radius:10px;cursor:pointer;color:var(--ink)}.account-trigger:hover{background:var(--cream)}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e5eee9;color:var(--ink);font-weight:750}.account-menu{position:absolute;right:0;top:50px;width:270px;padding:10px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(23,50,45,.16);display:grid;grid-gap:4px;gap:4px}.account-summary{display:flex;gap:10px;padding:10px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:5px}.account-summary div{display:grid;min-width:0}.account-summary span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.account-menu>a,.account-menu>button{display:flex;gap:9px;border:0;background:none;padding:10px;border-radius:8px;text-align:left;color:var(--ink);cursor:pointer}.account-menu>a:hover,.account-menu>button:hover{background:var(--cream)}.portal-main{max-width:1180px}.welcome-panel{border-radius:22px;padding:38px 42px;background:linear-gradient(125deg,#17322d,#2e5b50);color:white;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 44px rgba(23,50,45,.16)}.welcome-panel .eyebrow{color:#d1b39e}.welcome-panel h1{font-size:42px;margin:6px 0}.welcome-panel p{color:#d6e1dd}.btn.light{display:flex;align-items:center;gap:8px;background:white;color:var(--ink)}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin:22px 0 40px}.portal-card{min-height:160px;background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:15px;transition:.2s ease}.portal-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(23,50,45,.08);border-color:#bdc9c5}.portal-card>svg{color:var(--brand);flex:none}.portal-card div{display:grid;align-content:start;grid-gap:7px;gap:7px}.portal-card span{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.portal-card strong{font:500 21px Georgia,serif}.portal-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.primary-card{border-top:3px solid var(--brand)}.action-card{background:#f3eee8}.dashboard-section{margin:35px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.section-heading h2{margin:4px 0}.section-heading>a{color:var(--brand-dark);font-weight:650}.appointment-list{padding:6px 20px}.appointment-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.appointment-row:last-child{border:0}.appointment-row p{margin:4px 0;color:var(--muted);font-size:13px}.date-tile{display:grid;place-items:center;background:var(--cream);border-radius:10px;padding:6px;text-transform:uppercase;font-size:10px}.date-tile b{font-size:20px}.status-pill{font-size:11px!important;background:#e9f3ef;color:var(--success)!important;padding:6px 9px;border-radius:99px}.empty-state{text-align:center;padding:35px;color:var(--muted)}.reminder-card{display:flex;align-items:center;gap:16px;background:#f1e9e3;border-radius:15px;padding:18px 22px}.reminder-card p{margin:4px 0;color:var(--muted)}.reminder-card a{margin-left:auto;font-weight:650}.portal-loading{min-height:55vh;display:grid;place-items:center;align-content:center;grid-gap:15px;gap:15px;color:var(--muted)}.portal-loading span{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.narrow{max-width:850px}.breadcrumbs{display:flex;gap:8px;color:var(--muted);font-size:13px;margin-bottom:24px;overflow:hidden}.page-intro{color:var(--muted);font-size:17px;margin-bottom:26px}.form-links>a{display:grid;grid-gap:5px;gap:5px;padding:18px;border:1px solid var(--line);border-radius:12px}.form-links>a:hover{border-color:var(--brand);background:#fdfbf8}.form-links span{font-size:13px;color:var(--muted)}.back-link{display:block;margin-top:22px;color:var(--brand-dark);font-size:14px}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:46px}.password-wrap button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);padding:7px;cursor:pointer}.password-wrap button:hover{color:var(--ink)}.auth-progress{display:flex;gap:6px}.auth-progress i{height:4px;flex:1 1;border-radius:5px;background:var(--line)}.auth-progress i.on{background:var(--brand)}.auth-footer{display:flex;justify-content:space-between;font-size:13px;color:var(--brand-dark)}.password-help{display:grid;grid-gap:3px;gap:3px;padding:12px;background:var(--cream);border-radius:9px;font-size:12px;color:var(--muted)}.otp-input{text-align:center;font-size:24px;letter-spacing:8px}.notice.error{background:#fbeeee;color:#7b2929}.notice.success{border-color:var(--success);background:#eaf5f0;color:#195d48}.btn:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(157,107,79,.28);outline-offset:2px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:800px){.portal-nav{height:auto;min-height:68px;gap:12px;flex-wrap:wrap}.mobile-menu{display:block;margin-left:auto}.patient-links{display:none;order:4;flex-basis:100%;padding-bottom:12px}.patient-links.open{display:grid}.header-account{margin-left:0}.account-name{display:none}.portal-grid{grid-template-columns:1fr 1fr}.welcome-panel{padding:30px;gap:20px}.welcome-panel h1{font-size:34px}}.portal-section-label{display:flex;align-items:flex-end;justify-content:space-between;margin:34px 2px 15px}.portal-section-label span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand)}.portal-section-label h2{margin:4px 0 0;font-size:25px}.portal-section-label p{font-size:12px;color:var(--muted);margin:0}.portal-grid{margin-top:0}.portal-card{position:relative;overflow:hidden}.portal-card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:transparent}.portal-card.has-appointment:after{background:var(--success)}.portal-card small.care-chip{justify-self:start;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:5px 7px;border-radius:99px;background:#eef4f1;color:var(--success);font-weight:700}.card-link{gap:4px;font-weight:700}.appointment-summary small,.card-link{display:flex;align-items:center;color:var(--brand-dark);font-size:12px}.appointment-summary small{gap:5px}.portal-error{display:grid;grid-gap:6px;gap:6px;margin:40px auto;max-width:620px}.portal-error a{text-decoration:underline;font-weight:700}.profile-page{max-width:980px}.profile-card{padding:30px}.profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line)}.profile-identity{display:flex;align-items:center;gap:18px}.profile-avatar{width:62px;height:62px;border-radius:18px;background:#e7efeb;color:var(--ink);display:grid;place-items:center}.profile-avatar svg{width:30px;height:30px}.profile-heading h1{font-size:30px;margin:4px 0}.profile-heading p{margin:4px 0;color:var(--muted);max-width:570px;line-height:1.5}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.profile-details{display:grid;grid-template-columns:1fr 1fr;margin-top:5px}.profile-details>div{display:grid;grid-template-columns:32px 1fr;grid-column-gap:10px;column-gap:10px;padding:22px 12px;border-bottom:1px solid var(--line)}.profile-details>div:nth-child(odd){border-right:1px solid var(--line)}.profile-details svg{grid-row:1/3;color:var(--brand);width:20px}.profile-details span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.profile-details strong{margin-top:5px}.profile-form{padding-top:24px}.profile-email-field{grid-column:1/-1}.profile-email-field small{color:var(--muted);font-size:12px}.profile-email-field input:disabled{background:#f1f2ef;color:#687a75}.profile-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.profile-card .notice{display:flex;align-items:center;gap:8px;margin-top:20px}@media(max-width:560px){.portal-nav{padding:0 16px}.portal-nav .brand-logo{width:110px}.portal-grid{grid-template-columns:1fr}.welcome-panel{align-items:flex-start;flex-direction:column}.welcome-panel .btn{width:100%;justify-content:center}.portal-section-label{align-items:flex-start;flex-direction:column;gap:5px}.appointment-row{grid-template-columns:48px 1fr}.status-pill{grid-column:2}.reminder-card{align-items:flex-start;flex-wrap:wrap}.reminder-card a{margin-left:40px}.auth-footer{gap:12px;flex-wrap:wrap}.profile-card{padding:20px}.profile-heading,.profile-identity{align-items:flex-start;flex-direction:column}.profile-heading .btn{width:100%}.profile-details{grid-template-columns:1fr}.profile-details>div:nth-child(odd){border-right:0}.profile-actions{display:grid;grid-template-columns:1fr 1fr}.profile-actions .btn{padding-inline:8px}}.portal-header~.patient-header,.portal-header~.portal-header{display:none}.booking-main{max-width:980px}.booking-stepper{list-style:none;padding:0;display:grid;grid-template-columns:repeat(7,1fr);margin:12px 0 36px}.booking-stepper li{position:relative;text-align:center}.booking-stepper li:before{content:"";position:absolute;height:2px;background:var(--line);left:-50%;right:50%;top:17px}.booking-stepper li:first-child:before{display:none}.booking-stepper li.complete:before,.booking-stepper li.current:before{background:var(--brand)}.booking-stepper button{position:relative;border:0;background:none;width:100%;display:grid;justify-items:center;grid-gap:7px;gap:7px;color:var(--muted);font-size:11px;cursor:pointer}.booking-stepper button:disabled{opacity:1;cursor:default}.booking-stepper button span{width:34px;height:34px;border:2px solid var(--line);background:var(--cream);border-radius:50%;display:grid;place-items:center;font-weight:700}.booking-stepper li.complete button,.booking-stepper li.current button{color:var(--ink)}.booking-stepper li.current span{border-color:var(--brand);background:var(--brand);color:white;box-shadow:0 0 0 5px #f1e7e1}.booking-stepper li.complete span{border-color:var(--success);background:var(--success);color:white}.booking-card{padding:28px;min-height:270px}.option-list{display:grid;grid-gap:12px;gap:12px}.selection-card,.visit-card{width:100%;border:2px solid var(--line);background:white;border-radius:14px;padding:20px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:.18s ease;color:var(--ink)}.selection-card:hover,.visit-card:hover{border-color:#b7a397;background:#fdfbf9;transform:translateY(-1px)}.selection-card.selected,.visit-card.selected{border-color:var(--brand);background:#f5ece6;box-shadow:0 0 0 3px rgba(157,107,79,.1)}.selection-card p,.visit-card p{color:var(--muted);margin:6px 0 0}.selected-mark,.visit-card>span{display:flex;align-items:center;gap:5px;color:var(--success);font-size:12px;font-weight:750}.selected-mark svg,.visit-card>span svg{width:17px}.visit-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.visit-card{min-height:155px;align-items:flex-start;flex-wrap:wrap}.visit-card>svg{color:var(--brand);width:30px;height:30px}.visit-card>div{flex:1 1}.visit-card:disabled{opacity:.45;cursor:not-allowed}.visit-card>span{width:100%;justify-content:flex-end}.date-panel{display:grid;grid-template-columns:42px 1fr;grid-gap:16px;gap:16px;align-items:start;max-width:620px}.date-panel>svg{color:var(--brand)}.profile-confirm dl{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;margin:22px 0;overflow:hidden}.profile-confirm dl div{padding:16px 18px;border-bottom:1px solid var(--line)}.profile-confirm dl div:nth-child(odd){border-right:1px solid var(--line)}.profile-confirm dt,.review-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:5px}.profile-confirm dd{margin:0;font-weight:650}.summary-title{display:flex;gap:13px;align-items:flex-start}.summary-title svg{color:var(--brand)}.summary-title h2{margin:0}.summary-title p{color:var(--muted);margin:6px 0}.required-forms{display:grid;grid-gap:14px;gap:14px}.form-task{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;grid-gap:13px;gap:13px}.form-task:hover{border-color:var(--brand);background:#fdfbf9}.form-task>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--brand)}.form-task.done{border-color:#b8d6ca;background:#f2f8f5}.form-task.done>span{background:var(--success);color:white}.form-task p{margin:4px 0 0;color:var(--muted);font-size:13px}.form-task>b{font-size:13px;color:var(--brand-dark)}.review-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.review-grid>div{display:grid;padding:18px;border-bottom:1px solid var(--line)}.review-grid>div:nth-child(odd){border-right:1px solid var(--line)}.review-grid strong{display:flex;align-items:center;gap:5px}.confirmation-panel{text-align:center;padding:20px;display:grid;justify-items:center;grid-gap:10px;gap:10px}.confirmation-panel>span{width:64px;height:64px;background:var(--success);color:white;border-radius:50%;display:grid;place-items:center}.confirmation-panel>span svg{width:32px;height:32px}.confirmation-panel h2{font-size:30px;margin:8px 0}.confirmation-panel p{margin:0;color:var(--muted)}.confirmation-panel code{background:var(--cream);padding:10px;border-radius:8px}.wizard-actions{display:flex;justify-content:space-between;margin-top:18px}.portal-loading.compact{min-height:220px}.acknowledgment-check{grid-template-columns:24px 1fr;cursor:pointer}.acknowledgment-check input{width:18px;height:18px;accent-color:var(--brand)}@media(max-width:760px){.booking-stepper b{display:none}.booking-stepper{margin-bottom:24px}.booking-card{padding:20px}.profile-confirm dl,.review-grid,.visit-options{grid-template-columns:1fr}.profile-confirm dl div:nth-child(odd),.review-grid>div:nth-child(odd){border-right:0}.form-task{grid-template-columns:36px 1fr}.form-task>b{grid-column:2}.date-panel{grid-template-columns:1fr}.date-panel>svg{display:none}}.booking-progress{margin:0 0 32px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(23,50,45,.05)}.booking-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-progress-heading>div:first-child{display:grid;grid-gap:4px;gap:4px}.booking-progress-heading span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.booking-progress-heading strong{font:500 22px Georgia,serif}.step-count{display:flex;align-items:baseline;gap:5px;color:var(--brand-dark)}.step-count b{font:500 30px Georgia,serif}.step-count span{text-transform:none;letter-spacing:0}.progress-track{height:8px;margin-top:17px;overflow:hidden;background:#e9e9e4;border-radius:99px}.progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--success));border-radius:inherit;transition:width .25s ease}.progress-caption{display:flex;justify-content:space-between;margin-top:7px}.progress-caption span{font-size:11px;text-transform:none;letter-spacing:0}.completed-step-links{display:flex;align-items:center;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.completed-step-links>span{flex:none}.completed-step-links button{display:flex;align-items:center;gap:4px;flex:none;border:1px solid #cfd8d4;background:#f6f9f7;color:var(--ink);border-radius:99px;padding:7px 10px;font-size:11px;cursor:pointer}.completed-step-links button:hover{border-color:var(--brand);background:#f7efea}.completed-step-links button svg{color:var(--success)}@media(max-width:560px){.booking-progress{padding:17px;margin-bottom:24px}.booking-progress-heading strong{font-size:19px}.step-count b{font-size:26px}.progress-caption span:last-child{display:none}.completed-step-links{margin-inline:-4px}.completed-step-links>span{display:none}}.booking-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.booking-error span{line-height:1.45}.booking-error .btn{flex:none;padding:8px 12px;background:#fff}@media(max-width:560px){.booking-error{align-items:stretch;flex-direction:column}.booking-error .btn{text-align:center}}.slot-picker{display:grid;grid-gap:24px;gap:24px}.slot-date{display:grid;grid-template-columns:34px minmax(0,320px);grid-gap:14px;gap:14px;align-items:flex-start}.slot-date>svg{color:var(--brand);margin-top:27px}.slot-results{padding-top:22px;border-top:1px solid var(--line)}.slot-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.slot-results-heading>div{display:grid;grid-gap:4px;gap:4px}.slot-results-heading>div span,.slot-results-heading>span{font-size:12px;color:var(--muted)}.time-slots{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));grid-gap:10px;gap:10px}.time-slots button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.time-slots button:hover{border-color:var(--brand);background:#fdf9f6}.time-slots button.selected{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 0 0 3px rgba(157,107,79,.14)}.no-slots,.slots-loading{min-height:100px;border-radius:12px;background:var(--cream);display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;color:var(--muted);text-align:center}.slots-loading i{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.no-slots p{margin:0;font-size:13px}@media(max-width:700px){.time-slots{grid-template-columns:repeat(3,1fr)}}@media(max-width:460px){.slot-date{grid-template-columns:1fr}.slot-date>svg{display:none}.time-slots{grid-template-columns:repeat(2,1fr)}.slot-results-heading{align-items:flex-start;flex-direction:column}}.module-heading{margin-bottom:18px}.live-source{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);padding:7px 10px;background:var(--cream);border-radius:99px}.live-source i{width:7px;height:7px;border-radius:50%;background:var(--success)}.module-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.module-metrics>div{display:grid;grid-template-columns:28px 1fr;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px}.module-metrics svg{grid-row:1/3;color:var(--brand);width:19px}.module-metrics span{font-size:12px;color:var(--muted)}.module-metrics strong{font-size:22px}.appointment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.appointment-toolbar label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:0 11px;max-width:420px;width:100%;color:var(--muted)}.appointment-toolbar input{border:0;outline:0;padding:10px 0;width:100%}.appointment-toolbar>span{font-size:12px;color:var(--muted)}.table-scroll{overflow:auto}.live-appointments td small,.live-appointments td strong{display:block}.live-appointments td small{margin-top:4px;color:var(--muted);font-size:11px}.visit-label{display:flex;align-items:center;gap:6px;white-space:nowrap}.appointments-module .empty-state{display:grid;justify-items:center;grid-gap:6px;gap:6px}.appointments-module .empty-state h3,.appointments-module .empty-state p{margin:0}@media(max-width:700px){.module-metrics{grid-template-columns:1fr}.appointment-toolbar{align-items:stretch;flex-direction:column}.module-heading{align-items:flex-start;gap:12px;flex-direction:column}}.appointment-toolbar select{padding:10px 34px 10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);min-width:160px}.dashboard-metric-link{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.dashboard-metric-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(23,50,45,.1)}.dashboard-metric-link:focus-visible{outline:3px solid rgba(157,107,79,.3);outline-offset:2px}@media(max-width:700px){.appointment-toolbar select{width:100%}}.calendar-manager{display:grid;grid-gap:18px;gap:18px}.calendar-titlebar{display:flex;justify-content:space-between;gap:24px}.calendar-titlebar h2{font-size:30px;margin:5px 0}.calendar-titlebar p{color:var(--muted);margin:0}.calendar-actions{display:flex;align-items:flex-start;gap:8px}.calendar-actions .btn{display:flex;align-items:center;gap:6px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px}.view-switcher{display:flex;padding:3px;background:var(--cream);border-radius:9px}.date-navigation button,.view-switcher button{border:0;background:transparent;border-radius:7px;padding:8px 12px;cursor:pointer;color:var(--ink);text-transform:capitalize}.view-switcher button.active{background:#fff;box-shadow:0 2px 8px rgba(23,50,45,.09);font-weight:700}.date-navigation{display:flex;align-items:center;gap:8px}.date-navigation button{border:1px solid var(--line);background:#fff;display:grid;place-items:center}.date-navigation button svg{width:16px}.date-navigation strong{min-width:230px;text-align:center}.calendar-filters{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.calendar-filters select,.hours-grid input,.modal-form input,.modal-form select,.reschedule-panel input{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.calendar-day{min-height:520px;border-right:1px solid var(--line)}.calendar-day:last-child{border:0}.calendar-day>header{height:66px;display:grid;place-items:center;align-content:center;border-bottom:1px solid var(--line);color:var(--muted)}.calendar-day>header span{font-size:11px;text-transform:uppercase}.calendar-day>header b{font:500 23px Georgia,serif}.calendar-day.today>header{background:#eef5f2;color:var(--ink)}.day-events{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:9px}.calendar-event{border:0;border-left:3px solid var(--brand);border-radius:8px;background:#f7f1ed;text-align:left;padding:9px;display:grid;grid-gap:3px;gap:3px;color:var(--ink);cursor:pointer}.calendar-event:hover{box-shadow:0 4px 14px rgba(23,50,45,.12)}.calendar-event time{font-size:11px;font-weight:750;color:var(--brand-dark)}.calendar-event strong{font-size:12px}.calendar-event span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--muted)}.calendar-event.cancelled{opacity:.55;border-left-color:var(--muted);text-decoration:line-through}.calendar-event.confirmed{border-left-color:var(--success);background:#edf6f2}.blocked-event{display:grid;grid-template-columns:18px 1fr;grid-gap:2px 4px;gap:2px 4px;padding:8px;border:1px dashed #a88c7a;border-radius:8px;background:#faf4ef;color:#684c3c;font-size:11px}.blocked-event svg{grid-row:1/3}.blocked-event span{grid-column:2}.open-day{padding:18px 4px;color:#9aa7a3;font-size:11px;text-align:center}.day-calendar .calendar-day{min-height:420px;border:1px solid var(--line);border-radius:14px;background:#fff}.day-calendar .day-events{grid-template-columns:repeat(3,1fr);padding:16px}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.month-day{min-height:125px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;align-content:start;grid-gap:4px;gap:4px}.month-day>span{font-weight:700;font-size:12px}.month-event{border:0;border-radius:5px;padding:4px 5px;background:#f3e9e3;color:var(--ink);font-size:10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.month-event.cancelled{opacity:.5;text-decoration:line-through}.calendar-loading{height:420px;display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;color:var(--muted)}.calendar-loading i{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(10,27,23,.48);display:flex;justify-content:center;align-items:flex-start;padding:6vh 20px;overflow:auto}.appointment-drawer,.calendar-modal{position:relative;width:min(620px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.appointment-drawer{margin-left:auto;margin-right:-20px;margin-top:-6vh;min-height:100vh;border-radius:18px 0 0 18px;width:min(480px,100%)}.modal-close{position:absolute;right:16px;top:16px;border:0;background:var(--cream);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}.modal-close svg{width:18px}.appointment-drawer h2,.calendar-modal h2{font-size:28px;margin:5px 0 16px}.modal-form{display:grid;grid-gap:14px;gap:14px}.patient-search-results,.possible-duplicates{display:grid;grid-gap:8px;gap:8px}.patient-match,.patient-onboarding-status,.selected-phone-patient{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--cream);border-radius:10px}.patient-match>div,.patient-onboarding-status,.selected-phone-patient{display:grid}.patient-match span,.patient-onboarding-status span,.selected-phone-patient span{font-size:12px;color:var(--muted)}.selected-phone-patient button{justify-self:start;border:0;background:none;color:var(--brand-dark);padding:0;cursor:pointer}.new-patient-fields{display:grid;grid-gap:12px;gap:12px;padding-top:4px;border-top:1px solid var(--line)}.new-patient-fields h3{margin:8px 0 0}.new-patient-fields .form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.possible-duplicates{padding:12px;background:#fff7e7;border:1px solid #ead7ac;border-radius:10px}.modal-form label,.reschedule-panel label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:700}.drawer-slots,.modal-slots{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px;margin-top:10px}.drawer-slots button,.modal-slots button{border:1px solid var(--line);background:#fff;padding:9px;border-radius:8px;cursor:pointer}.drawer-slots button:hover,.modal-slots button:hover{border-color:var(--brand);background:#f8eee8}.appointment-drawer dl{display:grid;grid-template-columns:1fr 1fr;margin:20px 0}.appointment-drawer dl div{padding:13px;border-bottom:1px solid var(--line)}.appointment-drawer dt{font-size:10px;text-transform:uppercase;color:var(--muted)}.appointment-drawer dd{margin:5px 0 0;font-weight:650}.drawer-actions{display:flex;gap:9px}.btn.danger{background:#9a3d3d}.reschedule-panel{display:grid;grid-gap:12px;gap:12px}.hours-grid{display:grid;grid-gap:7px;gap:7px}.hours-grid>div{display:grid;grid-template-columns:130px 1fr 25px 1fr;align-items:center;grid-gap:7px;gap:7px;padding:7px 0;border-bottom:1px solid var(--line)}.hours-grid label{display:flex;align-items:center;gap:6px;text-transform:capitalize}.hours-grid label input{width:auto}.hours-grid em{grid-column:2/5;color:var(--muted)}@media(max-width:1050px){.calendar-titlebar{flex-direction:column}.calendar-actions{flex-wrap:wrap}.calendar-filters{grid-template-columns:1fr 1fr}.week-calendar{grid-template-columns:repeat(7,minmax(155px,1fr))}}@media(max-width:700px){.calendar-toolbar{align-items:stretch;flex-direction:column;gap:10px}.date-navigation{justify-content:space-between}.date-navigation strong{min-width:0;font-size:12px}.calendar-filters{grid-template-columns:1fr}.calendar-actions .btn{flex:1 1;justify-content:center}.month-calendar{grid-template-columns:repeat(2,1fr)}.day-calendar .day-events{grid-template-columns:1fr}.appointment-drawer{margin:0;min-height:auto;border-radius:18px}.appointment-drawer dl{grid-template-columns:1fr}.drawer-slots,.modal-slots{grid-template-columns:repeat(3,1fr)}.hours-grid>div{grid-template-columns:100px 1fr 20px 1fr}}.modal-slots button.selected{border-color:var(--brand-dark);background:#f5ece6;color:var(--ink);box-shadow:0 0 0 2px rgba(157,107,79,.14);font-weight:700}.booking-submit{width:100%;margin-top:2px}.booking-submit:disabled{cursor:not-allowed;opacity:.55}.status-editor{display:grid;grid-template-columns:1fr auto;align-items:flex-end;grid-gap:10px;gap:10px;padding:14px;margin:8px 0 16px;background:var(--cream);border-radius:12px}.status-editor label{display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:700}.status-editor select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.check-row input{width:auto!important}.hours-day{display:grid!important;grid-template-columns:130px 1fr!important;align-items:flex-start!important}.hours-periods{display:grid;grid-gap:7px;gap:7px}.hours-period{display:grid;grid-template-columns:1fr 22px 1fr auto;align-items:center;grid-gap:7px;gap:7px}.add-period,.hours-period button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-dark);padding:8px;cursor:pointer}.add-period{justify-self:start}@media(max-width:700px){.status-editor{grid-template-columns:1fr}.hours-day{grid-template-columns:100px 1fr!important}.hours-period{grid-template-columns:1fr 18px 1fr}.hours-period button{grid-column:1/4}.add-period{width:100%}}.service-manager .table-action{display:flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer}.service-manager .modal-form>.btn{display:flex;align-items:center;justify-content:center;gap:6px}.service-checks{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.service-checks label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:9px;font-size:12px}.service-checks input{width:auto}@media(max-width:600px){.service-checks{grid-template-columns:1fr}}.profile-appointments{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.profile-appointments h2{margin:4px 0 10px}.profile-appointment-row{display:grid;grid-template-columns:82px 1fr;grid-gap:10px;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.profile-appointment-row>span{font-size:12px;color:var(--brand-dark);font-weight:700}.profile-appointment-row div{display:grid;grid-gap:3px;gap:3px}.profile-appointment-row small{color:var(--muted)}.cancellation-guidance{margin-top:22px;padding:14px 16px;border-radius:10px;background:var(--cream);color:var(--muted);font-size:13px;line-height:1.5}@media(max-width:650px){.profile-appointments{grid-template-columns:1fr}}.legal-form-page{max-width:920px}.electronic-form{padding:clamp(18px,3vw,30px);gap:22px}.form-security-note{display:flex;gap:13px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:#f4f8f5;border:1px solid #d8e4dc}.form-security-note svg{color:var(--brand,#295f50);flex:0 0 auto}.form-security-note p{margin:3px 0 0;color:var(--muted)}.legal-scroll-box{height:min(56vh,520px);min-height:340px;overflow-y:auto;padding:clamp(20px,4vw,38px);border:1px solid #d6ddd9;border-radius:15px;background:#fffdf9;box-shadow:inset 0 1px 4px rgba(31,48,42,.05);scrollbar-color:#9caf9f #edf1ee}.legal-scroll-box:focus-visible{outline:3px solid rgba(53,111,91,.25);border-color:#356f5b}.legal-document{max-width:720px;margin:auto;color:#26332f;line-height:1.7}.legal-document h2{font-size:1.3rem;margin:0 0 20px}.legal-document h3{font-size:1rem;margin:24px 0 6px}.legal-document p{margin:0 0 12px}.source-document p:first-child{font-weight:800;text-align:center;font-size:1.2rem}.source-document p:nth-child(2){font-weight:700;text-align:center}.legal-space{height:9px}.acknowledgment-list{padding-left:24px}.acknowledgment-list li{padding:0 0 14px 5px}.legal-final-statement{font-weight:700;border-top:1px solid #d8dfdb;padding-top:18px;margin-top:24px!important}.document-end{margin-top:32px;padding:15px;border-top:2px solid #dce4df;display:flex;align-items:center;justify-content:center;gap:8px;color:#376a58;font-weight:700}.document-end svg{width:18px}.read-status{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:11px;font-size:.92rem}.read-status svg{width:18px}.read-status.locked{background:#f5f2ed;color:#746a5e}.read-status.complete{background:#edf7f0;color:#246044}.electronic-attestation,.sensitive-authorization{display:flex;gap:13px;align-items:flex-start;padding:17px;border:1px solid #c9d7d0;border-radius:14px;background:#f8fbf9;cursor:pointer}.electronic-attestation.disabled{opacity:.58;cursor:not-allowed}.electronic-attestation input,.sensitive-authorization input{width:20px;height:20px;margin-top:2px;accent-color:#356f5b;flex:0 0 auto}.electronic-attestation span,.sensitive-authorization span{display:grid;grid-gap:5px;gap:5px}.electronic-attestation small,.sensitive-authorization small{color:var(--muted);line-height:1.45}.release-authorization{border-top:1px solid #dde4df;padding-top:20px}.release-authorization h2{font-size:1.15rem;margin:0}.release-authorization>.muted{margin:5px 0 16px}.sensitive-authorization{margin-top:15px}.form-submit-button{min-height:48px;justify-content:center}.spin{animation:form-spin 1s linear infinite}@keyframes form-spin{to{transform:rotate(1turn)}}.completed-form-state,.empty-form-state,.form-success,.prerequisite-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:34px}.form-success{border:1px solid #cce3d4;border-radius:15px;background:#f3faf5}.completed-form-state>svg,.empty-form-state>svg,.form-success>svg,.prerequisite-state>svg{width:38px;height:38px;color:#356f5b}.completed-form-state p,.empty-form-state p,.form-success p,.prerequisite-state p{margin:0;color:var(--muted)}.form-version-note{text-align:center;color:var(--muted);font-size:.76rem}.prerequisite-list{display:grid;grid-gap:8px;gap:8px;width:100%;max-width:440px;margin:10px 0}.prerequisite-list span{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #ddd;border-radius:10px;text-align:left}.prerequisite-list b,.prerequisite-list svg{width:21px;height:21px;display:grid;place-items:center}.prerequisite-list .done{color:#286049;background:#f2f8f4}.form-task.locked{opacity:.65;cursor:not-allowed}.form-task.locked>b{color:var(--muted)}@media(max-width:640px){.legal-scroll-box{height:52vh;min-height:300px;padding:18px}.electronic-form{padding:15px}.electronic-attestation,.sensitive-authorization{padding:14px}.form-security-note{font-size:.9rem}}.drawer-form-records{margin:18px 0;padding:15px;border:1px solid #dce3df;border-radius:12px;background:#fafcfb}.drawer-form-records h3{margin:0 0 10px;font-size:1rem}.drawer-form-records>div{display:flex;gap:9px;padding:9px 0;border-top:1px solid #e4e9e6}.drawer-form-records svg{width:17px;color:#356f5b;flex:0 0 auto}.drawer-form-records span{display:grid;grid-gap:2px;gap:2px}.drawer-form-records small{color:var(--muted)}.acknowledgment-list{display:grid;grid-gap:12px;gap:12px;padding:0;list-style:none}.acknowledgment-list li{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dbe6df;border-radius:10px;background:#f7faf8}.acknowledgment-list svg{width:18px;flex:0 0 auto;color:#356f5b;margin-top:3px}.patient-form-identity{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;padding:16px;margin-bottom:18px}.patient-form-identity>div{display:flex;align-items:center;gap:11px;padding:10px}.patient-form-identity svg{width:21px;color:#715745}.patient-form-identity span{display:grid}.patient-form-identity small{color:var(--muted)}.unified-form-progress{display:grid;grid-gap:8px;gap:8px;margin:0 2px 16px}.unified-form-progress>span{color:var(--muted);font-size:.9rem}.unified-form-progress>span b{color:#5f4737}.unified-form-progress>div{height:7px;overflow:hidden;border-radius:10px;background:#e8e0d7}.unified-form-progress i{display:block;height:100%;border-radius:inherit;background:#7c5d45;transition:width .25s ease}.consent-accordion{display:grid;grid-gap:12px;gap:12px}.consent-section{padding:0;overflow:hidden;border-color:#ded4c8}.consent-section.complete{border-color:#b8cec0}.consent-section.locked{opacity:.68}.consent-section-toggle{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:13px;gap:13px;padding:17px 19px;border:0;background:#fffaf3;color:inherit;text-align:left;cursor:pointer}.consent-section-toggle:disabled{cursor:not-allowed}.consent-section-toggle>span:nth-child(2){display:grid;grid-gap:3px;gap:3px}.consent-section-toggle small{color:var(--muted)}.consent-section-toggle>svg{width:19px;transition:transform .2s ease}.consent-section-toggle>svg.open{transform:rotate(180deg)}.section-status{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9dfd4;color:#684d3b;font-weight:800}.complete .section-status{background:#ddebe1;color:#35624c}.section-status svg{width:17px}.consent-section-body{padding:0 19px 22px;border-top:1px solid #e5ddd3}.section-instruction{margin:16px 0 10px;color:var(--muted)}.consent-section-body .legal-scroll-box{height:min(48vh,430px)}.final-acknowledgment{padding-top:18px}.unified-submit{position:-webkit-sticky;position:sticky;bottom:12px;z-index:3;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;gap:12px;margin-top:18px;padding:16px 18px;border:1px solid #d8cabc;border-radius:15px;background:rgba(255,250,243,.96);box-shadow:0 8px 24px rgba(64,45,31,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.unified-submit>div{display:flex;align-items:center;gap:10px}.unified-submit>div svg{color:#715745}.unified-submit>div span{display:grid}.unified-submit small{color:var(--muted)}.unified-submit>small{grid-column:1/-1}.unified-submit .btn{min-width:180px}.forms-complete-screen{align-items:center;text-align:center;padding:42px 24px}.forms-complete-screen>svg{width:52px;height:52px;color:#3f7057}.forms-complete-screen h2{margin:3px 0}.forms-complete-screen p{max-width:570px;color:var(--muted)}.unified-task{min-height:88px}@media(max-width:700px){.patient-form-identity{grid-template-columns:1fr;gap:2px}.patient-form-identity>div{padding:7px}.consent-section-toggle{padding:14px 13px}.consent-section-body{padding:0 13px 17px}.consent-section-body .legal-scroll-box{height:46vh;min-height:280px}.unified-submit{position:static;grid-template-columns:1fr;padding:15px}.unified-submit .btn{width:100%}.unified-submit>small{grid-column:auto}}.form-method-choice{text-align:center;padding:clamp(24px,5vw,42px)}.form-method-choice h2{margin-bottom:24px}.form-method-options{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:18px;gap:18px;align-items:center}.form-method-options>button{min-height:190px;border:2px solid var(--line);border-radius:16px;background:#fff;padding:26px;display:grid;justify-items:center;grid-gap:12px;gap:12px;color:var(--ink);cursor:pointer}.form-method-options>button:focus-visible,.form-method-options>button:hover{border-color:var(--brand);background:#fdfbf9}.form-method-options svg{width:32px;height:32px;color:var(--brand)}.form-method-options span{color:var(--muted);line-height:1.5}.form-method-options>b{color:var(--muted);font-size:12px}.form-method-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-secondary)}.form-method-bar button{border:0;background:none;color:var(--brand-dark);font-weight:700;cursor:pointer}.upload-form-list{display:grid;grid-gap:14px;gap:14px}.upload-form-card{display:grid;grid-template-columns:42px 1fr;grid-gap:15px;gap:15px;align-items:start}.upload-form-card.complete{border-color:#b8d6ca;background:#f2f8f5}.upload-form-card h3{margin:3px 0 6px}.upload-form-card p{margin:0 0 15px;color:var(--muted)}.upload-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.file-picker{display:flex;align-items:center;gap:9px;font-weight:700}.file-picker input{max-width:250px}.upload-form-card>span{width:36px;height:36px;border-radius:50%;background:var(--cream);color:var(--brand);display:grid;place-items:center;font-weight:800}.upload-form-card.complete>span{background:var(--success);color:white}@media(max-width:700px){.form-method-options{grid-template-columns:1fr}.form-method-options>b{padding:2px}.upload-form-card{grid-template-columns:34px 1fr}.upload-form-actions{align-items:stretch;flex-direction:column}.upload-form-actions .btn{width:100%;justify-content:center}.file-picker{display:grid}.file-picker input{max-width:100%;width:100%}}:root{--bg-main:#F3ECE6;--bg-warm:#F9F0E6;--bg-soft:#FAF2E8;--surface:#FFFCF8;--surface-secondary:#F0E3D4;--text-primary:#251C14;--text-secondary:#625247;--text-muted:#A38E7A;--brand-primary:#63391F;--brand-primary-hover:#4F2D19;--brand-bronze:#BB9473;--brand-bronze-dark:#8A5D3E;--brand-bronze-light:#DED0C1;--border:#DED0C1;--border-light:#E7DBCE;--ink:var(--text-primary);--muted:var(--text-muted);--brand:var(--brand-primary);--brand-dark:var(--brand-bronze-dark);--cream:var(--bg-main);--line:var(--border);--success:var(--brand-bronze-dark);--warning:var(--brand-bronze-dark);--danger:#8C3D32;color-scheme:light}body,html{background:var(--bg-main);color:var(--text-primary)}body{accent-color:var(--brand-primary)}::selection{background:var(--brand-bronze-light);color:var(--text-primary)}.account-menu,.appointment-drawer,.booking-progress,.calendar-modal,.calendar-toolbar,.card,.day-calendar .calendar-day,.login-card,.month-calendar,.patient-header,.portal-card,.profile-popover,.profile-trigger,.week-calendar{background:var(--surface);border-color:var(--border-light)}.booking-progress,.card,.portal-card{box-shadow:0 5px 16px rgba(99,57,31,.035)}.breadcrumbs,.muted,.page-intro,.portal-card p,.profile-email-field small,.profile-heading p{color:var(--text-muted)}.eyebrow,.portal-section-label span{color:var(--brand-bronze-dark)}.btn{background:var(--brand-primary);color:#FFF}.btn:hover:not(:disabled){background:var(--brand-primary-hover)}.booking-error .btn,.btn.secondary{background:transparent;color:var(--brand-primary);border:1px solid var(--brand-bronze)}.booking-error .btn:hover:not(:disabled),.btn.secondary:hover:not(:disabled){background:var(--surface-secondary)}.btn.light{background:var(--surface);color:var(--brand-primary);border:1px solid var(--brand-bronze)}.btn.light:hover{background:var(--surface-secondary)}.btn.danger{background:var(--danger)}.appointment-toolbar select,.calendar-filters select,.field input,.field select,.field textarea,.hours-grid input,.modal-form input,.modal-form select,.reschedule-panel input,.status-editor select,input,select,textarea{background:var(--surface);border-color:var(--border);color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}.profile-email-field input:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--bg-warm);color:var(--text-muted)}input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{border-color:var(--brand-bronze);outline:0;box-shadow:0 0 0 3px rgba(187,148,115,.15)}a:focus-visible,button:focus-visible{outline:3px solid rgba(187,148,115,.28);outline-offset:2px}.sidebar{background:var(--surface-secondary);color:var(--text-primary);border-right:1px solid var(--border)}.sidebar .brand-logo{background:transparent!important}.nav-title{color:var(--brand-bronze-dark)}.nav a{color:var(--text-secondary)}.nav a.active,.nav a:hover{background:var(--bg-warm);color:var(--brand-primary)}.main{background:var(--bg-main)}.table th{color:var(--text-secondary)}.table td{border-color:var(--border-light)}.table tbody tr:hover{background:var(--bg-soft)}.tabs{border-color:var(--border)}.tabs a:first-child{border-color:var(--brand-primary);color:var(--brand-primary)}.appointment-toolbar label,.service-checks label{background:var(--surface);border-color:var(--border)}.badge,.portal-card small.care-chip,.status-pill{background:var(--surface-secondary);color:var(--brand-primary)!important}.login-shell{background:radial-gradient(circle at top,var(--bg-soft) 0,var(--bg-main) 62%)}.login-card{box-shadow:0 12px 34px rgba(99,57,31,.07)}.brand-logo,.login-card .brand-logo{background:transparent!important}.auth-tabs{background:var(--surface-secondary)}.auth-tabs button{color:var(--text-secondary)}.auth-tabs button:hover{background:var(--bg-warm);color:var(--brand-primary)}.auth-tabs button.active{background:var(--surface);box-shadow:0 1px 5px rgba(99,57,31,.07)}.auth-footer,.auth-links,.auth-tabs button.active,.back-link{color:var(--brand-primary)}.password-help{background:var(--bg-warm);color:var(--text-secondary)}.portal-header{background:rgba(255,252,248,.96);border-color:var(--border-light)}.patient-links a{color:var(--text-primary)}.account-menu>a:hover,.account-menu>button:hover,.account-trigger:hover,.avatar,.patient-links a:hover,.profile-avatar{background:var(--surface-secondary);color:var(--brand-primary)}.account-menu{box-shadow:0 12px 30px rgba(99,57,31,.1)}.welcome-panel{background:linear-gradient(125deg,var(--bg-warm),var(--surface-secondary));color:var(--text-primary);border:1px solid var(--brand-bronze-light);box-shadow:none}.welcome-panel .eyebrow{color:var(--brand-bronze-dark)}.welcome-panel p{color:var(--text-secondary)}.portal-card:hover{border-color:var(--brand-bronze);box-shadow:0 7px 18px rgba(99,57,31,.06)}.portal-card>svg,.profile-details svg,.slot-date>svg,.summary-title svg,.visit-card>svg{color:var(--brand-bronze-dark)}.primary-card{border-top-color:var(--brand-primary)}.action-card,.reminder-card{background:var(--bg-warm)}.confirmation-panel code,.date-tile,.form-task>span{background:var(--surface-secondary)}.drawer-slots button,.form-task,.modal-slots button,.selection-card,.service-manager .table-action,.time-slots button,.visit-card{background:var(--surface);border-color:var(--border-light);color:var(--text-primary)}.drawer-slots button:hover,.form-task:hover,.modal-slots button:hover,.selection-card:hover,.time-slots button:hover,.visit-card:hover{border-color:var(--brand-bronze);background:var(--bg-warm)}.selection-card.selected,.visit-card.selected{border:2px solid var(--brand-primary);background:var(--surface-secondary);color:var(--text-primary);box-shadow:0 0 0 3px rgba(187,148,115,.14)}.time-slots button.selected{border:2px solid var(--brand-primary);background:var(--brand-primary);color:#FFF;box-shadow:0 0 0 3px rgba(187,148,115,.17)}.selected-mark,.visit-card>span{color:var(--brand-primary)}.progress-track{background:var(--brand-bronze-light)}.progress-track>span{background:linear-gradient(90deg,var(--brand-primary),var(--brand-bronze))}.completed-step-links button{border-color:var(--brand-bronze-light);background:var(--bg-warm)}.completed-step-links button:hover{border-color:var(--brand-primary);background:var(--surface-secondary)}.completed-step-links button svg{color:var(--brand-bronze-dark)}.form-task.done{border-color:var(--brand-bronze);background:var(--bg-warm)}.confirmation-panel>span,.form-task.done>span{background:var(--brand-primary);color:#FFF}.calendar-toolbar,.month-calendar,.week-calendar{border-color:var(--border-light)}.view-switcher{background:var(--surface-secondary)}.view-switcher button.active{background:var(--surface);color:var(--brand-primary);box-shadow:0 1px 5px rgba(99,57,31,.07)}.add-period,.date-navigation button,.drawer-slots button,.hours-period button,.modal-slots button{background:var(--surface);border-color:var(--border)}.calendar-day.today>header{background:var(--bg-warm);color:var(--brand-primary)}.calendar-event{border-left-color:var(--brand-primary);background:var(--bg-soft)}.calendar-event:hover{box-shadow:0 3px 10px rgba(99,57,31,.08)}.calendar-event.confirmed{border-left-color:var(--brand-bronze-dark);background:var(--surface-secondary)}.month-event{background:var(--surface-secondary);color:var(--text-primary)}.blocked-event{border-color:var(--brand-bronze);background:var(--bg-warm);color:var(--text-secondary)}.modal-backdrop{background:rgba(37,28,20,.42)}.appointment-drawer,.calendar-modal{box-shadow:0 18px 50px rgba(37,28,20,.18)}.modal-close,.status-editor{background:var(--bg-warm)}.notice{color:var(--text-secondary)}.notice,.notice.success{border-color:var(--brand-bronze-dark);background:var(--bg-warm)}.notice.success{color:var(--brand-primary)}.notice.error{border-color:var(--danger);background:#F8EAE6;color:#79342B}.status-not-configured{background:var(--bg-warm);color:var(--brand-bronze-dark)}.signature-pad{background:var(--surface);border-color:var(--border)}