/* ===========================================================
   Evensteer Desk — glass layer (Oct 2026 redesign).
   A soft living backdrop, frosted panels, one accent colour,
   and motion that explains what changed. Loaded last; it only
   overrides. Customisation (accent, surface, motion, density)
   comes from attributes on <html> set by avatars.js:
     data-surface="glass|solid"  data-motion="full|calm|off"
     data-density="comfy|compact"  data-rail="1" (icon-only menu)
   Accent colours arrive as --green* variables on <html>.
   =========================================================== */

:root{
  --glass-bg:rgba(255,255,255,.62);
  --glass-bg-2:rgba(255,255,255,.78);
  --glass-edge:rgba(255,255,255,.72);
  --glass-line:rgba(14,27,21,.07);
  --glass-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 1px 2px rgba(14,27,21,.04),0 10px 30px -8px rgba(14,27,21,.10);
  --glass-shadow-lift:0 1px 0 rgba(255,255,255,.8) inset,0 2px 6px rgba(14,27,21,.06),0 22px 48px -12px rgba(14,27,21,.18);
  --glass-blur:saturate(1.7) blur(22px);
  --aurora-1:rgba(71,199,149,.30);
  --aurora-2:rgba(27,107,78,.20);
  --aurora-3:rgba(186,222,120,.22);
  --aurora-4:rgba(120,190,220,.16);
  --t-fast:.16s;
  --t-med:.32s;
  --t-slow:.6s;
  --spring:cubic-bezier(.16,1,.3,1);
  --bounce:cubic-bezier(.22,1,.36,1);
}

/* ---------- the living backdrop ---------- */
body{background:#EEF3EE}
body::before{content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;
  background:
    radial-gradient(38vmax 34vmax at 12% 8%,var(--aurora-1),transparent 70%),
    radial-gradient(42vmax 36vmax at 92% 14%,var(--aurora-4),transparent 70%),
    radial-gradient(40vmax 40vmax at 78% 92%,var(--aurora-3),transparent 70%),
    radial-gradient(36vmax 30vmax at 18% 88%,var(--aurora-2),transparent 70%),
    linear-gradient(180deg,#F4F7F3,#EAF1EB);
  animation:aurora 28s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@keyframes aurora{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(2vmax,-1.5vmax,0) rotate(6deg) scale(1.04)}
  100%{transform:translate3d(-2vmax,1vmax,0) rotate(-4deg) scale(1.02)}}
.main,.shell{background:transparent!important}

/* ---------- shell: a floating glass menu ---------- */
@media (min-width:901px){
  .shell{grid-template-columns:calc(var(--side-w) + 12px) minmax(0,1fr)}
  .side{top:10px;height:calc(100vh - 20px);margin:10px 0 10px 10px;border-radius:22px;
    background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-edge)!important;box-shadow:var(--glass-shadow);padding:16px 10px 12px}
  .topbar{margin:10px 14px 0;border-radius:18px;border:1px solid var(--glass-edge)!important;box-shadow:var(--glass-shadow);
    background:var(--glass-bg)!important;top:10px}
}
.topbar{background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.brand{padding:4px 10px 8px}
.brand-tag{background:linear-gradient(135deg,var(--green),var(--green-2))!important;color:#fff!important;box-shadow:0 2px 8px -2px var(--green)}
.side-search{background:rgba(255,255,255,.7);border-color:var(--glass-line);border-radius:12px;height:38px}
.side-search:hover{background:#fff}

/* menu groups fold open and shut */
.nav{position:relative;gap:0}
.nav-sec{display:grid;grid-template-rows:auto 1fr}
.nav-sec + .nav-sec{margin-top:2px}
.nav-group{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;cursor:pointer;padding:14px 10px 6px!important;
  font:600 11.5px/1 var(--sans)!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--ink-dim);border-radius:8px;text-align:left}
.nav-group:hover{color:var(--ink)}
.nav-group .chev{margin-left:auto;width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;transition:transform var(--t-med) var(--spring);opacity:.6}
.nav-sec.shut .nav-group .chev{transform:rotate(-90deg)}
.nav-items{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t-med) var(--spring),opacity var(--t-med) var(--ease)}
.nav-items > div{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:1px}
.nav-sec.shut .nav-items{grid-template-rows:0fr;opacity:0}
.nav a{z-index:1;border-radius:11px;padding:8px 10px;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.nav a:hover{background:rgba(255,255,255,.55)}
.nav a.active{background:transparent!important;box-shadow:none!important;color:var(--green-ink)}
.nav a .ico{transition:transform var(--t-med) var(--bounce)}
.nav a:hover .ico{transform:scale(1.12) rotate(-4deg)}
/* the pill that glides to the page you are on */
.nav-ind{position:absolute;left:0;right:0;top:0;height:36px;z-index:0;border-radius:11px;pointer-events:none;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.86));box-shadow:0 1px 2px rgba(14,27,21,.06),0 6px 16px -6px rgba(14,27,21,.16),0 0 0 1px rgba(14,27,21,.05);opacity:0}
.nav-ind::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--green)}
.nav-ind.on{opacity:1}
.side-tools{display:flex;gap:6px;padding:0 4px 8px}
.side-tools button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;border-radius:9px;border:1px solid var(--glass-line);background:rgba(255,255,255,.5);color:var(--ink-soft);font:500 12px/1 var(--sans);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
.side-tools button:hover{background:#fff;color:var(--ink)}
.side-tools svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.side-foot{border-top:1px solid var(--glass-line)}
.who{cursor:pointer;border-radius:12px;transition:background var(--t-fast)}
.who:hover{background:rgba(255,255,255,.6)}

/* icon-only menu */
@media (min-width:901px){
  html[data-rail="1"]{--side-w:64px}
  html[data-rail="1"] .side{padding:14px 8px}
  html[data-rail="1"] .brand img,html[data-rail="1"] .side-search span,html[data-rail="1"] .side-search kbd,
  html[data-rail="1"] .nav a span,html[data-rail="1"] .nav-group,html[data-rail="1"] .who-text,html[data-rail="1"] .side-tools button span{display:none}
  html[data-rail="1"] .brand{justify-content:center;padding:4px 0 8px}
  html[data-rail="1"] .side-search{justify-content:center;padding:0}
  html[data-rail="1"] .nav a{justify-content:center;padding:9px 0}
  html[data-rail="1"] .nav a .count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;line-height:16px;font-size:10px;padding:0 4px}
  html[data-rail="1"] .nav-sec + .nav-sec{border-top:1px solid var(--glass-line);margin-top:6px;padding-top:6px}
  html[data-rail="1"] .nav-items{grid-template-rows:1fr!important;opacity:1!important}
  html[data-rail="1"] .side-tools{flex-direction:column}
  html[data-rail="1"] .who{justify-content:center}
}

/* ---------- surfaces: frosted cards ---------- */
.panel,.ig-card,.stat,.plan-card,.help-banner,.card,.lead,.task,.col,.kanban .col{
  background:var(--glass-bg-2)!important;border:1px solid var(--glass-edge)!important;box-shadow:var(--glass-shadow)!important}
.panel{border-radius:20px}
.panel-head{border-bottom:1px solid var(--glass-line)!important;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0))}
.panel-foot{background:rgba(255,255,255,.4)!important;border-top-color:var(--glass-line)!important}
.stat{border-radius:18px;position:relative;overflow:hidden}
.stat::before{display:block!important;content:""!important;position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--green),var(--mint,#47C795));opacity:.0;transition:opacity var(--t-med)}
.stat:hover::before{opacity:.9}
.stat:hover,.panel.lift:hover,.ig-card:hover,.plan-card:hover{transform:translateY(-2px);box-shadow:var(--glass-shadow-lift)!important}
.ig-card,.plan-card{transition:transform var(--t-med) var(--spring),box-shadow var(--t-med) var(--ease)}
.crm-table th{background:rgba(255,255,255,.55)!important}
.crm-table tbody tr:hover{background:rgba(255,255,255,.7)!important}
.help-banner{border-radius:16px}

/* glass where it matters most: overlays */
.modal,.pop,.drawer.eve,.peek,.fab-menu{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)!important}
.scrim,.drawer-scrim,.nav-scrim,.peek-scrim{background:rgba(12,24,18,.22)!important;-webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2)}
.drawer.eve .chat{background:transparent!important}
.drawer.eve .suggest,.eve-input{background:transparent!important}

/* ---------- controls ---------- */
.btn{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--green-2),var(--green))!important;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 1px 2px rgba(14,27,21,.14),0 6px 16px -6px var(--green)!important;
  transition:transform var(--t-fast) var(--ease),box-shadow var(--t-med) var(--ease),filter var(--t-fast)}
.btn:hover{filter:brightness(1.06);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 2px 4px rgba(14,27,21,.14),0 10px 24px -8px var(--green)!important;transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.97)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease);pointer-events:none}
.btn:hover::after{transform:translateX(120%)}
.btn-ghost,.btn.btn-ghost{background:rgba(255,255,255,.72)!important;color:var(--ink)!important;border:1px solid rgba(14,27,21,.10)!important;box-shadow:0 1px 0 #fff inset,0 1px 2px rgba(14,27,21,.05)!important}
.btn-ghost:hover,.btn.btn-ghost:hover{background:#fff!important;filter:none}
.btn-ghost::after{display:none}
.btn.danger,.btn-danger{background:linear-gradient(180deg,#C4533B,#A8402A)!important;box-shadow:0 6px 16px -6px #A8402A!important}
.input,select.input,textarea.input{background:rgba(255,255,255,.82);border-color:rgba(14,27,21,.12);border-radius:12px}
.input:focus{background:#fff;box-shadow:0 0 0 4px var(--green-soft),0 1px 2px rgba(14,27,21,.05)}
.chip{background:rgba(255,255,255,.7)}
.chip.active,.chip.on{background:linear-gradient(180deg,var(--green-2),var(--green))!important;box-shadow:0 4px 12px -4px var(--green)}
.seg,.subnav{background:rgba(14,27,21,.055);border:1px solid rgba(255,255,255,.6)}
.tabs .tab.on::after,.tabs .tab.active::after,.tabs button.active::after,.tabs button[aria-selected="true"]::after{height:2.5px;background:linear-gradient(90deg,var(--green),var(--green-2))}
.pill.ok{background:var(--green-wash)}
.eve-btn{background:rgba(255,255,255,.8)!important;border-color:var(--glass-edge)!important}
.toast{border-radius:16px;background:rgba(16,30,23,.88)!important;padding:12px 18px;transition:transform .45s var(--bounce),opacity .3s var(--ease)!important}
.fab-btn{background:linear-gradient(180deg,var(--green-2),var(--green))!important;transition:transform var(--t-med) var(--bounce),box-shadow var(--t-med)}
.fab-btn:hover{transform:scale(1.07) rotate(90deg)}
.fab.open .fab-btn{transform:rotate(45deg)}
.fab-menu button{transition:background var(--t-fast),transform var(--t-fast)}
.fab-menu button:hover{transform:translateX(3px)}
.fab-menu button{animation:rise .32s var(--spring) both}
.fab-menu button:nth-child(2){animation-delay:.03s}.fab-menu button:nth-child(3){animation-delay:.06s}.fab-menu button:nth-child(4){animation-delay:.09s}.fab-menu button:nth-child(5){animation-delay:.12s}

/* ---------- page motion ---------- */
.view{padding-top:26px}
.view-enter{animation:none!important}
.view-enter > *{animation:rise .55s var(--spring) both}
.view-enter > *:nth-child(2){animation-delay:.04s}
.view-enter > *:nth-child(3){animation-delay:.08s}
.view-enter > *:nth-child(4){animation-delay:.12s}
.view-enter > *:nth-child(5){animation-delay:.16s}
.view-enter > *:nth-child(6){animation-delay:.2s}
.view-enter > *:nth-child(n+7){animation-delay:.24s}
.view-enter .stats > *,.view-enter .grid > *,.view-enter .ig-grid > *,.view-enter .kanban > *{animation:rise .6s var(--spring) both}
.view-enter .stats > *:nth-child(2),.view-enter .grid > *:nth-child(2),.view-enter .kanban > *:nth-child(2){animation-delay:.06s}
.view-enter .stats > *:nth-child(3),.view-enter .grid > *:nth-child(3),.view-enter .kanban > *:nth-child(3){animation-delay:.12s}
.view-enter .stats > *:nth-child(4),.view-enter .grid > *:nth-child(4),.view-enter .kanban > *:nth-child(4){animation-delay:.18s}
.view-enter .stats > *:nth-child(n+5),.view-enter .grid > *:nth-child(n+5),.view-enter .kanban > *:nth-child(n+5){animation-delay:.22s}
.view-enter .crm-table tbody tr{animation:fadeRow .5s var(--ease) both}
.view-enter .crm-table tbody tr:nth-child(2){animation-delay:.03s}.view-enter .crm-table tbody tr:nth-child(3){animation-delay:.06s}
.view-enter .crm-table tbody tr:nth-child(4){animation-delay:.09s}.view-enter .crm-table tbody tr:nth-child(5){animation-delay:.12s}
.view-enter .crm-table tbody tr:nth-child(n+6){animation-delay:.15s}
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes fadeRow{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.modal{animation:modalIn .42s var(--spring) both!important}
@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.scrim.enter{animation:fadeIn .3s var(--ease) both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.drawer.eve{animation:eveSlide .5s var(--spring) both!important}
@keyframes eveSlide{from{transform:translateX(40px);opacity:0;filter:blur(6px)}to{transform:none;opacity:1;filter:none}}
.lead,.task,.kanban .card{transition:transform var(--t-med) var(--spring),box-shadow var(--t-med) var(--ease)}
.lead:hover,.kanban .card:hover{transform:translateY(-2px) rotate(-.2deg);box-shadow:var(--glass-shadow-lift)!important}
.lead.dragging,.dragging{transform:rotate(2deg) scale(1.03)!important;box-shadow:0 30px 60px -20px rgba(14,27,21,.35)!important}

/* the home hero */
.hero,.today-hero,.home-hero{position:relative;overflow:hidden;border-radius:24px!important}
.hero::after,.today-hero::after,.home-hero::after{content:"";position:absolute;inset:-40% -10% auto auto;width:60%;height:180%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.22),transparent 70%);animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-30%,20%)}}

/* ---------- Eve's face ---------- */
@keyframes eveBreathe{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.04) translateY(-1px)}}
html.me-face .who .avatar,html.me-face .side-foot .avatar{background:var(--me-avatar) center/cover no-repeat,#fff!important;color:transparent!important;box-shadow:0 0 0 2px #fff,0 2px 8px -2px rgba(14,27,21,.25)}

/* ---------- avatar + look picker ---------- */
.av-scrim{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:rgba(12,24,18,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .25s var(--ease) both}
.av-card{width:min(720px,100%);max-height:min(86vh,820px);display:flex;flex-direction:column;border-radius:26px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:0 40px 90px -30px rgba(14,27,21,.45);animation:modalIn .45s var(--spring) both;overflow:hidden}
.av-head{display:flex;align-items:center;gap:14px;padding:20px 22px 14px}
.av-head h2{font:700 19px/1.2 var(--display);letter-spacing:-.02em;margin:0}
.av-head p{margin:2px 0 0;font-size:13.5px;color:var(--ink-dim)}
.av-preview{width:64px;height:64px;border-radius:50%;flex:none;background:#fff center/cover no-repeat;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--green),0 14px 30px -10px var(--green);animation:eveBreathe 5s ease-in-out infinite}
.av-preview.orb{background:radial-gradient(circle at 32% 30%,#8FE3BE 0%,#38B583 38%,#1B6B4E 72%,#0F4A36 100%)}
.av-tabs{display:flex;gap:6px;padding:0 22px 12px;overflow-x:auto;scrollbar-width:none}
.av-tabs button{flex:none;border:1px solid var(--glass-line);background:rgba(255,255,255,.7);border-radius:999px;padding:6px 12px;font:500 12.5px/1 var(--sans);color:var(--ink-soft);cursor:pointer;transition:all var(--t-fast)}
.av-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.av-body{overflow-y:auto;padding:4px 22px 18px}
.av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px}
.av-pick{position:relative;aspect-ratio:1;border-radius:20px;border:1px solid var(--glass-line);background:linear-gradient(180deg,#fff,#F3F7F3);cursor:pointer;padding:6px;transition:transform var(--t-med) var(--bounce),box-shadow var(--t-med),border-color var(--t-fast);animation:rise .45s var(--spring) both;animation-delay:calc(var(--i,0) * 14ms)}
.av-pick img{width:100%;height:100%;display:block;border-radius:14px}
.av-pick:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 28px -12px rgba(14,27,21,.3)}
.av-pick.on{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft),0 12px 26px -12px var(--green)}
.av-pick.on::after{content:"";position:absolute;right:6px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--green) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.3l2.6 2.6L12 5.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat;animation:pop .35s var(--bounce) both}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
.av-pick.orb{background:radial-gradient(circle at 32% 30%,#8FE3BE 0%,#38B583 38%,#1B6B4E 72%,#0F4A36 100%)}
.av-pick.photo{display:grid;place-items:center;font:600 12px/1.3 var(--sans);color:var(--ink-soft);text-align:center;border-style:dashed}
.av-foot{display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--glass-line);background:rgba(255,255,255,.5)}
.av-foot .spacer{flex:1}
.av-note{font-size:12px;color:var(--ink-dim)}
.look-row{display:grid;gap:8px;margin:0 0 18px}
.look-row > b{font:600 13.5px/1.3 var(--sans)}
.look-row > span{font-size:12.5px;color:var(--ink-dim);margin-top:-4px}
.swatches{display:flex;flex-wrap:wrap;gap:10px}
.swatch{width:38px;height:38px;border-radius:50%;border:3px solid #fff;cursor:pointer;box-shadow:0 0 0 1px var(--glass-line),0 4px 10px -4px rgba(14,27,21,.3);transition:transform var(--t-med) var(--bounce)}
.swatch:hover{transform:scale(1.12)}
.swatch.on{box-shadow:0 0 0 2px var(--ink),0 6px 14px -4px rgba(14,27,21,.35)}
.menu-edit{display:grid;gap:6px}
.menu-edit .me-row{display:grid;grid-template-columns:22px minmax(0,1fr) 150px auto auto auto;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:rgba(255,255,255,.7);border:1px solid var(--glass-line)}
.menu-edit .me-row.off{opacity:.5}
.menu-edit .me-row .ico{width:16px;height:16px;stroke:var(--ink-soft)}
.menu-edit .me-row .input{height:32px;padding:4px 10px;font-size:13.5px}
.menu-edit .me-group{font:600 11.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin:12px 4px 2px}
@media (max-width:640px){.menu-edit .me-row{grid-template-columns:22px minmax(0,1fr) auto auto;}.menu-edit .me-row select{grid-column:2/-1}}

/* ---------- sign in: split screen ---------- */
.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:stretch}
.auth-show{position:relative;overflow:hidden;margin:14px;border-radius:30px;padding:44px 48px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(120% 90% at 0% 0%,#2E9C72 0%,transparent 55%),radial-gradient(90% 80% at 100% 100%,#0B3B2B 0%,transparent 60%),linear-gradient(150deg,#1B6B4E,#0F4A36);
  box-shadow:0 40px 80px -40px rgba(15,74,54,.6)}
.auth-show::before{content:"";position:absolute;width:60vmax;height:60vmax;left:-20vmax;top:-30vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(143,227,190,.35),transparent);animation:blob 16s ease-in-out infinite alternate}
.auth-show::after{content:"";position:absolute;width:50vmax;height:50vmax;right:-22vmax;bottom:-26vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(186,222,120,.28),transparent);animation:blob 20s ease-in-out infinite alternate-reverse}
@keyframes blob{from{transform:translate(0,0) scale(1)}to{transform:translate(8vmax,6vmax) scale(1.15)}}
.auth-show > *{position:relative;z-index:1}
.auth-show .as-logo{height:28px;width:auto;filter:brightness(0) invert(1);opacity:.95}
.auth-show h2{font:700 clamp(30px,3.4vw,46px)/1.05 var(--display);letter-spacing:-.035em;margin:0 0 14px;max-width:14ch;animation:rise .9s var(--spring) .1s both}
.auth-show h2 em{font-style:normal;color:#C9F2DC}
.auth-show p.lead{font-size:16px;line-height:1.55;opacity:.85;max-width:44ch;margin:0;animation:rise .9s var(--spring) .2s both}
.as-stage{position:relative;height:250px;margin:28px 0}
.as-card{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;min-width:250px;max-width:300px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:0 20px 40px -20px rgba(0,0,0,.45);animation:asIn .9s var(--spring) both,float 7s ease-in-out infinite}
.as-card b{display:block;font:600 14px/1.25 var(--sans)}
.as-card span{display:block;font-size:12.5px;opacity:.78;margin-top:2px}
.as-card i{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.2);flex:none;font-style:normal}
.as-card i svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.as-card:nth-child(1){left:0;top:0;animation-delay:.35s,0s}
.as-card:nth-child(2){left:22%;top:86px;animation-delay:.55s,1.2s}
.as-card:nth-child(3){left:6%;top:172px;animation-delay:.75s,2.4s}
@keyframes asIn{from{opacity:0;transform:translateY(24px) scale(.95);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.as-foot{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;opacity:.85}
.as-foot span{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
.auth-side{display:grid;place-items:center;padding:32px 24px}
.auth-split .auth-card{width:min(420px,100%);padding:34px 32px 28px;border-radius:26px;background:rgba(255,255,255,.72)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)!important;box-shadow:0 30px 70px -30px rgba(14,27,21,.35)!important;animation:modalIn .7s var(--spring) .15s both}
.auth-split .auth-card .public-title{font-size:28px;margin-top:6px}
.auth-split .auth-card .input{height:44px}
.auth-split .auth-card .btn-block{height:46px;font-size:14.5px;border-radius:13px;margin-top:4px}
.auth-split .auth-card form .field{animation:rise .6s var(--spring) both}
.auth-split .auth-card form .field:nth-of-type(1){animation-delay:.3s}
.auth-split .auth-card form .field:nth-of-type(2){animation-delay:.38s}
.auth-split .auth-card form .btn{animation:rise .6s var(--spring) .46s both}
.auth-secure{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;color:var(--ink-dim)}
.auth-secure svg{width:14px;height:14px;fill:none;stroke:var(--green);stroke-width:1.6}
.btn.is-busy{pointer-events:none}
.btn.is-busy::before{content:"";width:16px;height:16px;margin-right:8px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:900px){
  .auth-split{grid-template-columns:1fr}
  .auth-show{margin:10px;padding:26px 24px;min-height:auto}
  .auth-show h2{font-size:28px;max-width:none}
  .as-stage,.as-foot{display:none}
  .auth-side{padding:8px 14px 32px;align-items:start}
  .auth-split .auth-card{padding:26px 20px}
}
/* other public pages sit on the same backdrop */
.public{background:transparent!important}
.public-card{background:rgba(255,255,255,.76)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)!important;border-radius:24px!important;box-shadow:0 30px 70px -30px rgba(14,27,21,.3)!important}

/* ---------- choices ---------- */
html[data-surface="solid"] body::before{animation:none;background:linear-gradient(180deg,#F4F7F3,#EEF2ED)}
html[data-surface="solid"] body::after{display:none}
html[data-surface="solid"] .panel,html[data-surface="solid"] .stat,html[data-surface="solid"] .ig-card,html[data-surface="solid"] .lead,html[data-surface="solid"] .help-banner{background:#fff!important}
html[data-surface="solid"] .side,html[data-surface="solid"] .topbar{background:rgba(255,255,255,.96)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
html[data-density="compact"] .view{padding:18px 26px 80px}
html[data-density="compact"] .panel-body{padding:12px 14px}
html[data-density="compact"] .panel-head{min-height:44px;padding:9px 14px}
html[data-density="compact"] .crm-table td{padding:9px 12px}
html[data-density="compact"] .nav a{padding:6px 10px}
html[data-density="compact"] .nav-ind{height:32px}
html[data-motion="calm"] body::before{animation:none}
html[data-motion="calm"] .view-enter > *,html[data-motion="calm"] .view-enter .stats > *,html[data-motion="calm"] .view-enter .grid > *{animation-duration:.25s!important;animation-delay:0s!important;filter:none}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  body::before{animation:none}
}
@media (max-width:900px){
  .side{background:rgba(255,255,255,.9)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
  .tabbar{background:rgba(255,255,255,.78)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-edge)!important}
  .view{padding:18px 14px 110px}
}

/* ---------- fixes found on screen ---------- */
.hero{background:radial-gradient(120% 140% at 100% 0%,var(--green-2) 0%,var(--green) 40%,var(--green-ink) 100%)!important;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 60px -28px var(--green)!important}
.hero .btn{background:#fff!important;color:var(--green-ink)!important;box-shadow:0 8px 20px -8px rgba(0,0,0,.35)!important}
.hero .btn:hover{background:#F2FAF5!important}
.hero .btn-ghost,.hero .btn.btn-ghost{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.32)!important;box-shadow:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.22)!important}
.hero-stat{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.18)!important;border-radius:16px!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.auth-show .as-logo{align-self:flex-start}
.auth-show p.as-lead{font-size:16px;line-height:1.55;opacity:.85;max-width:44ch;margin:0;animation:rise .9s var(--spring) .2s both}
@media (min-width:901px){
  .side{overflow:hidden!important}
  .nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;margin:0 -4px;padding:0 4px;mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent)}
  .nav::-webkit-scrollbar{display:none}
  .nav-group{padding:11px 10px 4px!important}
  .nav a{padding:6.5px 10px}
  .nav-ind{height:33px}
}
.av-head,.av-tabs,.av-foot{flex:none}.av-tabs button{line-height:1.2}

/* Eve's panel */
.eve-face-btn{position:relative;border:0;background:none;padding:0;cursor:pointer;border-radius:50%;flex:none}
.eve-face-btn:hover .eve-orb{transform:scale(1.08)}
.eve-live{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#3CC48A;box-shadow:0 0 0 2px #fff}
.eve-live::after{content:"";position:absolute;inset:0;border-radius:50%;background:#3CC48A;animation:ping 2.2s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{75%,100%{transform:scale(2.2);opacity:0}}
.drawer.eve .eve-head{background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0));border-bottom-color:var(--glass-line)}
.drawer.eve .eve-orb.lg{width:44px;height:44px}
.drawer.eve .msg{animation:rise .45s var(--spring) both}
.drawer.eve .msg.agent .bubble{background:rgba(255,255,255,.9);border-color:var(--glass-line);box-shadow:0 6px 18px -10px rgba(14,27,21,.2)}
.drawer.eve .msg.user .bubble{background:linear-gradient(180deg,var(--green-2),var(--green));box-shadow:0 8px 18px -10px var(--green)}
.drawer.eve .eve-orb.sm{width:28px;height:28px}
.eve-input .input{background:rgba(255,255,255,.9);border-color:rgba(14,27,21,.1)}
.eve-send{background:linear-gradient(180deg,var(--green-2),var(--green))!important;box-shadow:0 8px 18px -8px var(--green)}

/* ---------- scrolling that feels like a phone ---------- */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
html{-webkit-tap-highlight-color:transparent}
html:not(.lenis){scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html:not(.lenis){scroll-behavior:auto}}
body::before{will-change:transform;contain:strict}
body::after{contain:strict}
.topbar{-webkit-backdrop-filter:saturate(1.6) blur(14px)!important;backdrop-filter:saturate(1.6) blur(14px)!important}
html.is-scrolling .view{pointer-events:none}
html.is-scrolling body::before{animation-play-state:paused}
#chat,.drawer.eve .chat,#ib-msgs,.ib-list,.modal-body,.av-body,.peek,.kanban,.board,.nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media (max-width:900px){
  .kanban,.board,.mb-board,.hscroll{scroll-snap-type:x proximity;scroll-padding-inline:14px}
  .kanban > *,.board > *,.mb-board > *{scroll-snap-align:start}
}

/* the designer */
.ed-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
.ed-stage{position:sticky;top:0;display:grid;justify-items:center;gap:12px;padding:16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.4));border:1px solid var(--glass-line)}
.eve-orb.ed-big{width:200px!important;height:200px!important;border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--green),0 26px 50px -20px var(--green)!important}
.ed-moods{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ed-parts{display:grid;gap:14px}
.ed-row{display:grid;gap:7px}
.ed-row > b{font:600 13px/1 var(--sans);color:var(--ink-soft)}
.ed-opts{display:flex;flex-wrap:wrap;gap:8px}
.swatch.sm{width:30px;height:30px;border-width:2px}
.ed-opts .chip.on{background:var(--ink)!important;border-color:var(--ink);color:#fff;box-shadow:none}
@media (max-width:640px){.ed-wrap{grid-template-columns:1fr}.ed-stage{position:static}.eve-orb.ed-big{width:150px!important;height:150px!important}}

/* ---------- Eve in 3D ---------- */
.eve-stage{flex:none;padding:10px 14px 0}
.eve3d-slot{position:relative;height:210px;border-radius:22px;overflow:hidden;background:var(--eve-bg,radial-gradient(120% 90% at 50% 15%,#E3F3EA,#BFE3CF));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 12px 30px -18px rgba(14,27,21,.35);display:grid;place-items:center}
.eve3d-slot.dark .eve3d-wait{color:#cfe6d9}
.eve3d-wait{font-size:12.5px;color:var(--ink-dim);animation:fadeIn .4s ease both}
.eve3d-wait::before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;border-radius:50%;border:2px solid rgba(14,27,21,.15);border-top-color:var(--green);animation:spin .8s linear infinite}
.eve3d-host{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.eve3d-host.ready{opacity:1}
.eve3d-host.ready ~ .eve3d-wait,.eve3d-slot:has(.eve3d-host.ready) .eve3d-wait{display:none}
.eve3d-host canvas{display:block;width:100%!important;height:100%!important}
.eve3d-slot.ed-big{width:100%;height:340px;border-radius:24px}
.ed-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.eve-orb{background:url("models/eve/eve-face.webp") 50% 22%/cover no-repeat,radial-gradient(circle at 50% 30%,#fff,#DDEFE4)!important;box-shadow:0 0 0 2px #fff,0 4px 12px -4px rgba(14,27,21,.35)!important;filter:none!important;animation:eveBreathe 5s ease-in-out infinite!important}
.drawer.eve .eve-orb.lg{width:44px;height:44px}
@media (max-width:640px){.eve3d-slot{height:170px}.eve3d-slot.ed-big{height:260px}}
