
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#23334d;background:#f3f5f9;font-size:14px;--primary:#233f76;--burgundy:#801c27;--navy:#233f76;--muted:#617785;--line:#dce5ea}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:7px;padding:10px 16px;background:var(--primary);color:white;font-weight:600}button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e7eff2;color:var(--navy)}button.danger{background:#a53e46}input,select,textarea{width:100%;padding:10px;border:1px solid #c9d6dd;border-radius:6px;background:white;color:inherit}textarea{min-height:100px;resize:vertical}label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#4e6573}h1{font-size:29px;letter-spacing:-1px;margin:6px 0 10px}h2{font-size:19px;margin:0 0 16px}h3{font-size:15px;margin:0 0 10px}p{line-height:1.6}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:white;padding:30px 20px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}.brand{font-size:32px;font-weight:800;letter-spacing:3px}.brand span{color:#49c6c3}.brand small{display:block;font-size:10px;letter-spacing:1.2px;font-weight:400;color:#b1c8d3;margin-top:8px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{text-align:left;background:none;color:#e0e7f4;padding:12px}.sidebar nav button.active{background:#801c27;color:white}.identity{margin-top:auto;font-size:12px;color:#e0e7f4}.identity strong{display:block;color:white;margin-bottom:5px}.main{min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);padding:16px 36px;display:flex;justify-content:space-between;align-items:center}.env{font-size:11px;font-weight:700;color:#8a5a18;background:#fff3da;padding:7px 10px;border-radius:5px}.content{padding:28px 36px;max-width:1450px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:700;color:var(--primary)}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.badge{font-size:11px;padding:5px 9px;border-radius:4px;background:#eaf0fa;color:#233f76;white-space:nowrap}.badge.warn{background:#fff1dc;color:#8c5a13}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#f6f9fa}td,th{padding:13px 12px;border-bottom:1px solid #e7edf1;vertical-align:top}td{font-size:13px}td button{padding:6px 10px;font-size:12px}pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;line-height:1.6}.empty{padding:26px;text-align:center;color:var(--muted)}.banner{border-left:3px solid var(--primary);padding:12px 16px;background:#edf1f8;margin-bottom:20px;line-height:1.6}.login{max-width:460px;margin:10vh auto;padding:36px}.login .brand{color:var(--navy);margin-bottom:28px}.login form{display:grid;gap:17px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs button{background:#e6eef2;color:var(--navy)}.tabs button.active{background:var(--primary);color:white}.stat{font-size:30px;font-weight:700;margin:10px 0}.statlabel{font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:25px;right:25px;max-width:450px;background:#233f76;color:white;padding:16px 22px;border-radius:8px;box-shadow:0 6px 25px #0003;display:none;z-index:20}#toast.error{background:#8d303a}.record{border-bottom:1px solid var(--line);padding:15px 0}.record:last-child{border:0}details{margin:12px 0}summary{cursor:pointer;font-weight:600;padding:10px 0}.report{background:white;max-width:850px;margin:auto;padding:35px}.report h1{color:var(--primary)}.report-header{border-bottom:3px solid var(--primary);padding-bottom:20px;margin-bottom:20px}a{color:var(--primary)}@media(max-width:900px){.shell{grid-template-columns:180px 1fr}.content{padding:20px}.grid.three{grid-template-columns:1fr 1fr}.topbar{padding:16px 20px}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;padding:16px}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar nav button{padding:8px}.identity{display:block;margin-top:0}.identity strong{display:inline;margin-right:8px}.brand small{display:none}.content{padding:15px}.grid,.grid.three{grid-template-columns:1fr}.heading{align-items:start}.topbar{padding:12px}.card{padding:16px}}@media print{.sidebar,.topbar,.actions,button,#toast{display:none!important}.shell{display:block}.content{padding:0}.report{padding:0}.card{border:0}body{background:white}}
[hidden]{display:none!important}

@media print{.no-print{display:none!important}}

/* CIC brand: supplied original logo, navy and burgundy. */
.brand{letter-spacing:normal;line-height:1}
.brand img{display:block;width:100%;height:auto;object-fit:contain;background:white;border-radius:8px}
.sidebar .brand{background:white;border-radius:9px;padding:10px}
.sidebar .brand small{color:var(--navy);font-size:9px;text-align:center;letter-spacing:1.5px;margin:5px 0 2px}
.login .brand{max-width:330px;margin:0 auto 24px}
.report .brand{max-width:280px;margin:0 auto 18px}
.eyebrow{color:var(--burgundy)}
.topbar{border-top:3px solid var(--burgundy)}
.sidebar nav button.active{box-shadow:inset 3px 0 0 #f2c9ce}
.sidebar nav button:hover{background:#365487;color:white;filter:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9aaed5;outline-offset:3px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}
.report-header{border-bottom-color:var(--burgundy)}
@media(max-width:650px){.sidebar .brand{max-width:180px}}
@media print{.brand img{border-radius:0}.report .brand{max-width:240px}}@media print{.heading{display:none!important}.report h2{break-after:avoid}.report pre{orphans:3;widows:3}.report-header{break-inside:avoid}.report{max-width:none;color:#000}.report section{margin-bottom:12px}}
@page{size:A4;margin:15mm}

.profile-portrait{width:128px;height:128px;display:grid;place-items:center;font-size:64px;background:#edf1f8;border-radius:50%;overflow:hidden}.profile-portrait img{width:100%;height:100%;object-fit:contain}.avatar-options{display:flex;flex-wrap:wrap;gap:20px}.avatar-options span{font-size:32px}
.account-menu{position:relative;margin:0}.account-menu summary{white-space:nowrap;padding:8px 12px;color:var(--navy)}.account-options{position:absolute;right:0;top:100%;z-index:30;background:white;border:1px solid var(--line);border-radius:8px;padding:8px;min-width:190px;box-shadow:0 8px 24px #0002;display:grid;gap:6px}.account-options button{text-align:left}.topbar{gap:16px;flex-wrap:wrap}.account-menu{margin-left:auto}html[data-text-size="large"]{font-size:17px}html[data-text-size="large"] td,html[data-text-size="large"] input,html[data-text-size="large"] select,html[data-text-size="large"] textarea,html[data-text-size="large"] label,html[data-text-size="large"] pre{font-size:16px}
#password-strength{padding:12px;background:#edf1f8;border-radius:6px;margin:12px 0}#password-strength meter{display:block;width:100%;margin:8px 0}
html[data-theme="dark"]{background:#111827;color:#e5e7eb;--muted:#b3c0d2;--line:#3c4960;--navy:#aec5f3}html[data-theme="dark"] .sidebar{background:#1d3157}html[data-theme="dark"] .card,html[data-theme="dark"] .topbar,html[data-theme="dark"] .account-options{background:#1e293b}html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:#111827;color:#e5e7eb;border-color:#58667c}html[data-theme="dark"] label{color:#d0d9e6}html[data-theme="dark"] th,html[data-theme="dark"] .banner,html[data-theme="dark"] #password-strength{background:#29384f;color:#e5e7eb}html[data-theme="dark"] .eyebrow{color:#ef9daa}html[data-theme="dark"] .report{color:#172e3c}@media print{html[data-theme="dark"]{background:white;color:black}}
.payment-dot{display:inline-block;width:16px;height:16px;border-radius:50%;background:#7b8794;border:1px solid #0003;vertical-align:middle}.payment-dot.paid{background:#16803c}.payment-dot.unpaid{background:#dc2626}.payment-dot.partial{background:#f28c18}.payment-dot.insurance{background:#2563eb}

.queue-display{padding:24px;min-height:100vh}.queue-display>header{display:flex;align-items:center;gap:24px;margin-bottom:20px}.queue-display>header img{width:150px;background:white;border-radius:8px}.queue-display table td{font-size:18px;padding:18px 12px}.queue-display table th{font-size:13px}.queue-display .payment-dot{width:22px;height:22px}.queue-display .card{margin:0}

.account-menu summary{display:flex;align-items:center;gap:8px}.account-photo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;overflow:hidden;background:#edf1f8;font-size:24px;flex-shrink:0}.account-photo img{width:100%;height:100%;object-fit:cover}

.history-options{margin:0;padding:8px 12px 10px;min-width:0;border:1px solid var(--line);border-radius:6px}.history-options legend{padding:0 5px;font-weight:650}.history-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:3px 14px}.history-checkboxes label{display:flex;align-items:center;gap:7px;min-height:30px;line-height:1.3;padding:2px 0;cursor:pointer}.history-checkboxes input[type="checkbox"]{width:16px;height:16px;padding:0;margin:0;flex:0 0 16px;accent-color:var(--primary)}@media(max-width:480px){.history-checkboxes{grid-template-columns:1fr}}

#condition-details fieldset{margin:12px 0;padding:14px;border:1px solid var(--line)}.history-medication{margin:10px 0;padding:10px}.history-print-section h2{font-size:14px;margin:10px 0 3px}.history-print-section p{margin:0 0 8px;white-space:pre-wrap}@media print{.history-print-section{break-inside:avoid}}
.missing-field{border:2px solid #dc2626!important;border-radius:6px;padding:8px;background:#fff1f2!important;color:#881337!important}[aria-invalid="true"]{outline:2px solid #dc2626;outline-offset:1px}
.patient-infection{background:#f3e8ff;color:#6b21a8;border-left:4px solid #9333ea;padding:4px 8px;font-weight:700}.allergy-warning{color:#9a3412;background:#ffedd5;padding:3px 6px;border-radius:4px;font-weight:700}

.help-topic{padding:14px 0;border-bottom:1px solid var(--line)}.help-topic summary{cursor:pointer;font-weight:650}.help-topic p{line-height:1.7;max-width:85ch}.help-topic[hidden]{display:none}.help-public{max-width:960px;margin:32px auto;padding:0 20px}.help-public>.card{margin-top:20px}#help-report{width:100%;line-height:1.6}
#cic-assistant{position:fixed;right:24px;bottom:24px;z-index:40;color:#172e3c;font-size:14px}.assistant-launcher{display:flex;align-items:center;gap:12px;background:#20375e;color:white;border:2px solid white;border-radius:40px;padding:8px 22px 8px 8px;box-shadow:0 6px 24px #152b4740;text-align:left}.assistant-launcher small{display:block;color:#dce5f3;font-size:11px;margin-top:3px}.assistant-mascot{display:block;flex-shrink:0;width:60px;height:60px;border-radius:50%;background-color:#ece8e5;background-image:url('/cic-assistant.png?v=cutout-4');background-size:300% auto;background-position:50% 6%}#assistant-panel{position:absolute;bottom:88px;right:0;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 140px);overflow:auto;background:#fff;border:1px solid #cdd5df;border-radius:20px;box-shadow:0 18px 60px #172e3c40}#assistant-panel>header{display:flex;align-items:center;gap:12px;padding:18px;background:#20375e;color:white}#assistant-panel h2{font-size:18px;margin:0 0 3px}#assistant-close{margin-left:auto;background:transparent;color:white;font-size:26px;padding:6px 10px}.assistant-body{padding:20px}.assistant-body p{line-height:1.6}.assistant-status{color:#8d303a;font-size:12px;font-weight:650}.assistant-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.assistant-suggestions button{background:#eef2f8;color:#20375e;border:1px solid #d7dfeb;border-radius:20px;padding:7px 12px;font-size:12px}.assistant-search-row{display:flex;gap:8px;margin-top:7px}.assistant-search-row input{min-width:0;flex:1}.assistant-search-row button{flex-shrink:0;padding:8px 12px}#assistant-answer article{border-left:3px solid #9b3445;background:#f3f5f9;padding:12px 15px;margin:14px 0;border-radius:0 10px 10px 0}#assistant-answer h3{font-size:14px;margin:0}#assistant-answer p{margin-bottom:0}#assistant-all-help{margin-top:14px}html[data-theme="dark"] #assistant-panel{background:#1e293b;color:#e5e7eb}html[data-theme="dark"] #assistant-answer article{background:#29384f}html[data-theme="dark"] .assistant-status{color:#ef9daa}@media(max-width:650px){#cic-assistant{right:16px;bottom:16px}.assistant-launcher{padding-right:16px}.assistant-mascot{width:48px;height:48px}#assistant-panel{bottom:76px}}@media print{#cic-assistant{display:none!important}}
/* Reference-inspired CIC blue theme */
:root{--primary:#086ee8;--navy:#173b60;--muted:#5d7698;--line:#dce5f0;background:#edf3f8;color:#18345a}body{background:radial-gradient(ellipse at top right,#fff 0,transparent 55%),#edf3f8}button,input,select,textarea{border-radius:10px}button{transition:background .15s,box-shadow .15s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #69afff;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #98c7ff;outline-offset:1px;border-color:#3b8ff1}.shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{background:linear-gradient(155deg,#345d80 0%,#204669 48%,#193b5d 100%);padding:24px 14px;gap:24px;overflow-y:auto;box-shadow:5px 0 22px #23456b16}.sidebar .brand{background:#ffffffed;border-radius:12px;padding:12px}.sidebar .brand small{color:#527295;font-size:9px;letter-spacing:1.1px}.sidebar nav{gap:6px}.sidebar nav button{border-radius:9px;padding:13px 14px;color:#e0e9f4;font-weight:500;line-height:1.4}.sidebar nav button:hover{background:#ffffff12;filter:none}.sidebar nav button.active{background:linear-gradient(90deg,#3474b1,#2e5e90);box-shadow:inset 3px 0 #71b9ff;color:white}.identity{padding:16px 10px 0;border-top:1px solid #ffffff26}.topbar{background:#ffffffdb;box-shadow:0 3px 16px #21436608;padding:16px 28px;min-height:76px}.account-menu summary{color:#214366}.account-options{border-radius:14px;box-shadow:0 10px 32px #1b406322}.account-photo{width:42px;height:42px;background:#e3edf7}.content{padding:26px 28px 112px}.heading{margin-bottom:22px}h1{font-size:28px;letter-spacing:-.65px;color:#102d55}h2,h3{color:#16365f}.card{background:linear-gradient(135deg,#ffffff,#fafcfe);border:1px solid #dce5f0;border-radius:13px;box-shadow:0 3px 16px #284b6b06;padding:22px}.card h2{padding-bottom:13px;border-bottom:1px solid #e7edf5}.banner{border:1px solid #d4e4f7;border-left:3px solid #308cec;border-radius:10px;background:#eaf3fe;color:#294d78}.env{background:#edf3f9;color:#516a85;font-size:10px;border-radius:20px}.eyebrow{color:#6082a8;letter-spacing:1.4px}.badge{border-radius:7px;background:#e3f4ef;color:#117651}.badge.warn{background:#fff0db;color:#8a5708}.tabs{gap:4px;border-bottom:1px solid #dce5f0;padding:0 0 1px}.tabs button{background:transparent;color:#284c78;border-radius:7px 7px 0 0;padding:13px 17px}.tabs button.active{background:#edf5ff;color:#0670ee;box-shadow:inset 0 -3px #1684ff}th{background:#f2f6fb;color:#6680a0}td,th{border-bottom-color:#e6edf5;padding:14px 12px}tbody tr:hover{background:#f4f8fd}button.secondary{background:#eaf1fa;color:#28527e}.stat{color:#146ee0}.login{box-shadow:0 16px 60px #22486a12}.assistant-launcher{background:linear-gradient(120deg,#ef6275,#d93451);box-shadow:0 8px 26px #df3f5940;border:0;padding:9px 22px 9px 9px}.assistant-launcher small{color:white}#assistant-panel{border-radius:17px;box-shadow:0 12px 45px #264a732b;background:linear-gradient(140deg,#fff,#f5f8fc)}#assistant-panel>header{background:#f6f9fd;color:#123258;border-bottom:1px solid #dde6f2}#assistant-close{color:#6b84a4}#assistant-panel .assistant-suggestions{display:grid;grid-template-columns:1fr 1fr}#assistant-panel .assistant-suggestions button{text-align:left;border-radius:18px;background:white;border-color:#e0e8f3;padding:10px 12px}.assistant-status{color:#597391}#assistant-answer article{border-left-color:#1684ff;background:#edf4fc}#toast{bottom:112px;z-index:60}
html[data-theme="dark"] body{background:#111d30}html[data-theme="dark"] .card,html[data-theme="dark"] .topbar,html[data-theme="dark"] #assistant-panel,html[data-theme="dark"] #assistant-panel>header{background:#1e2d43;color:#e5e7eb}html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3{color:#d6e7ff}html[data-theme="dark"] .card h2{border-color:#3c4960}html[data-theme="dark"] .tabs button,html[data-theme="dark"] .account-menu summary{color:#bdd7fb}html[data-theme="dark"] tbody tr:hover{background:#293c56}html[data-theme="dark"] .tabs button.active{background:#28405d;color:#a9d0ff}html[data-theme="dark"] #assistant-panel .assistant-suggestions button,html[data-theme="dark"] #assistant-answer article{background:#293c56;color:#e5e7eb}html[data-theme="dark"] .assistant-status{color:#b3c0d2}
@media(max-width:900px){.shell{grid-template-columns:185px minmax(0,1fr)}.content{padding:22px 20px 110px}}@media(max-width:650px){.shell{display:block}.sidebar{height:auto;position:static;padding:14px}.sidebar .brand{max-width:180px}.sidebar nav{display:flex}.sidebar nav button{padding:9px 12px}.content{padding:18px 14px 110px}.topbar{padding:12px 16px}.card{padding:17px}.heading h1{font-size:24px}}@media print{body,html[data-theme="dark"] body{background:white}.content{padding:0}.card{box-shadow:none;background:white}.report h1,.report h2,.report h3{color:#172e3c}}
#assistant-panel{width:min(580px,calc(100vw - 32px))}.assistant-body table{font-size:12px}.assistant-body th,.assistant-body td{padding:8px}.assistant-body article{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:9px}.assistant-body article small{overflow-wrap:anywhere;display:block}.assistant-body #medical-draft{min-height:360px}.assistant-body .recording-consent{display:flex;align-items:center;gap:8px;margin:14px 0}.recording-consent input{width:18px;flex-shrink:0}.assistant-body audio{width:100%;margin:12px 0}#assistant-question-form{display:grid;gap:8px;margin:16px 0}#assistant-message{overflow-wrap:anywhere}

/* Standing CIC character launcher; occasional movement, reduced-motion aware. */
#cic-assistant .assistant-launcher{position:relative;display:flex;flex-direction:column;gap:0;width:124px;padding:0;background:transparent;border:0;box-shadow:none;text-align:center;color:#20375e;border-radius:18px} .assistant-standing{display:block;width:124px;height:226px;background-image:url('/cic-assistant.png?v=cutout-4');background-size:372px auto;background-position:center top;background-repeat:no-repeat;border-radius:60px 60px 24px 24px;clip-path:polygon(32% 0,100% 0,100% 100%,0 100%,0 15%,32% 15%);transform-origin:50% 95%;animation:cic-character-greet 12s ease-in-out infinite}.assistant-character-label{display:block;background:#20375e;color:#fff;border-radius:20px;padding:7px 12px;font-size:12px;box-shadow:0 3px 12px #20375e25}.assistant-launcher:hover .assistant-standing{filter:brightness(1.04)}#cic-assistant:has(.assistant-launcher[aria-expanded="true"]) .assistant-standing{animation:none}#assistant-panel{bottom:0;right:142px;max-height:calc(100dvh - 48px)}@keyframes cic-character-greet{0%,75%,100%{transform:translateY(0) rotate(0)}80%{transform:translateY(-5px) rotate(-3deg)}85%{transform:translateY(-2px) rotate(3deg)}90%{transform:translateY(-5px) rotate(-2deg)}95%{transform:translateY(0) rotate(1deg)}}@media(max-width:650px){#cic-assistant .assistant-launcher{width:84px}.assistant-standing{width:84px;height:153px;background-size:252px auto}.assistant-character-label{font-size:10px;padding:5px 7px}#assistant-panel{right:0;bottom:190px;max-height:calc(100dvh - 220px)}}@media(prefers-reduced-motion:reduce){.assistant-standing{animation:none}}
/* Small cutout mascot: silhouette clips the backdrop out of the launcher. */
#cic-assistant .assistant-launcher{width:84px}.assistant-standing{width:84px;height:110px;background-size:100% 100%;background-position:center;border-radius:0;clip-path:polygon(62% 1%,60% 5%,61% 9%,66% 16%,70% 22%,70% 25%,74% 22%,76% 21%,77% 26%,77% 32%,79% 34%,80% 33%,80% 39%,78% 44%,74% 49%,69% 53%,66% 55%,70% 57%,74% 61%,75% 65%,74% 70%,72% 72%,76% 79%,78% 83%,76% 87%,74% 85%,72% 85%,72% 88%,75% 90%,77% 94%,77% 95%,72% 96%,59% 96%,56% 94%,56% 90%,55% 87%,53% 76%,49% 81%,44% 89%,42% 93%,42% 95%,37% 97%,28% 97%,24% 96%,24% 93%,27% 90%,30% 87%,33% 82%,29% 81%,25% 81%,23% 82%,23% 85%,20% 84%,18% 82%,18% 79%,22% 74%,27% 69%,31% 65%,28% 65%,24% 64%,22% 61%,22% 58%,24% 53%,25% 51%,22% 48%,20% 46%,24% 46%,21% 43%,19% 39%,19% 33%,21% 30%,22% 31%,25% 24%,29% 20%,29% 25%,33% 20%,39% 16%,42% 14%,43% 18%,45% 13%,44% 8%,44% 5%,49% 7%,54% 11%,57% 17%,56% 13%,54% 9%,56% 6%,59% 10%,58% 5%,60% 2%)}.assistant-character-label{font-size:10px;padding:5px 8px}#assistant-panel{right:100px}.assistant-mascot{background-size:150% auto;background-position:center 24%}@media(max-width:650px){#cic-assistant .assistant-launcher{width:68px}.assistant-standing{width:68px;height:90px}#assistant-panel{right:0;bottom:126px;max-height:calc(100dvh - 154px)}}

/* Compact, autonomous character. Hover/focus always brings it back. */
#cic-assistant{right:12px;bottom:12px}#cic-assistant .assistant-launcher{width:60px;height:76px;min-width:0;min-height:0;background:none;box-shadow:none;border:0;padding:0}#cic-assistant .assistant-standing{width:60px;height:76px;background-size:100% 100%;animation:cic-peek 22s ease-in-out infinite;transform-origin:center bottom}#cic-assistant .assistant-character-label{display:none}#assistant-panel{right:76px;bottom:0}#cic-assistant .assistant-launcher:hover .assistant-standing,#cic-assistant .assistant-launcher:focus-visible .assistant-standing,#cic-assistant .assistant-launcher[aria-expanded="true"] .assistant-standing{animation:none;opacity:1;transform:none}@keyframes cic-peek{0%,15%,40%,100%{transform:translate(0,0) rotate(0);opacity:1}20%{transform:translate(-8px,-4px) rotate(-7deg);opacity:1}25%{transform:translate(-12px,0) rotate(6deg);opacity:1}30%{transform:translate(-8px,-3px) rotate(-4deg);opacity:1}55%{transform:translate(0,0);opacity:1}62%,76%{transform:translateY(85px) scale(.7);opacity:0}83%{transform:translateY(12px) rotate(-8deg);opacity:1}90%{transform:translateY(-5px) rotate(5deg);opacity:1}}@media(max-width:650px){#assistant-panel{right:0;bottom:88px;max-height:calc(100dvh - 112px)}}@media(prefers-reduced-motion:reduce){#cic-assistant .assistant-standing{animation:none}}

#cic-assistant .assistant-character-label{display:block;position:absolute;right:58px;bottom:40px;white-space:nowrap;background:#20375e;color:white;border-radius:12px;padding:9px 13px;font-size:12px;font-weight:700;letter-spacing:.5px;box-shadow:0 3px 12px #20375e25;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}#cic-assistant .assistant-character-label::after{content:'';position:absolute;right:-6px;bottom:12px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #20375e}#cic-assistant .assistant-launcher:hover .assistant-character-label,#cic-assistant .assistant-launcher:focus-visible .assistant-character-label{opacity:1;visibility:visible;transform:none}

/* Articulated mascot: stationary feet, independent head and raised arm. */
#cic-assistant .assistant-standing{position:relative;background:none;clip-path:none;animation:none!important;transform:none!important;opacity:1!important;overflow:visible}.cira-part,.cira-part>span{position:absolute;inset:0;display:block;pointer-events:none}.cira-part>span{background:url('/cic-assistant.png?v=cutout-4') center/100% 100% no-repeat;clip-path:polygon(62% 1%,60% 5%,61% 9%,66% 16%,70% 22%,70% 25%,74% 22%,76% 21%,77% 26%,77% 32%,79% 34%,80% 33%,80% 39%,78% 44%,74% 49%,69% 53%,66% 55%,70% 57%,74% 61%,75% 65%,74% 70%,72% 72%,76% 79%,78% 83%,76% 87%,74% 85%,72% 85%,72% 88%,75% 90%,77% 94%,77% 95%,72% 96%,59% 96%,56% 94%,56% 90%,55% 87%,53% 76%,49% 81%,44% 89%,42% 93%,42% 95%,37% 97%,28% 97%,24% 96%,24% 93%,27% 90%,30% 87%,33% 82%,29% 81%,25% 81%,23% 82%,23% 85%,20% 84%,18% 82%,18% 79%,22% 74%,27% 69%,31% 65%,28% 65%,24% 64%,22% 61%,22% 58%,24% 53%,25% 51%,22% 48%,20% 46%,24% 46%,21% 43%,19% 39%,19% 33%,21% 30%,22% 31%,25% 24%,29% 20%,29% 25%,33% 20%,39% 16%,42% 14%,43% 18%,45% 13%,44% 8%,44% 5%,49% 7%,54% 11%,57% 17%,56% 13%,54% 9%,56% 6%,59% 10%,58% 5%,60% 2%)}.cira-body{clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%,0 65%,34% 65%,36% 58%,34% 55%)}.cira-head{clip-path:inset(0 0 45% 0);transform-origin:52% 54%;animation:cira-nod 9s ease-in-out infinite}.cira-arm{clip-path:polygon(18% 50%,29% 49%,34% 55%,36% 58%,34% 65%,18% 65%);transform-origin:34% 62%;animation:cira-wave 7s ease-in-out infinite}@keyframes cira-wave{0%,55%,100%{transform:rotate(0)}60%{transform:rotate(12deg)}65%{transform:rotate(-8deg)}70%{transform:rotate(12deg)}75%{transform:rotate(-8deg)}82%{transform:rotate(0)}}@keyframes cira-nod{0%,65%,100%{transform:rotate(0)}72%{transform:rotate(-4deg)}80%{transform:rotate(3deg)}88%{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.cira-head,.cira-arm{animation:none}}

/* Short walk and backward moonwalk, coordinated with separate legs. */
#cic-assistant .assistant-standing{animation:cira-roam 30s linear infinite!important}.cira-body{clip-path:polygon(0 55%,100% 55%,100% 76%,0 76%,0 65%,34% 65%,36% 58%,34% 55%)}.cira-leg-left{clip-path:polygon(0 76%,53% 76%,51% 84%,49% 100%,0 100%);transform-origin:45% 76%;animation:cira-step-left 30s linear infinite}.cira-leg-right{clip-path:polygon(53% 76%,100% 76%,100% 100%,49% 100%,51% 84%);transform-origin:57% 76%;animation:cira-step-right 30s linear infinite}@keyframes cira-roam{0%,20%{translate:0 0}35%,55%{translate:-64px 0}72%,100%{translate:0 0}}@keyframes cira-step-left{0%,20%,35%,55%,72%,100%{rotate:0deg;translate:0 0}22%,27%,32%{rotate:9deg;translate:0 -2px}24%,29%,34%{rotate:-8deg;translate:0 0}57%,62%,67%{rotate:10deg;translate:-3px -1px}59%,64%,69%{rotate:-5deg;translate:2px 0}}@keyframes cira-step-right{0%,20%,35%,55%,72%,100%{rotate:0deg;translate:0 0}22%,27%,32%{rotate:-8deg;translate:0 0}24%,29%,34%{rotate:9deg;translate:0 -2px}57%,62%,67%{rotate:-5deg;translate:2px 0}59%,64%,69%{rotate:10deg;translate:-3px -1px}}#cic-assistant .assistant-launcher:hover .assistant-standing,#cic-assistant .assistant-launcher:focus-visible .assistant-standing,#cic-assistant .assistant-launcher[aria-expanded="true"] .assistant-standing{animation:none!important;translate:0 0}#cic-assistant .assistant-launcher:hover .cira-part,#cic-assistant .assistant-launcher:focus-visible .cira-part,#cic-assistant .assistant-launcher[aria-expanded="true"] .cira-part{animation-play-state:paused}@media(prefers-reduced-motion:reduce){#cic-assistant .assistant-standing{animation:none!important}.cira-part{animation:none!important}}

#cic-assistant[hidden]{display:none}.cira-greeting{position:absolute;right:70px;bottom:35px;width:min(230px,calc(100vw - 108px));padding:13px 30px 13px 15px;border:1px solid #dce5f0;border-radius:15px;background:#fff;color:#20375e;box-shadow:0 6px 24px #20375e25;line-height:1.5;font-size:13px}.cira-greeting[hidden]{display:none}.cira-greeting::after{content:'';position:absolute;right:-8px;bottom:16px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid #fff}.cira-greeting button{position:absolute;right:5px;top:5px;background:transparent;color:#20375e;padding:2px 6px;font-size:18px;line-height:1}.cira-greeting-visible .assistant-standing{animation:none!important;translate:0 0!important}#cic-assistant.cira-greeting-visible .assistant-character-label{display:none}html[data-theme="dark"] .cira-greeting{background:#20375e;color:white;border-color:#476082}html[data-theme="dark"] .cira-greeting button{color:white}html[data-theme="dark"] .cira-greeting::after{border-left-color:#20375e}

#cic-assistant.cira-still .assistant-standing,#cic-assistant.cira-still .cira-part{animation:none!important;translate:0 0!important;rotate:0deg!important}

/* CIRA uses a burgundy hair bow and lashes; CIRO keeps the original style. */
.cira-bow,.cira-lashes{display:none}#cic-assistant[data-character="cira"] .cira-bow{display:block;position:absolute;left:28%;top:30%;width:18%;height:9%;background:linear-gradient(90deg,#a52648,#ea7196 47%,#851e3e 53%,#d8547a);clip-path:polygon(0 0,45% 30%,55% 30%,100% 0,100% 100%,55% 70%,45% 70%,0 100%);transform:rotate(-18deg);filter:drop-shadow(0 1px 1px #30121a)}#cic-assistant[data-character="cira"] .cira-lashes{display:block;position:absolute;left:40%;top:43%;width:21%;height:3%;border-left:1px solid #19233d;border-right:1px solid #19233d;transform:rotate(-4deg)}

/* User-supplied CIRA artwork, with its own silhouette and articulation points. */
#cic-assistant[data-character="cira"] .cira-bow,#cic-assistant[data-character="cira"] .cira-lashes{display:none}#cic-assistant[data-character="cira"] .cira-part>span{background-image:url('/cira-female.png');clip-path:polygon(69% 2%,66% 5%,66% 8%,72% 14%,80% 21%,78% 24%,84% 26%,94% 27%,95% 29%,92% 32%,92% 35%,90% 39%,84% 43%,75% 48%,67% 51%,75% 54%,83% 58%,85% 62%,82% 66%,79% 68%,85% 73%,93% 79%,95% 82%,93% 82%,87% 85%,85% 82%,83% 81%,76% 81%,79% 89%,82% 92%,88% 94%,90% 97%,85% 98%,65% 97%,61% 96%,61% 92%,58% 85%,55% 74%,51% 72%,46% 79%,38% 88%,36% 92%,39% 95%,37% 98%,29% 99%,15% 99%,13% 98%,13% 96%,16% 94%,22% 92%,23% 89%,33% 80%,20% 78%,13% 80%,11% 83%,6% 82%,3% 79%,3% 76%,7% 72%,17% 67%,26% 62%,30% 60%,24% 60%,17% 60%,12% 58%,10% 55%,10% 52%,12% 50%,17% 48%,17% 45%,20% 45%,22% 48%,27% 49%,26% 51%,29% 52%,35% 51%,27% 49%,21% 46%,16% 44%,11% 42%,15% 42%,10% 39%,7% 36%,7% 31%,8% 29%,10% 32%,13% 35%,12% 29%,15% 23%,19% 19%,21% 18%,23% 23%,28% 21%,33% 15%,40% 12%,39% 16%,43% 20%,47% 16%,47% 10%,46% 6%,51% 7%,57% 11%,62% 17%,68% 23%,65% 18%,62% 13%,61% 8%,62% 6%,63% 10%,68% 13%,67% 10%,65% 7%,66% 4%)}#cic-assistant[data-character="cira"] .cira-head{clip-path:inset(0 0 49% 0);transform-origin:54% 50%}#cic-assistant[data-character="cira"] .cira-arm{clip-path:polygon(8% 44%,23% 44%,32% 52%,35% 58%,27% 62%,8% 62%);transform-origin:32% 58%}#cic-assistant[data-character="cira"] .cira-body{clip-path:polygon(0 51%,100% 51%,100% 73%,0 73%,0 62%,27% 62%,35% 58%,32% 52%,23% 51%)}#cic-assistant[data-character="cira"] .cira-leg-left{clip-path:polygon(0 73%,53% 73%,51% 85%,49% 100%,0 100%);transform-origin:43% 73%}#cic-assistant[data-character="cira"] .cira-leg-right{clip-path:polygon(53% 73%,100% 73%,100% 100%,49% 100%,51% 85%);transform-origin:58% 73%}#cic-assistant[data-character="cira"] .assistant-mascot{background-image:url('/cira-female.png');background-position:center 25%;background-size:110% auto}
/* CIC reference palette and grouped dashboard layout. */
:root{--primary:#1767d5;--navy:#0d2b4b;--muted:#627ba1;--line:#e1eaf5;color:#163459;background:#eff5fc}body{background:linear-gradient(120deg,#f6f9fd,#eaf2fc)}.shell{grid-template-columns:218px minmax(0,1fr)}.sidebar{background:#0d2b4b;padding:0 10px 20px;gap:14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#355171 #0d2b4b;border:0}.sidebar .brand{background:#f0f6fd;margin:0 -10px;padding:18px 25px;border-radius:0;letter-spacing:1px}.sidebar .brand img{mix-blend-mode:multiply;max-height:86px;object-fit:contain}.sidebar .brand small{color:#24476c;font-size:9px;text-align:center}.sidebar nav{display:block}.nav-group{padding:7px 0;border-bottom:1px solid #ffffff1c}.nav-group-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#93adc9;padding:10px 12px 6px}.nav-group:first-child .nav-group-title{display:none}.sidebar nav button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:7px;font-size:13px;line-height:1.4;color:#d8e5f4}.nav-icon{font-family:Segoe UI Symbol,sans-serif;width:19px;font-size:20px;line-height:20px;text-align:center;color:#abc4e3}.sidebar nav button.active{background:linear-gradient(90deg,#2275e1,#1660c7);box-shadow:inset 0 0 0 1px #4289e7;color:white}.sidebar nav button.active .nav-icon{color:white}.sidebar .identity{font-size:10px;overflow-wrap:anywhere;padding:14px 10px}.topbar{padding:14px 26px;gap:14px;min-height:74px;background:#f8fbff;border-bottom:1px solid #e5edf8}.topbar-title{font-weight:800;color:#0c2e59;font-size:17px;white-space:nowrap}.topbar-title span{display:block;font-size:10px;font-weight:400;color:#6881a3}.account-menu{margin:0}.account-menu summary{display:flex;gap:10px;align-items:center}.account-name{font-weight:650;font-size:13px}.account-name small{display:block;font-weight:400;font-size:10px;margin-top:3px}.account-options{z-index:55}.env{font-size:9px;font-weight:500;color:#7587a1;background:transparent}.content{max-width:1700px;padding:24px 26px 100px}.card,.dashboard-card{border:1px solid #e3ecf8;border-radius:13px;background:#ffffffde;box-shadow:0 4px 22px #2b5d9d05}.card h2{border-bottom-color:#eef2f8}h1,h2,h3{color:#102f59}.home-shell .content>.heading{display:none}.dashboard-hero{padding:30px 26px;margin:-24px -26px 20px;background:radial-gradient(ellipse at 82% 75%,#ffffff88 0,transparent 48%),linear-gradient(110deg,#d8e8fb,#f2f7fd 60%,#dceafd);display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:152px;border-bottom:1px solid #dbe7f6}.dashboard-hero h1{font-size:30px;letter-spacing:-.6px;margin:9px 0}.dashboard-hero p{font-size:17px;color:#43658e;margin:4px 0}.dashboard-hero .eyebrow{font-size:9px;letter-spacing:1.7px}.hero-date{text-align:right;font-size:11px;color:#35557f;min-width:150px}.hero-date em{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.6;margin-top:9px}.dashboard-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:19px}.metric{display:flex;flex-direction:column;min-height:128px;border-radius:10px;padding:20px 17px;color:white;box-shadow:inset 0 0 0 1px #ffffff30,0 5px 20px #316aac0d}.metric strong{font-size:31px;font-weight:700;letter-spacing:-1px}.metric span{font-size:13px;margin-top:4px}.metric small{color:#ffffffe0;font-size:10px;margin-top:12px}.metric-blue{background:linear-gradient(115deg,#3789f5,#76b1ff)}.metric-green{background:linear-gradient(115deg,#35ad7c,#76cea4)}.metric-red{background:linear-gradient(115deg,#f05269,#fc8790)}.metric-amber{background:linear-gradient(115deg,#f5a51e,#ffc95b)}.metric-purple{background:linear-gradient(115deg,#8574e8,#ada2fa)}.dashboard-top-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:18px;margin-bottom:18px}.dashboard-middle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.dashboard-bottom-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.dashboard-card{padding:20px;min-width:0}.dashboard-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.dashboard-card h2{font-size:16px;margin:0;border:0;padding:0;letter-spacing:-.2px}.dashboard-card h2 small{font-size:10px;font-weight:400}.dashboard-link{padding:3px!important;background:none!important;color:#2475da!important;font-size:11px!important;white-space:nowrap}.dashboard-card td,.dashboard-card th{padding:11px 8px;font-size:11px}.dashboard-card th{background:#eef3fc;text-transform:none;letter-spacing:0;color:#173a67}.dashboard-empty{padding:30px 10px;text-align:center;color:#7487a3;font-size:13px}.bed-chart{display:flex;gap:20px;align-items:center;justify-content:space-around;margin:24px 0}.occupancy-ring{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:conic-gradient(#2879e4 var(--occupancy),#dde8f6 0)}.occupancy-ring>span{width:92px;height:92px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#7585a1;font-size:11px}.occupancy-ring strong{font-size:27px;color:#143665}.bed-chart dl{margin:0;min-width:115px}.bed-chart dl>div{display:flex;justify-content:space-between;gap:16px;margin:11px 0;font-size:11px}.bed-chart dt{display:flex;align-items:center;gap:7px}.bed-chart dd{margin:0;font-weight:600}.bed-chart i{width:9px;height:9px;border-radius:50%}.legend-blue{background:#2879e4}.legend-green{background:#35ad7c}.legend-amber{background:#f5a51e}.legend-red{background:#f05269}.dashboard-card footer{border-top:1px solid #e6edf7;padding-top:12px;font-size:12px}.dashboard-card footer strong{margin-left:12px}.dashboard-task{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eef3fa;padding:12px 0;font-size:12px}.dashboard-task strong{display:inline-block;min-width:24px;color:#2879e4}.admission-summary{margin:0}.admission-summary>div{display:flex;align-items:center;gap:20px;border-bottom:1px solid #eef3fa;padding:11px 0}.admission-summary dd{font-size:20px;font-weight:700;margin:0;min-width:28px;color:#1a519b}.admission-summary dt{font-size:12px;color:#567195}.unavailable-metric{font-size:22px;font-weight:650;color:#7387a5;margin:25px 0 12px}.dashboard-card .muted{font-size:12px}.system-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.system-tiles>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:13px 5px;background:#f0f7fa;border-radius:10px;gap:8px;font-size:10px}.system-tiles span{font-size:23px;color:#275993}.system-tiles small{font-size:9px}.system-ok{color:#159b67}.dashboard-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#7790ad;margin-top:24px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5896e5;margin-right:5px}.status-completed{background:#20ad75}html[data-theme="dark"] .dashboard-card{background:#172b45;border-color:#2b405c}html[data-theme="dark"] .dashboard-hero{background:#193452}html[data-theme="dark"] .dashboard-hero h1,html[data-theme="dark"] .dashboard-card h2{color:#e7f0ff}html[data-theme="dark"] .dashboard-hero p,html[data-theme="dark"] .hero-date{color:#b6c9e4}html[data-theme="dark"] .occupancy-ring>span,html[data-theme="dark"] .system-tiles>div{background:#203d60;color:#e6effc}html[data-theme="dark"] .occupancy-ring strong{color:#fff}html[data-theme="dark"] .topbar{background:#172b45}html[data-theme="dark"] .topbar-title,html[data-theme="dark"] .account-name{color:#dce9ff}@media(max-width:1150px){.dashboard-top-grid{grid-template-columns:1fr}.dashboard-middle-grid{grid-template-columns:1fr 1fr}.dashboard-middle-grid>.dashboard-card:last-child{grid-column:1/-1}.metric{padding:17px 12px}.metric span{font-size:11px}.dashboard-bottom-grid{grid-template-columns:1fr}}@media(max-width:800px){.shell{grid-template-columns:180px minmax(0,1fr)}.content{padding:18px 16px 100px}.dashboard-hero{margin:-18px -16px 18px;padding:22px 18px}.dashboard-hero h1{font-size:24px}.hero-date{display:none}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics>.metric:last-child{grid-column:1/-1}.dashboard-middle-grid{grid-template-columns:1fr}.topbar .env{display:none}.sidebar nav button{font-size:12px;padding:9px}.sidebar .brand{padding:16px}.dashboard-footer{flex-direction:column}}@media(max-width:650px){.shell{display:block}.sidebar{height:auto;position:static;padding:0 10px 10px;max-height:270px;overflow-y:auto}.sidebar .brand{margin:0;background:#f0f6fd;max-width:none;padding:10px}.sidebar .brand img{height:50px}.sidebar nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px}.nav-group{min-width:145px}.sidebar .identity{display:none}.nav-group:first-child .nav-group-title{display:block}.topbar{padding:12px 16px}.account-name{max-width:130px;overflow-wrap:anywhere}.dashboard-hero h1{font-size:23px}.dashboard-hero p{font-size:14px}.system-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card{padding:16px}.dashboard-footer{font-size:9px}}@media print{.dashboard-hero{margin:0;background:white}.dashboard-card{break-inside:avoid}.dashboard-metrics{grid-template-columns:repeat(5,1fr)}.metric{color:#163459;border:1px solid #ddd;box-shadow:none;background:white}.metric small{color:#163459}}

.occupancy-ring{background:none;position:relative}.occupancy-ring svg{position:absolute;inset:0;width:100%;height:100%}.occupancy-ring>span{z-index:1}#dashboard-search{display:flex;align-items:center;flex:1;max-width:560px;background:#eaf0f9;border-radius:10px;overflow:hidden}#dashboard-search input{border:0;background:transparent;min-width:0;padding:12px 15px;font-size:12px}#dashboard-search button{background:transparent;color:#466791;font-size:23px;padding:4px 13px}.main{border-top:0}@media(max-width:800px){#dashboard-search{max-width:220px}.topbar-title{display:none}}@media(max-width:650px){#dashboard-search{max-width:none}.topbar{flex-wrap:wrap}#dashboard-search{order:3;flex-basis:100%}.account-menu{margin-left:auto}}

/* One continuous header above the navigation and workspace. */
.shell{position:relative;padding-top:94px}.sidebar{top:94px;height:calc(100vh - 94px);padding-top:10px}.topbar{position:fixed;top:0;left:0;right:0;height:94px;min-height:94px;padding:12px 26px 12px 0;background:#f5f9ff;border:0;border-bottom:1px solid #dfe8f4;box-shadow:none;z-index:45}.header-brand{width:218px;flex:0 0 218px;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:2px 30px}.header-brand img{display:block;width:138px;max-height:72px;object-fit:contain;mix-blend-mode:multiply}.topbar-title{margin-right:10px}.home-shell .dashboard-hero{border-top:0}.main{border-top:0!important}html[data-theme="dark"] .header-brand{background:#eff5fc}@media(max-width:800px){.header-brand{width:180px;flex-basis:180px;padding:4px 22px}.topbar{gap:10px}}@media(max-width:650px){.shell{padding-top:0;display:flex;flex-direction:column}.main{display:contents}.topbar{position:relative;order:-2;height:auto;min-height:86px;padding:10px 14px;gap:8px;flex-wrap:wrap}.header-brand{width:90px;flex-basis:90px;height:56px;padding:0;align-self:center}.header-brand img{width:84px;max-height:54px}.sidebar{position:relative;top:auto;height:auto;max-height:220px;order:-1;padding-top:0}.content{width:100%;margin:0}.topbar #dashboard-search{flex-basis:100%;order:3}.topbar .account-menu{margin-left:auto}.home-shell .dashboard-hero{margin-top:-18px}.sidebar nav{padding-top:6px}}@media print{.shell{padding-top:0;display:block}.topbar,.sidebar{display:none!important}.main{display:block}}

/* Larger logo without the duplicate CIC header title. */
.header-brand{padding:0 12px}.header-brand img{width:188px;max-height:84px}@media(max-width:800px){.header-brand{padding:0 8px}.header-brand img{width:164px;max-height:82px}}@media(max-width:650px){.header-brand{width:126px;flex-basis:126px;height:72px;padding:0}.header-brand img{width:122px;max-height:70px}}

/* Transparent original logo; no background blending or opaque tile. */
.header-brand,.sidebar .brand{background:transparent!important}.header-brand img,.sidebar .brand img{mix-blend-mode:normal}.chat-unread{margin-left:auto;background:#e24c67;color:white;border-radius:20px;padding:2px 7px;font-size:11px}.staff-chat{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100dvh - 245px);min-height:440px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}#chat-directory{padding:14px 10px;background:#f2f6fc;border-right:1px solid var(--line);overflow:auto}#chat-directory h3{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:10px;color:#6781a4}#chat-directory button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;text-align:left;background:transparent;color:#274c78;padding:12px;font-weight:500;margin:3px 0}#chat-directory button.selected{background:#dceafe;color:#124e9f}#chat-directory b{background:#216bce;color:white;font-size:10px;border-radius:15px;padding:2px 6px}.chat-conversation{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-conversation>header{padding:17px 22px;border-bottom:1px solid var(--line)}.chat-conversation h2{margin:0 0 4px}.chat-conversation header small{font-size:11px}#chat-messages{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:13px;background:#fafcff;min-height:100px}.chat-message{max-width:85%;align-self:flex-start;border:1px solid #e0e9f5;border-radius:12px;padding:10px 14px;background:white;overflow-wrap:anywhere}.chat-message.chat-own{align-self:flex-end;background:#e5effd;border-color:#d0e2fb}.chat-message header{display:flex;gap:15px;flex-wrap:wrap;font-size:11px}.chat-message time{font-size:10px;color:#7285a0}.chat-message p{white-space:pre-wrap;margin:6px 0 0;font-size:13px}.chat-compose{padding:12px 20px;border-top:1px solid var(--line)}.chat-compose textarea{margin-top:5px;min-height:65px;max-height:140px}.chat-compose>div{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.chat-compose small{font-size:10px}#chat-status{margin:0;padding:0 20px 12px;font-size:11px;color:#6b7f9d}#chat-older{font-size:11px;padding:7px;background:#edf3fc;color:#245082}.chat-empty{text-align:center;color:#7c8da5;font-size:13px}html[data-theme="dark"] .staff-chat{background:#172b45}html[data-theme="dark"] #chat-directory,html[data-theme="dark"] #chat-messages{background:#14263e}html[data-theme="dark"] .chat-message{background:#213b5b;color:#e1ebfa}html[data-theme="dark"] #chat-directory button{color:#dce8fa}html[data-theme="dark"] #chat-directory button.selected{background:#284d7a}html[data-theme="dark"] .chat-own{background:#284d7a}@media(max-width:850px){.staff-chat{grid-template-columns:175px minmax(0,1fr)}.chat-message{max-width:95%}}@media(max-width:650px){.staff-chat{display:flex;flex-direction:column;height:680px;min-height:0}#chat-directory{max-height:165px;border-right:0;border-bottom:1px solid var(--line);flex-shrink:0}#chat-directory button{display:inline-flex;width:auto;margin:3px;padding:8px;font-size:11px}#chat-directory h3{display:inline;font-size:9px}.chat-conversation{flex:1}.chat-compose{padding:10px}.chat-compose>div{gap:8px}.chat-compose small{max-width:65px}#chat-messages{padding:12px}}

.mail-notification{background:#eaf1fb;color:#1b5daf;font-size:20px;padding:8px 12px;white-space:nowrap}.mail-notification span:not(:empty){display:inline-block;background:#e64f69;color:white;border-radius:15px;font-size:11px;padding:3px 6px;vertical-align:top}

.chat-notification{display:inline-flex;align-items:center;gap:5px;background:#eaf1fb;color:#1b5daf;padding:8px 12px;min-height:40px;flex-shrink:0}.chat-notification .chat-unread{margin:0}.mail-notification{flex-shrink:0}
/* Patient-file summary and clinical overview. */
.content:has(.clinical-file)>.heading{display:none}.clinical-file{margin-top:-8px}.patient-summary{display:grid;grid-template-columns:92px minmax(0,1fr) 240px;gap:22px;align-items:center;padding:24px 20px;background:linear-gradient(110deg,#ffffff,#f3f8ff);border:1px solid #e1ecf8;border-radius:14px}.patient-avatar{width:92px;height:108px;border-radius:12px;background:linear-gradient(140deg,#d6e6f9,#eaf2fc);display:grid;place-items:center;color:#3b6396;font-size:31px;font-weight:700}.patient-identification h1{font-size:26px;letter-spacing:-.6px;margin:0 0 12px}.patient-chips{display:flex;gap:7px;flex-wrap:wrap}.patient-chips span{background:#eaf2ff;color:#234e83;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:650}.patient-contact{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#6b80a0;margin-top:12px}.patient-allergy{font-size:11px;background:#f2f5fb;border-radius:7px;display:inline-block;padding:7px 10px;color:#385779;margin-top:10px}.patient-placement{display:flex;flex-direction:column;gap:6px;background:#e8f7f3;border-radius:11px;padding:16px;font-size:11px;color:#426b77}.patient-placement strong{color:#169770;font-size:12px}.patient-placement b{color:#244872;font-size:14px;margin-bottom:5px}.patient-file-tabs{gap:5px;border-bottom:1px solid #dce8f8;margin:18px 0 20px;flex-wrap:wrap}.patient-file-tabs button{background:#f6f9fe!important;color:#335788!important;font-size:11px;padding:10px 12px;border-radius:8px 8px 0 0}.patient-file-tabs button.active{background:#e8f2ff!important;color:#1265d4!important;box-shadow:inset 0 -3px #237df0}.patient-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px}.patient-clinical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:15px}.patient-bottom-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px}.patient-card{background:#ffffffed;border:1px solid #e1edf9;border-radius:12px;min-width:0;padding:17px;box-shadow:0 3px 16px #326ca007}.patient-card>header{display:flex;justify-content:space-between;align-items:baseline;gap:9px;margin-bottom:15px}.patient-card h2{font-size:14px;letter-spacing:-.2px;margin:0}.patient-card small{font-size:10px;color:#7890ab;line-height:1.6}.patient-card .muted{font-size:11px}.patient-list{padding-left:18px;margin:0;font-size:12px;line-height:1.8;color:#345678}.patient-card td,.patient-card th{padding:9px 7px;font-size:11px;text-transform:none;letter-spacing:0}.patient-card th{background:#eef5ff;color:#244c7c}.vital-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.vital-tiles>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:9px;padding:10px 3px;background:#edf5ff;gap:5px}.vital-tiles>div:nth-child(1){background:#fff0f3}.vital-tiles>div:nth-child(2){background:#fff4f6}.vital-tiles>div:nth-child(3){background:#eaf8fc}.vital-tiles>div:nth-child(4){background:#eaf8f0}.vital-tiles span{font-size:8px;color:#6981a0}.vital-tiles strong{font-size:14px;color:#254f81}.vital-tiles small{font-size:8px}.vital-chart{margin:10px 0 0}.vital-chart svg{width:100%;max-height:150px}.vital-chart figcaption{font-size:9px;color:#7890aa;line-height:1.6}.patient-timeline{display:flex;list-style:none;padding:0;overflow:auto;gap:16px;margin:0}.patient-timeline li{min-width:90px;position:relative;border-top:3px solid #d9e8fb;padding-top:12px}.patient-timeline li:before{content:'';position:absolute;top:-6px;left:0;width:9px;height:9px;background:#3184ea;border-radius:50%}.patient-timeline time{font-size:10px;display:block;color:#6f88a8}.patient-timeline strong{font-size:11px;display:block;margin-top:8px;color:#31547e}.patient-document{display:flex;gap:10px;justify-content:space-between;font-size:11px;border-bottom:1px solid #edf3fb;padding:10px 0}html[data-theme="dark"] .patient-summary,html[data-theme="dark"] .patient-card{background:#172e49;border-color:#294565}html[data-theme="dark"] .patient-summary h1,html[data-theme="dark"] .patient-card h2{color:#e1edfc}html[data-theme="dark"] .patient-list{color:#bed1e8}html[data-theme="dark"] .patient-placement{background:#183f42;color:#b6dce0}html[data-theme="dark"] .patient-placement b{color:#c1e3ef}@media(max-width:1200px){.patient-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-clinical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-summary{grid-template-columns:76px minmax(0,1fr)}.patient-avatar{width:76px;height:92px}.patient-placement{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.patient-identification h1{font-size:23px}}@media(max-width:760px){.patient-clinical-grid,.patient-bottom-grid{grid-template-columns:1fr}.patient-summary{padding:16px;gap:13px}.patient-identification h1{font-size:20px}.patient-overview-grid{grid-template-columns:1fr}.patient-file-tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}.patient-file-tabs button{flex-shrink:0}.patient-contact{gap:6px}.patient-chips span{font-size:10px}.patient-card{padding:15px}}@media print{.patient-summary,.patient-card{background:white;break-inside:avoid;box-shadow:none}.patient-file-tabs{display:none}.patient-overview-grid,.patient-clinical-grid,.patient-bottom-grid{grid-template-columns:1fr 1fr}.patient-avatar{background:#eee}}

.about-cic{max-width:1000px;line-height:1.8}.about-cic p{margin:0 0 1.4em}.about-cic h2{margin-top:1.5em}

.ceo-message{border-top:1px solid #b8c9de;margin-top:2rem;padding-top:1rem}

.ceo-message{display:flow-root}.ceo-portrait{float:right;width:280px;max-width:100%;margin:0 0 1.5rem 2rem}.ceo-portrait img{display:block;width:100%;height:auto;border-radius:14px}.ceo-portrait figcaption{font-size:.9rem;line-height:1.5;margin-top:.7rem}@media(max-width:700px){.ceo-portrait{float:none;width:280px;margin:0 auto 1.5rem}}

/* Preserve each source image's aspect ratio inside an equal-height launcher. */
#cic-assistant .assistant-launcher{justify-content:center;touch-action:none;user-select:none;cursor:grab}
#cic-assistant[data-character="ciro"] .assistant-standing{flex:none;width:60.82px;height:76px}
#cic-assistant[data-character="cira"] .assistant-standing{flex:none;width:39.84px;height:76px}
#cic-assistant.assistant-dragging .assistant-launcher{cursor:grabbing}
#cic-assistant.assistant-dragging .assistant-standing,#cic-assistant.assistant-dragging .cira-part{animation:none!important;translate:0 0!important;rotate:0deg!important}

/* Turn toward the direction of the steps while gliding backwards. */
@keyframes cira-moonwalk-profile{
 0%,52%,78%,100%{rotate:y 0deg}
 56%,72%{rotate:y 48deg}
}
@keyframes cira-moonwalk-left{
 0%,20%,35%,52%,78%,100%{rotate:0deg;translate:0 0}
 22%,27%,32%{rotate:9deg;translate:0 -2px}
 24%,29%,34%{rotate:-8deg;translate:0 0}
 56%,62%,68%{rotate:-15deg;translate:2px -3px}
 59%,65%,71%{rotate:4deg;translate:-4px 0}
 74%{rotate:0deg;translate:0 0}
}
@keyframes cira-moonwalk-right{
 0%,20%,35%,52%,78%,100%{rotate:0deg;translate:0 0}
 22%,27%,32%{rotate:-8deg;translate:0 0}
 24%,29%,34%{rotate:9deg;translate:0 -2px}
 56%,62%,68%{rotate:4deg;translate:-4px 0}
 59%,65%,71%{rotate:-15deg;translate:2px -3px}
 74%{rotate:0deg;translate:0 0}
}
#cic-assistant .assistant-standing{animation:cira-roam 30s linear infinite,cira-moonwalk-profile 30s linear infinite!important}
#cic-assistant .cira-leg-left{animation:cira-moonwalk-left 30s linear infinite}
#cic-assistant .cira-leg-right{animation:cira-moonwalk-right 30s linear infinite}
#cic-assistant.cira-still .assistant-standing,#cic-assistant.assistant-dragging .assistant-standing,#cic-assistant .assistant-launcher:hover .assistant-standing,#cic-assistant .assistant-launcher:focus-visible .assistant-standing,#cic-assistant .assistant-launcher[aria-expanded="true"] .assistant-standing{animation:none!important;rotate:y 0deg;translate:0 0}
@media(prefers-reduced-motion:reduce){#cic-assistant .assistant-standing,#cic-assistant .cira-part{animation:none!important;rotate:y 0deg;translate:0 0}}

/* Actual side-profile sprite artwork, synchronized with backward glide. */
.cira-front{position:absolute;inset:0;display:block;animation:cira-front-phase 30s step-end infinite}
.cira-side{position:absolute;left:50%;top:0;margin-left:-28.5px;width:57px;height:76px;display:block;pointer-events:none;background:url('/ciro-moonwalk.png') 0 0/228px 76px no-repeat;animation:cira-side-phase 30s step-end infinite,cira-side-steps .9s steps(4) infinite}
#cic-assistant[data-character="cira"] .cira-side{background-image:url('/cira-moonwalk.png')}
@keyframes cira-side-steps{from{background-position-x:0}to{background-position-x:-228px}}
@keyframes cira-front-phase{0%{visibility:visible}55%{visibility:hidden}75%{visibility:visible}}
@keyframes cira-side-phase{0%{visibility:hidden}55%{visibility:visible}75%{visibility:hidden}}
#cic-assistant .assistant-standing{rotate:none!important;animation:cira-roam 30s linear infinite!important}
#cic-assistant.cira-still .assistant-standing,#cic-assistant.assistant-dragging .assistant-standing,#cic-assistant .assistant-launcher:hover .assistant-standing,#cic-assistant .assistant-launcher:focus-visible .assistant-standing,#cic-assistant .assistant-launcher[aria-expanded="true"] .assistant-standing{animation:none!important;translate:0 0!important}
#cic-assistant.cira-still .cira-front,#cic-assistant.assistant-dragging .cira-front,#cic-assistant .assistant-launcher:hover .cira-front,#cic-assistant .assistant-launcher:focus-visible .cira-front,#cic-assistant .assistant-launcher[aria-expanded="true"] .cira-front{animation:none;visibility:visible}
#cic-assistant.cira-still .cira-side,#cic-assistant.assistant-dragging .cira-side,#cic-assistant .assistant-launcher:hover .cira-side,#cic-assistant .assistant-launcher:focus-visible .cira-side,#cic-assistant .assistant-launcher[aria-expanded="true"] .cira-side{animation:none;visibility:hidden}
@media(prefers-reduced-motion:reduce){#cic-assistant .assistant-standing{animation:none!important}#cic-assistant .cira-front{animation:none;visibility:visible}#cic-assistant .cira-side{animation:none;visibility:hidden}}

/* Pick up the mascot by the back of its coat while dragging. */
#cic-assistant.assistant-dragging .assistant-standing{transform-origin:50% 53%;transform:translateY(-9px) rotate(-12deg)!important;filter:drop-shadow(0 12px 5px #142c4c35)}
#cic-assistant.assistant-dragging .cira-front{transform-origin:50% 53%;animation:cira-carried-swing 1.1s ease-in-out infinite!important}
#cic-assistant.assistant-dragging .cira-head{transform:rotate(8deg);transform-origin:52% 54%}
#cic-assistant.assistant-dragging .cira-arm{transform:rotate(-18deg);transform-origin:34% 58%}
#cic-assistant.assistant-dragging .cira-leg-left{transform:translate(2px,3px) rotate(-10deg);transform-origin:48% 74%}
#cic-assistant.assistant-dragging .cira-leg-right{transform:translate(-2px,4px) rotate(10deg);transform-origin:56% 74%}
#cic-assistant.assistant-dragging .assistant-launcher:after{content:'';position:absolute;width:9px;height:7px;left:28px;top:34px;border-top:3px solid #20375e;border-left:3px solid #20375e;border-right:3px solid #20375e;border-radius:6px 6px 0 0;pointer-events:none;transform:rotate(-12deg)}
@keyframes cira-carried-swing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@media(prefers-reduced-motion:reduce){#cic-assistant.assistant-dragging .cira-front{animation:none!important}}

/* Corner-to-corner superhero flight; hands forward and coat trailing. */
#cic-assistant.assistant-flying .assistant-standing{animation:none!important;translate:0 0!important;transform:rotate(65deg)!important;transform-origin:center;filter:drop-shadow(-12px 12px 5px #174fa540)}
#cic-assistant.assistant-flying.flight-left .assistant-standing{transform:rotate(-65deg)!important}
#cic-assistant.assistant-flying .cira-front{visibility:visible;animation:none!important}
#cic-assistant.assistant-flying .cira-side{visibility:hidden;animation:none!important}
#cic-assistant.assistant-flying .cira-part{animation:none!important;rotate:0deg!important;translate:0 0!important}
#cic-assistant.assistant-flying .cira-arm{transform:rotate(145deg);transform-origin:32% 56%}
#cic-assistant.assistant-flying .cira-leg-left{transform:rotate(-8deg);transform-origin:48% 74%}
#cic-assistant.assistant-flying .cira-leg-right{transform:rotate(8deg);transform-origin:56% 74%}
#cic-assistant.assistant-flying .assistant-character-label{display:none}
/* Live queue: readable columns and compact administration controls. */
#screen-rows .tablewrap{overflow-x:auto}
#screen-rows table{table-layout:auto;width:100%;min-width:1100px}
#screen-rows th,#screen-rows td{padding:14px 12px;text-align:start;vertical-align:top;line-height:1.45;word-break:normal;overflow-wrap:normal}
#screen-rows th{font-size:12px;white-space:nowrap}
#screen-rows td{font-size:15px}
#screen-rows td:nth-child(1){width:60px;font-variant-numeric:tabular-nums}
#screen-rows td:nth-child(2){min-width:185px;max-width:250px}
#screen-rows td:nth-child(3){min-width:125px}
#screen-rows td:nth-child(5){min-width:170px;max-width:260px;overflow-wrap:anywhere}
#screen-rows td:nth-child(6){min-width:115px;white-space:nowrap}
#screen-rows td:nth-child(7){min-width:125px}
#screen-rows th:nth-child(8),#screen-rows td:nth-child(8){width:45px;text-align:center}
#screen-rows td:nth-child(9){min-width:180px}
#screen-rows .patient-infection{display:inline-block;border-radius:6px;line-height:1.4}
#screen-rows .allergy-warning{display:inline-block;margin-top:6px;font-size:12px;white-space:nowrap}
#screen-rows .screen-time{font-size:13px;color:var(--muted,#61768d)}
#screen-rows .screen-time strong{font-size:15px;color:var(--ink,#143351)}
#screen-rows .screen-payment-editor summary{cursor:pointer;font-weight:600;color:var(--ink,#143351);white-space:nowrap;padding:6px 0}
#screen-rows form{display:flex;flex-direction:column;gap:8px;margin:8px 0 0}
#screen-rows form label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}
#screen-rows form select{width:100%;min-width:180px;padding:8px 30px 8px 10px;font-size:14px}
#screen-rows form button{align-self:flex-start;padding:8px 14px;font-size:13px;margin:0}
#screen-rows .patient-infection{color:#7e22ce;background:transparent;border:0;padding:0;font-weight:750}
.patient-avatar {padding:0;overflow:hidden;border:0;cursor:pointer}.patient-avatar img{width:100%;height:100%;object-fit:cover}.patient-avatar:focus-visible{outline:3px solid #3184ea;outline-offset:3px}.patient-photo-dialog{width:min(520px,90vw);border:1px solid #cfdef0;border-radius:18px;padding:24px;color:#14345a}.patient-photo-dialog::backdrop{background:#10243b99}.patient-photo-dialog video,.patient-photo-dialog .photo-preview{width:100%;max-height:360px;object-fit:contain;border-radius:12px;margin-top:16px}.patient-photo-dialog [hidden]{display:none}.patient-photo-dialog .actions{display:flex;gap:10px;flex-wrap:wrap}

/* Smoother page-to-page feel: gentle content entrance, hover/active transitions on
   rows, tabs and nav that previously snapped instantly, and smooth in-page scrolling. */
tbody tr,.dashboard-task,.admission-summary>div,.record,#chat-directory button,.nav-group,.sidebar nav button{transition:background-color .15s ease,color .15s ease,box-shadow .18s ease}
.sidebar nav button.active{transition:background-color .15s ease,color .15s ease,box-shadow .18s ease,background .18s ease}
.card,.dashboard-card,.patient-card{transition:box-shadow .18s ease}
@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 .content>*{animation:cic-enter .22s ease both}
 .patient-overview-grid>*,.patient-clinical-grid>*,.patient-bottom-grid>*,.dashboard-metrics>*{animation:cic-enter .22s ease both}
}
@keyframes cic-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media print{.content>*,.patient-overview-grid>*,.patient-clinical-grid>*,.patient-bottom-grid>*,.dashboard-metrics>*{animation:none!important;opacity:1!important;transform:none!important}}

/* Collapsible nav groups: same look as before (open by default), but a long role's
   menu can now be tucked away instead of always scrolling the full list. */
summary.nav-group-title{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
summary.nav-group-title::-webkit-details-marker{display:none}
summary.nav-group-title::before{content:'▾';font-size:9px;transition:transform .15s ease}
details.nav-group:not([open])>summary.nav-group-title::before{transform:rotate(-90deg)}
summary.nav-group-title:hover{color:#c3d6ef}

/* Header reorder: search gets priority next to the logo; notification icons,
   the environment badge and the profile menu are grouped together on the right. */
.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.header-actions .account-menu{margin-left:0}
#dashboard-search{flex:1 1 160px;min-width:0;max-width:420px}
.header-actions{flex-shrink:0}
.topbar{flex-wrap:nowrap}
@media(max-width:650px){.header-actions{margin-left:0}.topbar{flex-wrap:wrap}}
