:root{--fulli-blue:#123b80;--fulli-pink:#bf1263;--fulli-sage:#578577;--fulli-canvas:#f3f7fc;--fulli-line:#dce6f2;--ink:#20314c;--muted:#64748b;--rose:var(--fulli-blue);--pink:var(--fulli-blue);--primary:var(--fulli-blue);--wine:var(--fulli-blue);--plum:var(--fulli-blue);--bg:var(--fulli-canvas);--sage:#e8f4ee;--fulli-radius-card:20px;--fulli-radius-control:12px;--fulli-shadow:0 10px 30px #123b800d;--fulli-font:"Segoe UI",Arial,sans-serif;--sidebar-width:120px}
*{box-sizing:border-box}body{color:var(--ink);background:var(--fulli-canvas);font-family:Arial,Helvetica,sans-serif}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.btn{white-space:nowrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5799e1;outline-offset:3px}input,select,textarea{font-size:16px}.primary,.btn.primary,button.primary{background:var(--fulli-blue);color:#fff;border-color:var(--fulli-blue)}.primary:hover,.btn.primary:hover{background:#092a60}.card{border-color:var(--fulli-line)}.hero{background:linear-gradient(110deg,#e9f2ff,#eef7f2);border-color:var(--fulli-line)}.hero h1{font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:clamp(24px,2.3vw,32px)}.hero::before,.hero::after{display:none}.platform-logo{object-fit:contain}.btn.lilac{background:#eeeafb;color:#514680}.btn.sage{background:#e4f2ec;color:#315f50}
/* One shared floating rail; business identity stays in the utility header. */
body[data-public=""]{background:linear-gradient(115deg,#f4f8fbdc,#f3f6f9ed),url('wellness-hero.webp') center/cover fixed}
body[data-public=""] #header{margin-left:0;width:100%;background:#fff;border-bottom:1px solid var(--fulli-line);z-index:46}
body[data-public=""] #main{position:relative;z-index:1;margin-left:var(--sidebar-width);max-width:none;width:calc(100% - var(--sidebar-width));padding:24px 24px 40px}
body[data-public=""] .topbar{padding:10px 24px;min-height:72px;max-width:none;display:flex;justify-content:space-between;gap:18px}
.fulli-platform-logo{display:flex;align-items:center;flex:none}.fulli-platform-logo img{display:block;width:138px;height:auto;max-height:36px;object-fit:contain}
.fulli-context{display:flex;align-items:center;gap:12px;min-width:0}.fulli-context strong,.fulli-context small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fulli-context strong{max-width:330px}.fulli-context small{color:#64748b;font-size:12px;margin-top:4px}
.fulli-local{font-size:10px;letter-spacing:.06em;color:#356557;padding:6px 9px;background:#e8f4ee;border-radius:7px;white-space:nowrap}.head-tools{margin-left:auto}
.fulli-sidebar{position:fixed;inset:auto;left:14px;top:calc(50% + 24px);transform:translateY(-50%);width:98px;height:fit-content;max-height:calc(100dvh - 110px);overflow-y:auto;background:#fff;border:1px solid #dce6f2;border-radius:26px;box-shadow:0 9px 30px #19395516;z-index:45;display:block;padding:9px;scrollbar-width:thin}
.fulli-sidebar nav{display:grid;gap:5px}.fulli-sidebar .nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;width:100%;padding:9px 3px;border:0;border-radius:18px;background:transparent;color:#52647a;font-size:11px;line-height:1.25;font-weight:600;cursor:pointer;text-align:center;white-space:normal;transition:background .16s,color .16s}
.fulli-sidebar .nav-btn span{display:block!important;max-width:100%;overflow-wrap:anywhere}.fulli-sidebar .nav-btn svg{width:22px;height:22px;flex:none}.fulli-sidebar .nav-btn:hover{background:#f0f5fc;color:#123b80}.fulli-sidebar .nav-btn.active{background:#123b80;color:white;box-shadow:0 3px 9px #123b8025}.fulli-sidebar .nav-btn:active{background:#e8f4ee;color:#123b80}.fulli-menu-toggle,.fulli-nav-scrim{display:none}
.fulli-tool-search{display:grid;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600}.fulli-tools [hidden]{display:none!important}
.suri-sprite{background-image:url('panda-female-expressions.webp')!important;background-size:300% 200%!important;background-position:var(--pose-x,0%) var(--pose-y,0%)!important;background-repeat:no-repeat}.suri-launch{background:#fff;color:#123b80}#suri-guide{color:#25364d}.suri-card{border-color:#dce6f2}.suri-bubble{background:#fff}.login-hero,.hero-photo{object-fit:cover}.brand-lockup .brand-logo{object-fit:contain;height:auto;width:190px}.page-shell{background:#f5f8fc}.ambient-glow{opacity:.25}.login-card,.auth-card{border-color:#dce6f2}body[data-auth-view] .primary-btn,body[data-auth-view] .submit-btn{background:#123b80}body[data-auth-view] .visual-panel{background:#eaf2fc}body[data-auth-view] .visual-panel img{content:url('wellness-hero.webp')}
body[data-focus=calendar] .role-intro{display:none!important}
@media(min-width:901px){body[data-public=""] #dock{display:none!important}.fulli-menu-toggle{display:none!important}}
@media(min-width:901px) and (max-height:650px){.fulli-sidebar .nav-btn{min-height:52px;padding-block:6px;gap:3px}.fulli-sidebar{top:calc(50% + 30px);border-radius:22px}}
@media(max-width:1150px){.fulli-local{display:none}.fulli-context strong{max-width:225px}body[data-public=""] .topbar{gap:12px;padding-inline:18px}}
@media(max-width:900px){body[data-public=""] #header,body[data-public=""] #main{margin-left:0;width:100%}body[data-public=""] #main{padding:16px 14px 105px}body[data-public=""] .topbar{padding:10px 14px;gap:10px}.fulli-platform-logo img{width:118px}.fulli-context strong{max-width:175px;font-size:13px}.fulli-context small{font-size:11px}.fulli-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #dce6f2;border-radius:12px;background:#fff;color:#123b80}.fulli-menu-toggle svg{display:none}.fulli-menu-toggle::before{content:'☰';font-size:22px;line-height:1}.fulli-sidebar{left:12px;top:82px;transform:none;width:248px;max-height:calc(100dvh - 176px);border-radius:22px;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .16s}.fulli-sidebar .nav-btn{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:12px 16px;font-size:14px;text-align:left}.fulli-sidebar-open .fulli-sidebar{visibility:visible;opacity:1;pointer-events:auto}.fulli-sidebar-open .fulli-nav-scrim{display:block;position:fixed;inset:72px 0 0;background:#14274955;z-index:44;border:0}.head-tools{gap:4px}#dock{background:#fff;border-top:1px solid #dce6f2}#dock .nav-btn.active{color:#123b80}#dock .main-nav{background:#123b80;color:white}#dialog.drawer,#dialog.modal,dialog.drawer{width:100%;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#dialog>header{position:sticky;top:0;background:white;z-index:2}#dialog>footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}.hero{padding:18px}.hero h1{font-size:24px}.calendar-toolbar .actions{flex-wrap:wrap}}
@media(max-width:700px){.fulli-context{display:none!important}.head-tools{margin-left:auto;gap:2px}.head-tools .identity{min-width:44px;max-width:44px}.head-tools .language-switch{flex:none}.fulli-platform-logo img{width:104px}.fulli-menu-toggle{min-width:40px}.head-tools .icon-btn{width:40px;height:44px}.suri-launch{max-width:260px}.daily-rail{gap:8px}.role-intro>div{padding:0!important}}
@media(max-width:430px){.fulli-platform-logo{display:none}body[data-public=""] .topbar{justify-content:space-between;gap:6px;padding-inline:10px}.hero h1{font-size:22px}.hero p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.ambient-layer{display:none}}
@media print{.fulli-sidebar,#dock,#suri-guide,.fulli-nav-scrim{display:none!important}body[data-public=""]{background:white}body[data-public=""] #main{margin:0;width:100%}}
@media(max-width:600px){.daily-link,.daily-link>span{white-space:normal!important;overflow-wrap:anywhere;line-height:1.35}.day-cell{white-space:normal;padding:6px 3px}.day-cell>b{display:block}.day-cell .treatment-count{display:flex;width:fit-content;margin-top:6px;padding:2px 5px}.day-cell .treatment-count .icon{display:none}.suri-launch{white-space:normal}.suri-launch>span:last-child{white-space:normal;overflow-wrap:anywhere;line-height:1.4;max-width:170px}}

.role-intro{display:none!important}
.fulli-menu-toggle svg{display:none}.fulli-menu-toggle::before{content:'☰';font-size:22px;line-height:1}
@media(max-width:600px){.fulli-context{display:none!important}body[data-public=""] .topbar{justify-content:space-between;gap:8px}.head-tools{margin-left:auto;max-width:calc(100% - 52px)}.head-tools .identity{min-width:44px;max-width:44px}.head-tools .language-switch{flex:none}.suri-launch{max-width:260px}.daily-rail{gap:8px}.role-intro>div{padding:0!important}}

.role-intro{background:linear-gradient(100deg,#edf4ff,#eff6f0)!important;min-height:96px!important;padding:22px 26px!important}.role-intro h1,.role-intro h2{font-family:Arial,Helvetica,sans-serif!important;color:#20314c!important;font-size:27px!important}.role-intro::before,.role-intro::after{display:none!important}.calendar-card>.section-head,.attention-card>.section-head{background-image:none!important}.staff-avatar{background:#e8effb;color:#123b80}.calendar-month-day.is-today{background:#ecf3ff}.head-tools .language-switch button.active{background:#123b80!important}

.agenda-action .appointment{flex:1 1 0;min-width:0;width:0}.agenda-action .appointment .info{min-width:0;overflow:hidden}.agenda-action .appointment .info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.agenda-action>.icon-btn{flex:0 0 44px}
.card::before,.calendar-card::before,.attention-card::before{background-image:url("leaf-corner.svg")!important;opacity:.12!important}

#suri-guide[data-voice=disabled] .suri-voice label,#suri-guide[data-voice=disabled] [data-suri=replay]{display:none}

.fulli-extra-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.fulli-extra-row>div{min-width:0}.fulli-extra-row strong{overflow-wrap:anywhere}.fulli-extra-row small{display:block;margin-top:6px}.fulli-extra-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.fulli-extra-actions .btn{min-height:44px;max-width:100%}#dialog #dialog-title{font-family:Arial,Helvetica,sans-serif;color:#20314c;font-size:23px}

.service-kind-tabs{display:flex;flex-wrap:wrap;gap:8px}.service-kind-tabs .btn{min-height:44px;max-width:100%;white-space:normal;text-align:left}

.fulli-time-grid{position:relative;grid-template-rows:84px repeat(var(--time-rows),60px)}.fulli-time-grid>.calendar-staff-head{height:84px;min-height:84px!important}.fulli-time-grid>.slot:not(.fulli-appointment),.fulli-time-grid>.calendar-clock:not(.calendar-staff-head){height:60px;min-height:60px}.fulli-time-grid>.fulli-appointment{position:absolute;z-index:2;min-height:0;margin:0;padding:7px 9px;border:1px solid #dce6f2;border-left:4px solid var(--event-color);border-radius:7px;background:color-mix(in srgb,var(--event-color) 10%,white);color:#20314c;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;white-space:normal}.fulli-appointment strong,.fulli-appointment small{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.4}.fulli-appointment-time{font-size:10px;margin-top:auto;color:#52647a;white-space:nowrap}.fulli-covered-cell{background:#f8faff}.slot:disabled:not(.fulli-covered-cell){background:#f1f4f8;color:#aab6c5}.fulli-appointment.needs-reassignment{border-color:#d29c28;background:#fff7df}.fulli-appointment:hover{filter:brightness(.97)}
@media(max-width:600px){.agenda-action .appointment{display:grid;grid-template-columns:42px minmax(0,1fr) 12px;gap:6px 8px;align-items:start}.agenda-action .appointment>.time{grid-column:1;grid-row:1/3;min-width:0}.agenda-action .appointment>.info{grid-column:2;grid-row:1}.agenda-action .appointment>.badge{grid-column:2;grid-row:2;justify-self:start}.agenda-action .appointment>svg{grid-column:3;grid-row:1/3;align-self:center}.agenda-action .appointment .info strong,.agenda-action .appointment .info small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.45}}
