:root{color:#132724;background:#f4f8f7;font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45;--ink: #132724;--muted: #657672;--quiet: #8a9995;--bg: #f4f8f7;--surface: #ffffff;--surface-soft: #f7faf9;--line: #dbe8e5;--line-strong: #c7d8d4;--teal: #0a766f;--teal-dark: #054642;--teal-soft: #e2f6f2;--blue: #2b78d6;--amber: #f0b429;--pink: #d95f8a;--green: #3a9b74;--coral: #e46f5e;--shadow: 0 18px 42px rgba(20, 67, 62, .1);--shadow-soft: 0 8px 22px rgba(20, 67, 62, .08);--radius: 8px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,input,select{transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(10,118,111,.2);outline-offset:2px}.login-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.75fr);gap:24px;padding:26px;background:linear-gradient(130deg,#e2f6f2db,#ffffffeb 48%,#ebf3f9f2),#f4f8f7}.login-visual,.login-card,.panel,.command-bar,.topbar,.modal{border:1px solid rgba(209,225,221,.9);border-radius:var(--radius);background:#ffffffed;box-shadow:var(--shadow)}.login-visual{display:flex;min-height:calc(100dvh - 52px);flex-direction:column;justify-content:space-between;padding:44px;background:linear-gradient(145deg,#054642fa,#0a766fe6),#054642;color:#f7fffd;overflow:hidden;position:relative}.login-visual:after{content:"";position:absolute;right:44px;bottom:44px;width:min(38vw,440px);aspect-ratio:1;border:38px solid rgba(255,255,255,.12);border-radius:50%}.login-visual>*{position:relative;z-index:1}.login-visual h1{max-width:720px;margin:0;font-size:clamp(42px,6vw,86px);line-height:.98;letter-spacing:0}.login-visual p{max-width:560px;color:#f7fffdc7;font-size:18px}.login-points{display:flex;flex-wrap:wrap;gap:10px}.login-points span{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:#ffffff1a}.login-card{align-self:center;padding:30px;display:grid;gap:16px}.login-card h2,h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--ink);letter-spacing:0}.login-visual h1{color:#fff}.quiet{color:var(--quiet);font-size:13px}label{display:grid;gap:7px;color:#314541;font-weight:750;font-size:13px}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:10px 12px;font-weight:650}input:hover,select:hover{border-color:var(--line-strong)}input:focus,select:focus{border-color:#0a766f8c}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-lockup strong{display:block;font-size:18px;line-height:1.1}.brand-lockup small{display:block;color:#ffffffad;font-weight:650;font-size:12px;margin-top:3px}.brand-lockup.large strong{font-size:24px;color:#fff}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:linear-gradient(135deg,#dffaf4,#8ae0cf);color:var(--teal-dark);box-shadow:0 12px 28px #0000002e}.primary,.secondary,.ghost-button,.text-button,.icon-button,.segmented button{min-height:40px;border-radius:var(--radius);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;font-weight:850;font-size:14px;line-height:1}.primary{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 10px 22px #0a766f3d}.primary:hover{background:#086963}.primary.compact{min-height:36px;padding:8px 10px}.secondary,.ghost-button,.segmented button{background:#fff;color:var(--ink);border-color:var(--line)}.secondary:hover,.ghost-button:hover,.segmented button:hover{border-color:#0a766f59;box-shadow:var(--shadow-soft)}.text-button{min-height:32px;padding:4px 0;border:0;background:transparent;color:var(--teal)}.icon-button{width:40px;padding:0;color:var(--ink);border-color:var(--line);background:#fff}.app-shell{min-height:100dvh;display:grid;grid-template-columns:250px minmax(0,1fr);background:linear-gradient(135deg,#f4f8f7,#fff 52%,#eef5f7)}aside{position:sticky;top:0;height:100dvh;padding:20px;background:linear-gradient(180deg,#054642,#073836 62%,#092f2f);color:#effffb;box-shadow:16px 0 38px #06323029;z-index:4}aside .brand-lockup{margin-bottom:28px}aside .brand-lockup small{color:#effffba3}nav{display:grid;gap:6px}nav button{min-height:44px;border:0;border-radius:var(--radius);background:transparent;color:#effffbc2;display:flex;align-items:center;gap:10px;padding:11px 12px;text-align:left;font-weight:750}nav button:hover,nav button.active{background:#ffffff1a;color:#fff}nav button.active{box-shadow:inset 0 0 0 1px #ffffff24}.role-card{position:absolute;left:20px;right:20px;bottom:20px;padding:14px;border-radius:var(--radius);background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.role-card small{color:#effffba8}.role-card strong{display:block;margin:3px 0 7px}.role-card p{margin:0;color:#effffbb8;font-size:12px}.workspace{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:14px}.topbar h1{margin:0;font-size:30px;line-height:1.1}.topbar p{margin:4px 0 0;color:var(--muted);font-weight:650}.top-actions{display:flex;align-items:center;gap:9px}.sync-badge{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);background:var(--teal-soft);color:var(--teal-dark);font-size:13px;font-weight:800}.sync-badge strong{padding-left:7px;border-left:1px solid rgba(5,70,66,.18)}.command-bar{position:sticky;top:12px;z-index:3;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;padding:12px;margin-bottom:18px}.search-field{position:relative;display:flex;align-items:center;gap:8px}.search-field input{min-height:44px}.search-results{position:absolute;top:calc(100% + 6px);left:12px;right:160px;display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);z-index:10}.search-results button,.mini-list button,.patient-list button{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;border:1px solid transparent;border-radius:var(--radius);background:transparent;padding:10px;color:var(--ink);text-align:left}.search-results button:hover,.mini-list button:hover,.patient-list button:hover,.mini-list button.selected,.patient-list button.selected{background:var(--surface-soft);border-color:var(--line)}small{color:var(--muted);font-weight:650}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px}.panel{padding:18px;min-width:0}.panel h3{margin:0;font-size:20px}.wide{grid-column:1 / -1}.hero-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:18px;align-items:stretch;min-height:238px;padding:24px;border-radius:var(--radius);background:linear-gradient(135deg,#054642f7,#0a766fe6),#054642;color:#fff;box-shadow:var(--shadow)}.hero-panel h2{max-width:560px;color:#fff;font-size:clamp(32px,4.5vw,58px);line-height:1.02;margin-bottom:12px}.hero-panel p{max-width:520px;color:#ffffffc2;font-size:16px}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-self:end}.metric{min-height:112px;display:grid;align-content:center;gap:4px;padding:16px;border-radius:var(--radius);background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.metric strong{font-size:38px;line-height:1;color:#fff}.metric span{color:#ffffffb8;font-weight:750}.metric.teal{border-top:4px solid #7ce1d2}.metric.amber{border-top:4px solid var(--amber)}.metric.pink{border-top:4px solid #f0a2c0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading p{margin:3px 0 0}.template-panel p{margin:12px 0;color:var(--muted)}.template-dot{display:inline-block;width:14px;height:14px;border-radius:99px;background:var(--template-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--template-color) 18%,transparent)}.template-types{display:flex;flex-wrap:wrap;gap:7px}.template-types span{padding:7px 9px;border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:800}.workflow-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.workflow-step{min-height:82px;display:grid;gap:5px;align-content:center;border-radius:var(--radius);padding:13px;background:var(--surface-soft);border:1px solid var(--line);border-left:5px solid var(--blue)}.workflow-step span{font-size:26px;font-weight:900;line-height:1}.workflow-step strong{font-size:12px;color:var(--muted)}.workflow-step.arrived{border-left-color:var(--green)}.workflow-step.waiting{border-left-color:var(--amber)}.workflow-step.with-nurse{border-left-color:#40a788}.workflow-step.with-doctor{border-left-color:var(--pink)}.workflow-step.completed{border-left-color:#6b7f88}.appointments-panel,.queue-panel,.file-panel,.documents-panel{min-height:360px}.table-list{display:grid;gap:8px}.appointment-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.appointment-row time{font-weight:900;color:var(--teal-dark)}.appointment-row strong,.appointment-row small{display:block}.status-pill{min-height:32px;border:0;border-radius:var(--radius);padding:7px 9px;color:#14312d;background:#e9eef5;font-size:12px;font-weight:900;white-space:nowrap}.status-pill.booked,.queue-status.booked{background:#e9f1ff;color:#235ea8}.status-pill.arrived,.queue-status.arrived{background:#dff7e8;color:#197653}.status-pill.waiting,.queue-status.waiting{background:#fff3cc;color:#8f5b00}.status-pill.with-nurse,.queue-status.with-nurse{background:#ddf6f0;color:#08705f}.status-pill.with-doctor,.queue-status.with-doctor{background:#ffe5ef;color:#a83862}.status-pill.completed,.queue-status.completed{background:#e8efed;color:#556661}.queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.queue-row:last-child{border-bottom:0}.queue-row strong,.queue-row small{display:block}.queue-row span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-weight:850}.queue-status{grid-column:1 / -1;justify-self:start;padding:5px 8px;border-radius:var(--radius);font-style:normal;font-size:12px;font-weight:900}.patient-snapshot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.patient-snapshot h4{margin:0;font-size:19px}.patient-snapshot p{margin:3px 0 0;color:var(--muted)}.patient-snapshot dl{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 0}.patient-snapshot dt{color:var(--quiet);font-size:12px;font-weight:800}.patient-snapshot dd{margin:2px 0 0;font-weight:850}.patient-snapshot .secondary{grid-column:1 / -1}.avatar{--patient-color: var(--blue);display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius);background:color-mix(in srgb,var(--patient-color) 16%,white);color:color-mix(in srgb,var(--patient-color) 78%,black);font-weight:950}.avatar.small{width:38px;height:38px;flex:0 0 auto}.mini-list{display:grid;gap:4px;margin-top:14px}.mini-list small{white-space:nowrap}.timeline{display:grid;gap:9px}.timeline article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.timeline strong,.timeline small{display:block}.timeline em{color:var(--teal);font-size:12px;font-style:normal;font-weight:900}.doc-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius);background:var(--teal-soft);color:var(--teal)}.split-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:16px}.patient-directory,.patient-detail{min-height:620px}.patient-list{display:grid;gap:8px}.patient-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:64px}.patient-list em{font-size:12px;font-style:normal;color:var(--muted);font-weight:850}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.info-block{display:grid;gap:7px;padding:13px;border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--line)}.info-block span{color:var(--muted);font-size:13px;font-weight:700}.segmented{display:inline-flex;padding:3px;border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--line)}.segmented button{min-height:32px;border:0;background:transparent;box-shadow:none}.segmented button.active{background:#fff;color:var(--teal);box-shadow:var(--shadow-soft)}.drop-zone{position:relative;display:grid;place-items:center;gap:8px;min-height:260px;padding:24px;border:2px dashed #b9d3ce;border-radius:var(--radius);background:var(--surface-soft);color:var(--muted);text-align:center;margin-bottom:14px}.drop-zone strong{color:var(--ink);font-size:18px}.drop-zone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.settings-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:16px}.wide-panel{grid-column:1 / -1}.template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.template-grid button{min-height:132px;display:grid;align-content:start;gap:9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:13px;text-align:left}.template-grid button.selected{border-color:#0a766f6b;box-shadow:0 0 0 3px #0a766f1f}.audit-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:850}.audit-row:last-child{border-bottom:0}.audit-row span{color:var(--muted);font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#051e1d73;z-index:20}.modal{width:min(900px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:20px}.small-modal{width:min(460px,100%)}.stepper{display:flex;gap:8px;margin-bottom:16px}.stepper button{width:38px;height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);font-weight:900}.stepper button.active{background:var(--teal);border-color:var(--teal);color:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.warning{margin:12px 0 0;padding:10px;border-radius:var(--radius);background:#fff3cc;color:#855300;font-weight:800}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.mobile-only{display:none}@media(max-width:1180px){.dashboard-grid,.split-grid,.settings-grid,.hero-panel{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.login-screen{grid-template-columns:1fr;padding:14px}.login-visual{min-height:420px;padding:26px}.app-shell{grid-template-columns:1fr}aside{position:fixed;inset:0 auto 0 0;width:min(290px,88vw);transform:translate(-105%);transition:transform .18s ease}aside.open{transform:translate(0)}.workspace{padding:14px}.mobile-only{display:inline-flex}.topbar{align-items:flex-start}.topbar h1{font-size:24px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.command-bar{grid-template-columns:1fr;top:8px}.search-results{right:12px}.workflow-strip,.hero-metrics,.patient-snapshot dl,.notes-grid,.template-grid,.form-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:52px minmax(0,1fr)}.appointment-row .status-pill{grid-column:1 / -1;justify-self:stretch}.timeline article{grid-template-columns:auto minmax(0,1fr)}.timeline em{grid-column:2}}@media(max-width:560px){.login-visual h1{font-size:40px}.login-card{padding:20px}.topbar,.section-heading{align-items:flex-start;flex-direction:column}.hero-panel h2{font-size:34px}.patient-list button{grid-template-columns:auto minmax(0,1fr)}.patient-list em{grid-column:2}.sync-badge span{display:none}}
