/* Approved Varius schedule/contact-centre concept, 20 September 2026. */
.horizon{--navy:#152c48;--teal:#008f86;--muted:#6d7f93;--line:#e5ebee;background:#f6f8f8;color:var(--navy)}
.horizon .sidebar{background:#fafcfb;border-right:1px solid #e5eeeb;padding:20px 12px}
.horizon .brand{font-size:29px;letter-spacing:2px;text-transform:uppercase;padding-left:8px;color:#12314e}
.horizon .tagline{padding-left:8px;font-size:10px}
.horizon .nav.active{background:#dff3ed;color:#006b65}
.horizon .nav.active svg{color:#008e81}
.horizon .mini-calendar{box-shadow:0 4px 16px #1c4c3710;border-color:#e4ebe8;border-radius:14px;padding:9px}
.horizon .main{padding:22px 20px 14px}
.horizon .top{padding-bottom:15px;border-bottom:1px solid #e4eae8}
.horizon h1{font-size:29px;letter-spacing:-.8px}
.horizon .top-right{gap:9px}
.horizon .account{font-size:11px}
.horizon .top-right>select{max-width:135px}
.horizon .main>.notice{background:#f1f6f5;border-color:#e3ede8}
.horizon .workarea{gap:18px;grid-template-columns:minmax(0,1fr) 310px}
.horizon .workarea.no-assistant{grid-template-columns:1fr}
.horizon button.primary{background:#008e83;border-color:#008e83;box-shadow:0 3px 9px #007e7420}
.horizon button.primary:hover{background:#00766d}
.contact-launch{color:#00776f;border-color:#c7e2da;background:#edf8f4}
.horizon .toolbar{gap:8px}
.horizon .schedule-scroll{border-radius:15px;border-color:#e1e9e6;max-height:calc(100vh - 230px);box-shadow:0 5px 24px #223e3405}
.horizon .schedule-scroll.overview{max-height:none}
.horizon .schedule-head{background:#fff}
.horizon .room-heading{padding:12px 8px 8px;text-align:left;position:relative;background:linear-gradient(#fff,#fcfdfd)}
.chair-identity{display:flex;align-items:center;gap:8px;min-height:45px}
.chair-identity>div{min-width:0;flex:1}
.horizon .chair-identity small{font-size:10px;color:#698178;display:block;margin-bottom:3px}
.horizon .chair-identity strong{font-size:11px;line-height:1.4;margin:0;white-space:normal}
.staff-avatar{display:inline-flex;width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;align-items:center;justify-content:center;color:#31576a;background:#e7f1ed;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--staff-color,#c9ddd5);font-size:12px;font-weight:650}
.staff-avatar img{width:100%;height:100%;object-fit:cover}
.portrait-button{padding:0;border:0;border-radius:50%;background:none}
.staff-cell{display:flex;gap:12px;align-items:center}
.staff-photo-editor{display:flex;gap:16px;align-items:center;margin-bottom:20px}.staff-photo-editor .staff-avatar{height:72px;width:72px;flex-basis:72px}
.chair-assistant{font-size:9px;line-height:1.45;color:#6d8191;margin:8px 0 5px;white-space:normal}
.additional-doctors{font-size:9px;color:#57776e}
.chair-assign summary{font-size:9px;cursor:pointer;color:#698579;padding:3px 0}
.chair-assign[open]{background:white;position:relative;z-index:6}
.horizon .room-column{border-color:#edf1ef}
.horizon .appointment{border-radius:7px;padding:4px 6px;border-left-width:2px;box-shadow:none}
.horizon .appointment strong{font-size:11px;margin:2px 0;line-height:1.35}
.horizon .appointment-status{font-size:9px;line-height:1.3}
.horizon .appointment-service{display:block;color:#617b83;font-size:10px}
.horizon .overview .appointment{padding:2px 5px;font-size:9px}
.horizon .overview .appointment strong{font-size:10px;margin:1px 0}
.horizon .overview .appointment-status{position:static;font-size:8px;line-height:1.1;background:transparent}
.horizon .overview .appointment-service,.horizon .overview .appointment .doctor{display:none}
.horizon .overview .tick{font-size:10px;padding-top:1px}
.horizon .legend{font-size:10px;gap:9px;margin-top:12px}
.contact-drawer{background:#fff;border:1px solid #e3eae7;border-radius:16px;padding:18px;position:sticky;top:16px;box-shadow:0 8px 30px #183c2805;min-width:0}
.contact-drawer h2{font-size:21px;margin:0 0 4px}.contact-drawer .panel-head{margin-bottom:15px}
.contact-drawer small{font-size:10px;color:#738897}
.contact-tabs{display:flex;gap:5px;flex-wrap:wrap;background:#f4f8f7;padding:5px;border-radius:10px}
.contact-tabs button{font-size:10px;padding:7px 8px;border:0;background:transparent;color:#668077}
.contact-tabs .selected{background:white;box-shadow:0 2px 7px #183c2810;color:#00786d}
.channel-state{font-size:10px;color:#7f8e91;margin:12px 0}
.channel-state i,.recording-idle span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a8b8b6;margin-right:6px}
.contact-list{max-height:260px;overflow:auto}
.contact-item{display:flex;width:100%;text-align:left;border:0;border-bottom:1px solid #edf1ee;padding:13px 0;gap:10px;background:white;border-radius:0;align-items:flex-start}
.contact-item>span:nth-child(2){flex:1;min-width:0}.contact-item strong{display:block;font-size:11px;overflow-wrap:anywhere}
.contact-item small{display:block;margin-top:5px;line-height:1.4}
.channel-icon{display:inline-flex;width:34px;height:34px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:#eff6f5;color:#4d9086}
.contact-blank{padding:22px 8px;text-align:center;color:#728b88}
.contact-blank>svg{width:30px;height:30px;display:block;margin:0 auto 12px;color:#82b1a5}
.contact-blank strong{display:block;font-size:12px;color:#395a56}
.contact-blank p{font-size:11px;line-height:1.6;margin:9px 0}
.contact-add{width:100%;font-size:11px;border-style:dashed;color:#167e71;background:#fafffc}
.contact-call{padding:19px 0 0;margin-top:20px;border-top:1px solid #e8eeeb}
.contact-call>.row{flex-wrap:nowrap;gap:8px}
.contact-call h3{font-size:12px;line-height:1.4;margin:0 0 3px}
.call-actions{display:flex;justify-content:space-around;margin:20px 0 16px;gap:6px}
.call-actions button{display:flex;flex-direction:column;gap:7px;border:0;font-size:9px;padding:9px 5px;background:#f5f7f8;color:#91a1a5;opacity:1}
.call-actions svg{width:21px;height:21px}
.recording-idle{font-size:10px;color:#849393;text-align:center;padding:11px;border:1px dashed #dce6e1;border-radius:8px}
.call-sections{display:flex;justify-content:space-around;font-size:10px;margin:18px 0;background:#f2f7f5;color:#698b81;padding:9px 0;border-radius:8px}
.contact-call h4{font-size:12px;margin:12px 0 6px}.contact-call>p{font-size:11px;line-height:1.65;color:#7a8e95}
.contact-ai{background:linear-gradient(120deg,#effbf6,#f8fcfa);border:1px solid #cbe8dc;border-radius:12px;padding:13px;margin-top:18px}
.contact-ai .row{font-size:11px;flex-wrap:nowrap;gap:7px;color:#187c6c}
.contact-ai p{font-size:11px;line-height:1.6;color:#607e73}.contact-ai small{font-size:9px}
.contact-ai-launch{width:100%;border-radius:30px;display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:11px;color:#257767;border-color:#d5e7dc;padding:12px}
.contact-page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.contact-page-heading h2{margin:0 0 8px;font-size:23px}.contact-page-heading p{color:#74887f;font-size:12px}
.contact-center-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);gap:18px;margin-bottom:20px}
.contact-center-grid>.contact-call{border:1px solid #e3eae7;border-radius:14px;background:white;padding:22px;margin:0}
.contact-center-grid>.panel{margin:0}.contact-inbox h2{font-size:20px}
.horizon .channel-card{background:white;border-radius:14px;border-color:#e0eae4}
@media(min-width:1700px){.horizon{grid-template-columns:205px minmax(0,1fr)}.horizon .workarea{grid-template-columns:minmax(0,1fr) 350px}.horizon .workarea.no-assistant{grid-template-columns:1fr}.horizon .room-heading{padding:15px 11px}.horizon .chair-identity strong{font-size:13px}.horizon .staff-avatar{width:43px;height:43px;flex-basis:43px}.horizon .chair-assistant{font-size:10px}}
@media(max-width:1180px){.horizon .workarea{grid-template-columns:1fr}.contact-drawer{position:fixed;z-index:8;right:15px;top:85px;width:320px;max-height:calc(100dvh - 105px);overflow:auto;box-shadow:0 15px 70px #173c3530}.horizon .top-right{flex-wrap:wrap;justify-content:flex-end}.contact-launch{font-size:11px}}
@media(max-width:760px){.horizon .main{padding:16px 12px}.horizon h1{font-size:24px}.contact-drawer{width:min(330px,calc(100vw - 24px));right:12px}.contact-center-grid{grid-template-columns:1fr}.contact-page-heading{align-items:flex-start;flex-direction:column}.horizon .top{align-items:flex-start}.horizon .account>span:not(.avatar){display:none}.horizon .top-right>select{display:none}}


/* Closer to approved concept 07: shared masthead, folded V, cool white panels. */
.horizon{--navy:#102d61;--muted:#7187a7;--teal:#008f88;background:#f8fbfc;grid-template-rows:auto 1fr;align-items:start}
.masthead{grid-column:1/-1;display:flex;align-items:center;gap:24px;min-height:70px;padding:12px 22px;background:#fff;border-bottom:1px solid #eaf0f5}
.brand,.horizon .brand{display:flex;align-items:center;gap:10px;padding:0;margin:0;white-space:nowrap;color:#0b2b60;font-size:25px;line-height:1;letter-spacing:2px;font-weight:750}
.brand-symbol{width:34px;height:37px;flex:none}
.masthead .brand{min-width:156px}
.masthead-search{display:flex;align-items:center;gap:10px;flex:1;max-width:460px;min-width:160px;padding:0 10px;background:#f5f8fc;border:1px solid #eaf0f5;border-radius:9px;color:#748ab0}
.masthead-search input{border:0;box-shadow:none;background:transparent;font-size:12px;padding:12px 0;min-width:0}
.masthead-search input::placeholder{color:#7b8eae}
.masthead-search button{border:0;background:transparent;padding:4px;color:#7b8eae}
.masthead .top-right{margin-left:auto;flex-wrap:nowrap}
.masthead .account{border-left:1px solid #edf1f6;padding-left:15px}
.masthead .account .avatar{background:#e7f3f1;color:#0c7977}
.horizon .sidebar{grid-column:1;grid-row:2;background:#f8fbfc;border:0;padding:8px 8px 16px;position:sticky;top:0;height:calc(100dvh / var(--ui-scale) - 70px)}
.horizon .mini-calendar{background:#fff;border:1px solid #edf2f6;box-shadow:0 4px 16px #233b6204;padding:12px 7px;margin-bottom:10px;border-radius:12px}
.horizon .calendar-title strong{font-size:11px;color:#173862}
.horizon .calendar-days button{min-height:25px;font-size:10px}
.horizon .navigation{background:#fff;border-radius:13px;padding:8px 5px;gap:5px}
.horizon .sidebar .nav{min-height:40px;padding:10px 9px;gap:10px;font-size:12px;color:#233d6d;border-radius:8px}
.horizon .nav.active{color:#008c86;background:#e2f5f3}
.horizon .nav .icon{width:20px;height:20px;flex:none}
.horizon .sidebar-footer{margin-top:12px;padding:12px 6px;border-top:1px solid #edf1f6}
.horizon .sidebar-footer p{font-size:9px}
.horizon .ai-nav{order:3;margin-top:auto;padding-top:16px}
.horizon .ai-nav .nav{background:linear-gradient(115deg,#eff9fa,#f1edff);border:1px solid #e8e9fa;font-size:11px}
.horizon .ai-nav svg{color:#009dcb}
.horizon .main{grid-column:2;grid-row:2;padding:10px 14px 14px 18px;min-width:0}
.horizon .workarea{gap:18px;align-items:start;grid-template-columns:minmax(0,1fr) 330px}
.horizon .workarea.no-assistant{grid-template-columns:1fr}
.page-heading{padding:5px 0 14px}
.page-heading h1{margin:0;color:#102e64;font-size:28px;letter-spacing:-.7px}
.page-heading p{margin:6px 0 0;font-size:14px;color:#5673a0;font-weight:550}
.horizon .content>.toolbar{margin-bottom:10px;gap:8px}
.horizon .toolbar button,.horizon .toolbar input,.horizon .toolbar select{font-size:11px;padding:8px}
.horizon .toolbar button.primary{padding:10px 18px}
.horizon .toolbar small{font-size:10px;color:#7a8da9}
.horizon .schedule-scroll{border-radius:12px;border-color:#e9eef5;box-shadow:none;background:#fff}
.horizon .room-heading{padding:13px 9px 7px;border-color:#edf0f6;background:#fff}
.horizon .chair-identity{align-items:flex-start;gap:9px}
.horizon .chair-identity small{color:#19386a;font-size:11px;font-weight:700;margin-bottom:5px}
.horizon .chair-identity strong{color:#244470;font-size:11px;font-weight:550;line-height:1.35}
.horizon .staff-avatar{width:40px;height:40px;flex-basis:40px;box-shadow:0 0 0 3px #f2f7fa;position:relative;overflow:visible}
.horizon .staff-avatar img{border-radius:50%}
.horizon .staff-avatar:after{content:'';position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--staff-color,#00968b)}
.horizon .chair-assistant{color:#7a8dac;margin:6px 0 3px;font-size:9px}
.horizon .chair-assign summary{color:#8193ae;font-size:9px}
.horizon .appointment{border:1px solid #ffffff80;border-left-width:2px;border-radius:5px;color:#45678e}
.horizon .appointment strong{color:#173963}
.horizon .appointment-status{color:#45678e}
.horizon .tick{color:#8498b7;border-color:#eef2f7}
.horizon .contact-drawer{border-color:#eef2f6;border-radius:13px;padding:16px;background:#fff;box-shadow:0 3px 18px #233d6505}
.horizon .contact-drawer h2{color:#0d2d62;font-size:23px;letter-spacing:-.5px}
.horizon .contact-tabs{background:#f5f8fc;border:1px solid #edf2f7;padding:3px}
.horizon .contact-tabs .selected{color:#008a83;background:#e4f6f3;box-shadow:none}
.horizon .contact-ai{background:linear-gradient(120deg,#eefaf7,#f7fdfd);border-color:#c4e9e1;border-radius:8px}
.horizon .contact-ai-launch{background:#fff;border-color:#e7edf4;color:#6881a4}
.preview-footnote{margin-top:14px}
.horizon .preview-footnote .notice{background:transparent;border:0;padding:0;font-size:10px;color:#8291a8}
@media(min-width:1700px){.horizon .workarea{grid-template-columns:minmax(0,1fr) 365px}.horizon .workarea.no-assistant{grid-template-columns:1fr}.horizon .main{padding-right:20px}.masthead{gap:35px}}
@media(max-width:1280px){.masthead{gap:12px;padding:12px}.masthead-search{max-width:260px}.masthead .account>span:not(.avatar){display:none}.masthead .top-right>select{max-width:120px}}
@media(max-width:1180px){.horizon .workarea{grid-template-columns:1fr}.masthead .contact-launch{font-size:10px}.masthead-search{max-width:none}}
@media(max-width:900px){.masthead{flex-wrap:wrap}.masthead-search{order:3;flex-basis:100%;max-width:none}.masthead .brand{min-width:0}.masthead .top-right{gap:5px}.masthead .account{padding-left:6px}.masthead .account .avatar{display:none}}
@media(max-width:760px){.horizon{display:block}.horizon .sidebar{position:fixed;top:0;height:calc(100dvh / var(--ui-scale));z-index:10}.horizon .main{padding:12px}.masthead .brand{font-size:20px;gap:5px}.brand-symbol{width:27px}.masthead .top-right>select,.masthead .account{display:none}.masthead .top-right .contact-launch{padding:7px}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}}

.demo-launcher{border:1px solid #bde2dc;background:#f1fbf8;padding:13px;border-radius:10px;margin:12px 0}.demo-launcher p{font-size:11px;line-height:1.5}.demo-launcher button{width:100%;font-size:12px}
.demo-banner{background:#fff8e7;border:1px solid #eddaad;border-radius:10px;padding:12px;margin-bottom:14px;color:#715825}.demo-banner strong{font-size:12px}.demo-banner p{font-size:11px;line-height:1.5}.demo-banner button{background:#fffdf7}
.demo-events{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.demo-events button{font-size:11px}
.contact-item.demo-selected{background:#ebf8f6;border-radius:8px;padding-left:7px}
.demo-messages{max-height:290px;overflow:auto;margin:12px 0}.demo-messages .bubble{font-size:12px;padding:10px}.demo-messages p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.demo-reply{margin:14px 0 8px;font-size:11px}.demo-reply textarea{font-size:12px;min-height:76px}.demo-footnote{display:block;margin-top:8px;font-size:10px;color:#7a8ca0}

/* Personal visual editor. */
.horizon{--teal:var(--visual-accent,#008f88)}
.horizon button.primary{background:var(--visual-accent,#008f88);border-color:var(--visual-accent,#008f88)}
.horizon .nav.active,.horizon .contact-tabs .selected{background:var(--visual-soft,#e2f5f3);color:var(--visual-accent,#008f88)}
.visual-editor-preview{border:1px solid #dfe8ee;border-left:5px solid var(--visual-accent,#008f88);border-radius:10px;padding:16px;margin:14px 0;background:#f8fbfc}.visual-editor-preview>div{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.visual-editor-preview button{background:var(--visual-accent,#008f88);color:#fff;border:0}
.visual-palette{border:0;padding:0;margin:0;display:flex;gap:12px;flex-wrap:wrap}.visual-palette legend{font-size:12px;font-weight:550;margin-bottom:8px}.visual-swatch{display:flex;flex-direction:row;align-items:center;gap:6px}.visual-swatch input{width:auto}.visual-swatch span{width:18px;height:18px;border-radius:50%;background:var(--swatch)}
:root[data-density="compact"] .horizon .nav{min-height:32px;padding-top:6px;padding-bottom:6px}:root[data-density="compact"] .horizon .panel{padding:14px}:root[data-density="compact"] .horizon .toolbar{margin-bottom:6px}:root[data-density="compact"] .horizon .contact-item{padding-top:8px;padding-bottom:8px}


/* Varius startup identity and user-adjustable side panels. */
.horizon{grid-template-columns:var(--sidebar-width,190px) minmax(0,1fr)}
.horizon .workarea{grid-template-columns:minmax(0,1fr) var(--utility-width,330px)}
.panel-range{padding:10px 12px;border:1px solid #e3ebef;border-radius:10px;background:#f8fbfc}
.panel-range output{margin-left:auto;color:#008f88;font-weight:700}
.panel-range input{padding:0;accent-color:var(--visual-accent,#008f88)}
.varius-splash{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff 0,#f7fbfc 45%,#eef6f6 100%);transition:opacity .48s ease,visibility .48s ease}
.varius-splash:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#0b8e8708 1px,transparent 1px),linear-gradient(90deg,#0b8e8708 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle,#000 10%,transparent 72%);animation:splash-grid 2.4s ease-out both}
.splash-aura{position:absolute;width:min(72vw,680px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#34cdbb28 0,#2faeb214 30%,transparent 68%);filter:blur(8px);animation:splash-aura 2.1s ease-out both}
.splash-lockup{position:relative;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:13px;padding:36px;text-align:center}
.splash-v{width:74px;height:80px;filter:drop-shadow(0 16px 18px #087f8428);transform-origin:50% 60%;animation:splash-v-in .72s cubic-bezier(.2,.86,.28,1.2) both}
.splash-word{display:flex;gap:3px;color:#0b2b60;font-size:56px;line-height:1;font-weight:850;letter-spacing:2px}
.splash-word span{display:inline-block;opacity:0;filter:blur(7px);transform:translateX(-13px) scale(.92);animation:splash-letter-in .46s cubic-bezier(.2,.8,.25,1) forwards}
.splash-word span:nth-child(1){animation-delay:.52s}.splash-word span:nth-child(2){animation-delay:.67s}.splash-word span:nth-child(3){animation-delay:.82s}.splash-word span:nth-child(4){animation-delay:.97s}.splash-word span:nth-child(5){animation-delay:1.12s}
.splash-tagline{grid-column:1/-1;margin:13px 0 0;color:#50708d;font-size:14px;font-weight:600;letter-spacing:.12em;opacity:0;transform:translateY(10px);animation:splash-tagline-in .6s 1.4s ease forwards}
.varius-splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.varius-splash.is-leaving .splash-lockup{transform:scale(1.025);transition:transform .48s ease}
@keyframes splash-v-in{0%{opacity:0;transform:translateY(18px) scale(.62) rotate(-5deg);filter:blur(9px)}65%{opacity:1;transform:translateY(-3px) scale(1.05) rotate(1deg);filter:blur(0) drop-shadow(0 16px 18px #087f8428)}100%{opacity:1;transform:none;filter:drop-shadow(0 16px 18px #087f8428)}}
@keyframes splash-letter-in{to{opacity:1;filter:blur(0);transform:none}}
@keyframes splash-tagline-in{to{opacity:1;transform:none}}
@keyframes splash-aura{0%{opacity:0;transform:scale(.45)}70%{opacity:1}100%{opacity:.72;transform:scale(1)}}
@keyframes splash-grid{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
@media(min-width:1700px){.horizon{grid-template-columns:var(--sidebar-width,205px) minmax(0,1fr)}.horizon .workarea{grid-template-columns:minmax(0,1fr) var(--utility-width,365px)}}
@media(max-width:1180px){.horizon .workarea{grid-template-columns:1fr}.horizon{grid-template-columns:var(--sidebar-width,176px) minmax(0,1fr)}.horizon .assistant,.horizon .contact-drawer{width:var(--utility-width,330px)}}
@media(max-width:760px){.splash-v{width:54px;height:60px}.splash-word{font-size:38px}.splash-lockup{gap:8px;padding:20px}.splash-tagline{font-size:10px;line-height:1.7;letter-spacing:.08em}.horizon{display:block}.horizon .assistant,.horizon .contact-drawer{width:min(var(--utility-width,330px),calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.varius-splash *{animation-duration:.01ms!important;animation-delay:0ms!important}.varius-splash{transition-duration:.12s}}


/* iOS/mobile workspace: safe areas, reachable controls and predictable scrolling. */
@media(max-width:760px){
 html,body{min-width:320px;overflow-x:hidden;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
 body{background:#f8fbfc;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 button,.horizon button,.horizon input,.horizon select{min-height:44px}
 .masthead{position:sticky;top:env(safe-area-inset-top);z-index:9;display:grid;grid-template-columns:auto 1fr;gap:8px;padding:9px 12px;background:#fffffff2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .masthead .brand{font-size:19px}.masthead-search{grid-column:1/-1;grid-row:2;margin:0;min-height:44px}.masthead .top-right{justify-self:end}.zoom-controls,.masthead .contact-launch{display:none}
 .horizon .main{padding:10px 10px calc(14px + env(safe-area-inset-bottom))}.page-heading{padding:4px 0 10px}.page-heading .row{flex-wrap:nowrap}.mobile-menu{min-width:44px;padding:8px}
 .horizon .sidebar{display:none;top:env(safe-area-inset-top);left:env(safe-area-inset-left);width:min(var(--sidebar-width,220px),calc(100vw - 58px));height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-bottom:calc(16px + env(safe-area-inset-bottom));box-shadow:16px 0 60px #102d6133;overscroll-behavior:contain}.horizon .sidebar.open{display:flex}
 .horizon .sidebar .nav{min-height:44px}.horizon .mini-calendar{flex:none}.horizon .navigation{flex:none}.horizon .ai-nav{margin-top:10px}
 .horizon .toolbar{display:flex;align-items:stretch;gap:8px}.horizon .toolbar>.row{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:7px}.horizon .toolbar>.row>*{width:100%;min-width:0}.horizon .toolbar small{width:100%;line-height:1.5}
 .horizon .schedule-scroll{width:100%;max-height:calc(100dvh - 270px);overflow:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.horizon .schedule{min-width:max(620px,calc(var(--room-count,1) * 150px + 56px))!important}.horizon .room-heading,.horizon .room-column{scroll-snap-align:start}.horizon .schedule-head{top:0}.horizon .time-axis{position:sticky;left:0;z-index:3;background:#fff}.horizon .time-heading{position:sticky;left:0;z-index:5;background:#fff}
 .horizon .assistant,.horizon .contact-drawer{position:fixed;inset:auto max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));width:auto;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);border-radius:18px;box-shadow:0 20px 80px #102d6140;overflow:auto;overscroll-behavior:contain;z-index:30}
 dialog{width:calc(100vw - 20px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);margin:auto;border-radius:18px}.dialog-body{max-height:calc(100dvh - 150px);padding:16px}.dialog-head,.dialog-actions{padding:14px 16px}.dialog-actions{position:sticky;bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.dialog-actions button{flex:1}
 .fields{grid-template-columns:1fr}.fields .full{grid-column:auto}.clinical-grid,.contact-center-grid{grid-template-columns:1fr}.clinical-person{flex-direction:column}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.plan-line{grid-template-columns:1fr 54px 70px}.panel{padding:14px}.login{padding:calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom))}.login-card{padding:24px 18px;width:100%}
}
@media(max-width:375px){.splash-word{font-size:34px}.splash-v{width:48px}.splash-tagline{max-width:280px}.page-heading h1{font-size:21px}.horizon .schedule-scroll{max-height:calc(100dvh - 285px)}}
@supports(-webkit-touch-callout:none){input,select,textarea{font-size:16px}.horizon .toolbar input,.horizon .toolbar select{font-size:16px}}


/* Final mobile application shell and enlarged launch mark. */
.splash-lockup{gap:0}
.splash-v{width:222px;height:240px;margin-right:-14px}
.mobile-dock{display:none}
@media(max-width:760px){
 .splash-v{width:162px;height:180px;margin-right:-12px}.splash-lockup{padding:16px}.splash-word{font-size:38px}
 .horizon .main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom));z-index:20;padding:6px;border:1px solid #e5edf2;border-radius:18px;background:#fffffff2;box-shadow:0 10px 40px #102d6128;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .mobile-dock button{min-width:0;min-height:52px;padding:5px 2px;gap:3px;display:flex;flex-direction:column;border:0;background:transparent;border-radius:13px;color:#7185a2;font-size:9px}.mobile-dock button .icon{width:20px;height:20px}.mobile-dock button.active{background:var(--visual-soft,#e2f5f3);color:var(--visual-accent,#008f88)}
 .preview-footnote{padding-bottom:8px}.mobile-install-panel{display:block}
}
@media(max-width:375px){.splash-v{width:144px;height:162px;margin-right:-11px}.splash-word{font-size:34px}.mobile-dock button{font-size:8px}}

/* Selected launch screen: exact Varius masthead lockup on white. */
.varius-splash{background:#fff}.varius-splash:before,.splash-aura{display:none}.splash-lockup{display:flex;flex-direction:column;align-items:center;gap:0}.splash-brand{display:flex;align-items:center;gap:0}.splash-v{width:222px;height:240px;margin-right:-14px}.splash-word{display:block;color:#0b2b60;font-family:Arial,sans-serif;font-size:72px;line-height:1;font-weight:750;letter-spacing:6px;opacity:0;filter:blur(7px);transform:translateX(-18px);animation:splash-brand-in .55s .52s cubic-bezier(.2,.8,.25,1) forwards}.splash-line{width:min(620px,70vw);height:58px;margin-top:13px;overflow:visible}.splash-line path{fill:none;stroke:#14bdb7;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1100;stroke-dashoffset:1100;filter:drop-shadow(0 2px 3px #14bdb733);animation:splash-line-draw 1.05s .98s ease-out forwards}.splash-tagline{position:static;margin:15px 0 0;letter-spacing:.16em}.varius-splash.is-leaving .splash-lockup{transform:scale(1.025);transition:transform .48s ease}@keyframes splash-brand-in{to{opacity:1;filter:blur(0);transform:none}}@keyframes splash-line-draw{to{stroke-dashoffset:0}}@media(max-width:760px){.splash-v{width:162px;height:180px;margin-right:-12px}.splash-word{font-size:42px;letter-spacing:3px}.splash-line{width:82vw;margin-top:4px}.splash-tagline{font-size:10px}}
/* The selected wordmark uses the same V glyph inverted for its open A. */
.logo-a{display:inline-block;width:.69em;height:.88em;margin:0 .015em;vertical-align:-.02em;overflow:visible}
.logo-a::before{content:'V';display:block;font:inherit;line-height:1;letter-spacing:0;transform:scaleY(-1);transform-origin:50% 49%}
.logo-a::after{display:none}

/* Final selected A: keep the original glyph position and remove only its crossbar. */
.logo-a{display:inline-block;position:relative;width:.69em;height:1em;margin:0 .015em;vertical-align:baseline;overflow:visible}
.logo-a::before{content:'A';display:block;font:inherit;line-height:1;letter-spacing:0;transform:none}
.logo-a::after{content:'';display:block;position:absolute;left:.255em;top:.52em;width:.18em;height:.075em;border-radius:99px;background:#fff}

/* Restored original Varius A in the header and launch wordmark. */
.logo-a{display:inline-block;position:relative;width:.69em;height:1em;margin:0 .015em;vertical-align:baseline;overflow:visible}
.logo-a::before{content:'A';display:block;font:inherit;line-height:1;letter-spacing:0;transform:none}
.logo-a::after{content:none;display:none}

/* Render the approved animation asset exactly, at its original 16:9 composition. */
.varius-splash{display:grid;place-items:center;padding:0;background:#fff}
.launch-animation-exact{display:block;width:100vw;height:100vh;object-fit:contain;background:#fff}

/* Direct panel sizing and live current-time guide in the schedule. */
.horizon .sidebar,.horizon .assistant,.horizon .contact-drawer{position:relative}
.layout-resizer{position:absolute;top:0;bottom:0;width:10px;z-index:12;cursor:col-resize;touch-action:none}
.sidebar-layout-resizer{right:-5px}.utility-layout-resizer{left:-5px}
.layout-resizer::after{content:'';position:absolute;top:12%;bottom:12%;left:4px;width:2px;border-radius:2px;background:transparent;transition:background .15s}
.layout-resizer:hover::after,.resizing-layout .layout-resizer::after{background:#16aaa8}
.resizing-layout,.resizing-layout *{cursor:col-resize!important;user-select:none!important}
.horizon .schedule{min-width:max(560px,calc(var(--room-count,1) * 110px + 52px))!important}
.schedule-body{position:relative}
.current-time-line{position:absolute;left:56px;right:0;height:2px;background:#ef5968;box-shadow:0 1px 4px #ef596866;z-index:8;pointer-events:none}
.current-time-line::before{content:'';position:absolute;left:0;top:50%;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#ef5968;box-shadow:0 0 0 1px #ef5968;transform:translate(-50%,-50%)}
.current-time-line span{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:2px 4px;border-radius:4px;background:#ef5968;color:#fff;font-size:9px;font-weight:700;line-height:1;white-space:nowrap}
@media(max-width:760px){.layout-resizer{display:none}.horizon .schedule{min-width:max(560px,calc(var(--room-count,1) * 110px + 52px))!important}}