@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/plex-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/plex-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/plex-mono-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/plex-mono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plex-mono-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plex-mono-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--page:#EEF1F7;--surface:#FFFFFF;--surface2:#F4F6FA;--chat:#EBEEF5;--ink:#161B2E;--ink2:#2C344D;--muted:#56607A;--muted2:#4B5570;--line:rgba(22,30,70,.13);--line2:rgba(22,30,70,.08);--bin:#FFFFFF;--bout:#DCE4FB;--sel:rgba(99,102,241,.12);--chipbg:#E8EAFD;--chip:#3730A3;--okbg:#E2F3EA;--ok:#17633D;--okdot:#17784A;--warnbg:#FFF6EE;--warn:#8A3E06;--warnink:#3B2A1C;--warnline:#D08A4E;--draftbg:#F3F6FE;--draftline:#C9D6F5;--avatar:#E3E6F7;--avink:#3730A3;--toast:rgba(16,21,38,.9);--toastink:#FFFFFF;--toastsub:#C4CAD3;--toasttrack:#3A3F47;--toastbtn:#FFFFFF;--toastbtnink:#15181C;--input:rgba(255,255,255,.9);--hover:rgba(22,30,70,.05);--btnline:rgba(22,30,70,.17);--strong:#15181C;--grip:#C3C9D8;--link:#4338CA;--accent:#4F46E5;--accentink:#FFFFFF;--accentsoft:rgba(99,102,241,.12);--btn:#4F46E5;--btnhover:#4338CA;--shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 2px rgba(16,22,52,.05),0 14px 30px -18px rgba(16,22,52,.22);--pop:0 2px 6px rgba(16,22,52,.06),0 24px 50px -18px rgba(16,22,52,.34);--glass:rgba(255,255,255,.66);--glass2:rgba(255,255,255,.55);--glasspop:rgba(255,255,255,.86);--glassedge:rgba(22,30,70,.09);--glasshi:rgba(255,255,255,.95);--glasssunk:rgba(22,30,70,.035);--glint:rgba(99,102,241,.55);--tick:rgba(22,30,70,.3);--blur:blur(20px) saturate(160%);--scrim:rgba(12,16,34,.4);--ring:0 0 0 3px rgba(99,102,241,.26);--grid:rgba(40,52,110,.035);--field:radial-gradient(64rem 28rem at 50% -10%,rgba(129,140,248,.24),transparent 70%),radial-gradient(42rem 30rem at 104% 0%,rgba(125,211,252,.16),transparent 70%),radial-gradient(52rem 36rem at -4% 104%,rgba(165,180,252,.18),transparent 70%);--sidebg:radial-gradient(130% 40% at 0% 0%,rgba(99,102,241,.22),transparent 62%),linear-gradient(rgba(20,25,44,.95),rgba(18,22,40,.96));--topbg:rgba(20,25,44,.88);--eo:cubic-bezier(.22,1,.36,1);--ed:cubic-bezier(.32,.72,0,1);--r:10px;--rl:14px;--rx:16px;--segon:#FFFFFF;--segline:rgba(22,30,70,.1);--seginset:inset 0 1px 2px rgba(22,30,70,.08);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--page:#080C18;--surface:#141B2E;--surface2:#1A2238;--chat:#0B1122;--ink:#E7EAF3;--ink2:#C9D0E0;--muted:#8E99B3;--muted2:#A3ADC4;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.065);--bin:#182036;--bout:#2A2F66;--sel:rgba(129,140,248,.18);--chipbg:#262B5C;--chip:#C7D2FE;--okbg:#12322A;--ok:#7DD3A6;--okdot:#4CC28A;--warnbg:#36261A;--warn:#F0A867;--warnink:#F1DCC8;--warnline:#8A5A33;--draftbg:#18203F;--draftline:#33406E;--avatar:#2C3170;--avink:#E0E7FF;--toast:rgba(236,239,246,.94);--toastink:#15181C;--toastsub:#4D545E;--toasttrack:#C4CAD3;--toastbtn:#15181C;--toastbtnink:#FFFFFF;--input:rgba(255,255,255,.04);--hover:rgba(255,255,255,.055);--btnline:rgba(255,255,255,.13);--strong:#E7EAF3;--grip:#2E3752;--link:#A5B4FC;--accent:#6366F1;--accentink:#FFFFFF;--accentsoft:rgba(99,102,241,.18);--btn:#4F46E5;--btnhover:#5B54EA;--shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.3),0 20px 40px -22px rgba(0,0,0,.8);--pop:0 2px 8px rgba(0,0,0,.35),0 28px 60px -18px rgba(0,0,0,.75);--glass:rgba(22,30,52,.58);--glass2:rgba(255,255,255,.035);--glasspop:rgba(18,24,42,.88);--glassedge:rgba(255,255,255,.09);--glasshi:rgba(255,255,255,.07);--glasssunk:rgba(255,255,255,.025);--glint:rgba(165,180,252,.8);--tick:rgba(255,255,255,.38);--scrim:rgba(3,5,12,.6);--ring:0 0 0 3px rgba(129,140,248,.3);--grid:rgba(148,163,209,.05);--field:radial-gradient(64rem 28rem at 50% -10%,rgba(129,140,248,.2),transparent 70%),radial-gradient(42rem 30rem at 104% 0%,rgba(56,78,160,.16),transparent 70%),radial-gradient(52rem 36rem at -4% 104%,rgba(67,56,202,.1),transparent 70%);--sidebg:radial-gradient(130% 40% at 0% 0%,rgba(99,102,241,.16),transparent 62%),linear-gradient(rgba(12,17,32,.74),rgba(10,14,27,.8));--topbg:rgba(8,12,24,.72);--segon:rgba(255,255,255,.1);--segline:rgba(255,255,255,.12);--seginset:inset 0 1px 2px rgba(0,0,0,.25);color-scheme:dark}}
:root[data-theme="dark"]{--page:#080C18;--surface:#141B2E;--surface2:#1A2238;--chat:#0B1122;--ink:#E7EAF3;--ink2:#C9D0E0;--muted:#8E99B3;--muted2:#A3ADC4;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.065);--bin:#182036;--bout:#2A2F66;--sel:rgba(129,140,248,.18);--chipbg:#262B5C;--chip:#C7D2FE;--okbg:#12322A;--ok:#7DD3A6;--okdot:#4CC28A;--warnbg:#36261A;--warn:#F0A867;--warnink:#F1DCC8;--warnline:#8A5A33;--draftbg:#18203F;--draftline:#33406E;--avatar:#2C3170;--avink:#E0E7FF;--toast:rgba(236,239,246,.94);--toastink:#15181C;--toastsub:#4D545E;--toasttrack:#C4CAD3;--toastbtn:#15181C;--toastbtnink:#FFFFFF;--input:rgba(255,255,255,.04);--hover:rgba(255,255,255,.055);--btnline:rgba(255,255,255,.13);--strong:#E7EAF3;--grip:#2E3752;--link:#A5B4FC;--accent:#6366F1;--accentink:#FFFFFF;--accentsoft:rgba(99,102,241,.18);--btn:#4F46E5;--btnhover:#5B54EA;--shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.3),0 20px 40px -22px rgba(0,0,0,.8);--pop:0 2px 8px rgba(0,0,0,.35),0 28px 60px -18px rgba(0,0,0,.75);--glass:rgba(22,30,52,.58);--glass2:rgba(255,255,255,.035);--glasspop:rgba(18,24,42,.88);--glassedge:rgba(255,255,255,.09);--glasshi:rgba(255,255,255,.07);--glasssunk:rgba(255,255,255,.025);--glint:rgba(165,180,252,.8);--tick:rgba(255,255,255,.38);--scrim:rgba(3,5,12,.6);--ring:0 0 0 3px rgba(129,140,248,.3);--grid:rgba(148,163,209,.05);--field:radial-gradient(64rem 28rem at 50% -10%,rgba(129,140,248,.2),transparent 70%),radial-gradient(42rem 30rem at 104% 0%,rgba(56,78,160,.16),transparent 70%),radial-gradient(52rem 36rem at -4% 104%,rgba(67,56,202,.1),transparent 70%);--sidebg:radial-gradient(130% 40% at 0% 0%,rgba(99,102,241,.16),transparent 62%),linear-gradient(rgba(12,17,32,.74),rgba(10,14,27,.8));--topbg:rgba(8,12,24,.72);--segon:rgba(255,255,255,.1);--segline:rgba(255,255,255,.12);--seginset:inset 0 1px 2px rgba(0,0,0,.25);color-scheme:dark}
.topbar,.side{--surface:#141B2E;--surface2:rgba(255,255,255,.06);--ink:#E7EAF3;--ink2:#C9D0E0;--muted:#A9B1C6;--muted2:#B8BFD0;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.07);--hover:rgba(255,255,255,.07);--sel:rgba(129,140,248,.24);--input:rgba(255,255,255,.05);--accent:#818CF8;--accentsoft:rgba(99,102,241,.28);--chip:#C7D2FE;--avatar:#2C3170;--avink:#E0E7FF;--link:#A5B4FC;--grip:#2E3752;--btnline:rgba(255,255,255,.13);--glass2:rgba(255,255,255,.045);--glasspop:rgba(16,21,38,.9);--glassedge:rgba(255,255,255,.1);--glasshi:rgba(255,255,255,.08);--ring:0 0 0 3px rgba(129,140,248,.32);--pop:0 2px 8px rgba(0,0,0,.35),0 28px 60px -18px rgba(0,0,0,.75);--sideink:#D5DAE6;--sidemuted:#A3ABBD;--sidehover:rgba(255,255,255,.06);--sideact:linear-gradient(90deg,rgba(99,102,241,.34),rgba(99,102,241,.1));--sideactink:#EEF0FF;--segon:rgba(255,255,255,.1);--segline:rgba(255,255,255,.12);--seginset:inset 0 1px 2px rgba(0,0,0,.25);color:var(--ink);color-scheme:dark}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root:root,.topbar,.side{--glasspop:var(--surface);--topbg:#141B2E;--blur:none}}
@media (prefers-reduced-transparency:reduce){:root:root,.topbar,.side{--glass:var(--surface);--glass2:var(--surface);--glasspop:var(--surface);--topbg:#141B2E;--sidebg:#161B2E;--blur:none}}
@media (prefers-contrast:more){:root:root,.topbar,.side{--glass:var(--surface);--glass2:var(--surface);--glasspop:var(--surface);--glassedge:var(--btnline);--topbg:#141B2E;--sidebg:#161B2E;--blur:none}}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--page);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:14px;line-height:1.45;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body::before,body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}
body::before{background:var(--field)}
body::after{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:72px 72px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(120% 85% at 50% 0%,#000 25%,transparent 80%);mask-image:radial-gradient(120% 85% at 50% 0%,#000 25%,transparent 80%)}
::selection{background:rgba(99,102,241,.3)}
button,input,select,textarea{font:inherit;color:inherit}
input,textarea{caret-color:var(--accent)}
::placeholder{color:var(--muted);opacity:1}
select option{background:var(--surface);color:var(--ink)}
button{cursor:pointer;touch-action:manipulation}
button:disabled{cursor:default;opacity:0.55}
a{color:var(--link);text-underline-offset:2px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{margin:0;line-height:1.25;text-wrap:balance}
h1{font-size:20px;font-weight:700;letter-spacing:-.01em}
h2{font-size:15px;font-weight:600}
h3{font-size:14px;font-weight:600}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.num,td,.stat-value,.stat-lines,.badge,.totals,.bar-value,.hour-n{font-variant-numeric:tabular-nums}
.muted{color:var(--muted2);font-size:13px}
.ico{flex:0 0 auto;display:block}
.app{min-height:100vh}
@keyframes g-reveal{from{opacity:0;transform:translateY(6px);filter:blur(4px)}}
@keyframes g-pop{from{opacity:0;transform:scale(.98)}}
@keyframes g-fade{from{opacity:0}}
@keyframes g-scrim{from{background-color:transparent}}
@keyframes g-up{from{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes g-modal{from{opacity:0;transform:translate(-50%,-50%) scale(.98)}}
@keyframes g-right{from{transform:translateX(100%)}}
@keyframes g-msg{from{opacity:0;transform:translateY(6px) scale(.98)}}
.btn,.ghost,.icon,.seg button,.user-btn,.help-btn,.menu-item,.wa-hbtn,.wa-emoji,.wa-mi,.wa-tobottom,.wa-react,.ws-fab,.wa-attach-pick{transition:transform 140ms var(--eo),background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease}
.btn:active:not(:disabled),.ghost:active:not(:disabled),.icon:active:not(:disabled),.seg button:active,.user-btn:active,.wa-hbtn:active,.wa-emoji:active,.wa-tobottom:active,.wa-react:active,.ws-fab:active,.wa-attach-pick:active{transform:scale(.98)}
:where(.page>*){animation:g-reveal 420ms var(--eo) backwards}
:where(.page>:nth-child(2)){animation-delay:60ms}
:where(.page>:nth-child(3)){animation-delay:120ms}
:where(.page>:nth-child(4)){animation-delay:180ms}
:where(.page>:nth-child(n+5)){animation-delay:240ms}
.stats>.stat{animation:g-reveal 420ms var(--eo) backwards}
.stats>.stat:nth-child(2){animation-delay:50ms}
.stats>.stat:nth-child(3){animation-delay:100ms}
.stats>.stat:nth-child(4){animation-delay:150ms}
.stats>.stat:nth-child(n+5){animation-delay:200ms}
.topbar{position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;gap:12px;padding:0 16px;background:transparent;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 10px 30px -20px rgba(0,0,0,.6)}
.topbar::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--topbg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.top-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}
.icon{width:40px;height:40px;flex:0 0 40px;padding:0;border:1px solid transparent;border-radius:var(--r);background:transparent;color:var(--muted2);display:inline-flex;align-items:center;justify-content:center}
.icon:hover{background:var(--hover);color:var(--ink)}
.icon.sm{width:32px;height:32px;flex-basis:32px;border-color:var(--line)}
.ico.flip{transform:rotate(180deg)}
.center{text-align:center;padding:48px 16px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto;overflow:hidden}
.logo{width:34px;height:34px;flex:0 0 34px;border-radius:var(--r);background:linear-gradient(150deg,#7C83F9,#4F46E5 70%);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px rgba(129,140,248,.35),0 6px 16px -6px rgba(99,102,241,.7)}
.logo-img{width:34px;height:34px;flex:0 0 34px;border-radius:var(--r);object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.brand-name{min-width:0;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.brand-sub{display:block;font-weight:400;font-size:12px;color:var(--muted2);overflow:hidden;text-overflow:ellipsis}
.top-search{flex:1 1 auto;display:flex;justify-content:center;min-width:0;padding:0 8px}
.top-search .search{width:100%;max-width:440px}
.search{position:relative;display:flex;align-items:center;min-width:0}
.search>.ico{position:absolute;left:12px;color:var(--muted);pointer-events:none}
.search input{width:100%;height:38px;padding:0 12px 0 38px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);transition:border-color 160ms ease,box-shadow 160ms ease,background-color 160ms ease}
.search input:focus{border-color:var(--accent);outline:none;box-shadow:var(--ring)}
.search-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:45;list-style:none;margin:0;padding:6px;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glassedge);border-radius:var(--rl);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);max-height:360px;overflow-y:auto;overscroll-behavior:contain;transform-origin:top center;animation:g-pop 160ms var(--eo)}
.search-list li{display:flex;align-items:center;gap:10px;min-height:38px;padding:6px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}
.search-list li[aria-selected="true"],.search-list li:hover{background:var(--sel)}
.search-label{flex:1 1 auto;min-width:0;line-height:1.3;overflow-wrap:anywhere}
.search-group{flex:0 0 auto;font-size:12px;color:var(--muted2)}
.search-list .search-none{cursor:default;color:var(--muted2)}
.search-list .search-none:hover{background:transparent}
.seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--glass2);box-shadow:var(--seginset);flex:0 0 auto}
.seg button{min-width:40px;min-height:34px;border:1px solid transparent;border-radius:999px;padding:0 10px;background:transparent;color:var(--muted2);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--segon);border-color:var(--segline);color:var(--ink);box-shadow:inset 0 1px 0 var(--glasshi),0 2px 6px -2px rgba(0,0,0,.35)}
.seg-ico button{min-width:44px;padding:0 10px}
.help-btn{min-width:40px;min-height:40px;padding:0 12px;font-weight:700;border-color:transparent;color:var(--muted2)}
.user-menu{position:relative;flex:0 0 auto}
.user-btn{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 4px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink);max-width:220px}
.user-btn:hover{background:var(--hover)}
.user-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.user-btn .chev{transition:transform 200ms var(--eo)}
.user-btn-name{font-weight:600;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-btn .chev{color:var(--muted)}
.avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--avatar);color:var(--avink);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:45;min-width:220px;padding:6px;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glassedge);border-radius:var(--rl);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);transform-origin:top right;animation:g-pop 160ms var(--eo)}
.menu-who{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--line2);margin-bottom:6px}
.menu-who span{font-size:12px;color:var(--muted2)}
.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font-weight:500}
.menu-item:hover{background:var(--hover)}
.shell{min-height:calc(100vh - 60px)}
.side{position:fixed;top:60px;bottom:0;left:0;z-index:30;width:264px;display:flex;flex-direction:column;background:var(--sidebg);border-right:1px solid rgba(255,255,255,.07);box-shadow:inset -1px 0 0 rgba(0,0,0,.25);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--grip) transparent}
.side-user{display:flex;align-items:center;gap:10px;margin:12px;padding:10px;border:1px solid var(--glassedge);border-radius:var(--rl);background:var(--glass2);box-shadow:inset 0 1px 0 var(--glasshi);min-width:0}
.side-user .avatar{width:36px;height:36px;flex-basis:36px}
.side-who{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.side-who strong{color:var(--sideink);font-size:14px;overflow-wrap:anywhere}
.side-who span{color:var(--sidemuted);font-size:12px;overflow-wrap:anywhere}
.side-search{display:none;padding:0 12px 8px}
.nav{padding:4px 10px 16px}
.nav-list,.nav-sub{list-style:none;margin:0;padding:0}
.nav-list{display:flex;flex-direction:column;gap:2px}
.nav-link{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:var(--r);background:transparent;color:var(--sideink);text-decoration:none;font-size:14px;font-weight:500;text-align:left;position:relative;transition:background-color 160ms ease,color 160ms ease,box-shadow 160ms ease}
.nav-link .ico{color:var(--sidemuted);transition:color 160ms ease}
.nav-link:hover{background:var(--sidehover);color:var(--sideink)}
.nav-link:hover .ico{color:var(--sideink)}
.nav-link[aria-current="page"]{background:var(--sideact);color:var(--sideactink);font-weight:600;box-shadow:inset 0 0 0 1px rgba(129,140,248,.22),inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px -12px rgba(99,102,241,.9)}
.nav-link[aria-current="page"] .ico{color:#A5B4FC}
.nav-link[aria-current="page"]::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#818CF8;box-shadow:0 0 10px rgba(129,140,248,.8)}
.nav-label{flex:1 1 auto;min-width:0;line-height:1.3;overflow-wrap:anywhere}
.nav-group-btn .chev{color:var(--sidemuted);transition:transform 200ms var(--eo)}
.nav-group[data-open="true"]>.nav-group-btn .chev{transform:rotate(180deg)}
.nav-group-btn.has-active{color:var(--sideink);font-weight:600}
.nav-group[data-open="false"]>.nav-sub{display:none}
.nav-group[data-open="true"]>.nav-sub{transform-origin:top center;animation:g-pop 180ms var(--eo)}
.nav-sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}
.nav-sub .nav-link{padding-left:42px;min-height:36px;font-size:13.5px}
.nav-sub .nav-link .ico{width:16px;height:16px}
.badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--btn);background-image:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,0));color:#FFFFFF;font-size:11px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 1px rgba(129,140,248,.35),0 2px 8px -2px rgba(79,70,229,.7)}
.main{margin-left:264px;padding:24px;min-width:0}
.content{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:16px;min-width:0}
.scrim{position:fixed;inset:0;z-index:55;background:var(--scrim);animation:g-fade 200ms ease-out}
@media (min-width:901px){
.app[data-mini="1"] .side{width:68px}
.app[data-mini="1"] .main{margin-left:68px}
.app[data-mini="1"] .side-user{justify-content:center;margin:12px 10px;padding:6px;border-color:transparent;background:transparent}
.app[data-mini="1"] .side-who,.app[data-mini="1"] .nav-label,.app[data-mini="1"] .nav-group-btn,.app[data-mini="1"] .nav-link .chev{display:none}
.app[data-mini="1"] .nav-group>.nav-sub{display:flex;border-top:1px solid var(--line2);padding-top:4px;margin-top:4px}
.app[data-mini="1"] .nav-link,.app[data-mini="1"] .nav-sub .nav-link{justify-content:center;padding:0;min-height:40px}
.app[data-mini="1"] .nav-sub .nav-link .ico{width:18px;height:18px}
.app[data-mini="1"] .nav-link .badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;line-height:16px;padding:0 4px;font-size:10px}
}
.page{display:flex;flex-direction:column;gap:16px;min-width:0}
.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-height:40px}
.page-actions{display:flex;flex-wrap:wrap;gap:8px}
.page-sub{margin:4px 0 0}
.eyebrow{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em}
.card{background:var(--glass);border:1px solid var(--glassedge);border-radius:var(--rl);min-width:0;box-shadow:var(--shadow)}
.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line2)}
.card-head h2{display:flex;align-items:center;gap:10px;min-width:0}
.card-head h2 .ico{color:var(--accent)}
.card-head>input,.card-head>select,.card-head>.search{flex:0 1 280px;min-width:0}
@media (max-width:640px){.card-head>input,.card-head>select,.card-head>.search{flex:1 1 100%;width:100%}}
.card-body{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0;container-type:inline-size}
.form-grid{display:flex;flex-direction:column;gap:14px;max-width:640px}
.form-grid.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;max-width:1040px}
.form-grid.cols-2>:not(.field){grid-column:1 / -1}
@container (max-width:620px){.form-grid.cols-2{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted2);min-width:0}
.field>input,.field>select,.field>textarea{width:100%}
.field-error{font-size:12px;font-weight:600;color:var(--warn)}
.field-hint{font-size:12px;font-weight:400;color:var(--muted)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.row>input{flex:1 1 160px;min-width:0}
.check{display:flex;align-items:center;gap:8px;min-height:40px;font-weight:500;color:var(--ink)}
.check input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
.switch-list{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:8px}
.switch-row{padding:6px 14px}
.switch-row+.switch-row{border-top:1px solid var(--line2)}
input,select{height:40px;min-width:0;border:1px solid var(--line);border-radius:var(--r);padding:0 10px;background:var(--input);color:var(--ink);font-size:14px;font-weight:400;transition:border-color 160ms ease,box-shadow 160ms ease}
input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--btnline)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:var(--ring)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}
input[type="file"]{height:auto;padding:8px 10px}
.file-pick{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
.file-hit{position:relative;display:inline-flex;flex:0 0 auto}
.file-pick .file-input{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer}
.file-btn{pointer-events:none}
.file-input:hover+.file-btn{background:var(--hover);border-color:var(--grip)}
.file-input:focus-visible+.file-btn{outline:2px solid var(--accent);outline-offset:2px}
.file-name{min-width:0;font-size:13px;font-weight:400;color:var(--muted2);overflow-wrap:anywhere}
input[type="checkbox"]{height:18px;padding:0;accent-color:var(--accent)}
input[readonly],input:disabled,select:disabled{background:var(--surface2);color:var(--muted2)}
textarea{border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;background:var(--input);color:var(--ink);font-size:14px;font-weight:400;line-height:1.45;resize:vertical;transition:border-color 160ms ease,box-shadow 160ms ease}
.tag-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;border:1px solid var(--line);border-radius:var(--r);padding:5px 6px;background:var(--input);cursor:text;transition:border-color 160ms ease,box-shadow 160ms ease}
.tag-box:hover:not(:focus-within){border-color:var(--btnline)}
.tag-box:focus-within{border-color:var(--accent);box-shadow:var(--ring)}
.tag-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;min-height:28px;border-radius:999px;padding:0 2px 0 11px;background:var(--chipbg);color:var(--chip);font-size:13px;font-weight:500;line-height:1.2;cursor:default;animation:tag-in 160ms var(--eo)}
.tag-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag-chip button{display:grid;place-items:center;flex:none;width:24px;height:24px;border:0;border-radius:999px;background:transparent;color:inherit;font-size:15px;line-height:1;opacity:.7;cursor:pointer}
.tag-chip button:hover{opacity:1;background:var(--hover)}
.tag-box>input{flex:1 1 120px;min-width:80px;height:28px;border:0;padding:0 4px;background:transparent;box-shadow:none}
.tag-box>input:focus,.tag-box>input:hover{border:0;box-shadow:none}
@keyframes tag-in{from{opacity:0;transform:scale(.85)}}
@media (prefers-reduced-motion:reduce){.tag-chip{animation:none}}
.btn,.ghost{min-height:40px;border-radius:var(--r);font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.btn{border:1px solid var(--btn);padding:0 16px;background-color:var(--btn);background-image:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,0) 60%);color:#FFFFFF;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 1px 2px rgba(30,27,100,.3),0 8px 18px -8px rgba(79,70,229,.65)}
.btn:hover:not(:disabled){background-color:var(--btnhover);border-color:var(--btnhover);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 1px 2px rgba(30,27,100,.3),0 10px 22px -8px rgba(79,70,229,.8)}
.ghost{border:1px solid var(--btnline);padding:0 14px;background:var(--glass2);color:var(--ink);box-shadow:inset 0 1px 0 var(--glasshi)}
.ghost:hover:not(:disabled){background:var(--hover);border-color:var(--grip)}
.ghost .ico{color:var(--muted2)}
.flash{border-radius:var(--r);padding:10px 12px;font-size:13px;font-weight:500;animation:g-fade 220ms ease-out}
.flash.ok{background:var(--okbg);color:var(--ok)}
.flash.error{background:var(--warnbg);color:var(--warnink);border:1px solid var(--warnline)}
.table-wrap{position:relative;overflow-x:auto;max-width:100%;border:1px solid var(--line2);border-radius:var(--r);scrollbar-width:thin;scrollbar-color:var(--grip) transparent}
.card-body>.table-wrap{margin-left:-18px;margin-right:-18px;max-width:none;border:0;border-radius:0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.card-body>.table-wrap:first-child{margin-top:-18px;border-top:0}
.card-body>.table-wrap:last-child{margin-bottom:-18px;border-bottom:0}
table{width:100%;border-collapse:collapse;font-size:13.5px}
caption{padding:8px 14px;text-align:left;font-weight:600;color:var(--muted2)}
th,td{padding:10px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line2);white-space:nowrap}
th{font-size:12px;font-weight:600;color:var(--muted2);background:var(--glasssunk);letter-spacing:.02em}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--hover)}
td.wrap{white-space:normal;min-width:220px;overflow-wrap:anywhere}
td.actions{text-align:right;white-space:normal;padding-right:18px}
td.actions>*{margin-top:3px;margin-bottom:3px;vertical-align:middle}
td.actions>*+*{margin-left:6px}
.cell-trunc{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line2);background:var(--surface2);display:block}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;background:var(--surface2);color:var(--muted2);font-size:12px;font-weight:600;white-space:nowrap}
.pill-ok{background:var(--okbg);color:var(--ok)}
.pill-warn{background:var(--warnbg);color:var(--warn)}
.dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
.pill-ok .dot{background:var(--okdot)}
.code-box{width:100%;min-height:72px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;word-break:break-all;resize:none}
.preview{border:1px dashed var(--line);border-radius:8px;padding:10px 12px;background:var(--surface2);font-weight:600;color:var(--ink)}
.auth{display:flex;justify-content:center;padding:48px 16px}
.auth .card{width:100%;max-width:420px}
.empty{color:var(--muted2);font-size:13px}
.more{display:flex;justify-content:center;padding-top:4px}
.content{container-type:inline-size}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px}
@container (min-width:860px){.stats,.shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:var(--glass);border:1px solid var(--glassedge);border-radius:var(--rl);color:var(--ink);text-decoration:none;min-width:0;box-shadow:var(--shadow);transition:transform 220ms var(--eo),border-color 200ms ease,box-shadow 220ms ease}
.stat::before{content:"";position:absolute;top:-1px;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,var(--glint),transparent);pointer-events:none}
.stat::after{content:"";position:absolute;inset:6px;pointer-events:none;background-image:radial-gradient(circle,var(--tick) 1px,transparent 1.6px),radial-gradient(circle,var(--tick) 1px,transparent 1.6px),radial-gradient(circle,var(--tick) 1px,transparent 1.6px),radial-gradient(circle,var(--tick) 1px,transparent 1.6px);background-size:4px 4px;background-repeat:no-repeat;background-position:0 0,100% 0,0 100%,100% 100%}
a.stat:hover{border-color:rgba(129,140,248,.45);color:var(--ink)}
@media (hover:hover) and (pointer:fine){a.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow),0 18px 36px -18px rgba(79,70,229,.45)}}
a.stat:active{transform:scale(.98)}
.stat-top{display:flex;align-items:center;gap:12px;min-width:0}
.stat-ico{width:40px;height:40px;flex:0 0 40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;background:var(--accentsoft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--glassedge),inset 0 1px 0 var(--glasshi)}
.stat[data-tone="warn"] .stat-ico{background:var(--warnbg);color:var(--warn)}
.stat[data-tone="ok"] .stat-ico{background:var(--okbg);color:var(--ok)}
.stat-label{font-size:13px;font-weight:600;color:var(--muted2);min-width:0}
.stat-value{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:flex;align-items:center}
.stat[data-tone="warn"] .stat-value .ico{color:var(--warn)}
.stat[data-tone="ok"] .stat-value .ico{color:var(--ok)}
.stat-sub{font-size:13px;color:var(--muted2);overflow-wrap:anywhere}
.stat-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:500;color:var(--ink2)}
.stat-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--line2);font-size:13px;font-weight:600;color:var(--link)}
.shortcuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));grid-auto-rows:1fr;gap:8px}
.shortcut{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;line-height:1.3;overflow-wrap:anywhere;border:1px solid var(--glassedge);border-radius:var(--r);background:var(--glass2);color:var(--ink);text-decoration:none;font-weight:500;min-width:0;transition:background-color 160ms ease,border-color 160ms ease,transform 140ms var(--eo)}
.shortcut:hover{background:var(--hover);border-color:var(--line);color:var(--ink)}
.shortcut:active{transform:scale(.98)}
.shortcut-ico{width:30px;height:30px;flex:0 0 30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--accentsoft);color:var(--accent)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--grip);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
@supports not selector(::-webkit-scrollbar){html,.table-wrap{scrollbar-width:thin;scrollbar-color:var(--grip) transparent}}
@media (max-width:900px){
.topbar{padding:0 12px;gap:8px}
.top-search{display:none}
.side{top:0;z-index:60;width:min(288px,86vw);transform:translateX(-100%);visibility:hidden;box-shadow:var(--pop);background:radial-gradient(130% 40% at 0% 0%,rgba(99,102,241,.22),transparent 62%),#121729;transition:transform 240ms var(--ed),visibility 0s linear 240ms}
.app[data-drawer="open"] .side{transform:none;visibility:visible;transition:transform 320ms var(--ed)}
.side-search{display:block}
.main{margin-left:0;padding:16px}
.btn,.ghost,.icon,.help-btn,.user-btn{min-height:44px}
.icon:not(.sm){width:44px;height:44px;flex-basis:44px}
.nav-link,.nav-sub .nav-link{min-height:44px}
.user-btn-name,.user-btn .chev{display:none}
}
@media (max-width:620px){.ln-check{min-height:44px}.seg button{min-height:44px}.brand-sub{display:none}.page-head h1{font-size:18px}.card-head{padding:12px 14px}.card-body{padding:14px}.card-body>.table-wrap{margin-left:-14px;margin-right:-14px}.card-body>.table-wrap:first-child{margin-top:-14px}.card-body>.table-wrap:last-child{margin-bottom:-14px}.stats{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.brand-name{display:none}.top-actions{gap:2px}.seg button{min-width:36px;padding:0 6px}}
@media (prefers-reduced-motion:reduce){.side,.app[data-drawer="open"] .side,.nav-group-btn .chev{transition:none}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
::view-transition-old(root),::view-transition-new(root){animation-duration:240ms;animation-timing-function:ease}
.ln-pending{list-style:none;margin:0;padding:0}
.ln-pending li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line2)}
.ln-pending li:last-child{border-bottom:0}
.ln-meta{margin:0 0 8px}
.ln-status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:13px}
.ln-ok{background:var(--okbg);color:var(--ok)}
.ln-warn{background:var(--warnbg);color:var(--warn)}
.ln-none{background:var(--surface2);color:var(--muted)}
.ln-access{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line2);border-radius:8px}
.ln-access legend{padding:0 4px;font-weight:600}
.ln-check{display:inline-flex;align-items:center;gap:6px;min-height:32px}
.bars{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.bars li{display:grid;grid-template-columns:minmax(80px,180px) 1fr auto;align-items:center;gap:12px}
.bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.bar-track{height:10px;background:var(--surface2);border-radius:6px;overflow:hidden}
.bar-fill{display:block;height:100%;min-width:2px;background:var(--accent);border-radius:6px}
.bar-value{font-size:13px;color:var(--ink2);white-space:nowrap}
.chart-scroll{overflow-x:auto;margin-bottom:16px}
.hours{list-style:none;margin:0;padding:0;min-width:520px;height:180px;display:grid;grid-template-columns:repeat(24,minmax(14px,1fr));gap:4px;align-items:stretch}
.hours li{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.hour-n,.hour-label{font-size:11px;line-height:14px}
.hour-n{color:var(--ink2)}
.hour-label{color:var(--muted)}
.hour-slot{flex:1;width:100%;display:flex;align-items:flex-end}
.hour-bar{display:block;width:100%;min-height:2px;background:var(--accent);border-radius:4px 4px 0 0}
.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}
@media (prefers-reduced-motion:no-preference){.bar-fill{transition:width .2s ease}.hour-bar{transition:height .2s ease}}
@media (max-width:560px){.bars li{grid-template-columns:1fr auto}.bars .bar-track{grid-column:1 / -1;grid-row:2}}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
a.btn:hover{color:#FFFFFF}
.ban-scrim{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim);animation:g-fade 200ms ease-out}
.ban-dialog,.dlg,.ws-dlg-scrim .ws-dlg{position:relative;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glassedge);border-radius:var(--rx);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);animation:g-pop 220ms var(--eo)}
.ban-dialog::before,.dlg::before,.ws-dlg-scrim .ws-dlg::before{content:"";position:absolute;top:-1px;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,var(--glint),transparent);pointer-events:none}
.ban-dialog{width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;gap:12px;padding:20px;color:var(--ink)}
.ban-dialog h2{margin:0;font-size:18px;line-height:1.3}
.ban-body{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.5;border-radius:6px}
.ban-body p{margin:0}
.ban-body h3{margin:0 0 4px;font-size:14px}
.ban-body ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.ban-note{color:var(--muted2);font-size:13px}
.ban-actions{display:flex;justify-content:flex-end}
.ban-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dlg-scrim,.ws-dlg-scrim{position:fixed;inset:0;z-index:85;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim);overscroll-behavior:contain;animation:g-scrim 200ms ease-out}
.dlg{width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;color:var(--ink)}
.dlg-head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--line2)}
.dlg-head h2{flex:1 1 auto;font-size:16px}
.dlg-body{padding:14px 18px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:10px}
.dlg-body p{margin:0}
.dlg-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line2)}
.wrap-any{overflow-wrap:anywhere}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.tabs [role="tab"]{flex:0 0 auto;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--muted2);padding:10px 14px;min-height:42px;font-weight:500;white-space:nowrap;cursor:pointer;border-radius:8px 8px 0 0;transition:color 160ms ease,background-color 160ms ease,border-color 200ms ease}
.tabs [role="tab"]:hover{color:var(--ink);background:var(--hover)}
.tabs [role="tab"][aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}
.totals{display:flex;gap:8px;flex-wrap:wrap}
.total-pill{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px;padding:6px 12px;border:1px solid var(--glassedge);border-radius:999px;background:var(--glass);box-shadow:inset 0 1px 0 var(--glasshi);font-size:13px}
.total-pill strong{font-weight:600}
.total-wait{font-weight:600;color:var(--chip);background:var(--accentsoft);border-color:transparent}
.filters-toggle{display:none}
.tabs-wrap{position:relative;min-width:0}
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:end}
.filter{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted2);min-width:0}
.filter>input,.filter>select,.filters>select,.filters>input{width:100%}
@media (max-width:640px){.filters-toggle{display:inline-flex;align-self:flex-start}.filters[data-open="false"]{display:none}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs-wrap::after{content:"";position:absolute;top:0;right:0;bottom:1px;width:40px;background:linear-gradient(to right,transparent,var(--page));pointer-events:none}.tabs{padding-right:32px}}
.thumb-pdf{display:inline-block;width:44px;height:44px;line-height:44px;text-align:center;border-radius:6px;background:var(--hover);font-size:12px}
.clickable{cursor:pointer}
.clickable:hover{background:var(--hover)}
.chip{display:inline-block;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;background:var(--hover);margin-right:4px}
.chip-reconciled,.chip-approved{background:#dcefdc;color:#1b5e20}
.chip-review,.chip-pending,.chip-reading{background:#fff3cd;color:#6b5000}
.chip-no_credit,.chip-amount_mismatch,.chip-wrong_account,.chip-rejected{background:#f8d7da;color:#842029}
.chip-duplicate,.chip-not_receipt,.chip-warn{background:#e2e3e5;color:#41464b}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(960px,100%);background:var(--surface);color:var(--ink);border-left:1px solid var(--glassedge);box-shadow:-24px 0 60px -20px rgba(0,0,0,.45);z-index:70;display:flex;flex-direction:column;animation:g-right 320ms var(--ed) backwards}
.drawer-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.drawer-head h2{margin:0;font-size:18px;flex:1}
.drawer-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;overflow:auto}
.receipt-image{overflow:auto}
.receipt-image img,.receipt-image iframe{width:100%;border-radius:8px;cursor:zoom-in}
.receipt-image iframe{height:70vh;border:1px solid var(--line)}
.receipt-image.zoom img{transform:scale(2);transform-origin:top left;cursor:zoom-out}
.kv th{text-align:left;padding:4px 8px;color:var(--muted);background:transparent}
.kv td{padding:4px 8px;white-space:normal;overflow-wrap:anywhere}
.kv tbody tr:hover td{background:transparent}
.kv tr.diff td{background:#fff3cd}
.reasons{margin:8px 0;padding-left:18px}
@media (max-width:760px){.drawer-body{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip-reconciled,:root:not([data-theme="light"]) .chip-approved{background:#16352A;color:#7DD3A6}:root:not([data-theme="light"]) .chip-review,:root:not([data-theme="light"]) .chip-pending,:root:not([data-theme="light"]) .chip-reading,:root:not([data-theme="light"]) .kv tr.diff td{background:#3A2A1A;color:#F0A867}:root:not([data-theme="light"]) .chip-no_credit,:root:not([data-theme="light"]) .chip-amount_mismatch,:root:not([data-theme="light"]) .chip-wrong_account,:root:not([data-theme="light"]) .chip-rejected{background:#45202A;color:#F5B1BA}:root:not([data-theme="light"]) .chip-duplicate,:root:not([data-theme="light"]) .chip-not_receipt,:root:not([data-theme="light"]) .chip-warn{background:#323850;color:#CFD5E1}}
:root[data-theme="dark"] .chip-reconciled,:root[data-theme="dark"] .chip-approved{background:#16352A;color:#7DD3A6}
:root[data-theme="dark"] .chip-review,:root[data-theme="dark"] .chip-pending,:root[data-theme="dark"] .chip-reading,:root[data-theme="dark"] .kv tr.diff td{background:#3A2A1A;color:#F0A867}
:root[data-theme="dark"] .chip-no_credit,:root[data-theme="dark"] .chip-amount_mismatch,:root[data-theme="dark"] .chip-wrong_account,:root[data-theme="dark"] .chip-rejected{background:#45202A;color:#F5B1BA}
:root[data-theme="dark"] .chip-duplicate,:root[data-theme="dark"] .chip-not_receipt,:root[data-theme="dark"] .chip-warn{background:#323850;color:#CFD5E1}
.banner{margin:0}
.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(820px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;overscroll-behavior:contain;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);border:1px solid var(--glassedge);border-radius:var(--rx);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);z-index:80;padding:0 16px 16px;animation:g-modal 220ms var(--eo)}
.modal-head{display:flex;align-items:center;gap:12px;padding:12px 0}
.modal-head h3{margin:0;font-size:16px;flex:1}
.email-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}
.chip-list{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 12px}
.fail{color:var(--warnink)}
.col-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:8px}
.col-list li{display:flex;align-items:center;gap:6px;padding:2px 8px 2px 12px}
.col-list li+li{border-top:1px solid var(--line2)}
.col-list li .check{flex:1 1 auto;min-width:0;min-height:40px}
.ai-remote{display:flex;flex-direction:column;gap:8px}
.ai-remote-off{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
@media (min-width:901px){td.actions{white-space:nowrap}td.actions .ghost,td.actions .btn{min-height:32px;padding:0 10px;font-size:13px}}
td.actions .ghost.sq{min-width:32px;padding:0 8px}
@media (max-width:620px){td.actions{padding-right:14px}}
.chip-ok{background:var(--okbg);color:var(--ok)}
.plan-current{font-weight:600;margin:4px 0 12px}
.plan-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:8px}
.plan-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px}
.plan-row+.plan-row{border-top:1px solid var(--line2)}
.plan-row[data-in-use]{background:var(--accentsoft)}
.plan-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 220px}
.plan-name{font-weight:600}
.plan-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.plan-actions{flex:0 1 auto}
.plan-new input{flex:1 1 200px;min-width:0}
.mod-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--input);color:var(--muted);margin:8px 0 14px;max-width:420px}
.mod-search input{border:0;background:transparent;flex:1;min-width:0;height:40px;outline:none;color:var(--ink)}
.mod-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.mod-groups{display:flex;flex-direction:column;gap:12px}
.mod-group{border:1px solid var(--line2);border-radius:8px;overflow:hidden}
.mod-group-head{display:flex;align-items:center;gap:8px;background:var(--surface2);padding-right:8px}
.mod-group-head .mod-list{flex:1;min-width:0}
.mod-group-head .mod-name{font-size:15px}
.mod-count{font-size:12px;color:var(--muted2);white-space:nowrap}
.mod-fold svg{transition:transform .15s ease}
.mod-fold[aria-expanded="true"] svg{transform:rotate(180deg)}
.mod-list{list-style:none;margin:0;padding:0}
.mod-kids .mod-row{border-top:1px solid var(--line2)}
.mod-row{padding:8px 12px}
.mod-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;min-height:40px}
.mod-check input{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.mod-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.mod-name{font-weight:600;color:var(--ink)}
.mod-desc{font-size:13px;color:var(--muted2);overflow-wrap:anywhere}
.mod-why{font-size:12px;color:var(--warn)}
.mod-row[data-greyed] .mod-check{cursor:not-allowed}
.mod-row[data-greyed] .mod-name,.mod-row[data-greyed] .mod-desc{opacity:.6}
@media (max-width:620px){.mod-row{padding-right:8px}.mod-group-head{flex-wrap:wrap}.mod-count{padding-left:42px;order:3;width:100%;padding-bottom:8px}}
.direct{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:16px 0}
.status-counts,.latest,.outputs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.status-counts li,.latest li,.outputs li{display:flex;align-items:center;gap:10px;padding:8px 0;min-width:0}
.status-counts li+li,.latest li+li,.outputs li+li{border-top:1px solid var(--line2)}
.status-counts a.chip{text-decoration:none;color:inherit}
.status-n{margin-left:auto;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.latest li{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"chip amount at" "who who who";gap:4px 10px;align-items:center}
.latest li .chip{grid-area:chip;margin:0}
.latest-amount{grid-area:amount;font-weight:600}
.latest-who{grid-area:who;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-at{grid-area:at;font-size:12px;white-space:nowrap}
.output-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.outputs .chip{white-space:nowrap}
.period{margin:0 0 12px}
.mov-search{width:100%;margin-bottom:12px}
.sub{display:block;font-size:12px}
.mov-history summary{cursor:pointer;color:var(--link)}
.mov-history ul{margin:6px 0 0;padding-left:18px;font-size:13px}
@media (max-width:640px){.mov-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mov-table,.mov-table tbody,.mov-table tr,.mov-table td{display:block;width:100%}.mov-table tr{border-bottom:1px solid var(--line);padding:8px 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 12px}.mov-table td{border:0;padding:3px 0;text-align:left}.mov-table td,.contacts-table td{white-space:normal;overflow-wrap:anywhere;min-width:0}.mov-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted)}.mov-table td.actions{padding-top:6px;grid-column:1 / -1}.period{display:flex;flex-wrap:wrap}}
.contact-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.contact-parts>.card:only-child{grid-column:1 / -1}
.contact-part h3,.contact-box h3{font-size:14px;margin:16px 0 6px}
.contact-head{position:sticky;top:60px;z-index:20;display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glassedge);border-radius:var(--rl);box-shadow:inset 0 1px 0 var(--glasshi),var(--shadow)}
.contact-avatar{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--avatar);color:var(--avink)}
.contact-initial{display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:600}
.contact-head-text{flex:1 1 auto;min-width:0}
.contact-head-text h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-head-text p{margin:2px 0 0}
.media-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.doc-list{list-style:none;margin:0 0 8px;padding:0}
.doc-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line2)}
.doc-list li>a{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.contact-box{margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
.move-box{display:grid;gap:8px;margin:8px 0}
.move-box input{width:100%}
@media (max-width:760px){.contact-parts{grid-template-columns:minmax(0,1fr)}.doc-list li .sm{min-height:44px}.contact-head{gap:10px;padding:8px 10px}.contact-avatar{width:44px;height:44px}.contact-initial{font-size:18px}.contact-head-text h1{font-size:18px}}
.contact-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}
.contact-tools .mov-search{flex:1 1 260px;width:auto;margin-bottom:0}
.contact-sort{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.contact-sort select{min-width:180px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.contact-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.contact-with-chat .contact-layout{grid-template-columns:minmax(0,1fr) minmax(400px,46%)}
.contact-with-chat .contact-parts{grid-template-columns:minmax(0,1fr)}
.contact-chat{position:sticky;top:156px;min-width:0}
.wa-split.wa-embed{grid-template-columns:minmax(0,1fr);height:calc(100vh - 172px);min-height:460px}
.contact-act{white-space:nowrap;text-align:right}
.contact-act .ghost{display:inline-flex;align-items:center;gap:6px}
@media (max-width:1100px){.contact-with-chat .contact-layout{grid-template-columns:minmax(0,1fr)}.contact-chat{position:static}.wa-split.wa-embed{height:min(78vh,720px)}}
.contact-part .kv th{width:40%;white-space:normal;vertical-align:top}
.contact-part .chip{display:inline-block;white-space:nowrap;margin:4px 0 0}
@media (max-width:640px){.contact-part .kv,.contact-part .kv tbody,.contact-part .kv tr,.contact-part .kv th,.contact-part .kv td{display:block;width:auto}.contact-part .kv th{padding-bottom:0;border:0}.contact-part .kv td{padding-top:2px}}
.qr{width:260px;max-width:100%;flex:0 0 auto;background:#FFFFFF;padding:8px;border-radius:8px;border:1px solid var(--line2)}
.qr svg{display:block;width:100%;height:auto}
.wa-link{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.wa-steps{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:8px}
.wa-steps ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--ink)}
.wa-code{font-size:32px;font-weight:700;letter-spacing:.12em;margin:0;color:var(--ink)}
:root{--wagreen:#1DAA61;--wagreenink:#FFFFFF;--watick:#2A9FD8;--wahl:#FFF2B3;--wadrop:rgba(79,70,229,.10);--wa0:#B4237A;--wa1:#1F7A3A;--wa2:#9A5B00;--wa3:#2D5BD7;--wa4:#7A3FC4;--wa5:#0F7C86;--wa6:#B43C1E;--wa7:#566000;--chatgrid:rgba(40,52,110,.04);--chatglow:rgba(129,140,248,.12)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--wagreen:#21C063;--wagreenink:#0B1A12;--watick:#53BDEB;--wahl:#4A4020;--wadrop:rgba(99,102,241,.18);--wa0:#F48FC7;--wa1:#7DD3A6;--wa2:#F0B860;--wa3:#93B4FF;--wa4:#C9A5FF;--wa5:#6FD6DF;--wa6:#FF9F85;--wa7:#C9D46A;--chatgrid:rgba(148,163,209,.045);--chatglow:rgba(99,102,241,.14)}}
:root[data-theme="dark"]{--wagreen:#21C063;--wagreenink:#0B1A12;--watick:#53BDEB;--wahl:#4A4020;--wadrop:rgba(99,102,241,.18);--wa0:#F48FC7;--wa1:#7DD3A6;--wa2:#F0B860;--wa3:#93B4FF;--wa4:#C9A5FF;--wa5:#6FD6DF;--wa6:#FF9F85;--wa7:#C9D46A;--chatgrid:rgba(148,163,209,.045);--chatglow:rgba(99,102,241,.14)}
.wa-c0{--wac:var(--wa0)}.wa-c1{--wac:var(--wa1)}.wa-c2{--wac:var(--wa2)}.wa-c3{--wac:var(--wa3)}.wa-c4{--wac:var(--wa4)}.wa-c5{--wac:var(--wa5)}.wa-c6{--wac:var(--wa6)}.wa-c7{--wac:var(--wa7)}
.wa-split{position:relative;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr) minmax(300px,360px);height:calc(100vh - 200px);min-height:480px;overflow:hidden}
.wa-page:has(> .wa-split){height:calc(100vh - 108px);height:calc(100dvh - 108px)}
.wa-page > .wa-split{flex:1 1 auto;height:auto;min-height:420px}
@media (max-width:900px){.wa-page:has(> .wa-split){height:calc(100vh - 92px);height:calc(100dvh - 92px)}}
.wa-split button{font:inherit}
.wa-split .sm{min-height:32px;padding:0 10px;font-size:13px}
.wa-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.wa-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500}
.wa-bar-warn{background:#FFF4C2;color:#5C4500;border:1px solid #E8CF6A}
.wa-bar-info{background:var(--draftbg);color:var(--ink2);border:1px solid var(--draftline)}
.wa-bar span{flex:1 1 200px;min-width:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wa-bar-warn{background:#3D3414;color:#F3DE8A;border-color:#6B5A1E}}
:root[data-theme="dark"] .wa-bar-warn{background:#3D3414;color:#F3DE8A;border-color:#6B5A1E}
.wa-av{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--wac) 18%,var(--surface));color:var(--wac);font-weight:700;line-height:1}
.wa-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wa-list{border-right:1px solid var(--line2);min-width:0;min-height:0;display:flex;flex-direction:column;background:transparent}
.wa-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 16px;min-height:56px;border-bottom:1px solid var(--line2)}
.wa-list-head h2{font-size:17px;font-weight:700}
.wa-list-tools{display:flex;align-items:center;gap:2px;position:relative}
.wa-list-search{padding:8px 12px;border-bottom:1px solid var(--line2)}
.wa-list-search .search{position:relative;display:flex;align-items:center}
.wa-list-body{flex:1 1 auto;overflow-y:auto;min-height:0}
.wa-list ul{list-style:none;margin:0;padding:0}
.wa-sec{margin:0;padding:12px 16px 4px;font-size:12px;font-weight:600;color:var(--wagreen);text-transform:uppercase;letter-spacing:.04em}
.wa-note{padding:8px 16px 16px;margin:0;font-size:12px}
.wa-empty{padding:16px;margin:0}
.wa-arch-row{display:flex;align-items:center;gap:16px;width:100%;min-height:48px;padding:8px 16px 8px 26px;border:0;border-bottom:1px solid var(--line2);background:transparent;color:var(--ink);font-weight:600;text-align:left;cursor:pointer}
.wa-arch-row:hover{background:var(--hover)}
.wa-arch-row .ico{color:var(--wagreen)}
.wa-arch-row span:first-of-type{flex:1 1 auto}
.wa-arch-n{font-size:12px;font-weight:600;color:var(--wagreen)}
.wa-chat{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:8px 12px 8px 14px;border:0;background:transparent;color:var(--ink);cursor:pointer;min-height:72px;transition:background-color 140ms ease}
.wa-chat:hover{background:var(--hover)}
.wa-chat[aria-current="true"]{background:var(--sel)}
.wa-chat-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;align-self:stretch;justify-content:center;border-bottom:1px solid var(--line2);padding:4px 0}
.wa-chat-top,.wa-chat-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.wa-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;font-size:15px}
.wa-chat .wa-time{font-size:12px;color:var(--muted);flex:0 0 auto}
.wa-chat.unread .wa-time{color:var(--wagreen);font-weight:600}
.wa-preview{display:flex;align-items:center;gap:4px;min-width:0;font-size:13.5px;color:var(--muted)}
.wa-preview>.ico{flex:0 0 auto;color:var(--muted)}
.wa-preview-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.wa-you{flex:0 0 auto}
.wa-flags{display:flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--muted)}
.wa-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--wagreen);color:var(--wagreenink);font-size:11.5px;font-weight:700;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}
.wa-list mark,.wa-text mark{background:transparent;color:var(--wagreen);font-weight:700}
.wa-hit{min-height:64px;padding-left:16px}
.wa-thread{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background-color:var(--chat);background-image:radial-gradient(70% 40% at 50% 0%,var(--chatglow),transparent 75%),linear-gradient(var(--chatgrid) 1px,transparent 1px),linear-gradient(90deg,var(--chatgrid) 1px,transparent 1px);background-size:100% 100%,48px 48px,48px 48px;background-position:0 0,-1px -1px,-1px -1px;animation:g-fade 200ms ease-out}
.wa-pick{align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--muted)}
.wa-thread-head{display:flex;align-items:center;gap:6px;padding:6px 8px;min-height:56px;border-bottom:1px solid var(--line2);background:var(--glass);box-shadow:inset 0 1px 0 var(--glasshi);min-width:0}
.wa-head-who{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;border:0;background:transparent;color:var(--ink);text-align:left;padding:2px 6px;border-radius:8px;cursor:pointer;min-height:44px}
.wa-head-who:hover{background:var(--hover)}
.wa-head-text{display:flex;flex-direction:column;min-width:0}
.wa-head-sub{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-head-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.wa-back{display:none}
.wa-side-btn{display:none}
.wa-insearch{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--glass);border-bottom:1px solid var(--line2)}
.wa-insearch input{flex:1 1 auto;min-width:0;height:36px}
.wa-msgs{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:12px 6% 16px;display:flex;flex-direction:column;gap:2px;min-height:0}
.wa-older{display:flex;justify-content:center;padding:4px 0 10px}
.wa-day{display:flex;justify-content:center;margin:10px 0 8px}
.wa-day span{background:var(--surface);color:var(--muted2);font-size:12px;font-weight:500;padding:5px 12px;border-radius:999px;border:1px solid var(--glassedge);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.wa-unread-div{display:flex;justify-content:center;margin:8px -6%;padding:6px 0;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.wa-unread-div span{background:var(--surface);color:var(--muted2);font-size:12px;font-weight:600;padding:4px 14px;border-radius:999px}
.wa-row{display:flex;flex-direction:column;margin-top:2px}
.wa-row.me{align-items:flex-end}
.wa-row.them{align-items:flex-start}
.wa-msgs>.wa-row:last-child{animation:g-msg 240ms var(--eo) backwards}
.wa-msgs>.wa-row.me:last-child{transform-origin:bottom right}
.wa-msgs>.wa-row.them:last-child{transform-origin:bottom left}
.wa-msg{position:relative;max-width:min(65%,560px);min-width:84px;padding:6px 8px 8px 9px;border-radius:8px;display:flex;flex-direction:column;gap:3px;font-size:14.2px;color:var(--ink);box-shadow:0 1px .5px rgba(0,0,0,.13);outline:none}
.wa-msg.them{background:var(--bin);border-top-left-radius:2px}
.wa-msg.me{background:var(--bout);border-top-right-radius:2px}
.wa-msg.me .wa-meta,.wa-msg.me .wa-ticks:not(.read):not(.err){color:var(--muted2)}
.wa-msg.bare{background:transparent;box-shadow:none;padding:0}
.wa-msg.has-media{padding:3px 3px 6px}
.wa-msg.has-media .wa-text,.wa-msg.has-media .wa-author,.wa-msg.has-media .wa-meta{padding:0 5px}
.wa-msg.hl{animation:wa-hl 2.5s ease}
@keyframes wa-hl{0%,60%{box-shadow:0 0 0 3px var(--wahl)}100%{box-shadow:0 1px .5px rgba(0,0,0,.13)}}
@media (prefers-reduced-motion:reduce){.wa-msg.hl{animation:none;box-shadow:0 0 0 3px var(--wahl)}}
.wa-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}
.wa-text a{color:var(--link);text-decoration:underline}
.wa-mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;background:color-mix(in srgb,var(--ink) 7%,transparent);border-radius:4px;padding:0 3px}
.wa-kind{font-size:13px;color:var(--muted);font-style:italic}
.wa-author{font-size:12.5px;font-weight:700;color:var(--wac,var(--accent))}
.wa-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:-2px;align-self:flex-end;font-size:11px;color:var(--muted);white-space:nowrap}
.wa-msg.bare .wa-meta{background:var(--surface);border-radius:8px;padding:1px 6px}
.wa-edited{font-style:italic}
.wa-ticks{display:inline-flex;color:var(--muted)}
.wa-ticks.read{color:var(--watick)}
.wa-ticks.err{color:var(--warn)}
.wa-hover{position:absolute;top:2px;display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity .12s ease}
.wa-msg.me .wa-hover{left:-68px}
.wa-msg.them .wa-hover{right:-68px}
.wa-msg:hover .wa-hover,.wa-msg:focus-within .wa-hover{opacity:1;pointer-events:auto}
.wa-hbtn{width:30px;height:30px;border-radius:50%;border:0;background:var(--surface);color:var(--muted2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:pointer}
.wa-hbtn:hover{color:var(--ink)}
.wa-hbtn:focus-visible{opacity:1}
.wa-deleted{display:flex;align-items:center;gap:6px;font-style:italic;color:var(--muted)}
.wa-quote{display:flex;align-items:stretch;gap:6px;width:100%;min-width:0;text-align:left;border:0;border-radius:6px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);padding:0;overflow:hidden;cursor:pointer}
.wa-q-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto;padding:5px 10px;border-left:4px solid var(--wac,var(--wagreen))}
.wa-q-who{display:flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--wac,var(--wagreen))}
.wa-q-text{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
div.wa-quote{cursor:default;align-items:center;padding-right:6px}
.wa-img{position:relative;display:block;width:min(330px,100%);max-height:360px;padding:0;border:0;border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--ink) 8%,transparent);cursor:zoom-in}
.wa-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wa-img .wa-full{opacity:0;transition:opacity .2s ease}
.wa-img .wa-full.on{opacity:1}
.wa-thumb{filter:blur(6px);transform:scale(1.05)}
.wa-gif video{width:100%;display:block}
.wa-gif-tag{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px}
.wa-vid{position:relative;width:min(330px,100%)}
.wa-video{display:block;width:100%;max-height:360px;border-radius:6px;background:#000}
.wa-vid-bar{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:4px}
.wa-vid-bar .icon.sm{background:rgba(0,0,0,.45);color:#fff;border:0}
.wa-dur{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.wa-vid-bar .wa-dur{background:rgba(0,0,0,.45);color:#fff;border-radius:4px;padding:1px 6px}
.wa-sticker{width:128px;height:128px;object-fit:contain;display:block}
.wa-doc{display:flex;flex-direction:column;gap:4px;width:min(320px,100%);min-width:0}
.wa-doc-thumb{width:100%;max-height:160px;object-fit:cover;object-position:top;border-radius:6px}
.wa-doc-row,.wa-loc{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border-radius:6px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.wa-doc-ico,.wa-loc-ico{color:var(--accent);flex:0 0 auto}
.wa-doc-main,.wa-loc-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.wa-doc-name{font-weight:600;overflow-wrap:anywhere}
.wa-doc-meta{font-size:12px;color:var(--muted)}
.wa-vcards{display:flex;flex-direction:column;gap:6px;min-width:0}
.wa-vcard{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:6px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.wa-vcard-name{display:flex;align-items:center;gap:6px;font-weight:600}
.wa-vcard-phone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}
.wa-reacts{display:flex;gap:4px;margin:-6px 8px 2px;position:relative;z-index:1}
.wa-react{display:inline-flex;align-items:center;gap:3px;height:24px;padding:0 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;cursor:pointer;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa-react.mine{border-color:var(--wagreen);background:color-mix(in srgb,var(--wagreen) 12%,var(--surface))}
.wa-react-n{font-size:11px;color:var(--muted2)}
.wa-tobottom{position:absolute;right:16px;bottom:84px;width:42px;height:42px;border-radius:50%;border:1px solid var(--glassedge);background:var(--surface);color:var(--muted2);box-shadow:inset 0 1px 0 var(--glasshi),0 6px 16px -6px rgba(0,0,0,.4);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:4;animation:g-pop 180ms var(--eo)}
.wa-tobottom .wa-badge{position:absolute;top:-6px;right:-4px}
.wa-compose{position:relative;display:flex;flex-direction:column;gap:6px;padding:6px 10px 8px;background:var(--glass);border-top:1px solid var(--line2)}
.wa-send-row{display:flex;align-items:flex-end;gap:4px}
.wa-send-row textarea{flex:1 1 auto;min-width:0;min-height:42px;max-height:160px;resize:none;border-radius:21px;padding:10px 16px;line-height:1.35;overflow-y:auto;background:var(--surface)}
.wa-send-btn{width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;border-radius:50%;position:relative}
.wa-send-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--surface);color:var(--ink);font-size:11px;line-height:18px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.wa-compose-pop{position:absolute;left:10px;bottom:calc(100% + 6px);z-index:20;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glassedge);border-radius:var(--rl);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);padding:8px;max-width:calc(100% - 20px);transform-origin:bottom left;animation:g-pop 160ms var(--eo)}
.wa-split .ws-slash{background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-color:var(--glassedge);border-radius:var(--rl);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);transform-origin:bottom center;animation:g-pop 160ms var(--eo)}
.wa-attach-menu{display:flex;flex-direction:column;min-width:220px;padding:6px}
.wa-slash{position:absolute;left:10px;right:10px;bottom:calc(100% + 6px);z-index:21}
.wa-staged{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;background:var(--surface2);border:1px solid var(--line2)}
.wa-staged img{width:40px;height:40px;object-fit:cover;border-radius:6px}
.wa-staged-ico{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}
.wa-staged-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.wa-staged-text .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-editing .wa-q-body{border-left-color:var(--accent)}
.wa-editing .wa-q-who{color:var(--accent)}
.wa-emoji-grid{display:grid;grid-template-columns:repeat(8,36px);gap:2px;max-height:220px;overflow-y:auto;max-width:100%}
.wa-emoji{width:36px;height:36px;border:0;border-radius:8px;background:transparent;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted2)}
.wa-emoji:hover,.wa-emoji:focus-visible{background:var(--hover)}
.wa-emoji.mine{background:var(--sel)}
.wa-pop{position:fixed;z-index:75;min-width:220px;max-width:calc(100vw - 16px);padding:6px;background:var(--glasspop);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);border:1px solid var(--glassedge);border-radius:var(--rl);box-shadow:inset 0 1px 0 var(--glasshi),var(--pop);transform-origin:top left;animation:g-pop 160ms var(--eo)}
.wa-react-pop{min-width:0;padding:6px}
.wa-quick{display:flex;gap:2px}
.wa-react-pop .wa-emoji-grid{margin-top:6px;border-top:1px solid var(--line2);padding-top:6px}
.wa-mi{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;font-size:14px;cursor:pointer}
.wa-mi:hover,.wa-mi:focus{background:var(--hover);outline:none}
.wa-mi:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}
.wa-mi .ico{color:var(--muted2)}
.wa-mi.danger,.wa-mi.danger .ico{color:var(--warn)}
.wa-mi-pad{width:16px;flex:0 0 16px}
.wa-pop-sec{border-top:1px solid var(--line2);margin-top:4px;padding-top:4px}
.wa-pop-title{display:block;padding:4px 10px;font-size:11px;font-weight:600;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em}
.wa-notify-tools{position:relative}
.wa-notify-pop{width:280px;display:flex;flex-direction:column;gap:8px;padding:12px}
.wa-notify-pop p{margin:0}
.wa-privacy-pop{width:330px;gap:10px}
.wa-priv-head{font-size:11px;font-weight:600;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em}
.wa-priv-head:not(:first-child){border-top:1px solid var(--line2);padding-top:10px;margin-top:2px}
.wa-priv-item{display:flex;flex-direction:column;gap:4px}
.wa-priv-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:8px;font-size:13px}
:root{--tcyellow:#C28E00;--tcred:#D93036;--tcgreen:#13934F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--tcyellow:#F5C518;--tcred:#FF6369;--tcgreen:#3DD68C}}
:root[data-theme="dark"]{--tcyellow:#F5C518;--tcred:#FF6369;--tcgreen:#3DD68C}
.wa-tc-yellow{--tick-c:var(--tcyellow)}
.wa-tc-red{--tick-c:var(--tcred)}
.wa-tc-green{--tick-c:var(--tcgreen)}
.wa-tc-blue{--tick-c:var(--watick)}
:is(.wa-tc-yellow,.wa-tc-red,.wa-tc-green) .wa-ticks.read{color:var(--tick-c)}
.wa-tick-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:2px 0 0 26px;font-size:13px}
.wa-tick-pick-label{flex:1 1 160px;min-width:0;color:var(--muted)}
.wa-tick-swatches{display:inline-flex;gap:4px}
.wa-swatch{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:1px solid var(--line2);border-radius:8px;background:transparent;color:var(--tick-c);cursor:pointer}
.wa-swatch[aria-checked="true"]{border-color:var(--tick-c);box-shadow:0 0 0 2px color-mix(in srgb,var(--tick-c) 35%,transparent)}
.wa-swatch:focus-visible{outline:2px solid var(--tick-c);outline-offset:2px}
.wa-tick-pick .muted{flex-basis:100%;margin:0}
.wa-priv-row select{width:100%;min-width:0}
.wa-kept{display:inline-flex;align-items:center;gap:3px;font-style:italic;color:var(--warnink)}
.wa-msg.kept{outline:1px dashed var(--warnline);outline-offset:-1px}
.wa-edited.link{background:none;border:0;padding:0;font:inherit;font-style:italic;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}
.wa-original{display:block;margin-bottom:4px;padding:4px 8px;border-left:3px solid var(--muted2);border-radius:4px;background:var(--glasssunk);color:var(--muted)}
.wa-original-tag{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted2)}
.wa-blur .wa-msg>:not(.wa-meta):not(.wa-hover),.wa-blur .wa-reacts,.wa-blur .wa-chat .wa-name,.wa-blur .wa-preview,.wa-blur .wa-av,.wa-blur .wa-head-text,.wa-blur .wa-info-top,.wa-blur .wa-parts{filter:blur(6px);transition:filter 140ms ease}
.wa-blur .wa-row:is(:hover,:focus-within) .wa-msg>:not(.wa-meta):not(.wa-hover),.wa-blur .wa-row:is(:hover,:focus-within) .wa-reacts,.wa-blur .wa-chat:is(:hover,:focus-visible) :is(.wa-name,.wa-preview,.wa-av),.wa-blur .wa-head-who:is(:hover,:focus-visible) :is(.wa-av,.wa-head-text),.wa-blur :is(.wa-info-top,.wa-parts):hover,.wa-blur :is(.wa-info-top,.wa-parts):hover .wa-av{filter:none}
.wa-blur :is(.ws-title,.ws-name),.wa-blur .ws-panel :is(input:not([type="checkbox"]):not([type="search"]),textarea){filter:blur(6px);transition:filter 140ms ease}
.wa-blur :is(.ws-title,.ws-name):hover,.wa-blur .ws-panel :is(input,textarea):is(:hover,:focus){filter:none}
@media (prefers-reduced-motion:reduce){.wa-blur *{transition:none}}
.wa-name-line{display:flex;align-items:center;gap:9px;min-width:0;padding-right:6px}
.wa-live{position:relative;display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--wagreen);vertical-align:middle;animation:wa-breathe 2.4s ease-in-out infinite}
.wa-live::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--wagreen);opacity:0;animation:wa-ring 2.4s ease-out infinite}
@keyframes wa-breathe{0%,100%{transform:scale(.85);opacity:.75}50%{transform:scale(1.1);opacity:1}}
@keyframes wa-ring{0%{transform:scale(.6);opacity:.55}70%,100%{transform:scale(1.9);opacity:0}}
.wa-presence{color:var(--wagreen);font-weight:500}
@media (prefers-reduced-motion:reduce){.wa-live,.wa-live::after{animation:none}}
.wa-rec{display:flex;align-items:center;gap:10px;min-height:44px}
.wa-rec-dot{width:10px;height:10px;border-radius:50%;background:#E5484D;animation:wa-blink 1s steps(2,start) infinite}
@keyframes wa-blink{to{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.wa-rec-dot{animation:none}}
.wa-rec-time{font-size:16px;font-weight:600;min-width:48px}
.wa-rec-label{flex:1 1 auto}
.wa-attach{position:absolute;inset:0;z-index:15;display:flex;flex-direction:column;background:var(--surface2);animation:g-fade 180ms ease-out}
.wa-attach-head{display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:56px;background:var(--surface);border-bottom:1px solid var(--line2)}
.wa-attach-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-attach-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}
.wa-attach-media{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.wa-attach-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;max-width:100%;text-align:center;color:var(--muted2);background:var(--surface);border-radius:10px;overflow-wrap:anywhere}
.wa-attach-tools{display:flex;flex-direction:column;gap:8px;padding:8px 16px}
.wa-attach-tools textarea{width:100%;min-height:42px;resize:none;border-radius:10px}
.wa-attach-strip{display:flex;align-items:center;gap:12px;padding:8px 16px 12px;border-top:1px solid var(--line2);background:var(--surface)}
.wa-attach-list{display:flex;gap:8px;list-style:none;margin:0;padding:4px 0;flex:1 1 auto;min-width:0;overflow-x:auto}
.wa-attach-list li{position:relative;flex:0 0 auto}
.wa-attach-pick{width:52px;height:52px;border-radius:8px;border:2px solid var(--line);background:var(--surface2);color:var(--muted2);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding:0;cursor:pointer}
.wa-attach-pick img{width:100%;height:100%;object-fit:cover}
.wa-attach-list li.on .wa-attach-pick{border-color:var(--wagreen)}
.wa-attach-pick.add{border-style:dashed}
.wa-attach-x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--ink);color:var(--surface);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.wa-drop{position:absolute;inset:0;z-index:16;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--wadrop);border:3px dashed var(--accent);color:var(--accent);font-weight:600;pointer-events:none}
.wa-right{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;background:transparent}
.wa-right .ws-panel{background:transparent;border-left-color:var(--line2)}
body .ws-toast,body .ws-undo-card{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--rl);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),var(--pop);animation:g-up 240ms var(--eo)}
body .ws-scrim{background:var(--scrim);animation:g-fade 200ms ease-out}
body .ws-drawer{border-left:1px solid var(--glassedge);box-shadow:-24px 0 60px -20px rgba(0,0,0,.45);animation:g-right 320ms var(--ed) backwards}
body .ws-fab{background-image:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,0) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 28px -10px rgba(79,70,229,.75)}
.wa-info{border-left:1px solid var(--line2)}
.wa-side,.wa-info{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.wa-side-head{display:flex;align-items:center;gap:8px;min-height:56px;padding:6px 10px;border-bottom:1px solid var(--line2)}
.wa-side-head h2{flex:1 1 auto;font-size:16px}
.wa-drawer-only{display:none}
.wa-info-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:0;background:var(--glasssunk)}
.wa-info-top{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px 18px;background:var(--glass2);text-align:center}
.wa-info-name{font-size:19px;font-weight:600;overflow-wrap:anywhere}
.wa-info-phone{display:inline-flex;align-items:center;gap:6px;color:var(--muted2);font-size:15px}
.wa-info-sec{display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin-top:8px;background:var(--glass2);min-width:0}
.wa-info-sec h3{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted2);font-weight:600}
.wa-info-sec .kv{width:100%}
.wa-info-sec .kv th{width:40%;padding-left:0}
.wa-info-sec .card{box-shadow:none}
.wa-info-sec .card-head{padding:10px 12px}
.wa-info-sec .card-body{padding:12px}
.wa-info-row{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.wa-info-link{align-self:flex-start}
.wa-parts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.wa-part{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 4px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left}
button.wa-part{cursor:pointer}
button.wa-part:hover{background:var(--hover)}
.wa-part-main{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.wa-part-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.wa-grid-item{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;padding:0;border:0;border-radius:6px;overflow:hidden;background:var(--surface2);color:var(--muted2);cursor:zoom-in}
.wa-grid-item img{width:100%;height:100%;object-fit:cover}
.wa-grid-tag{position:absolute;left:4px;bottom:4px;color:#fff;background:rgba(0,0,0,.5);border-radius:4px;padding:1px 3px;display:inline-flex}
.wa-docs li>a,.wa-links li>a{overflow-wrap:anywhere}
.wa-info-sec .wa-note{padding:0}
.wa-scrim{display:none}
.wa-lightbox{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:rgba(6,9,18,.95);color:#F1F3F8;animation:g-fade 200ms ease-out}
.wa-lb-head{display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:60px}
.wa-lb-head .icon{color:#E6E9F0}
.wa-lb-head .icon:hover{background:rgba(255,255,255,.1);color:#fff}
.wa-lb-who{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.wa-lb-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-lightbox .muted{color:#AEB5C4}
.wa-lb-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px}
.wa-lb-media{max-width:calc(100% - 120px);max-height:100%;object-fit:contain;animation:g-pop 240ms var(--eo)}
.wa-lb-nav{color:#E6E9F0;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08)}
.wa-lb-nav:disabled{visibility:hidden}
.wa-lb-caption{margin:0;padding:10px 16px 18px;text-align:center;max-height:22vh;overflow-y:auto}
@media (max-width:1100px){.wa-split{grid-template-columns:minmax(220px,290px) minmax(0,1fr) minmax(280px,320px)}}
@media (max-width:900px){
.wa-split{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}
.wa-right,.wa-side{display:contents}
.wa-info{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:60;background:var(--surface);border-left:1px solid var(--glassedge);box-shadow:-24px 0 60px -20px rgba(0,0,0,.45);animation:g-right 320ms var(--ed) backwards}
.wa-scrim{display:block;position:fixed;inset:0;z-index:55;border:0;padding:0;background:var(--scrim);animation:g-fade 200ms ease-out}
.wa-side-btn{display:inline-flex}
.wa-drawer-only{display:flex}
}
@media (max-width:700px){
.wa-split{grid-template-columns:minmax(0,1fr);height:calc(100vh - 170px);min-height:420px}
.wa-page > .wa-split{height:auto}
.wa-list{border-right:0}
.wa-split[data-chat="open"] .wa-list{display:none}
.wa-split:not([data-chat="open"]) .wa-thread{display:none}
.wa-back{display:inline-flex}
.wa-info{width:100%}
.wa-msgs{padding:10px 10px 14px}
.wa-unread-div{margin:8px -10px}
.wa-msg{max-width:86%}
.wa-hover{display:none}
.wa-msg.me .wa-hover,.wa-msg.them .wa-hover{left:auto;right:auto}
.wa-code{font-size:28px}
.wa-head-actions .icon{width:40px;flex-basis:40px}
.wa-lb-media{max-width:100%}
.wa-lb-nav{position:absolute;top:50%;transform:translateY(-50%)}
.wa-lb-nav:first-child{left:6px}
.wa-lb-nav:last-child{right:6px}
.wa-tobottom{bottom:78px;right:12px}
.wa-emoji-grid{grid-template-columns:repeat(7,36px)}
}
@media (prefers-reduced-motion:reduce){.wa-img .wa-full,.wa-hover{transition:none}}
.wa-ap{--wa-ap-at:0%;display:flex;align-items:center;gap:10px;width:min(300px,100%);min-width:0;padding:4px 2px 0}
.wa-ap audio{display:none}
.wa-ap-play{flex:0 0 36px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted2);display:inline-flex;align-items:center;justify-content:center}
.wa-ap-play:hover{color:var(--ink);background:var(--hover)}
.wa-ap.loading .wa-ap-play{box-shadow:inset 0 0 0 2px var(--line);border-top:2px solid var(--accent);animation:wa-ap-spin .9s linear infinite}
.wa-ap.loading .wa-ap-play svg{animation:wa-ap-spin .9s linear infinite reverse}
.wa-ap.failed .wa-ap-play{color:var(--warn)}
.wa-ap-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.wa-ap-track{position:relative;height:24px;display:flex;align-items:center;cursor:pointer;touch-action:none;border-radius:12px;outline:none}
.wa-ap-track:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wa-ap-track[aria-disabled="true"]{cursor:default}
.wa-ap-rail{position:relative;flex:1 1 auto;height:4px;border-radius:2px;background:color-mix(in srgb,var(--muted) 35%,transparent);overflow:hidden}
.wa-ap-fill{position:absolute;inset:0 auto 0 0;width:var(--wa-ap-at);background:var(--accent)}
.wa-ap-dot{position:absolute;top:50%;left:var(--wa-ap-at);width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:var(--accent);box-shadow:0 1px 2px rgba(0,0,0,.25)}
.wa-ap.ptt:not(.playing) .wa-ap-dot{background:var(--wagreen)}
.wa-ap-time{font-size:11px;line-height:14px;color:var(--muted);white-space:nowrap}
.wa-ap-who{position:relative;flex:0 0 44px;width:44px;height:44px;display:inline-flex}
.wa-ap-mic{position:absolute;right:-4px;bottom:-2px;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--wagreen)}
.wa-ap-file{align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--warn) 20%,var(--surface));color:var(--warn)}
.wa-ap-rate{flex:0 0 44px;height:26px;padding:0 6px;border:0;border-radius:13px;background:color-mix(in srgb,var(--ink) 55%,transparent);color:var(--surface);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.wa-ap-rate:hover{background:color-mix(in srgb,var(--ink) 70%,transparent)}
@keyframes wa-ap-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.wa-ap.loading .wa-ap-play,.wa-ap.loading .wa-ap-play svg{animation:none}}
.linklike{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--link);cursor:pointer;text-align:left}
.linklike.strong{font-weight:600}
.linklike:focus-visible{outline:none;box-shadow:var(--ring);border-radius:4px}
.audit-sentence{line-height:1.5;overflow-wrap:anywhere}
.audit-entity{display:inline-flex;align-items:center;gap:2px;max-width:100%;vertical-align:baseline}
.audit-entity a,.audit-entity strong{font-weight:600;overflow-wrap:anywhere}
.icon.xs{width:26px;height:26px;flex:0 0 26px;min-height:26px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}
.icon.xs svg{width:14px;height:14px}
.audit-table td.audit-what{min-width:280px;white-space:normal}
.audit-more>td{background:var(--glass2)}
.audit-detail{display:grid;gap:10px;padding:4px 0;min-width:0}
.audit-changes{width:100%}
.audit-changes th,.audit-changes td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.audit-before{color:var(--muted2)}
.audit-after{color:var(--strong);font-weight:500}
.audit-facts{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;font-size:12px}
.audit-facts dt{color:var(--muted)}
.audit-facts dd{margin:0;overflow-wrap:anywhere}
.chip-filter{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);cursor:pointer;color:inherit;font:inherit;font-size:12px;min-height:28px;max-width:100%}
.chip-filter span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.chip-filter svg{width:12px;height:12px;flex:0 0 12px}
.chip-filter:focus-visible{outline:none;box-shadow:var(--ring)}
.audit-chips{align-items:center;margin:12px 0 0}
.audit-history{margin-top:16px}
.audit-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.audit-list summary{cursor:pointer;line-height:1.5;overflow-wrap:anywhere}
.audit-list details[open]>summary{margin-bottom:6px}
@media (max-width:640px){.audit-table td.audit-what{min-width:0;grid-column:1 / -1}.audit-more>td{grid-column:1 / -1;padding:8px 0}.chip-filter,.audit-chips .ghost{min-height:44px}.icon.xs{width:40px;height:40px;flex-basis:40px;min-height:40px;margin:-10px -4px}.audit-changes thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.audit-changes,.audit-changes tbody,.audit-changes tr,.audit-changes th,.audit-changes td{display:block;width:auto}.audit-changes tr{padding:6px 0;border-bottom:1px solid var(--line2)}.audit-changes td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted)}}
.fleet-banner{background:var(--chipbg);color:var(--chip);font-size:13px;font-weight:600;line-height:1.35;text-align:center;padding:6px 16px;overflow-wrap:anywhere}
.flash.support{background:color-mix(in srgb,#F5C518 24%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,#F5C518 70%,var(--surface))}
.fleet-note{margin:0;padding:10px 12px;border-radius:var(--r);background:var(--chipbg);color:var(--chip);font-size:13px}
.suspended-card h1{font-size:20px;margin:0 0 8px}
.console-resets{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}
.guide-pick{align-self:flex-start}
.guide-open{text-decoration:none}
.guide-frame{display:block;width:100%;height:calc(100vh - 230px);height:calc(100dvh - 230px);min-height:480px;border:1px solid var(--line);border-radius:var(--rl);background:var(--surface);box-shadow:var(--shadow)}
.demo-banner{background:var(--warnbg);color:var(--warnink);border-bottom:1px solid var(--warnline);font-size:13px;font-weight:600;line-height:1.35;text-align:center;padding:6px 16px;overflow-wrap:anywhere}
.demo-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1000;width:max-content;max-width:calc(100% - 32px);background:var(--toast);color:var(--toastink);padding:12px 18px;border-radius:var(--rl);font-size:14px;font-weight:500;line-height:1.4;box-shadow:var(--pop);animation:g-fade 220ms ease-out}
.login{--login-bg:#F4F6FB;--login-ink:#141A2E;--login-ink2:#2A3249;--login-muted:#556079;--login-faint:#5F6A82;--login-grid:rgba(27,31,46,.055);--login-tick:rgba(27,31,46,.32);--login-spot:rgba(99,102,241,.16);--login-card:rgba(255,255,255,.7);--login-card-solid:#FFFFFF;--login-card-line:rgba(27,31,46,.09);--login-card-glint:rgba(255,255,255,.95);--login-card-shadow:0 1px 2px rgba(20,24,40,.05),0 24px 60px -28px rgba(27,31,46,.35);--login-field:#FFFFFF;--login-field-solid:#FFFFFF;--login-field-line:rgba(27,31,46,.15);--login-field-hover:rgba(27,31,46,.3);--login-focus:#4F46E5;--login-ring:rgba(79,70,229,.2);--login-btn:#4F46E5;--login-btn-hover:#4338CA;--login-btn-ink:#FFFFFF;--login-btn-glow:rgba(79,70,229,.55);--login-error:#B42318;--login-switch-off:#C9CEDB;--login-switch-on:#4F46E5;--login-row:rgba(255,255,255,.6);--login-notice:#EEF0FF;--login-notice-ink:#3730A3;--login-notice-line:#C7D2FE;--login-mark:#4F46E5;position:relative;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);background:var(--login-bg);color:var(--login-ink);overflow:hidden;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .login{--login-bg:#070B16;--login-ink:#E8ECF6;--login-ink2:#C9D1E3;--login-muted:#94A0B8;--login-faint:#808BA5;--login-grid:rgba(148,163,200,.06);--login-tick:rgba(226,232,255,.45);--login-spot:rgba(99,102,241,.2);--login-card:rgba(14,20,38,.58);--login-card-solid:#0E1426;--login-card-line:rgba(255,255,255,.09);--login-card-glint:rgba(255,255,255,.07);--login-card-shadow:0 30px 80px -30px rgba(0,0,0,.75);--login-field:rgba(6,10,22,.72);--login-field-solid:#0A0F1F;--login-field-line:rgba(255,255,255,.11);--login-field-hover:rgba(255,255,255,.22);--login-focus:#818CF8;--login-ring:rgba(99,102,241,.32);--login-btn:#FFFFFF;--login-btn-hover:#E4E8F2;--login-btn-ink:#0B1020;--login-btn-glow:rgba(165,180,252,.35);--login-error:#F87171;--login-switch-off:rgba(255,255,255,.16);--login-switch-on:#6366F1;--login-row:rgba(255,255,255,.03);--login-notice:rgba(99,102,241,.14);--login-notice-ink:#C7D2FE;--login-notice-line:rgba(129,140,248,.35);--login-mark:#FFFFFF;color-scheme:dark}}
:root[data-theme="dark"] .login{--login-bg:#070B16;--login-ink:#E8ECF6;--login-ink2:#C9D1E3;--login-muted:#94A0B8;--login-faint:#808BA5;--login-grid:rgba(148,163,200,.06);--login-tick:rgba(226,232,255,.45);--login-spot:rgba(99,102,241,.2);--login-card:rgba(14,20,38,.58);--login-card-solid:#0E1426;--login-card-line:rgba(255,255,255,.09);--login-card-glint:rgba(255,255,255,.07);--login-card-shadow:0 30px 80px -30px rgba(0,0,0,.75);--login-field:rgba(6,10,22,.72);--login-field-solid:#0A0F1F;--login-field-line:rgba(255,255,255,.11);--login-field-hover:rgba(255,255,255,.22);--login-focus:#818CF8;--login-ring:rgba(99,102,241,.32);--login-btn:#FFFFFF;--login-btn-hover:#E4E8F2;--login-btn-ink:#0B1020;--login-btn-glow:rgba(165,180,252,.35);--login-error:#F87171;--login-switch-off:rgba(255,255,255,.16);--login-switch-on:#6366F1;--login-row:rgba(255,255,255,.03);--login-notice:rgba(99,102,241,.14);--login-notice-ink:#C7D2FE;--login-notice-line:rgba(129,140,248,.35);--login-mark:#FFFFFF;color-scheme:dark}
.login ::selection{background:rgba(99,102,241,.32);color:inherit}
.login-side{position:relative;display:flex;flex-direction:column;min-width:0;padding:24px 32px;isolation:isolate}
.login-side::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--login-grid) 1px,transparent 1px),linear-gradient(90deg,var(--login-grid) 1px,transparent 1px);background-size:48px 48px;background-position:center center;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 42%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 75% 65% at 50% 42%,#000 25%,transparent 78%)}
.login-side::after{content:"";position:absolute;z-index:-1;left:50%;top:-140px;width:min(720px,130%);height:520px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse 50% 50% at 50% 30%,var(--login-spot),transparent 72%)}
.login-main{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:32px 0}
.login-card{position:relative;width:100%;max-width:420px;padding:36px 32px 30px;border-radius:20px;background:var(--login-card);border:1px solid var(--login-card-line);box-shadow:inset 0 1px 0 var(--login-card-glint),var(--login-card-shadow);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
.login-card::before{content:"";position:absolute;inset:9px;pointer-events:none;background:radial-gradient(circle,var(--login-tick) 1.1px,transparent 1.6px) 0 0/4px 4px no-repeat,radial-gradient(circle,var(--login-tick) 1.1px,transparent 1.6px) 100% 0/4px 4px no-repeat,radial-gradient(circle,var(--login-tick) 1.1px,transparent 1.6px) 0 100%/4px 4px no-repeat,radial-gradient(circle,var(--login-tick) 1.1px,transparent 1.6px) 100% 100%/4px 4px no-repeat}
.login-brand{display:flex;justify-content:center;margin-bottom:20px}
.login-mark{width:40px;height:40px;display:block;fill:var(--login-mark)}
.login-logo{width:48px;height:48px;border-radius:12px;object-fit:cover;display:block}
.login-title{margin:0;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-0.02em;text-align:center;text-wrap:balance;overflow-wrap:anywhere;color:var(--login-ink)}
.login-lead{margin:8px 0 26px;font-size:14px;line-height:1.5;text-align:center;text-wrap:balance;color:var(--login-muted)}
.login-notice{display:flex;align-items:flex-start;gap:10px;margin:-8px 0 20px;padding:10px 12px;border-radius:12px;background:var(--login-notice);color:var(--login-notice-ink);border:1px solid var(--login-notice-line);font-size:13.5px;font-weight:500;line-height:1.4}
.login-notice .ico{margin-top:1px}
.login-form{display:flex;flex-direction:column;gap:16px}
.login-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.login-field label{font-size:13px;font-weight:500;color:var(--login-ink2)}
.login .login-input{width:100%;height:46px;padding:0 14px;border-radius:12px;background:var(--login-field);border:1px solid var(--login-field-line);color:var(--login-ink);font-size:15px;caret-color:var(--login-focus);box-shadow:none;transition:border-color 160ms ease,box-shadow 160ms ease}
.login .login-input:focus{outline:none;border-color:var(--login-focus);box-shadow:0 0 0 4px var(--login-ring)}
.login .login-input[aria-invalid="true"]{border-color:var(--login-error)}
.login .login-input[aria-invalid="true"]:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--login-error) 22%,transparent)}
.login .login-input:-webkit-autofill{-webkit-text-fill-color:var(--login-ink);box-shadow:0 0 0 40px var(--login-field-solid) inset;transition:background-color 600000s 0s}
.login .login-input:-webkit-autofill:focus{box-shadow:0 0 0 40px var(--login-field-solid) inset,0 0 0 4px var(--login-ring)}
.login-pass{position:relative}
.login .login-pass .login-input{padding-right:50px}
.login-eye{position:absolute;top:4px;right:4px;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--login-muted);display:flex;align-items:center;justify-content:center;transition:color 160ms ease,background-color 160ms ease}
.login-eye[aria-pressed="true"]{color:var(--login-focus)}
.login-eye:focus-visible{outline:2px solid var(--login-focus);outline-offset:-2px}
.login-error{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:13px;line-height:1.4;font-weight:500;color:var(--login-error)}
.login-error .ico{margin-top:1px}
.login-form[data-shake="a"] .login-pass{animation:login-shake-a 380ms cubic-bezier(.36,.07,.19,.97) both}
.login-form[data-shake="b"] .login-pass{animation:login-shake-b 380ms cubic-bezier(.36,.07,.19,.97) both}
.login-remember{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:12px;border:1px solid var(--login-field-line);background:var(--login-row)}
.login-remember-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.login-remember-text label{font-size:14px;font-weight:600;color:var(--login-ink);cursor:pointer}
.login-hint{font-size:12.5px;line-height:1.4;color:var(--login-muted)}
.login-switch{position:relative;flex:0 0 auto;width:44px;height:26px;padding:0;border:0;border-radius:999px;background:var(--login-switch-off);transition:background-color 200ms ease}
.login-switch::after{content:"";position:absolute;inset:-9px -4px}
.login-switch[aria-checked="true"]{background:var(--login-switch-on)}
.login-switch:focus-visible{outline:2px solid var(--login-focus);outline-offset:3px}
.login-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 3px rgba(2,6,23,.35);transition:transform 240ms cubic-bezier(.23,1,.32,1)}
.login-switch[aria-checked="true"] .login-knob{transform:translateX(18px)}
.login .login-submit{position:relative;margin-top:4px;width:100%;height:48px;padding:0 20px;border:0;border-radius:12px;background:var(--login-btn);color:var(--login-btn-ink);font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 28px -12px var(--login-btn-glow);transition:transform 140ms ease-out,background-color 160ms ease}
.login .login-submit:active:not(:disabled){transform:scale(.98)}
.login .login-submit:disabled{opacity:1;cursor:progress}
.login .login-submit:focus-visible{outline:2px solid var(--login-focus);outline-offset:3px}
.login-spin{width:18px;height:18px;flex:0 0 18px;fill:currentColor;animation:login-turn 960ms steps(8,end) infinite}
.login-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;min-height:44px;font-size:12.5px;color:var(--login-faint)}
.login-copy{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.login-tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.login .login-tools .seg{border-color:var(--login-field-line)}
.login .login-tools .seg button,.login .login-tools .icon,.login .login-tools .help-btn{color:var(--login-muted)}
.login .login-tools .seg button[aria-pressed="true"]{background:var(--login-notice);color:var(--login-notice-ink)}
.login .login-tools .help-btn{background:transparent;border-color:transparent}
.login-rise{animation:login-rise 520ms cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--login-i,0) * 70ms + 60ms)}
.login-art{position:relative;margin:12px 12px 12px 0;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#050916 0%,#0A1024 55%,#0D1230 100%);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);isolation:isolate;color:#E8ECF6}
.login-art::before,.login-art::after{content:"";position:absolute;left:-10%;right:-10%;top:-12%;bottom:-8%;z-index:0;pointer-events:none;transition:opacity 900ms ease}
.login-art::before{background:radial-gradient(24% 58% at 10% 74%,rgba(139,92,246,.5),rgba(139,92,246,.16) 45%,transparent 75%),radial-gradient(20% 46% at 92% 82%,rgba(167,139,250,.36),rgba(167,139,250,.1) 45%,transparent 75%),radial-gradient(55% 26% at 50% 100%,rgba(99,102,241,.34),transparent 75%);animation:login-drift 28s ease-in-out infinite alternate}
.login-art::after{opacity:0;background:radial-gradient(26% 60% at 88% 70%,rgba(59,130,246,.52),rgba(59,130,246,.16) 45%,transparent 75%),radial-gradient(20% 46% at 8% 84%,rgba(99,102,241,.42),rgba(99,102,241,.12) 45%,transparent 75%),radial-gradient(55% 26% at 50% 100%,rgba(56,189,248,.24),transparent 75%);animation:login-drift 34s ease-in-out -9s infinite alternate-reverse}
.login-art[data-tone="b"]::before{opacity:.3}
.login-art[data-tone="b"]::after{opacity:1}
.login-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.75),transparent 60%),radial-gradient(1px 1px at 27% 8%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 41% 23%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 63% 12%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1px 1px at 78% 30%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1.5px 1.5px at 90% 9%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 8% 46%,rgba(255,255,255,.45),transparent 60%),radial-gradient(1px 1px at 33% 52%,rgba(255,255,255,.35),transparent 60%),radial-gradient(1px 1px at 94% 48%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 55% 40%,rgba(255,255,255,.3),transparent 60%),radial-gradient(1px 1px at 70% 62%,rgba(255,255,255,.3),transparent 60%),radial-gradient(1px 1px at 18% 70%,rgba(255,255,255,.3),transparent 60%)}
.login-stage{position:absolute;inset:0;z-index:1;display:grid;grid-template:1fr/1fr;place-items:center;padding:24px 24px 120px}
.login-pv{--login-pv-on:translate(0,0);grid-area:1/1;position:relative;padding:20px;border-radius:16px;background:linear-gradient(180deg,rgba(24,31,58,.82),rgba(9,13,30,.86));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 40px 80px -36px rgba(0,0,0,.9);opacity:0;transform:var(--login-pv-on);translate:28px 0;scale:.97;filter:blur(6px);transition:opacity 380ms ease,translate 640ms cubic-bezier(.22,1,.36,1),scale 640ms cubic-bezier(.22,1,.36,1),filter 380ms ease}
.login-pv[data-side="l"]{translate:-28px 0}
.login-pv::before{content:"";position:absolute;top:-1px;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,rgba(165,180,252,.95),transparent)}
.login-pv::after{content:"";position:absolute;top:-24px;left:30%;right:30%;height:48px;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(129,140,248,.22),transparent 70%)}
.login-pv[data-on]{opacity:1;translate:0 0;scale:1;filter:none;transition-delay:140ms}
.login-pv-chat,.login-pv-group,.login-pv-crm,.login-pv-prod,.login-pv-undo{width:min(360px,80%);z-index:2}
.login-pv-ai{width:min(480px,92%);z-index:2}
.login-pv-bank{width:min(400px,86%);z-index:2;display:flex;flex-direction:column}
.login-pv-stats{--login-pv-on:translate(14%,8%);width:min(300px,64%);z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.login-pv-stats[data-on]{transition-delay:220ms}
.login-pv-back{--login-pv-on:translate(-80%,-58%) scale(.94);width:min(210px,46%);z-index:1;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,rgba(28,24,60,.78),rgba(12,12,32,.84))}
.login-pv-back[data-on]{opacity:.82}
.login-pv-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}
.login-pv-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#FFFFFF;background:linear-gradient(135deg,#6366F1,#8B5CF6)}
.login-pv-who{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.login-pv-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-pv-line{display:flex;align-items:center;gap:6px;font-size:12px;color:#9AA6BF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-pv-time{font-size:11.5px;color:#7F8AA3;font-variant-numeric:tabular-nums}
.login-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#34D399;box-shadow:0 0 0 3px rgba(52,211,153,.16)}
.login-pv-chat-body{display:flex;flex-direction:column;gap:8px}
.login-bubble{margin:0;max-width:84%;padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.4}
.login-bubble-in{align-self:flex-start;background:rgba(255,255,255,.07);border-bottom-left-radius:5px;color:#DCE2F0}
.login-bubble-out{align-self:flex-end;display:flex;align-items:flex-end;gap:6px;background:linear-gradient(180deg,#5B5BF0,#4F46E5);border-bottom-right-radius:5px;color:#FFFFFF}
.login-ticks{display:inline-flex;color:#C7D2FE}
.login-pv-label{font-size:12.5px;color:#9AA6BF}
.login-pv-num{font-size:34px;line-height:1.1;font-weight:600;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.login-pv-delta{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#6EE7B7;background:rgba(16,185,129,.12)}
.login-spark{display:block;width:100%;height:72px;margin-top:10px}
.login-pv-bars{display:flex;align-items:flex-end;gap:6px;width:100%;height:30px;margin-top:6px}
.login-pv-bars i{flex:1 1 0;height:40%;border-radius:4px;background:rgba(129,140,248,.28);transform-origin:bottom}
.login-pv-bars i:nth-child(2){height:62%}
.login-pv-bars i:nth-child(3){height:48%}
.login-pv-bars i:nth-child(4){height:80%}
.login-pv-bars i:nth-child(5){height:58%}
.login-pv-bars i:nth-child(6){height:92%;background:rgba(129,140,248,.6)}
.login-pv-bars i:nth-child(7){height:70%}
.login-pv-rows{display:flex;flex-direction:column;gap:9px}
.login-pv-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#DCE2F0}
.login-read{color:#7DD3FC}
.login-sender{display:block;margin-bottom:2px;font-size:12px;font-weight:600;color:#A5B4FC}
.login-sender[data-c="b"]{color:#F9A8D4}
.login-pv-avatar-group{background:linear-gradient(135deg,#0EA5A4,#2563EB)}
.login-pv-avatar[data-c="crm"]{background:linear-gradient(135deg,#F472B6,#8B5CF6)}
.login-pv-avatar[data-c="prod"]{background:linear-gradient(135deg,#F59E0B,#EF4444)}
.login-bubble-media{display:flex;flex-direction:column;gap:6px;width:min(240px,84%);max-width:84%;padding:6px 6px 8px}
.login-bubble-media .login-sender{margin:0;padding:2px 6px 0}
.login-thumb{position:relative;display:block;height:150px;border-radius:10px;overflow:hidden;background:linear-gradient(160deg,#DCE3F0,#C3CDE2)}
.login-thumb-img{display:block;height:100%;padding:12px 16px 0}
.login-thumb .login-slip{font-size:6.8px;box-shadow:0 10px 24px -10px rgba(15,23,42,.45)}
.login-thumb-tag{position:absolute;left:8px;bottom:8px;display:inline-flex;white-space:nowrap;align-items:center;gap:5px;padding:4px 9px 4px 7px;border-radius:999px;font-size:11px;font-weight:600;color:#EEF2FF;background:rgba(49,46,129,.84);box-shadow:0 8px 18px -8px rgba(15,23,42,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.login-media-cap{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 6px;font-size:13px}
.login-slip{position:relative;display:flex;flex-direction:column;gap:.75em;padding:1.3em 1.4em 1.5em;border-radius:.9em;background:linear-gradient(180deg,#FFFFFF,#F1F4FA);color:#1E293B;font-size:10px;line-height:1.3;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
.login-slip-row{position:relative}
.login-slip-bank{display:flex;align-items:center;gap:.6em;padding-bottom:.9em;border-bottom:1px dashed rgba(15,23,42,.16);font-size:1.15em;font-weight:700;letter-spacing:-.01em;color:#0F766E}
.login-slip-logo{width:1.5em;height:1.5em;flex:0 0 1.5em;border-radius:.45em;background:linear-gradient(135deg,#14B8A6,#0F766E);box-shadow:inset 0 0 0 .3em rgba(255,255,255,.28)}
.login-slip-title{display:flex;align-items:center;gap:.4em;font-weight:600;color:#475569}
.login-slip-title .ico{width:1.3em;height:1.3em;color:#0F9F6E}
.login-slip-amount{font-size:2.1em;font-weight:700;letter-spacing:-.02em;color:#0F172A;font-variant-numeric:tabular-nums;white-space:nowrap}
.login-slip-kv{display:flex;justify-content:space-between;gap:1em;padding-top:.6em;border-top:1px solid rgba(15,23,42,.07)}
.login-slip-kv span{color:#64748B;white-space:nowrap}
.login-slip-kv b{font-weight:600;color:#1E293B;font-variant-numeric:tabular-nums;white-space:nowrap}
.login-pv-ai .login-slip-row::after{content:"";position:absolute;inset:-.35em -.55em;border-radius:.5em;border:1px solid rgba(99,102,241,.85);background:rgba(99,102,241,.1);opacity:0;pointer-events:none}
.login-beam{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent 0,transparent 34%,rgba(99,102,241,.08) 42%,rgba(99,102,241,.3) 49.4%,#A5B4FC 50%,transparent 50.6%,transparent 100%)}
.login-ai-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.07)}
.login-ai-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:4px 10px 4px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#E0E7FF;background:rgba(99,102,241,.2);box-shadow:inset 0 0 0 1px rgba(165,180,252,.3)}
.login-ai-chip .ico{color:#C7D2FE}
.login-ai-state{display:grid;flex:1 1 auto;min-width:0;font-size:13px;color:#C9D1E3}
.login-ai-state>span{grid-area:1/1;display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-ai-pulse{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#818CF8;box-shadow:0 0 0 3px rgba(129,140,248,.2)}
.login-ai-conf{flex:0 0 auto;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#6EE7B7;background:rgba(16,185,129,.12);font-variant-numeric:tabular-nums;white-space:nowrap}
.login-ai-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:18px;align-items:start}
.login-ai-body .login-slip{font-size:8.4px}
.login-ai-fields{display:flex;flex-direction:column;gap:11px;padding-top:2px}
.login-ai-row{display:flex;flex-direction:column;gap:3px;min-width:0}
.login-ai-k{font-size:11.5px;color:#8C97B0}
.login-ai-v{position:relative;display:block;min-height:19px;font-size:14px;font-weight:600;color:#F1F5FF;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-ai-v b{display:inline-block;font-weight:600}
.login-ai-v::before{content:"";position:absolute;left:0;top:4px;width:78%;height:11px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(165,180,252,.2),rgba(255,255,255,.07));opacity:0}
.login-bank-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.login-bank-title{display:inline-flex;align-items:center;gap:7px}
.login-bank-ok{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;font-size:12.5px;font-weight:600;color:#6EE7B7;background:rgba(16,185,129,.14);box-shadow:inset 0 0 0 1px rgba(52,211,153,.3),0 6px 22px -6px rgba(16,185,129,.5)}
.login-bank-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.login-bank-ico{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#C7D2FE;background:rgba(99,102,241,.16)}
.login-bank-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.login-bank-text b,.login-bank-amt b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-bank-text span{font-size:12px;color:#9AA6BF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-bank-amt{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.login-bank-link{position:relative;display:flex;align-items:center;min-height:46px;padding-left:54px}
.login-bank-line{position:absolute;left:28px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(165,180,252,.55),rgba(52,211,153,.7));transform-origin:top}
.login-bank-check{position:absolute;left:18px;top:50%;width:22px;height:22px;margin-top:-11px;fill:#0B1224;stroke:#34D399;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.login-bank-check circle,.login-bank-check path{stroke-dasharray:1;stroke-dashoffset:0}
.login-bank-check path{fill:none}
.login-bank-ticks{display:flex;flex-wrap:wrap;gap:6px}
.login-bank-tick{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;font-size:11.5px;font-weight:500;color:#A7F3D0;background:rgba(16,185,129,.1)}
.login-crm-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:2px 0 16px}
.login-crm-rail{position:absolute;left:16.667%;right:16.667%;top:6px;height:2px;border-radius:2px;background:rgba(255,255,255,.1)}
.login-crm-fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#818CF8,#34D399);transform-origin:left center}
.login-crm-ride{position:absolute;left:16.667%;right:16.667%;top:0;height:14px;pointer-events:none}
.login-crm-dot{position:absolute;right:-7px;top:0;width:14px;height:14px;border-radius:50%;background:#FFFFFF;box-shadow:0 0 0 4px rgba(52,211,153,.28),0 0 18px rgba(52,211,153,.6)}
.login-crm-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;font-size:12px;color:#9AA6BF}
.login-crm-stage i{width:14px;height:14px;border-radius:50%;background:#0E1426;box-shadow:inset 0 0 0 2px rgba(165,180,252,.55)}
.login-crm-stage[data-i="2"]{color:#E8ECF6}
.login-crm-note{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;font-size:13px;color:#DCE2F0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.login-crm-note .ico{flex:0 0 auto;color:#34D399}
.login-crm-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}
.login-crm-tags{display:flex;gap:6px}
.login-tag{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;color:#C7D2FE;background:rgba(99,102,241,.16)}
.login-crm-seller{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#C9D1E3}
.login-crm-mini{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#FFFFFF;background:linear-gradient(135deg,#0EA5A4,#2563EB)}
.login-bubble-out.login-prod{align-items:stretch;gap:12px;max-width:90%;padding:8px}
.login-prod-photo{width:84px;height:84px;flex:0 0 84px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 30% 20%,#F8FAFC,#CBD5E1)}
.login-drill{display:block;width:66px;height:50px}
.login-prod-info{display:flex;flex-direction:column;gap:3px;min-width:0;padding:2px 4px 0 0}
.login-prod-info b{font-size:13px;font-weight:600;line-height:1.3}
.login-prod-price{font-size:15px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.login-prod-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;font-size:11.5px;color:#C7D2FE}
.login-later{position:relative;display:flex;flex-direction:column}
.login-typing{position:absolute;left:0;top:0;display:flex;align-items:center;gap:4px;height:34px;padding:0 14px;border-radius:14px;border-bottom-left-radius:5px;background:rgba(255,255,255,.07);opacity:0}
.login-typing i{width:6px;height:6px;border-radius:50%;background:#9AA6BF}
.login-undo-state{display:grid;flex:0 0 auto}
.login-undo-state>span{grid-area:1/1;display:inline-flex}
.login-undo-clock{color:#C7D2FE}
.login-undo-bar{display:grid;margin-top:14px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.login-undo-wait,.login-undo-sent{grid-area:1/1;display:flex;align-items:center;gap:12px;min-width:0}
.login-undo-sent{justify-content:center;gap:8px;font-size:13.5px;font-weight:600;color:#6EE7B7}
.login-ring{position:relative;width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center}
.login-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:3}
.login-ring-track{stroke:rgba(255,255,255,.12)}
.login-ring-run{stroke:#A5B4FC;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.login-count{display:inline-grid;font-variant-numeric:tabular-nums}
.login-count i{grid-area:1/1;font-style:normal;opacity:0}
.login-ring .login-count{font-size:13px;font-weight:700;color:#E8ECF6}
.login-undo-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0;font-size:12px;color:#9AA6BF;white-space:nowrap}
.login-undo-text b{font-size:13.5px;font-weight:600;color:#E8ECF6}
.login-undo-btn{flex:0 0 auto;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:#0B1020;background:#FFFFFF}
.login-leave{opacity:0}
.login-pv[data-on] .login-enter{animation:login-rise 480ms cubic-bezier(.22,1,.36,1) var(--login-at,0ms) backwards}
.login-pv[data-on] .login-pop{animation:login-pop 420ms cubic-bezier(.23,1,.32,1) var(--login-at,0ms) backwards}
.login-pv[data-on] .login-fade{animation:login-fade 320ms ease var(--login-at,0ms) backwards}
.login-pv[data-on] .login-leave{animation:login-hold 240ms ease var(--login-at,0ms) backwards}
.login-pv[data-on] .login-read{animation:login-unread 320ms ease var(--login-at,0ms) backwards}
.login-pv[data-on] .login-focus{animation:login-focus 700ms cubic-bezier(.23,1,.32,1) var(--login-at,0ms) backwards}
.login-pv[data-on] .login-blip{animation:login-blip 1100ms ease var(--login-at,0ms) both}
.login-pv[data-on] .login-typing i{animation:login-bounce 900ms ease-in-out var(--login-at,0ms) 2}
.login-pv[data-on] .login-typing i:nth-child(2){animation-delay:calc(var(--login-at,0ms) + 120ms)}
.login-pv[data-on] .login-typing i:nth-child(3){animation-delay:calc(var(--login-at,0ms) + 240ms)}
.login-pv-ai[data-on] .login-beam{animation:login-scan 1900ms cubic-bezier(.77,0,.175,1) 500ms 2 alternate both}
.login-pv-ai[data-on] .login-slip-row::after{animation:login-flash 1000ms ease var(--login-at,0ms) backwards}
.login-pv-ai[data-on] .login-ai-v::before{animation:login-hold 200ms ease var(--login-at,0ms) backwards}
.login-pv-ai[data-on] .login-ai-v b{animation:login-type 520ms steps(12,end) var(--login-at,0ms) backwards}
.login-pv-ai[data-on] .login-ai-pulse{animation:login-pulse 1s ease-in-out 4}
.login-pv-bank[data-on] .login-bank-line{animation:login-grow 500ms cubic-bezier(.23,1,.32,1) var(--login-at,0ms) backwards}
.login-pv-bank[data-on] .login-bank-check{animation:login-pop 360ms cubic-bezier(.23,1,.32,1) var(--login-at,0ms) backwards}
.login-pv-bank[data-on] .login-bank-check circle{animation:login-draw 520ms cubic-bezier(.77,0,.175,1) var(--login-at,0ms) backwards}
.login-pv-bank[data-on] .login-bank-check path{animation:login-draw 360ms cubic-bezier(.77,0,.175,1) calc(var(--login-at,0ms) + 420ms) backwards}
.login-pv-stats[data-on] .login-spark{animation:login-wipe 1400ms cubic-bezier(.23,1,.32,1) var(--login-at,0ms) backwards}
.login-pv-stats[data-on] .login-pv-bars i{animation:login-bar 600ms cubic-bezier(.23,1,.32,1) var(--login-at,0ms) backwards}
.login-pv-crm[data-on] .login-crm-ride{animation:login-ride 900ms cubic-bezier(.77,0,.175,1) var(--login-at,0ms) backwards}
.login-pv-crm[data-on] .login-crm-fill{animation:login-half 900ms cubic-bezier(.77,0,.175,1) var(--login-at,0ms) backwards}
.login-pv-crm[data-on] .login-crm-stage[data-i="2"]{animation:login-lit 320ms ease var(--login-at,0ms) backwards}
.login-pv-undo[data-on] .login-undo-msg{animation:login-dim 300ms ease var(--login-at,0ms) backwards}
.login-pv-undo[data-on] .login-ring-run{animation:login-drain 5000ms linear var(--login-at,0ms) backwards}
.login-pv-undo[data-on] .login-count i{animation:login-digit 1000ms linear var(--login-at,0ms)}
.login-caps{position:absolute;left:24px;right:24px;bottom:66px;z-index:2;display:grid;justify-items:center;pointer-events:none}
.login-cap{grid-area:1/1;max-width:440px;margin:0;font-size:15px;line-height:1.4;font-weight:500;letter-spacing:-.005em;text-align:center;text-wrap:balance;color:#DCE2F0;opacity:0;translate:0 6px;filter:blur(4px);transition:opacity 320ms ease,translate 520ms cubic-bezier(.22,1,.36,1),filter 320ms ease}
.login-cap[data-on]{opacity:1;translate:0 0;filter:none;transition-delay:200ms}
.login-tour{position:absolute;left:50%;bottom:22px;z-index:3;display:flex;gap:6px;width:min(320px,calc(100% - 64px));transform:translateX(-50%)}
.login .login-seg{position:relative;flex:1 1 0;min-width:0;height:24px;padding:0;border:0;border-radius:6px;background:transparent}
.login-seg::before,.login-seg-fill{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:2px}
.login-seg::before{background:rgba(255,255,255,.16);transition:background-color 160ms ease}
.login-seg-fill{background:#E0E7FF;transform:scaleX(0);transform-origin:left center}
.login-seg[data-done] .login-seg-fill{transform:scaleX(1);opacity:.5}
.login-seg[aria-current] .login-seg-fill{animation:login-fill var(--login-ms,5600ms) linear both}
.login-art[data-paused] .login-seg[aria-current] .login-seg-fill{animation-play-state:paused}
.login-art[data-still] .login-seg[aria-current] .login-seg-fill{animation:none;transform:scaleX(1)}
.login .login-seg:focus-visible{outline:2px solid #A5B4FC;outline-offset:2px}
@keyframes login-rise{from{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes login-drift{from{transform:translate3d(-3%,2%,0) scale(1)}to{transform:translate3d(4%,-3%,0) scale(1.08)}}
@keyframes login-turn{to{transform:rotate(360deg)}}
@keyframes login-shake-a{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes login-shake-b{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes login-pop{from{opacity:0;transform:scale(.9)}}
@keyframes login-fade{from{opacity:0}}
@keyframes login-hold{from{opacity:1}to{opacity:0}}
@keyframes login-unread{from{color:rgba(199,210,254,.55)}}
@keyframes login-focus{from{filter:blur(6px);transform:scale(1.05)}}
@keyframes login-blip{0%{opacity:0}15%,85%{opacity:1}100%{opacity:0}}
@keyframes login-bounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
@keyframes login-scan{0%{opacity:0;transform:translateY(-50%)}12%,88%{opacity:1}100%{opacity:0;transform:translateY(50%)}}
@keyframes login-flash{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
@keyframes login-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes login-pulse{50%{opacity:.35;transform:scale(.8)}}
@keyframes login-grow{from{transform:scaleY(0)}}
@keyframes login-draw{from{stroke-dashoffset:1}}
@keyframes login-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes login-bar{from{transform:scaleY(.15);opacity:.4}}
@keyframes login-ride{from{transform:translateX(-50%)}}
@keyframes login-half{from{transform:scaleX(.5)}}
@keyframes login-lit{from{color:#9AA6BF}}
@keyframes login-dim{from{opacity:.55}}
@keyframes login-drain{from{stroke-dashoffset:0}to{stroke-dashoffset:1}}
@keyframes login-digit{0%{opacity:0;transform:translateY(40%)}10%,90%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-40%)}}
@keyframes login-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (hover:hover) and (pointer:fine){.login .login-input:hover:not(:focus):not([aria-invalid="true"]){border-color:var(--login-field-hover)}.login-eye:hover{color:var(--login-ink);background:var(--login-field-line)}.login .login-submit:hover:not(:disabled){background:var(--login-btn-hover)}.login-seg:hover::before{background:rgba(255,255,255,.32)}}
@media (max-width:1100px){.login-card{padding:32px 26px 26px}.login-pv-back{display:none}.login-pv-stats{--login-pv-on:translate(0,0)}.login-pv-ai{width:94%;padding:18px}.login-ai-body{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:14px}.login-ai-body .login-slip{font-size:7.2px}.login-ai-v{font-size:13px}}
@media (max-width:820px){.login{grid-template-columns:minmax(0,1fr)}.login-art{display:none}.login-side{padding:12px 16px 16px}.login-side::after{top:auto;bottom:0;left:0;width:100%;height:70%;transform:none;background:radial-gradient(55% 45% at 12% 100%,rgba(139,92,246,.28),transparent 72%),radial-gradient(50% 40% at 92% 100%,rgba(59,130,246,.24),transparent 72%),radial-gradient(60% 30% at 50% 0%,var(--login-spot),transparent 72%)}.login-main{padding:20px 0}.login-card{padding:28px 20px 22px;border-radius:18px}.login-title{font-size:22px}.login-foot{justify-content:center}.login-tools{margin-left:0}}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.login-card{background:var(--login-card-solid)}}
@media (prefers-reduced-transparency:reduce){.login-card{background:var(--login-card-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.login .login-input{background:var(--login-field-solid)}.login-thumb-tag{background:#312E81;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-contrast:more){.login{--login-field-line:var(--login-muted);--login-card-line:var(--login-muted)}}
@media (prefers-reduced-motion:reduce){.login-rise,.login-art,.login-art::before,.login-art::after,.login-form[data-shake] .login-pass,.login-spin{animation:none}.login-pv,.login-cap{translate:0 0;scale:1;filter:none;transition:opacity 200ms ease}.login-pv[data-on],.login-cap[data-on],.login-pv-stats[data-on]{transition-delay:0ms}.login-stage *,.login-stage *::before,.login-stage *::after,.login-seg-fill{animation:none !important}.login-seg[aria-current] .login-seg-fill{transform:scaleX(1)}.login-undo-wait,.login-undo-clock,.login-count i:first-child{opacity:1}.login-undo-sent,.login-undo-state .login-ticks{opacity:0}.login-undo-msg{opacity:.55}.login-ring-run{stroke-dashoffset:.2}.login-knob,.login-switch,.login .login-submit{transition:none}.login .login-submit:active:not(:disabled){transform:none}}
.login-demo{margin-top:22px;padding-top:18px;border-top:1px solid var(--login-card-line)}
.login-demo-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:14px;font-weight:700;color:var(--login-ink)}
.login-demo-title::before{content:"DEMO";font-size:10.5px;font-weight:800;letter-spacing:.08em;padding:2px 6px;border-radius:6px;background:var(--login-btn);color:var(--login-btn-ink)}
.login-demo-lead{margin:0 0 12px;font-size:12.5px;line-height:1.45;color:var(--login-muted)}
.login-demo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.login-demo-row{display:flex;align-items:center;gap:12px;padding:9px 10px 9px 12px;border-radius:12px;border:1px solid var(--login-field-line);background:var(--login-field)}
.login-demo-who{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.login-demo-role{font-size:13.5px;color:var(--login-ink)}
.login-demo-cred{font-size:12.5px;line-height:1.45;color:var(--login-muted)}
.login-demo-cred code{font-family:ui-monospace,Consolas,"Cascadia Mono",monospace;font-size:12.5px;color:var(--login-ink2);white-space:nowrap}
.login .login-demo-use{flex:0 0 auto;min-width:64px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--login-focus);background:transparent;color:var(--login-focus);font-size:13px;font-weight:600;cursor:pointer;transition:background-color 140ms ease,color 140ms ease}
.login .login-demo-use:hover{background:var(--login-btn);border-color:var(--login-btn);color:var(--login-btn-ink)}
.login .login-demo-use:focus-visible{outline:2px solid var(--login-focus);outline-offset:2px}
