@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#233b38;--muted:#73817c;--green:#276c58;--lime:#e3edd8;--line:#dde4dd;--paper:#f7f8f3;--white:#fff;--amber:#a26921}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}h1,h2,h3,.brand{font-family:Manrope,sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #97bfac;outline-offset:4px}header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 5%;gap:20px}.brand{font-weight:800;font-size:21px;display:flex;align-items:center;gap:10px;letter-spacing:-.8px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:35px;height:35px;background:var(--green);color:white;border-radius:12px;font-size:26px}.brand small{font:600 10px 'DM Sans',sans-serif;letter-spacing:1.6px;color:var(--muted)}.brand-divider{height:22px;border-left:1px solid #cbd4cb;margin:0 8px}.header-right{display:flex;align-items:center;gap:20px}.connection{font-size:12px;color:var(--green);padding:8px 12px;border:1px solid #d5e4d4;border-radius:30px;background:#edf3e7}.connection::before,.dot{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#5a9275;margin-right:7px}.text-button{border:0;background:none;color:var(--muted);padding:10px;font-size:12px}.text-button:hover{color:var(--green)}.patient-layout{max-width:1280px;margin:auto;padding:65px 55px 35px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green)}h1{font-size:56px;line-height:1.16;font-weight:500;letter-spacing:-2.7px;margin:22px 0}.intro{font-size:17px;color:var(--muted);line-height:1.8;margin:0 0 26px}.room-label{display:flex;align-items:center;gap:15px}.room-icon{width:48px;height:48px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;font-size:28px}.room-label small{display:block;font-size:9px;color:var(--muted);letter-spacing:1.5px;margin-bottom:4px}.room-label strong{font-size:18px}.pill{font-size:10px;padding:7px 11px;border-radius:24px;background:#e9ede6;color:#64716a;white-space:nowrap}.room-label .pill{margin-left:10px}.privacy{font-size:11px;color:var(--muted);margin:15px 0 32px}.service-caption{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:700;margin-bottom:13px}.services{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service{border:1px solid var(--line);border-radius:14px;background:transparent;text-align:left;display:flex;align-items:center;padding:16px 13px;gap:12px;color:var(--ink)}.service:hover{border-color:#8baf9e;background:#f0f4e9}.service-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e9eee3;color:var(--green);flex-shrink:0;font-size:20px}.service strong{display:block;font-size:12px;font-weight:600;margin-bottom:3px}.service small{font-size:10px;color:var(--muted)}.urgent-note{margin-top:26px;display:flex;align-items:center;gap:12px;color:var(--muted)}.urgent-note>span{font-size:26px}.urgent-note p{font-size:11px;line-height:1.7}.urgent-note strong{font-weight:500;color:#53635b}.companion-card{align-self:start;background:white;border:1px solid #e0e5dd;border-radius:26px;box-shadow:0 12px 35px #34463706;padding:25px 32px 22px;text-align:center;min-height:605px;position:relative}.card-heading{display:flex;align-items:center;justify-content:space-between}.soft{background:#f4f5ef;font-size:8px;letter-spacing:1px;font-weight:700}.card-heading>span:last-child{font-size:10px;color:var(--muted)}.avatar-zone{height:230px;position:relative;display:flex;align-items:center;justify-content:center}.avatar-halo{width:215px;height:215px;border-radius:50%;background:radial-gradient(circle,#e1eace 0,#f5f7ef 68%,#fff 72%);position:absolute}.avatar{width:137px;height:142px;border-radius:46% 46% 43% 43%;position:relative;background:linear-gradient(140deg,#dce8ca,#c1d8a7);box-shadow:inset -8px -6px 18px #7f9f6820,0 15px 25px #94aa7820;transform:rotate(-3deg)}.eye{position:absolute;top:55px;width:8px;height:13px;background:#46694c;border-radius:50%;animation:blink 6s infinite}.eye.left{left:42px}.eye.right{right:42px}.cheek{position:absolute;top:79px;width:17px;height:8px;border-radius:50%;background:#afc69355}.cheek.left{left:25px}.cheek.right{right:25px}.smile{position:absolute;width:27px;height:14px;border:2px solid #46694c;border-top:0;border-radius:0 0 40px 40px;left:55px;top:81px}.wave{display:none;position:absolute;bottom:10px;gap:4px;align-items:center;height:24px}.wave i{width:3px;background:#7da783;border-radius:10px;height:8px;animation:wave .8s infinite alternate}.wave i:nth-child(2){animation-delay:.2s}.wave i:nth-child(3){animation-delay:.4s}.wave i:nth-child(4){animation-delay:.1s}.avatar-zone.active .wave{display:flex}.avatar-zone.active .avatar{animation:bob 3s infinite}.companion-card h2{font-size:19px;font-weight:600;letter-spacing:-.5px;margin:12px 0}.companion-description{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 26px}.primary{background:var(--green);color:white;border:0;border-radius:11px;min-height:48px;padding:12px 20px;font-weight:500}.primary:hover{background:#205744}.start{width:100%;display:flex;justify-content:center;align-items:center;gap:14px}.start>span:last-child{margin-left:auto}.start>span:first-child{margin-right:auto;font-size:22px}.mode-note{font-size:10px;color:var(--muted);margin:15px 0}.secondary{border:1px solid var(--line);background:white;border-radius:9px;min-height:40px;padding:10px 14px;color:var(--ink);font-size:12px}.secondary:hover{background:#edf3e7}.chat{max-height:165px;overflow-y:auto;text-align:left;border-top:1px solid var(--line);padding-top:10px;margin-top:15px}.bubble{font-size:12px;line-height:1.6;padding:9px 12px;background:#f0f4e9;border-radius:10px;margin-bottom:8px;width:90%;white-space:pre-wrap}.bubble.user{background:#f3f4f2;margin-left:auto;color:#4b5c53}.bubble small{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:3px}#message-form{position:relative;margin-top:14px;display:flex;gap:8px}input{width:100%;border:1px solid var(--line);padding:13px;border-radius:10px;color:var(--ink);background:white}input:focus{outline:2px solid #94b59f}#message{font-size:12px}.send{border:0;background:var(--green);color:white;border-radius:10px;width:46px;font-size:22px}.pending{text-align:left;background:#f4f6ee;padding:15px;border:1px solid #dce5d1;border-radius:12px;margin-top:15px}.pending h3{font-size:13px;margin:0 0 7px}.pending p{font-size:12px;color:var(--muted)}.pending .category-options{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.category-options button{font-size:10px;border:1px solid var(--line);background:white;padding:8px;border-radius:7px}.category-options button.selected{background:var(--green);color:white}.pending .primary{min-height:38px;font-size:12px}.patient-requests{text-align:left;margin-top:14px}.patient-request{border-top:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:8px;font-size:11px}.patient-request small{color:var(--muted)}footer{max-width:1170px;margin:0 auto;padding:20px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:22px;padding:30px;max-width:430px;width:90%;color:var(--ink)}dialog::backdrop{background:#1d322766;backdrop-filter:blur(4px)}dialog h2{font-size:23px}dialog p{color:var(--muted);line-height:1.7;font-size:13px}dialog label{display:block;font-size:12px;margin:15px 0}dialog input{margin-top:7px}.dialog-actions{display:flex;gap:10px;align-items:center}.error{color:#a63e39!important}.toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);background:#233b38;color:white;padding:15px 22px;border-radius:12px;font-size:13px;box-shadow:0 6px 20px #0002;z-index:10;max-width:90%;text-align:center}.dashboard-layout{max-width:1270px;margin:auto;padding:40px 45px 140px}.dashboard-title{display:flex;align-items:center;justify-content:space-between}.dashboard-title h1{font-size:35px;letter-spacing:-1.4px;margin:12px 0}.dashboard-title p{color:var(--muted);font-size:13px}.station{font-size:11px;border-left:1px solid var(--line);padding-left:24px}.station small{display:block;margin:8px 0 0 14px;color:var(--muted)}.demo-banner{border:1px solid #dce4d2;background:#edf2e5;border-radius:9px;padding:12px 16px;font-size:11px;display:flex;align-items:center;gap:14px;margin:25px 0}.demo-banner>span{font-size:8px;font-weight:700;letter-spacing:1px;white-space:nowrap}.demo-banner a{margin-left:auto;white-space:nowrap}.stats{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden;margin:25px 0 35px}.stats>div{padding:23px 25px;border-right:1px solid var(--line)}.stats small{font-size:11px;color:var(--muted)}.stats strong{display:block;font:500 40px Manrope,sans-serif;margin:12px 0 5px}.stats span{font-size:10px;color:var(--muted)}.stats .stat-accent{border:0;background:#e5eddb}.stat-accent p{font:500 18px/1.5 Manrope,sans-serif;margin:12px 0}.queue{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.queue-toolbar{display:flex;align-items:center;justify-content:space-between;padding:23px 26px;border-bottom:1px solid var(--line);gap:15px}.queue-toolbar h2{font-size:18px;margin:0 0 6px;font-weight:600}.queue-toolbar span{font-size:10px;color:var(--muted)}.filters{display:flex;gap:10px;align-items:center}select{background:#fafbf7;border:1px solid var(--line);border-radius:9px;padding:11px;font-size:11px;color:var(--ink)}.request-row{padding:22px 26px;display:grid;grid-template-columns:90px 1fr 135px auto;align-items:center;gap:24px;border-bottom:1px solid #ecf0e9}.request-row:last-child{border-bottom:0}.room-number{font-size:25px;font-family:Manrope,sans-serif;letter-spacing:-.8px}.room-number small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-bottom:2px}.request-detail h3{font:500 13px/1.7 'DM Sans',sans-serif;margin:0 0 5px;overflow-wrap:anywhere}.request-detail small{font-size:10px;color:var(--muted)}.status{border-radius:24px;font-size:9px;padding:7px 10px;display:inline-block;white-space:nowrap}.status.new{background:#fff2dc;color:#986721}.status.in-progress{background:#e8f0eb;color:#377358}.status.completed{background:#eef0ec;color:#79837c}.request-row button{font-size:11px;min-height:36px;white-space:nowrap}.request-row .primary{padding:10px 16px}.empty{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px}.empty>span{display:grid;place-items:center;width:55px;height:55px;font-size:25px;border-radius:18px;background:#edf2e6;color:#819478;margin-bottom:12px}.empty h3{font-size:15px;margin:7px}.empty p{font-size:12px;color:var(--muted);line-height:1.8;max-width:350px}.dashboard-footnote{font-size:10px;color:var(--muted);line-height:1.7;margin:18px 4px}.bottom-tabs{position:fixed;bottom:0;width:100%;display:grid;grid-template-columns:repeat(8,1fr);padding:12px max(5%,calc((100% - 1180px)/2));background:#fff;border-top:1px solid var(--line);gap:10px;z-index:5}.bottom-tabs button{border:0;border-radius:12px;background:transparent;color:var(--muted);padding:12px 14px;display:flex;gap:11px;justify-content:center;align-items:center;font-size:12px;min-height:55px}.bottom-tabs button.selected{background:#eaf1e3;color:var(--green)}.bottom-tabs .tab-icon{font-size:23px}.tab-count{background:#e3e8dc;color:#476446;border-radius:6px;padding:3px 6px;font-size:9px;margin-left:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}@keyframes wave{to{height:22px}}@keyframes bob{50%{transform:translateY(-5px) rotate(3deg)}}@media(min-width:1450px){.patient-layout{padding-top:90px}}@media(max-width:1000px){.patient-layout{gap:35px;padding:40px 30px}h1{font-size:48px}.companion-card{padding:23px}.request-row{gap:12px;grid-template-columns:75px 1fr 110px auto}.brand small,.brand-divider{display:none}footer{margin:0 30px}.stats>div{padding:20px 16px}}@media(max-width:760px){header{height:75px;padding:0 20px}.brand{font-size:17px}.brand-icon{width:29px;height:29px}.header-right{gap:3px}.connection{font-size:10px;padding:6px 8px}.patient-layout{grid-template-columns:1fr;padding:30px 22px;gap:25px}.welcome h1{font-size:43px;margin:18px 0}.intro br{display:none}.intro{font-size:15px}.privacy{margin-bottom:22px}.urgent-note{margin-top:16px}.companion-card{min-height:530px}.avatar-zone{height:200px}.services .service{padding:13px}.dashboard-layout{padding:30px 18px 125px}.dashboard-title h1{font-size:27px}.station{display:none}.demo-banner{display:block;line-height:1.9}.demo-banner>span{display:block}.demo-banner a{display:block}.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stats .stat-accent p{font-size:15px}.stats strong{font-size:32px}.queue-toolbar{padding:18px;align-items:start;flex-direction:column}.filters{width:100%}.filters select{flex:1}.request-row{padding:18px;grid-template-columns:65px 1fr;gap:10px}.request-row>div:nth-child(3){grid-column:2}.request-row>button{grid-column:2;justify-self:start}.bottom-tabs{padding:8px;gap:3px}.bottom-tabs button{flex-direction:column;gap:5px;padding:8px 3px;font-size:9px}.bottom-tabs .tab-icon{font-size:20px}footer{margin:0 22px;gap:15px;line-height:1.7}footer>span{max-width:150px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.bottom-tabs button.has-new{animation:tab-alert 1.15s ease-in-out infinite;border:1px solid #e3b35e}.bottom-tabs button.has-new .tab-count{background:#fff2dc;color:#986721}@keyframes tab-alert{0%,100%{background:#fff7e8;box-shadow:0 0 0 0 #d8953244;color:#986721}50%{background:#ffe6b8;box-shadow:0 0 0 5px #d8953200;color:#7a4f16}}
@media(prefers-reduced-motion:reduce){.bottom-tabs button.has-new{animation:none!important;background:#fff2dc;color:#986721}}
body[data-page=patient]{min-height:100vh;overflow:hidden}
body[data-page=patient] .patient-layout{min-height:calc(100vh - 94px);padding:34px 55px;align-items:center;grid-template-columns:.85fr 1.15fr;gap:48px}
body[data-page=patient] .welcome{align-self:center}
body[data-page=patient] .room-label{margin-bottom:30px}
body[data-page=patient] .service-caption{margin-bottom:12px}
body[data-page=patient] .services{grid-template-columns:1fr 1fr;gap:9px}
body[data-page=patient] .service{padding:13px 12px}
body[data-page=patient] .urgent-note{margin-top:18px}
body[data-page=patient] .companion-card{min-height:0;padding:22px 32px 20px}
body[data-page=patient] .avatar-zone{height:200px}
body[data-page=patient] .avatar-halo{width:190px;height:190px}
body[data-page=patient] .avatar{width:124px;height:130px}
body[data-page=patient] .companion-card h2{margin:8px 0}
body[data-page=patient] .companion-description{margin-bottom:18px}
body[data-page=patient] footer{display:none}
@media(max-height:760px) and (min-width:761px){body[data-page=patient] header{height:78px}body[data-page=patient] .patient-layout{min-height:calc(100vh - 78px);padding-top:22px;padding-bottom:22px}body[data-page=patient] .avatar-zone{height:165px}body[data-page=patient] .avatar-halo{width:160px;height:160px}body[data-page=patient] .avatar{width:108px;height:113px}.mode-note{margin:10px 0}.service-icon{width:31px;height:31px}.patient-request{padding:7px 0}}
@media(max-width:760px){body[data-page=patient]{overflow:auto}body[data-page=patient] .patient-layout{min-height:0;padding:24px 18px;grid-template-columns:1fr;gap:18px}body[data-page=patient] .room-label{margin-bottom:20px}body[data-page=patient] footer{display:flex}}
body[data-page=dashboard]{height:100vh;overflow:hidden}
body[data-page=dashboard] .dashboard-layout{height:calc(100vh - 94px);padding:18px 45px 88px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:10px}
body[data-page=dashboard] .dashboard-title h1{font-size:28px;margin:4px 0}
body[data-page=dashboard] .dashboard-title p{margin:0;font-size:11px}
body[data-page=dashboard] .eyebrow{font-size:9px}
body[data-page=dashboard] .station{font-size:10px}
body[data-page=dashboard] .station small{margin-top:4px}
body[data-page=dashboard] .demo-banner{margin:0;padding:8px 12px}
body[data-page=dashboard] .stats{margin:0;min-height:76px;border-radius:12px}
body[data-page=dashboard] .stats>div{padding:10px 18px}
body[data-page=dashboard] .stats small{font-size:10px}
body[data-page=dashboard] .stats strong{font-size:28px;margin:4px 0}
body[data-page=dashboard] .stats span{font-size:9px}
body[data-page=dashboard] .stat-accent p{font-size:14px;line-height:1.25;margin:5px 0}
body[data-page=dashboard] .queue{min-height:0;display:flex;flex-direction:column}
body[data-page=dashboard] .queue-toolbar{padding:12px 18px}
body[data-page=dashboard] .request-list{overflow:auto;min-height:0}
body[data-page=dashboard] .request-row{padding:12px 18px;grid-template-columns:72px 1fr 120px auto;gap:14px}
body[data-page=dashboard] .room-number{font-size:20px}
body[data-page=dashboard] .request-detail h3{line-height:1.45}
body[data-page=dashboard] .empty{min-height:150px}
body[data-page=dashboard] .dashboard-footnote{display:none}
body[data-page=dashboard] .bottom-tabs{padding-top:8px;padding-bottom:8px}
body[data-page=dashboard] .bottom-tabs button{min-height:42px;padding:7px 6px;font-size:10px}
@media(max-height:760px) and (min-width:761px){body[data-page=dashboard] header{height:78px}body[data-page=dashboard] .dashboard-layout{height:calc(100vh - 78px);padding-top:12px}.stats>div{padding:8px 14px}body[data-page=dashboard] .stats strong{font-size:24px}body[data-page=dashboard] .queue-toolbar{padding:10px 16px}body[data-page=dashboard] .request-row{padding:10px 16px}}
@media(max-width:760px){body[data-page=dashboard]{height:auto;overflow:auto}body[data-page=dashboard] .dashboard-layout{height:auto;display:block;padding:24px 18px 112px}body[data-page=dashboard] .dashboard-title h1{font-size:25px}body[data-page=dashboard] .stats{margin:18px 0}body[data-page=dashboard] .dashboard-footnote{display:block}}
body[data-page=patient] .service-icon{width:31px;height:31px;font-size:17px}
body[data-page=patient] .service strong{font-size:11px;line-height:1.2}
body[data-page=patient] .service small{font-size:9px;line-height:1.25}
body[data-page=dashboard] .bottom-tabs button{flex-direction:column;gap:3px;line-height:1.1}
body[data-page=dashboard] .bottom-tabs .tab-icon{font-size:17px}
body[data-page=patient] .brand small{display:inline-block;font-size:13px;letter-spacing:.2px;color:var(--green);font-weight:700}
body[data-page=patient] .brand-divider{display:inline-block}
body[data-page=patient] .patient-layout{max-width:none;width:100%;min-height:calc(100vh - 94px);padding:26px 36px;grid-template-columns:96px 230px minmax(0,1fr);gap:22px;align-items:stretch}
body[data-page=patient] .welcome{display:contents}
body[data-page=patient] .services{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:8px;width:96px;align-self:stretch;justify-content:center}
body[data-page=patient] .service{width:96px;min-height:58px;padding:7px 5px;border-radius:13px;flex-direction:column;justify-content:center;text-align:center;gap:4px}
body[data-page=patient] .service-icon{width:28px;height:28px;font-size:16px;border-radius:9px}
body[data-page=patient] .service strong{font-size:9px;line-height:1.08;margin:0;overflow-wrap:normal;word-break:normal}
body[data-page=patient] .service small{display:none}
body[data-page=patient] .room-label{grid-column:2;grid-row:1;margin:0;align-self:start;padding-top:14px}
body[data-page=patient] .room-icon{width:52px;height:52px}
body[data-page=patient] .room-label small{font-size:10px}
body[data-page=patient] .room-label strong{font-size:24px;letter-spacing:-.5px}
body[data-page=patient] .urgent-note{grid-column:2;grid-row:1;align-self:start;margin-top:104px;padding:16px 14px;border:1px solid #ead9b7;border-radius:15px;background:#fff9ec;color:#5f6d67}
body[data-page=patient] .urgent-note>span{font-size:31px;color:#a26921}
body[data-page=patient] .urgent-note p{font-size:15px;line-height:1.45;margin:0}
body[data-page=patient] .urgent-note strong{font-size:17px;color:#233b38}
body[data-page=patient] .companion-card{grid-column:3;grid-row:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:0;padding:30px 64px;border-radius:28px}
body[data-page=patient] .avatar-zone{height:250px}
body[data-page=patient] .avatar-halo{width:230px;height:230px}
body[data-page=patient] .avatar{width:150px;height:156px}
body[data-page=patient] .companion-card h2{font-size:26px;margin:12px 0 10px}
body[data-page=patient] .companion-description{font-size:17px;line-height:1.7;margin-bottom:28px}
body[data-page=patient] .start{min-height:68px;font-size:19px;border-radius:15px}
body[data-page=patient] .start>span:first-child{font-size:31px}
body[data-page=patient] #session-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body[data-page=patient] #session-controls[hidden]{display:none!important}
body[data-page=patient] .chat{max-height:190px}
@media(max-height:760px) and (min-width:761px){body[data-page=patient] .patient-layout{padding:18px 30px;grid-template-columns:92px 210px minmax(0,1fr);gap:18px}body[data-page=patient] .services{width:92px;gap:6px}body[data-page=patient] .service{width:92px;min-height:50px}body[data-page=patient] .urgent-note{margin-top:92px;padding:12px}body[data-page=patient] .urgent-note p{font-size:13px}body[data-page=patient] .urgent-note strong{font-size:15px}body[data-page=patient] .companion-card{padding:22px 50px}body[data-page=patient] .avatar-zone{height:190px}body[data-page=patient] .avatar-halo{width:180px;height:180px}body[data-page=patient] .avatar{width:120px;height:125px}body[data-page=patient] .companion-card h2{font-size:22px}body[data-page=patient] .companion-description{font-size:15px;margin-bottom:18px}body[data-page=patient] .start{min-height:58px}}
@media(max-width:760px){body[data-page=patient] .brand small,body[data-page=patient] .brand-divider{display:inline-block}body[data-page=patient] .patient-layout{padding:18px;display:grid;grid-template-columns:1fr;gap:14px}body[data-page=patient] .welcome{display:block}body[data-page=patient] .room-label{padding-top:0;margin-bottom:12px}body[data-page=patient] .urgent-note{margin:0 0 14px;padding:13px}body[data-page=patient] .services{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}body[data-page=patient] .service{width:auto;min-height:58px}body[data-page=patient] .companion-card{padding:22px 18px}body[data-page=patient] .avatar-zone{height:170px}body[data-page=patient] .avatar-halo{width:160px;height:160px}body[data-page=patient] .avatar{width:108px;height:112px}body[data-page=patient] .companion-card h2{font-size:21px}body[data-page=patient] .companion-description{font-size:14px}body[data-page=patient] .start{min-height:56px;font-size:15px}}
body[data-page=patient] header{padding:0 3%;gap:14px}
body[data-page=patient] .brand{flex:0 0 auto}
body[data-page=patient] .header-right{flex:0 0 auto}
body[data-page=patient] .top-room-status{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;color:var(--muted)}
body[data-page=patient] .top-room-status #header-room{font:800 18px Manrope,sans-serif;color:var(--green);white-space:nowrap}
body[data-page=patient] .top-help{font-size:12px;font-weight:600;color:#5f6d67;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
body[data-page=patient] .patient-layout{grid-template-columns:96px minmax(0,1fr);gap:24px;padding:26px 32px}
body[data-page=patient] .room-label,body[data-page=patient] .urgent-note{display:none}
body[data-page=patient] .companion-card{grid-column:2;padding-left:80px;padding-right:80px}
@media(max-height:760px) and (min-width:761px){body[data-page=patient] .patient-layout{grid-template-columns:92px minmax(0,1fr);gap:20px;padding:18px 28px}body[data-page=patient] .companion-card{padding-left:68px;padding-right:68px}body[data-page=patient] .top-help{font-size:13px}}
@media(max-width:760px){body[data-page=patient] header{height:auto;min-height:75px;padding:12px 16px;align-items:flex-start;gap:10px;flex-wrap:wrap}body[data-page=patient] .top-room-status{order:3;flex-basis:100%;justify-content:flex-start;gap:10px}body[data-page=patient] .top-room-status #header-room{font-size:15px}body[data-page=patient] .top-help{font-size:12px;white-space:normal;line-height:1.35}body[data-page=patient] .patient-layout{grid-template-columns:1fr;padding:14px 16px}body[data-page=patient] .services{grid-column:auto;grid-row:auto;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:0}body[data-page=patient] .companion-card{grid-column:auto;padding:20px 18px}}
body[data-page=patient] .top-help{color:#b3261e}
body[data-page=dashboard] .dashboard-layout{grid-template-rows:auto auto 1fr auto}
body[data-page=dashboard] .stats{grid-template-columns:repeat(3,1fr)}
body[data-page=dashboard] .stats>div:nth-child(3){border-right:0}
@media(max-width:760px){body[data-page=dashboard] .stats{grid-template-columns:1fr 1fr 1fr;margin:12px 0}body[data-page=dashboard] .stats>div{border-bottom:0!important;border-right:1px solid var(--line)}body[data-page=dashboard] .stats>div:nth-child(3){border-right:0}}
body[data-page=dashboard] header{padding:0 3%;gap:18px}
body[data-page=dashboard] .brand{flex:0 0 auto}
body[data-page=dashboard] .header-right{flex:0 0 auto}
body[data-page=dashboard] .top-stats{flex:1;margin:0;min-height:0;border:0;border-radius:0;background:transparent;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;overflow:visible}
body[data-page=dashboard] .top-stats>div{border:1px solid var(--line);border-radius:12px;background:white;padding:8px 12px}
body[data-page=dashboard] .top-stats small{font-size:9px}
body[data-page=dashboard] .top-stats strong{font-size:21px;margin:1px 0}
body[data-page=dashboard] .top-stats span{font-size:8px}
body[data-page=dashboard] .dashboard-tabs{position:static;display:grid;grid-template-columns:repeat(8,1fr);padding:8px 3%;box-shadow:0 10px 24px #233b3810}
body[data-page=dashboard] .dashboard-tabs button{min-height:52px}
body[data-page=dashboard] .dashboard-layout{height:calc(100vh - 94px - 70px);padding-top:14px;grid-template-rows:auto 1fr auto}
@media(max-height:760px) and (min-width:761px){body[data-page=dashboard] .dashboard-layout{height:calc(100vh - 78px - 64px)}body[data-page=dashboard] .dashboard-tabs button{min-height:46px}body[data-page=dashboard] .top-stats>div{padding:6px 10px}body[data-page=dashboard] .top-stats strong{font-size:18px}}
@media(max-width:760px){body[data-page=dashboard] header{height:auto;min-height:75px;padding:10px 16px;align-items:flex-start;flex-wrap:wrap}body[data-page=dashboard] .top-stats{order:3;flex-basis:100%;grid-template-columns:repeat(3,1fr);gap:6px}body[data-page=dashboard] .top-stats>div{padding:7px 8px}body[data-page=dashboard] .top-stats strong{font-size:18px}body[data-page=dashboard] .dashboard-tabs{grid-template-columns:repeat(4,1fr);padding:8px;gap:5px}body[data-page=dashboard] .dashboard-layout{height:auto;padding-top:12px}}
.brand{color:var(--green);text-decoration:none}
.brand-copy{display:flex;flex-direction:column;gap:1px;line-height:1.05}
.brand-copy>span{font:800 21px Manrope,sans-serif;letter-spacing:-.8px;color:var(--green)}
.brand-copy small{font:700 9px 'DM Sans',sans-serif;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}
@media(max-width:760px){.brand-copy>span{font-size:17px}.brand-copy small{font-size:8px}}
body[data-page=patient] .welcome{display:none}
body[data-page=patient] .patient-layout{grid-template-columns:minmax(0,1fr);gap:0;padding:26px 32px}
body[data-page=patient] .companion-card{grid-column:1;padding-left:96px;padding-right:96px}
@media(max-height:760px) and (min-width:761px){body[data-page=patient] .patient-layout{grid-template-columns:minmax(0,1fr);gap:0;padding:18px 28px}body[data-page=patient] .companion-card{padding-left:72px;padding-right:72px}}
@media(max-width:760px){body[data-page=patient] .welcome{display:none}body[data-page=patient] .patient-layout{grid-template-columns:1fr;gap:0;padding:14px 16px}body[data-page=patient] .companion-card{grid-column:1;padding:20px 18px}}
.staff-request-list{display:grid;gap:8px;margin:12px 0}
.staff-request-list button{border:1px solid var(--line);background:white;border-radius:10px;padding:11px;text-align:left;color:var(--ink)}
.staff-request-list button.selected{border-color:var(--green);background:#edf3e7}
.staff-request-list strong{display:block;font-size:12px;margin-bottom:4px}
.staff-request-list span,.staff-request-list p{display:block;margin:0;color:var(--muted);font-size:12px;line-height:1.45}
body[data-page=patient] .patient-requests{display:none}
body[data-page=patient]{min-height:100vh;overflow:hidden;background:#eaf7ff url("assets/ocean.gif") center/cover no-repeat;color:#0d3762}
body[data-page=patient][data-theme=night]{background-color:#101d3a;background-image:url("assets/night.gif");color:#f7df9a}
body[data-page=patient]::before{content:"";position:fixed;left:0;top:22vh;width:43vw;height:54vh;background:#eef8ff;z-index:0;pointer-events:none}
body[data-page=patient][data-theme=night]::before{left:0;top:40vh;width:100vw;height:58vh;background:radial-gradient(ellipse at 50% 55%,#101d3a 0 34%,rgba(16,29,58,.96) 48%,rgba(16,29,58,0) 72%)}
body[data-page=patient] header{position:fixed;inset:0 0 auto 0;height:72px;padding:18px 26px;border:0;background:transparent;z-index:4}
body[data-page=patient] .brand,body[data-page=patient] .top-room-status,body[data-page=patient] .connection{display:none}
body[data-page=patient] .header-right{margin-left:auto;gap:12px}
body[data-page=patient] .text-button{border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:999px;background:color-mix(in srgb,white 52%,transparent);color:inherit;padding:9px 15px;font-weight:700;font-size:12px;backdrop-filter:blur(8px)}
body[data-page=patient][data-theme=night] .text-button{background:color-mix(in srgb,#101d3a 60%,transparent);color:#f7df9a;border-color:#f7df9a66}
body[data-page=patient] .patient-layout{height:100vh;min-height:0;display:block;padding:0;max-width:none}
body[data-page=patient] .companion-card{height:100vh;width:100%;border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;display:block;text-align:left;color:inherit}
body[data-page=patient] .patient-clock{position:absolute;left:7.1vw;top:31.8vh;color:#0d3762;z-index:1}
body[data-page=patient][data-theme=night] .patient-clock{left:0;right:0;top:54vh;text-align:center;color:#f7df9a}
body[data-page=patient] .patient-clock div{display:flex;align-items:flex-end;gap:16px}
body[data-page=patient][data-theme=night] .patient-clock div{justify-content:center}
body[data-page=patient] .patient-clock span{font:800 92px/.82 Manrope,sans-serif;letter-spacing:0}
body[data-page=patient] .patient-clock small{font:800 24px/1 Manrope,sans-serif;opacity:.58;margin-bottom:10px}
body[data-page=patient] .patient-clock p{margin:18px 0 0;font-size:21px;font-weight:500;color:#3f84c7}
body[data-page=patient][data-theme=night] .patient-clock p{color:#c7aa68}
body[data-page=patient] .patient-clock i{display:block;width:52px;height:4px;border-radius:99px;background:#3b8bd0;margin-top:32px}
body[data-page=patient][data-theme=night] .patient-clock i{display:none}
body[data-page=patient] .avatar-zone{display:none}
body[data-page=patient] .start{position:absolute;left:7.1vw;top:61.2vh;width:auto;min-width:256px;min-height:62px;padding:8px 24px 8px 9px;gap:16px;border-radius:999px;background:#ffffffd9;color:#0d3762;border:1px solid #b8d9f5;box-shadow:0 12px 24px #3678b526;font:800 18px Manrope,sans-serif;backdrop-filter:blur(10px);z-index:1}
body[data-page=patient][data-theme=night] .start{left:50%;top:74.5vh;transform:translateX(-50%);background:transparent;color:#ffe58f;border:2px solid #ffe58f;box-shadow:none;padding:0 40px;min-width:306px;justify-content:center}
body[data-page=patient] .start>span:first-child{display:grid;place-items:center;width:42px;height:42px;margin:0;background:#3b8bd0;color:white;border-radius:50%;font-size:21px}
body[data-page=patient][data-theme=night] .start>span:first-child,body[data-page=patient][data-theme=night] .start>span:last-child{display:none}
body[data-page=patient] .start>span:last-child{margin-left:0;font-size:0}
body[data-page=patient] .start>span:last-child::after{content:"";font-size:18px}
body[data-page=patient] #session-controls{position:absolute;left:7.1vw;top:61.2vh;width:min(420px,86vw);grid-template-columns:1fr 1fr}
body[data-page=patient][data-theme=night] #session-controls{left:50%;top:74.5vh;transform:translateX(-50%)}
body[data-page=patient] .chat,body[data-page=patient] .pending{position:absolute;left:7.1vw;top:72vh;width:min(520px,86vw);max-height:22vh;overflow:auto;background:#ffffffd9;border:1px solid #b8d9f5;border-radius:18px;padding:14px;backdrop-filter:blur(10px)}
body[data-page=patient][data-theme=night] .chat,body[data-page=patient][data-theme=night] .pending{left:50%;top:84vh;transform:translateX(-50%);background:#101d3acc;border-color:#ffe58f66;color:#ffecc0}
body[data-page=patient] footer{position:fixed;right:34px;bottom:28px;display:block;margin:0;padding:0;border:0;text-align:right;z-index:2;font:800 11px Manrope,sans-serif;color:#3f84c7;letter-spacing:.3px}
body[data-page=patient][data-theme=night] footer{color:#c7aa68}
body[data-page=patient] footer small{font:800 8px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:2px;opacity:.8}
body[data-page=patient] footer a{display:none}
@media(max-width:760px){
body[data-page=patient]{min-height:100svh;overflow:hidden;background-position:center center}
body[data-page=patient]::before{left:0;top:20vh;width:100vw;height:58vh;background:radial-gradient(ellipse at 50% 48%,#eef8ff 0 36%,rgba(238,248,255,.92) 48%,rgba(238,248,255,0) 72%)}
body[data-page=patient][data-theme=night]::before{top:36vh;height:62vh;background:radial-gradient(ellipse at 50% 52%,#101d3a 0 38%,rgba(16,29,58,.96) 52%,rgba(16,29,58,0) 76%)}
body[data-page=patient] header{height:62px;padding:12px 14px;min-height:62px}
body[data-page=patient] .header-right{gap:8px}
body[data-page=patient] .text-button{padding:8px 12px;font-size:11px}
body[data-page=patient] .patient-layout,body[data-page=patient] .companion-card{height:100svh}
body[data-page=patient] .patient-clock{left:0;right:0;top:31vh;text-align:center}
body[data-page=patient][data-theme=night] .patient-clock{top:48vh}
body[data-page=patient] .patient-clock div{justify-content:center;gap:10px}
body[data-page=patient] .patient-clock span{font-size:56px;line-height:.88}
body[data-page=patient] .patient-clock small{font-size:16px;margin-bottom:6px}
body[data-page=patient] .patient-clock p{font-size:15px;margin-top:12px}
body[data-page=patient] .patient-clock i{width:42px;height:3px;margin:20px auto 0}
body[data-page=patient] .start{left:50%;top:58vh;transform:translateX(-50%);width:calc(100vw - 48px);max-width:330px;min-width:0;min-height:56px;font-size:16px;justify-content:center}
body[data-page=patient] .start>span:first-child,body[data-page=patient] .start>span:last-child{margin:0}
body[data-page=patient][data-theme=night] .start{top:68vh;width:calc(100vw - 64px);max-width:320px;min-width:0}
body[data-page=patient] #session-controls{left:50%;top:58vh;transform:translateX(-50%);width:calc(100vw - 48px);max-width:360px}
body[data-page=patient][data-theme=night] #session-controls{top:68vh}
body[data-page=patient] .chat,body[data-page=patient] .pending{left:20px;top:70vh;width:calc(100vw - 40px);max-height:20vh}
body[data-page=patient][data-theme=night] .chat,body[data-page=patient][data-theme=night] .pending{left:20px;top:80vh;width:calc(100vw - 40px);transform:none}
body[data-page=patient] footer{right:18px;bottom:18px;font-size:9px}
body[data-page=patient] footer small{font-size:7px;letter-spacing:1.6px}
}
body[data-page=log]{height:100vh;overflow:hidden;background:#f8faf5}
body[data-page=log] header{height:96px;padding:0 22px;gap:14px}
.log-header-stats{display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;min-width:330px;max-width:430px;flex:1}
.log-header-stats>div{padding:8px 10px;border-right:1px solid var(--line)}
.log-header-stats>div:last-child{border-right:0}
.log-header-stats small{display:block;font-size:9px;color:var(--muted);font-weight:700;white-space:nowrap}
.log-header-stats strong{display:block;font:600 22px Manrope,sans-serif;margin-top:2px}
.log-header-controls{display:flex;align-items:end;gap:8px;flex:1.2;min-width:520px}
.log-header-controls label{font-size:10px;color:var(--muted);font-weight:700}
.log-header-controls input{display:block;margin-top:4px;min-width:142px;padding:9px}
.log-header-controls select{min-width:135px;padding:10px}
.log-header-controls .secondary{min-height:40px;padding:9px 12px;white-space:nowrap}
.log-layout{height:calc(100vh - 96px);padding:14px 22px 22px;display:grid;grid-template-rows:1fr;gap:14px}
.log-top{display:flex;align-items:end;justify-content:space-between;gap:20px}
.log-top h1{font-size:32px;margin:6px 0 0;letter-spacing:-1px}
.log-filters{display:flex;align-items:end;gap:10px}
.log-filters label{font-size:11px;color:var(--muted);font-weight:700}
.log-filters input{display:block;margin-top:5px;min-width:158px;padding:10px}
.log-sheet{min-height:0;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid;grid-template-rows:1fr}
.log-table-wrap{overflow:auto}
.log-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1500px}
.log-table th,.log-table td{padding:11px 12px;border-right:1px solid #edf1eb;border-bottom:1px solid #edf1eb;text-align:left;vertical-align:top}
.log-table th{position:sticky;top:0;background:#f4f7ef;color:#596b62;font-size:10px;text-transform:uppercase;letter-spacing:.8px;z-index:1}
.log-table td:first-child,.log-table th:first-child{text-align:center;width:44px}
.log-table td:nth-child(9){min-width:270px;line-height:1.5}
.log-table tr:hover td{background:#fbfcf8}
.log-table td.duration-cell{font-weight:700;color:#32443d}
.log-table td.duration-warning{background:#fff2ca;color:#745112}
.log-table td.duration-danger{background:#ffe1dc;color:#96362f}
.log-table tr:hover td.duration-warning{background:#ffe8a3}
.log-table tr:hover td.duration-danger{background:#ffc9c0}
.log-empty{text-align:center!important;color:var(--muted);padding:44px!important}
@media(max-width:1180px){body[data-page=log] header{height:auto;min-height:96px;flex-wrap:wrap;padding:14px 22px}.log-header-stats{max-width:none}.log-header-controls{order:4;min-width:100%;align-items:stretch}.log-header-controls input,.log-header-controls select{min-width:0}.log-layout{height:calc(100vh - 150px)}}
@media(max-width:760px){body[data-page=log]{overflow:auto;height:auto}body[data-page=log] header{height:auto;min-height:75px;flex-wrap:wrap;padding:14px 18px}.log-header-stats{order:3;min-width:100%;max-width:none}.log-header-controls{order:4;min-width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:end}.log-header-controls label,.log-header-controls select{grid-column:span 2}.log-layout{height:auto;padding:18px}.log-top,.log-filters{align-items:stretch;flex-direction:column}.log-sheet{min-height:520px}}

/* Major workflow redesign */
body[data-page=patient]{--patient-bg:#f8faf7;--patient-ink:#1f2c29;--patient-muted:#687571;--patient-bar:#2d6655;--patient-panel:#fff;min-height:100vh;overflow:hidden;background:var(--patient-bg)!important;color:var(--patient-ink)!important}
body[data-page=patient][data-theme=night]{--patient-bg:#0d1c17;--patient-ink:#dce5df;--patient-muted:#899791;--patient-bar:#17362d;--patient-panel:#13271f;background:var(--patient-bg)!important;color:var(--patient-ink)!important}
body[data-page=patient]::before{display:none!important}
body[data-page=patient] .patient-topbar{position:fixed;inset:0 0 auto 0;height:56px;padding:0 26px;background:var(--patient-bar)!important;color:white;border:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
body[data-page=patient] .room-chip{display:flex;align-items:center;gap:14px;font-size:14px}.room-chip strong{font-size:16px}.room-chip span{height:22px;border-left:1px solid #ffffff66}.room-chip small{font-size:14px;opacity:.78}
body[data-page=patient] .patient-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.language-tabs{display:flex;gap:2px;background:#ffffff1a;border-radius:8px;padding:4px}.language-tabs button{border:0;background:transparent;color:#ffffffbf;border-radius:6px;padding:7px 12px;font-size:12px;font-weight:800}.language-tabs button.selected{background:white;color:var(--patient-bar)}body[data-page=patient][data-theme=night] .language-tabs button.selected{background:#2b4d40;color:white}
body[data-page=patient] .text-button{position:static!important;border:1px solid #ffffff50;border-radius:8px!important;background:transparent!important;color:white!important;padding:8px 13px!important;font-weight:700!important}
body[data-page=patient] .patient-main,body[data-page=patient] .patient-layout,body[data-page=patient] .companion-card{height:100vh!important;width:100%!important;display:block!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important}
body[data-page=patient] .talk-panel{width:min(960px,calc(100vw - 48px));margin:0 auto;padding-top:86px;text-align:center;height:100vh;display:flex;flex-direction:column;align-items:stretch}
body[data-page=patient] .patient-clock{position:static!important;color:white!important;text-align:center!important;line-height:1}.patient-clock div{justify-content:center!important;gap:5px}.patient-clock span{font:800 28px/.85 Manrope,sans-serif!important}.patient-clock small{font:800 16px Manrope,sans-serif!important;opacity:.78;margin:0}.patient-clock p{margin:3px 0 0!important;color:#ffffffb8!important;font-size:12px!important}.patient-clock i{display:none!important}
.talk-button{position:relative;margin:0 auto;width:154px;height:154px;border-radius:50%;border:8px solid color-mix(in srgb,var(--patient-bar) 16%,transparent);background:var(--patient-bar);color:white;display:grid;place-items:center;box-shadow:0 18px 42px #1a3a2f22;isolation:isolate}.talk-button:disabled{opacity:1}.talk-button::before,.talk-button::after{content:"";position:absolute;inset:-16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--patient-bar) 22%,transparent);opacity:0;z-index:-1}.mic-icon{position:relative;width:58px;height:72px;color:white;display:block;transform:scale(.88)}.mic-icon::before{content:"";position:absolute;left:50%;top:0;width:23px;height:39px;border:6px solid currentColor;border-radius:999px;transform:translateX(-50%);box-sizing:border-box}.mic-icon::after{content:"";position:absolute;left:50%;top:31px;width:50px;height:32px;border:6px solid currentColor;border-top:0;border-radius:0 0 999px 999px;transform:translateX(-50%);box-sizing:border-box}.mic-icon i{position:absolute;left:50%;bottom:0;width:34px;height:6px;border-radius:999px;background:currentColor;transform:translateX(-50%)}.mic-icon i::before{content:"";position:absolute;left:50%;bottom:0;width:6px;height:19px;border-radius:999px;background:currentColor;transform:translateX(-50%)}
body[data-page=patient] h1#tap-title{font:800 32px Manrope,sans-serif;letter-spacing:0;margin:18px 0 8px;color:inherit}.tap-subtitle{width:min(760px,100%);margin:0 auto 18px;color:var(--patient-ink);font-size:18px;line-height:1.35;font-weight:500}.helper-card{display:none}.helper-card p{margin:0 0 4px}.helper-card p:last-child{margin-bottom:0}.requests-title{text-align:left;margin:14px 0 6px;font:800 22px Manrope,sans-serif;color:inherit}
body[data-page=patient] .patient-requests{display:block!important;flex:1;overflow:auto;min-height:0;margin:0 0 30px;padding-right:3px;text-align:left}.patient-request-card{display:grid;grid-template-columns:46px 1fr 112px auto;align-items:center;gap:12px;background:color-mix(in srgb,var(--patient-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--patient-muted) 20%,transparent);border-radius:12px;padding:8px 14px;margin-bottom:8px}.request-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e7f0eb;color:var(--patient-bar);font-size:20px}.received .request-icon{background:#fff1d6;color:#9a6718}.patient-request-card strong{display:block;font-size:18px}.patient-request-card small{display:block;color:var(--patient-muted);margin-top:2px;font-size:14px}.patient-request-card>span{border-radius:999px;padding:7px 13px;font-size:14px;font-weight:800}.patient-request-card.received>span{background:#fff1d6;color:#9a6718}.patient-request-card.way>span{background:#dff0e9;color:#28624f}.patient-request-card.done>span{background:#e9ece8;color:#65706b}.progress-bars{display:flex;gap:5px;justify-content:flex-end}.progress-bars i{width:34px;height:4px;border-radius:9px;background:#dce3df}.received .progress-bars i:first-child,.way .progress-bars i:nth-child(-n+2),.done .progress-bars i{background:var(--patient-bar)}
.emergency-note{position:relative;width:min(760px,100%);margin:6px auto 0;padding:12px 20px;text-align:center;color:#a92820;background:#fff0ef;border:1px solid #e6a09b;border-radius:14px;font-size:18px;line-height:1.2;font-weight:800}.emergency-note::before{display:none}.stop-talk{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:6;min-height:58px!important;padding:16px 34px!important;border:0!important;border-radius:15px!important;background:#d9782f!important;color:white!important;box-shadow:0 12px 26px #b85f2433;font-size:18px!important;font-weight:800!important}.stop-talk:hover{background:#c96b26!important;text-decoration:none}.conversation-active .talk-button{box-shadow:0 0 0 16px color-mix(in srgb,var(--patient-bar) 15%,transparent),0 14px 32px #1a3a2f24}.conversation-active .talk-button::before,.conversation-active .talk-button::after{animation:talkPulse 1.9s ease-out infinite}.conversation-active .talk-button::after{animation-delay:.55s}body[data-voice-state=speaking] .talk-button::before,body[data-voice-state=speaking] .talk-button::after{animation-duration:1.35s}body[data-page=patient].conversation-active .helper-card,body[data-page=patient].conversation-active .patient-requests,body[data-page=patient].conversation-active .chat,body[data-page=patient].conversation-active .pending,body[data-page=patient].conversation-active .emergency-note,body[data-page=patient].conversation-active footer,body[data-page=patient].conversation-active #tap-title,body[data-page=patient].conversation-active .tap-subtitle,body[data-page=patient].conversation-active .patient-actions,body[data-page=patient].conversation-active .requests-title{display:none!important}.conversation-active .talk-panel{justify-content:center;padding-top:56px}
@keyframes talkPulse{0%{transform:scale(.98);opacity:.56}70%{transform:scale(1.2);opacity:0}100%{transform:scale(1.2);opacity:0}}
body[data-page=patient] footer{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;text-align:center;border:0;padding:0;margin:0;color:var(--patient-muted);font-size:11px;z-index:2}
body[data-page=patient] dialog{max-width:560px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px}.settings-grid label{margin:0}.settings-grid small{color:#9aa39f;margin-left:4px}.dialog-actions{justify-content:space-between}.dialog-actions>span{flex:1}.danger{color:#d4533f!important;border:1px solid #f0b7ad!important;border-radius:9px!important}
.staff-request-list button{position:relative}.staff-request-list em{position:absolute;right:12px;top:12px;background:#e6f0eb;color:#28624f;border-radius:999px;padding:5px 10px;font-style:normal;font-size:11px;font-weight:800}
body[data-page=dashboard]{height:100vh;overflow:hidden;background:#f6f8f5}.staff-topbar{height:56px!important;padding:0 24px!important;background:#2d6655!important;color:white!important;border:0!important}.staff-topbar .brand{color:white!important}.staff-topbar .brand span:first-child{font-weight:800}.staff-topbar .brand-stack{display:grid;gap:1px;line-height:1}.staff-topbar .brand-stack small{font-size:8px!important;letter-spacing:2px!important;text-transform:uppercase}.staff-topbar small{color:#ffffffb8!important;font-size:14px!important;letter-spacing:0!important}.staff-actions{display:flex;align-items:center;gap:10px}.staff-actions .text-button{border:1px solid #ffffff50;border-radius:8px;color:white!important;padding:8px 13px}
.staff-metrics{height:96px;display:grid;grid-template-columns:repeat(4,1fr);background:white;border-bottom:1px solid var(--line)}.staff-metrics>div{padding:15px 24px;border-right:1px solid var(--line)}.staff-metrics small{display:block;color:#6b7772;font-weight:800}.staff-metrics strong{display:block;font:800 31px Manrope,sans-serif;line-height:1}.staff-metrics span{color:#687571;font-size:13px}
.staff-layout{height:calc(100vh - 152px);display:grid;grid-template-columns:280px 1fr;transition:grid-template-columns .2s ease}.department-sidebar{border-right:1px solid var(--line);background:white;padding:22px 16px;overflow:auto}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sidebar-toggle{display:grid!important;place-items:center!important;width:34px;height:34px;border:1px solid var(--line)!important;border-radius:10px!important;background:#f7faf6!important;color:#2d6655!important;padding:0!important;font-size:25px!important;line-height:1!important}.sidebar-toggle:hover{background:#e9f2ed!important}.department-sidebar nav{display:grid;gap:8px}.department-sidebar button{border:0;background:transparent;border-radius:10px;padding:13px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink);font-weight:700;text-align:left}.department-sidebar button span{flex:1;min-width:0;text-align:left}.department-sidebar button.selected{background:#e9f2ed;color:#2d6655;outline:1px solid #bcd7cc}.department-sidebar b{background:#eef1ee;border-radius:999px;min-width:24px;padding:3px 7px;color:#6b7772;text-align:center;flex-shrink:0}.department-sidebar .has-new b{background:#d4533f;color:white}.sidebar-collapsed .staff-layout{grid-template-columns:58px 1fr}.sidebar-collapsed .department-sidebar{padding:14px 10px;overflow:hidden}.sidebar-collapsed .department-sidebar .eyebrow,.sidebar-collapsed .department-sidebar nav{display:none}.sidebar-collapsed .sidebar-head{justify-content:center;margin:0}.sidebar-collapsed .sidebar-toggle{width:38px;height:38px}
.staff-board{padding:24px;min-width:0;overflow:hidden}.staff-board-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.staff-board h1{font-size:22px;margin:0 0 4px;letter-spacing:0}.staff-board p{margin:0;color:#6b7772}.filters .selected{background:#2d6655!important;color:white!important}.staff-table{height:calc(100% - 58px);overflow:auto;background:white;border:1px solid var(--line);border-radius:13px}.staff-table-head,.staff-row{display:grid;grid-template-columns:145px 1.3fr .85fr 120px 140px 120px;gap:0;align-items:center}.staff-table-head{position:sticky;top:0;z-index:1;background:#f8faf7;color:#6b7772;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:800}.staff-table-head span,.staff-row>div{padding:12px 20px}.staff-row{border-top:1px solid var(--line);min-height:68px}.staff-row.urgent{box-shadow:inset 4px 0 #d4533f;background:#fffafa}.staff-room strong{display:block;font:800 25px Manrope,sans-serif}.staff-room small,.staff-row small{display:block;color:#6b7772}.staff-row .primary{min-height:36px;border-radius:8px;font-weight:800}.muted-action{color:#687571;font-size:13px}
@media(max-width:760px){body[data-page=patient]{overflow:hidden;height:100svh}.patient-topbar{height:auto!important;min-height:58px;display:grid!important;grid-template-columns:1fr auto;padding:10px 14px!important}.patient-actions{grid-column:1/-1;width:100%;justify-content:space-between;gap:6px}.language-tabs{overflow:auto}.language-tabs button{padding:7px 9px}.talk-panel{height:100svh!important;min-height:0;padding:126px 14px 42px}.patient-clock span{font-size:22px!important}.patient-clock small{font-size:12px!important}.patient-clock p{font-size:10px!important}.talk-button{width:136px;height:136px}.mic-icon{transform:scale(.76)}.tap-subtitle{font-size:16px;margin-bottom:14px}.emergency-note{margin-top:10px;padding:11px 14px;font-size:14px}.requests-title{font-size:19px;margin-top:12px}.conversation-active .talk-panel{min-height:0;padding-top:126px}.conversation-active .stop-talk{bottom:22px;min-height:56px!important;padding:15px 28px!important;font-size:17px!important}.patient-requests{max-height:none!important;margin-bottom:54px;overflow:auto!important}.patient-request-card{grid-template-columns:42px 1fr;gap:8px}.patient-request-card .progress-bars,.patient-request-card>span{justify-self:start}.settings-grid{grid-template-columns:1fr}.staff-layout,.sidebar-collapsed .staff-layout{display:block;height:auto}.department-sidebar{border-right:0}.sidebar-collapsed .department-sidebar .eyebrow,.sidebar-collapsed .department-sidebar nav{display:block}.sidebar-collapsed .department-sidebar{padding:22px 16px;overflow:auto}.staff-metrics{height:auto;grid-template-columns:1fr 1fr}.staff-layout,.staff-board{overflow:visible}.staff-table{height:auto}.staff-table-head{display:none}.staff-row{grid-template-columns:1fr;gap:0}.staff-row>div{padding:9px 14px}}

.mobile-language-pill,.mobile-menu-button,.mobile-menu-backdrop,.sheet-handle,.sheet-label{display:none}
@media(max-width:760px){
body[data-page=patient]{height:100svh;overflow:hidden;background:#fbfdfb!important}
body[data-page=patient] .patient-topbar{height:58px!important;min-height:58px!important;padding:0 18px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important}
body[data-page=patient] .room-chip{min-width:0;gap:0}
body[data-page=patient] .room-chip strong{font-size:18px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-page=patient] .room-chip span,body[data-page=patient] .room-chip small,body[data-page=patient] .patient-clock{display:none!important}
.mobile-language-pill,.mobile-menu-button{display:flex;align-items:center;justify-content:center;border:0;color:white;background:#ffffff1a;min-height:40px;border-radius:999px;font-weight:800}
.mobile-language-pill{gap:7px;padding:0 14px;font-size:14px}.mobile-language-pill span{font-size:16px;opacity:.9}.mobile-menu-button{width:40px;padding:0;font-size:18px;letter-spacing:1px}
body[data-page=patient] .patient-actions{position:fixed;left:0;right:0;bottom:0;z-index:21;display:grid!important;grid-template-columns:1fr 1fr;gap:12px;width:auto;padding:18px 18px max(22px,env(safe-area-inset-bottom));background:var(--patient-panel);border-radius:24px 24px 0 0;box-shadow:0 -18px 50px #14251c2b;transform:translateY(105%);transition:transform .22s ease;color:var(--patient-ink)}
body[data-page=patient].mobile-menu-open .patient-actions{transform:translateY(0)}
.mobile-menu-backdrop{position:fixed;inset:0;z-index:4;border:0;background:#16241d66;backdrop-filter:blur(1px)}
body[data-page=patient].mobile-menu-open .mobile-menu-backdrop{display:block}
.sheet-handle{display:block;grid-column:1/-1;justify-self:center;width:44px;height:4px;border-radius:999px;background:#d8dfda;margin:-6px 0 8px}
.sheet-label{display:block;grid-column:1/-1;color:var(--patient-muted);font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase;text-align:left}
body[data-page=patient] .language-tabs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:transparent;gap:10px;padding:0;overflow:visible}
body[data-page=patient] .language-tabs button{min-height:58px;border:1px solid var(--line);background:white;color:var(--patient-ink);border-radius:13px;font-size:18px;font-weight:800}
body[data-page=patient] .language-tabs button.selected{background:var(--patient-bar);color:white;border-color:var(--patient-bar)}
body[data-page=patient] .display-toggle{display:none!important}
.staff-label{margin-top:6px}
body[data-page=patient] .patient-actions .text-button{min-height:58px!important;border:1px solid var(--line)!important;background:white!important;color:var(--patient-ink)!important;border-radius:13px!important;font-size:18px!important;font-weight:800!important}
body[data-page=patient] .talk-panel{width:100%;height:100svh!important;padding:86px 18px 16px!important;display:flex;flex-direction:column;overflow:hidden}
body[data-page=patient] .talk-button{width:142px;height:142px;border-width:6px;box-shadow:0 12px 36px #1a3a2f20;margin-top:0}
body[data-page=patient] .mic-icon{transform:scale(.76)}
body[data-page=patient] h1#tap-title{font-size:27px;margin:14px 0 7px}
body[data-page=patient] .tap-subtitle{width:min(340px,100%);font-size:16px;line-height:1.45;margin-bottom:14px}
body[data-page=patient] .emergency-note{width:100%;margin:0 auto 12px;padding:11px 13px;font-size:14px;line-height:1.25;border-radius:14px}
body[data-page=patient] .requests-title{display:flex;align-items:center;justify-content:space-between;font-size:20px;margin:0 6px 10px}
body[data-page=patient] .requests-title::after{content:"Live";font:700 13px 'DM Sans',sans-serif;color:var(--patient-muted)}
body[data-page=patient] .patient-requests{flex:1;overflow:auto!important;min-height:0;margin:0;padding:0 0 8px}
body[data-page=patient] .patient-request-card{position:relative;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:7px 10px;border-radius:14px;padding:12px 12px;margin-bottom:10px;background:white}
body[data-page=patient] .request-icon{grid-row:1/3;width:38px;height:38px;font-size:19px}
body[data-page=patient] .patient-request-card strong{font-size:17px;line-height:1.2}
body[data-page=patient] .patient-request-card small{font-size:13px;line-height:1.35}
body[data-page=patient] .patient-request-card>span{grid-column:3;grid-row:1;padding:6px 10px;font-size:13px;white-space:nowrap}
body[data-page=patient] .progress-bars{grid-column:2/4;grid-row:2;justify-content:stretch;align-self:end}
body[data-page=patient] .progress-bars i{flex:1;width:auto;height:4px}
body[data-page=patient] footer{display:none!important}
body[data-page=patient].conversation-active .mobile-language-pill,body[data-page=patient].conversation-active .mobile-menu-button{display:none!important}
body[data-page=patient].conversation-active .talk-panel{padding-top:108px!important;justify-content:center}
body[data-page=patient].conversation-active .talk-button{width:150px;height:150px}
body[data-page=patient].conversation-active .stop-talk{bottom:28px;min-height:58px!important;padding:16px 32px!important;font-size:18px!important}
}
