:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201c;background:#f6f8f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #17201c;--muted: #65726c;--line: #dce5df;--surface: #ffffff;--surface-strong: #ecf3ef;--primary: #0e7c66;--primary-strong: #095f4d;--warning: #a56300;--warning-bg: #fff1d6;--danger: #b2362d;--danger-bg: #ffe2df;--active: #2467a8;--active-bg: #e2f0ff;--good: #16734d;--good-bg: #dff7ea}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-width:320px}input,select,textarea,button,a{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:100vh;overflow-y:auto;padding:28px;color:#fff;background:#183c33}.sidebar h1,.topbar h2,.panel h3{margin:0;letter-spacing:0}.sidebar h1{max-width:180px;font-size:34px;line-height:1.05}.brand-block{display:grid;gap:18px}.brand-logo{display:block;width:100%;max-width:210px;padding:10px;background:#fff;border-radius:8px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.sidebar .eyebrow{color:#9ee0cf}nav{display:grid;gap:8px}nav button{display:block;width:100%;padding:12px 14px;color:#d7eee6;text-align:left;background:transparent;border:0;border-radius:8px}nav button:hover,.nav-active{color:#fff;background:#ffffff1f}.sidebar-actions{display:grid;gap:10px}.content{display:grid;gap:24px;align-content:start;min-height:0;overflow-y:auto;padding:28px;scrollbar-gutter:stable}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h2{font-size:32px}.topbar-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.primary-button,.secondary-button{display:inline-grid;place-items:center;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-weight:800;text-decoration:none}.compact{min-height:36px;padding:0 12px}.primary-button{color:#fff;background:var(--primary)}.primary-button:hover{background:var(--primary-strong)}.secondary-button{color:var(--ink);background:#fff;border-color:var(--line)}.logout-link{text-decoration:none}.whatsapp-link{color:var(--primary)}.full-width-action{width:100%}.sidebar .secondary-button,.sidebar .logout-link{color:#fff;background:transparent;border-color:#ffffff47}.text-button{color:var(--primary);background:transparent;border:0;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card,.panel,.doctor-card,.schedule-card{background:var(--surface);border:1px solid var(--line);border-radius:8px}.metric-card{display:grid;gap:8px;padding:18px}.metric-card span,.metric-card small,.appointment-row span,.queue-item span,.doctor-card span,.schedule-card span,dt{color:var(--muted)}.metric-card strong{font-size:34px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.panel{min-width:0;padding:20px}.wide{grid-column:span 2}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.panel h3{font-size:22px}.appointment-list,.queue-list,.table-list,.patient-list,.note-list,.schedule-grid{display:grid;gap:12px}.appointment-row{display:grid;grid-template-columns:72px minmax(210px,1fr) 140px 132px 96px;align-items:center;gap:14px;min-height:64px;padding:12px;background:var(--surface-strong);border-radius:8px}.appointment-row div,.queue-item div,.doctor-card>div,.table-row div{display:grid;gap:4px}.appointment-row time{font-weight:900}.queue-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:8px}.queue-item .status{grid-column:2;justify-self:start}.queue-number{display:grid;place-items:center;min-height:44px;color:#fff;background:var(--ink);border-radius:8px;font-weight:900}.status{width:fit-content;max-width:100%;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.good{color:var(--good);background:var(--good-bg)}.warning{color:var(--warning);background:var(--warning-bg)}.danger{color:var(--danger);background:var(--danger-bg)}.active{color:var(--active);background:var(--active-bg)}.doctor-card{display:grid;gap:16px;padding:16px}.doctor-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.doctor-card dt,.doctor-card dd{margin:0}.doctor-card dd{font-weight:900}.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.schedule-card{display:grid;gap:8px;padding:16px}.schedule-card b{color:var(--primary)}.table-list{gap:10px}.table-row{display:grid;grid-template-columns:72px minmax(160px,1fr) minmax(220px,1.2fr) 132px 96px;align-items:center;gap:14px;min-height:64px;padding:12px;background:var(--surface-strong);border-radius:8px}.table-row time{font-weight:900}.patient-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}.emr-layout,.telemedicine-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr)}.stacked-panels{display:grid;gap:16px}.patient-button{display:grid;gap:4px;width:100%;padding:14px;color:var(--ink);text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px}.patient-button:hover,.patient-button.selected{border-color:var(--primary);background:var(--surface-strong)}.patient-button span,.record-grid span,.note-card span,.note-card small,.empty-state{color:var(--muted)}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.record-grid div{display:grid;gap:5px;padding:12px;background:var(--surface-strong);border-radius:8px}.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tag-list span{padding:6px 10px;color:var(--primary);background:#dff7ea;border-radius:999px;font-size:12px;font-weight:900}.note-card{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px}.note-card p{margin:0}.eye-exam-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 0}.eye-exam-summary div{display:grid;gap:4px;padding:10px;background:var(--surface-strong);border-radius:8px}.eye-exam-summary dd{margin:0;font-weight:900}.empty-state{margin:0;padding:14px;background:var(--surface-strong);border-radius:8px}.api-banner{padding:14px 16px;color:var(--warning);background:var(--warning-bg);border:1px solid #f3cf8f;border-radius:8px;font-weight:800}.home-page{min-height:100vh;padding:28px;background:#f6f8f5}.home-hero{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,720px);gap:32px;align-items:center;min-height:calc(100vh - 56px);max-width:1120px;margin:0 auto}.home-hero img{width:100%;padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}.home-hero h1{max-width:780px;margin:0;font-size:48px;line-height:1.06;letter-spacing:0}.home-hero p:not(.eyebrow){max-width:640px;margin:18px 0 0;color:var(--muted);font-size:18px;line-height:1.55}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.pwa-page{display:grid;gap:24px;min-height:100vh;padding:24px;background:#f6f8f5}.pwa-header{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}.pwa-header img{width:100%;max-width:220px}.pwa-header h1{margin:0;font-size:32px;letter-spacing:0}.pwa-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(280px,420px) minmax(0,1fr);gap:16px;align-items:start}.pwa-status{min-height:100%}.phone-shell{display:grid;gap:16px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px}.phone-shell h3{margin:0;font-size:24px}.lookup-field{display:grid;gap:7px;font-weight:800}.lookup-field input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px}.status-timeline{display:grid;gap:12px}.status-timeline>span{color:var(--muted)}.now-serving{display:grid;gap:10px;place-items:center;min-height:280px;padding:28px;color:#fff;text-align:center;background:#183c33;border-radius:8px}.now-serving span{font-size:52px;font-weight:900}.now-serving strong{font-size:28px}.now-serving small{color:#d7eee6}.compact-serving{min-height:160px}.compact-serving span{font-size:42px}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#17201c7a}.modal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 60px #17201c47}.appointment-form{display:grid;gap:14px}.appointment-form label{display:grid;gap:7px;color:var(--ink);font-weight:800}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;min-height:44px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px}.appointment-form textarea{min-height:108px;padding:12px;resize:vertical}.emr-form{grid-template-columns:repeat(2,minmax(0,1fr))}.emr-form .span-2{grid-column:span 2}.response-form{margin-top:16px}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:var(--primary);outline:3px solid rgb(14 124 102 / 16%)}@media(max-width:1100px){.shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{position:static;min-height:0;overflow:visible}.content{overflow:visible}nav{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid,.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.patient-layout,.pwa-layout{grid-template-columns:1fr}.wide{grid-column:auto}}@media(max-width:760px){.sidebar,.content{padding:20px}nav,.metric-grid,.schedule-grid{grid-template-columns:1fr}.topbar{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:stretch}.topbar-actions button{flex:1}.home-page{padding:18px}.home-hero{grid-template-columns:1fr;align-content:center}.home-hero img{max-width:220px}.home-hero h1{font-size:34px}.pwa-page{padding:14px}.pwa-header{grid-template-columns:1fr}.pwa-header img{max-width:180px}.appointment-row,.table-row,.record-grid,.eye-exam-summary,.emr-form{grid-template-columns:1fr}.emr-form .span-2{grid-column:auto}.status{white-space:normal}}
