/* Qichen bright clinic theme. Screen-only: clinical printouts keep their layout. */
@media screen {
 :root{--teal:#008eae;--line:#dce8f1;--muted:#62788e;--clinic-ink:#203e59;--clinic-blue:#008eae;--clinic-aqua:#087f88}
 body{background:#f2f7fc;color:var(--clinic-ink)}
 .sidebar{background:linear-gradient(110deg,#ffffff 45%,#eaf8fc);border-bottom:1px solid #cce5ee;box-shadow:0 3px 16px #16486b09;color:#466981}
 .brand,.shell:has(.reception-workbench) .brand{color:#087b9c;font-weight:750;letter-spacing:.3px}
 .brand small{color:#657f91}.sidebar footer{color:#536e81}.sidebar .dot{color:#14977e}
 .nav{gap:5px}.nav button{color:#425d73;border-radius:9px;padding:11px 12px;transition:background .15s,color .15s}
 .nav button:hover{color:#086fa9;background:#e4f3fb}.nav button.active{color:#fff;background:linear-gradient(120deg,#00a9c5,#008dad);box-shadow:0 3px 9px #167fc52a}
 .topbar{background:#ffffffdb;border-bottom-color:#e3edf4}.topbar button{border-radius:8px;color:#4c6980;border-color:#dbe7f0}
 .pagehead h1{color:#213e57;font-weight:720;letter-spacing:.2px}
 button{border-radius:9px;border-color:#d4e3ee;color:#355c79;background:#fff;transition:background .15s,border-color .15s,box-shadow .15s}
 button:hover{background:#eff8fd;border-color:#a7cee7}
 button.primary{color:white;background:linear-gradient(115deg,#00a6bd,#008dad);border-color:#008ba5;box-shadow:0 3px 9px #147fc523}
 button.primary:hover{background:#087ab0;border-color:#087ab0}
 button.danger{color:#b33244;border-color:#edccd1;background:#fff8f8}
 button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1689c5;outline-offset:2px}
 input,select,textarea{border-radius:8px;border-color:#d3e1ec;color:#29475f;background:#fff}
 .card,.metric,.reception-workbench .card{border-radius:14px;border-color:#dce8f1;box-shadow:0 5px 20px #204e7410}
 .tabs{border-color:#dce8f1;gap:6px}.tabs button{border-radius:8px 8px 0 0}.tabs button.active{background:#e7f5fc;color:#086ea7;border-color:#b7dcee}
 th{background:#edf5fb;color:#526f86;font-weight:600}td,th{border-bottom-color:#e8eff5}tbody tr:hover{background:#f5faff}
 .badge{background:#e7f5f6;color:#16757b;border-radius:7px}.subtle{color:#62788e}
 dialog{border:1px solid #d8e6ef;border-radius:16px;box-shadow:0 24px 80px #193d6230}dialog::backdrop{background:#1c3b5c45}
 .reception-tasks{border-radius:12px;background:linear-gradient(100deg,#eaf7fd,#effbf7);border-color:#d0e8ed;padding:12px 16px}
 .reception-tasks button{background:#ffffffcf;border-radius:8px}.reception-tasks b{color:#087a99}
 .reception-workbench button{border-radius:8px}.reception-workbench .work-stat-grid{gap:10px;background:transparent;border:0;overflow:visible}
 .reception-workbench .work-stat-grid>button{border:1px solid #d6e8f6;border-radius:12px;background:#ddf4ff;padding:15px 12px;color:#25689b}
 .reception-workbench .work-stat-grid>button:nth-child(3n+2){background:#d8f6ee;border-color:#d3ede5;color:#237867}
 .reception-workbench .work-stat-grid>button:nth-child(3n){background:#ebe3ff;border-color:#e2dcf4;color:#69559b}
 .reception-workbench .work-stat-grid>button:hover{box-shadow:0 3px 12px #25597918;border-color:#8fbbd6}
 .reception-workbench .work-stat-grid strong{color:inherit;font-size:25px;font-weight:700}
 .reception-board{border:1px solid #dce8f1;border-radius:14px;overflow:hidden;background:white;box-shadow:0 5px 20px #204e7410}
 .reception-tabs{background:#f7fbff;border-color:#deebf4}.reception-tabs button.active,.reception-tabs button[aria-selected=true]{background:#e7f4ff;color:#086fac}
 .reception-toolbar{background:white}.clinical-quality .metric{box-shadow:none}
 #view .appointment-workspace{border-radius:14px;border-color:#d6e6f1;box-shadow:0 5px 24px #194c7410}
 .appointment-command-bar{background:linear-gradient(100deg,#f2f9ff,#f0fbf9);border-color:#d9eaf2;padding-top:3px;padding-bottom:3px}
 .appointment-workspace .schedule-mode-tabs{background:transparent}
 .appointment-workspace .schedule-mode-tabs button{border-radius:8px 8px 0 0;color:#526e84}
 .appointment-workspace .schedule-mode-tabs button.active{background:#ccf4fa;color:#086eaa;border-bottom:3px solid #1595bf}
 .appointment-workspace .schedule-column-title,.appointment-workspace .schedule-corner{background:#e0f6fc;color:#2e5c7b;border-color:#d7e8f3}
 .appointment-workspace .schedule-column-title:nth-child(3n){background:#dff8f2}
 .appointment-workspace .schedule-slot{border-top-color:#e5eef5}.appointment-workspace .schedule-slot:hover{background:#e7f5fe}
 .appointment-workspace .schedule-event{border-radius:7px;box-shadow:0 2px 5px #244a6612}
 .appointment-workspace .appointment-status-strip button{border-radius:7px;min-height:30px;padding:6px 10px;font-size:12px}
 .appointment-workspace .appointment-status-strip button.active{border-color:#1389b0;background:#eaf7fd;color:#116487}
 .appointment-workspace .calendar-empty{background:#f1f8fc;color:#597689;border-radius:9px}
 .appointment-sidebar{background:#f8fbfe}.appointment-mini-grid button.selected{background:#078cad;color:#fff;border-radius:8px}
 .mobile-bottom-nav{background:#ffffffee;border-top:1px solid #d6e7ef}.mobile-bottom-nav button.active{color:#087cad;background:#e9f7fc}
 @media(max-width:720px){
  .nav button{padding:9px 10px}.card,.reception-workbench .card{border-radius:12px}
  .reception-workbench .work-stat-grid{gap:6px}.reception-workbench .work-stat-grid>button{padding:12px 8px}
  .reception-workbench .work-stat-grid strong{font-size:23px}
  .appointment-command-bar>.actions button,.calendar-navigation button{min-height:40px}
  .mobile-record-card{border:1px solid #d9e9f2;border-radius:13px;box-shadow:0 3px 12px #17456709}
 }
 @media(prefers-reduced-motion:reduce){button,.nav button{transition:none}}
}

/* More saturated cyan and explicit appointment-status fills, inspired by the observed clinic UI. */
@media screen {
 .sidebar{border-bottom:3px solid #00a6bc;background:linear-gradient(100deg,#ffffff 35%,#dcf7fa)}
 .brand,.shell:has(.reception-workbench) .brand{color:#00829b}
 .appointment-command-bar{background:linear-gradient(100deg,#dbf5ff,#ddfaf3)}
 .reception-tasks{background:linear-gradient(100deg,#d8f3ff,#d8f8ee);border-color:#b5e5eb}
 .reception-workbench .work-stat-grid>button{border-top:3px solid #1aa7df}
 .reception-workbench .work-stat-grid>button:nth-child(3n+2){border-top-color:#12b795}
 .reception-workbench .work-stat-grid>button:nth-child(3n){border-top-color:#9673de}
 .state-booked{--event-color:#b78d0c;--event-bg:#fff0a6;--event-ink:#66500a}
 .state-arrived{--event-color:#079eae;--event-bg:#aeeef1;--event-ink:#155960}
 .state-waiting{--event-color:#32984d;--event-bg:#c5f1c6;--event-ink:#225c30}
 .state-working{--event-color:#d08023;--event-bg:#ffdaa6;--event-ink:#754315}
 .state-done{--event-color:#8464ce;--event-bg:#ded0ff;--event-ink:#503b7e}
 .state-cancelled{--event-color:#8a929e;--event-bg:#e4e7ec;--event-ink:#505c6a}
 .state-missed{--event-color:#c05e6d;--event-bg:#f8dbe1;--event-ink:#803444}
 .appointment-workspace .appointment-status-strip button[class*="state-"],.appointment-workspace .schedule-event{background:var(--event-bg);color:var(--event-ink);border-color:var(--event-color)}
 .appointment-workspace .appointment-status-strip button.active{outline:2px solid #0088a2;outline-offset:2px;font-weight:700}
 .appointment-workspace .appointment-status-strip button:first-child{background:#d9f5fa;color:#08677b}
 .appointment-workspace .schedule-event strong,.appointment-workspace .schedule-event small,.appointment-workspace .event-time,.appointment-workspace .event-purpose{color:inherit}
 .appointment-workspace .schedule-mode-tabs button.active{border-bottom-color:#00a5bf;color:#007e98}
}
