@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, -apple-system, sans-serif;--bg:#f3f2f9;--panel:#fff;--panel-2:#f7f6fc;--panel-3:#efedf8;--input-bg:#f8f7fd;--border:#e8e6f2;--border-strong:#d8d4e8;--text:#1c1936;--muted:#5d5978;--faint:#696585;--accent:#6a48f5;--accent-strong:#5536dc;--accent-soft:#6a48f51a;--accent-soft-2:#6a48f52e;--accent-softer:#6a48f50d;--accent-fg:#fff;--accent-glow:#6a48f56b;--btn-grad:linear-gradient(135deg, #7052f6 0%, #6a48f5 42%, #5536dc 100%);--danger:#c42239;--danger-soft:#c4223917;--ok:#0b7a55;--ok-soft:#0f9e751f;--warn:#9a5b00;--warn-soft:#e8a01429;--crit:#c42239;--info:#0b6fae;--info-soft:#0b84c91c;--tone-violet:#6a48f5;--tone-violet-bg:#6a48f51c;--tone-mint:#0b8a62;--tone-mint-bg:#0f9e751f;--tone-sky:#0b78bd;--tone-sky-bg:#0b84c91c;--tone-amber:#b06a00;--tone-amber-bg:#e8a01426;--tone-rose:#d42a52;--tone-rose-bg:#e0335a1a;--tone-coral:#d4521f;--tone-coral-bg:#e5602e1c;--chart-1:#6a48f5;--chart-2:#0f9e75;--chart-1-soft:#c4b6fc;--glass:#ffffffbd;--topbar-bg:#f3f2f9c7;--overlay:#1713336b;--row-hover:#6a48f509;--spot:#6a48f513;--scroll-thumb:#1c19362e;--aura-1:#7c5cff21;--aura-2:#10b98114;--aura-3:#38bdf812;--card-inset:inset 0 0 0 0 transparent;--shadow-xs:0 1px 2px #1c19360d;--shadow-sm:0 1px 2px #1c19360a, 0 6px 18px -8px #1c19361a;--shadow:0 4px 12px -4px #1c193614, 0 24px 48px -18px #1c193638;--shadow-lg:0 32px 80px -24px #1c193666;--radius:20px;--radius-md:15px;--radius-sm:11px;--sidebar-w:272px;--rail-w:84px;--topbar-h:72px;--bottom-nav-h:0px;--content-pad-x:36px;--content-pad-top:26px;--content-pad-bottom:44px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0b1c;--panel:#16132b;--panel-2:#1e1a38;--panel-3:#282347;--input-bg:#110e24;--border:#29244a;--border-strong:#3b3566;--text:#eeecff;--muted:#aaa6cc;--faint:#9a96bf;--accent:#9b88ff;--accent-strong:#b3a4ff;--accent-soft:#9b88ff24;--accent-soft-2:#9b88ff3d;--accent-softer:#9b88ff12;--accent-fg:#120e2a;--accent-glow:#7c5cff80;--danger:#ff6b81;--danger-soft:#ff6b8121;--ok:#3fd69c;--ok-soft:#3fd69c1f;--warn:#f6b84a;--warn-soft:#f6b84a21;--crit:#ff6b81;--info:#5cc3ff;--info-soft:#5cc3ff1f;--tone-violet:#a594ff;--tone-violet-bg:#9b88ff26;--tone-mint:#3fd69c;--tone-mint-bg:#3fd69c21;--tone-sky:#5cc3ff;--tone-sky-bg:#5cc3ff21;--tone-amber:#f6b84a;--tone-amber-bg:#f6b84a24;--tone-rose:#ff6b8a;--tone-rose-bg:#ff6b8a24;--tone-coral:#ff8a5c;--tone-coral-bg:#ff8a5c24;--chart-1:#8b76ff;--chart-2:#1aa97c;--chart-1-soft:#4b3f94;--glass:#16132bbd;--topbar-bg:#0d0b1cb8;--overlay:#04030ca3;--row-hover:#9b88ff0d;--spot:#9b88ff1a;--scroll-thumb:#eeecff29;--aura-1:#7c5cff33;--aura-2:#10b98114;--aura-3:#38bdf812;--card-inset:inset 0 1px 0 #ffffff09;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 1px 2px #0000004d, 0 10px 24px -12px #0000008c;--shadow:0 10px 28px -8px #00000080, 0 32px 64px -24px #000000a6;--shadow-lg:0 40px 96px -24px #000c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--scroll-thumb) transparent}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:14.5px;line-height:1.55}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(38vmax 30vmax at 82% 8%, var(--aura-1), transparent 70%), radial-gradient(34vmax 28vmax at 12% 92%, var(--aura-2), transparent 70%), radial-gradient(30vmax 24vmax at 58% 58%, var(--aura-3), transparent 70%);animation:rw-aurora 40s var(--ease-in-out) infinite alternate;will-change:transform;position:fixed;inset:-25vmax}a{color:var(--accent);text-decoration:none;transition:color .2s}h1,h2,h3,h4{letter-spacing:-.015em;line-height:1.25}::selection{background:var(--accent-soft-2)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}img{max-width:100%}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;transition:grid-template-columns .45s var(--ease-out);display:grid}.app-shell.collapsed{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.main-col{flex-direction:column;min-width:0;display:flex}.content{min-width:0;padding:var(--content-pad-top) var(--content-pad-x) calc(var(--content-pad-bottom) + var(--bottom-nav-h));flex:1;overflow-x:clip}.page-enter{max-width:1760px;margin:0 auto}.sidebar{z-index:40;background:var(--panel);border-right:1px solid var(--border);flex-direction:column;height:100dvh;padding:20px 16px 14px;display:flex;position:sticky;top:0;overflow-x:hidden}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:12px;padding:2px 8px 18px;font-size:23px;font-weight:800;display:flex}.brand:hover{color:var(--text)}.brand-text b{background:var(--btn-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.brand .logo-mark{transition:transform .5s var(--ease-spring)}.brand:hover .logo-mark{transform:rotate(-8deg)scale(1.06)}.logo-mark{box-shadow:0 8px 20px -8px var(--accent-glow), inset 0 1px 0 #ffffff4d;background:radial-gradient(120% 90% at 20% 0,#ffffff47,#0000 60%),linear-gradient(140deg,#7c5cff 0%,#6a48f5 45%,#4f33d6 100%);border-radius:30%;flex:none;place-items:center;display:inline-grid}.logo-mark svg{overflow:visible}.logo-mark .logo-up{animation:rw-logo-up 3.6s var(--ease-in-out) infinite}.logo-mark .logo-down{animation:rw-logo-down 3.6s var(--ease-in-out) infinite}.sidebar-scroll{scrollbar-width:none;flex:1;min-height:0;margin:0 -8px;padding:0 8px 12px;overflow:hidden auto}.sidebar-scroll::-webkit-scrollbar{display:none}.sidebar-nav{flex-direction:column;gap:2px;padding-left:14px;display:flex;position:relative}.sidebar-nav:before{content:"";background:repeating-linear-gradient(to bottom, var(--border-strong) 0 6px, transparent 6px 10px);opacity:.7;border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:4px}.nav-indicator{height:var(--ind-h,0px);transform:translateY(var(--ind-y,0px));background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft-2);opacity:var(--ind-o,0);pointer-events:none;z-index:0;border-radius:13px;position:absolute;top:0;left:14px;right:0}.sidebar-nav.ind-ready .nav-indicator{transition:transform .6s var(--ease-spring), height .35s var(--ease-out), opacity .25s ease}.nav-indicator:before{content:"";background:var(--btn-grad);width:6px;box-shadow:0 0 14px var(--accent-glow);border-radius:4px;position:absolute;top:18%;bottom:18%;left:-13px}.nav-group-label{letter-spacing:.11em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding:18px 12px 6px;font-size:10.5px;font-weight:800;transition:opacity .25s}.nav-group:first-child .nav-group-label{padding-top:6px}.nav-link{z-index:1;color:var(--muted);border-radius:13px;align-items:center;gap:12px;padding:10px 12px;font-size:14.5px;font-weight:600;transition:color .2s,background-color .2s;display:flex;position:relative}.nav-link svg{width:20px;height:20px;transition:transform .4s var(--ease-spring);flex:none}.nav-link:hover{color:var(--text);background:var(--accent-softer)}.nav-link:hover svg{transform:translate(2px)scale(1.08)}.nav-link.active{color:var(--accent);font-weight:700}.nav-link.active:hover{background:0 0}.sidebar-nav:not(.ind-ready) .nav-link.active{background:var(--accent-soft)}.nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;transition:opacity .25s;overflow:hidden}.nav-badge{background:var(--btn-grad);color:#fff;min-width:20px;height:20px;box-shadow:0 4px 10px -3px var(--accent-glow);animation:rw-pop .45s var(--ease-spring) backwards;border-radius:10px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.duty-card{background:var(--panel-2);border:1px solid var(--border);white-space:nowrap;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.duty-card-icon{width:32px;height:32px;color:var(--tone-amber);background:var(--tone-amber-bg);border-radius:10px;flex:none;place-items:center;display:grid}.duty-card-icon svg{width:16px;height:16px}.duty-card-body{min-width:0;line-height:1.3}.duty-card-label{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.duty-card-name{color:var(--text);text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.duty-card-phone{color:var(--muted);text-overflow:ellipsis;font-size:12px;font-weight:600;display:block;overflow:hidden}.duty-card-phone:hover{color:var(--accent)}.sidebar-foot-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.live-pill{color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;min-width:0;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.live-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px;position:relative}.live-pill.live{color:var(--ok)}.live-pill.live .live-dot{background:#14c48c}.live-pill.live .live-dot:after{content:"";animation:rw-ping 2s var(--ease-out) infinite;border:2px solid #14c48c;border-radius:50%;position:absolute;inset:-4px}.live-pill.offline{color:var(--warn)}.live-pill.offline .live-dot{background:var(--warn)}.live-pill.connecting .live-dot{animation:1.2s ease-in-out infinite rw-blink}.collapse-btn{width:36px;height:36px;color:var(--faint);cursor:pointer;transition:background-color .2s ease, color .2s ease, transform .4s var(--ease-spring);background:0 0;border:1px solid #0000;border-radius:11px;flex:none;place-items:center;display:grid}.collapse-btn:hover{background:var(--panel-2);color:var(--text)}.app-shell.collapsed .sidebar{padding-left:12px;padding-right:12px}.app-shell.collapsed .brand{padding-left:10px;padding-right:0}.app-shell.collapsed .brand-text,.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-group-label{opacity:0;pointer-events:none}.app-shell.collapsed .live-text,.app-shell.collapsed .duty-card-body{display:none}.app-shell.collapsed .nav-group-label{height:14px;margin:6px 0;padding:0;overflow:hidden}.app-shell.collapsed .sidebar-nav{padding-left:10px;padding-right:9px}.app-shell.collapsed .nav-indicator{left:10px;right:9px}.app-shell.collapsed .nav-indicator:before{left:-9px}.app-shell.collapsed .sidebar-nav:before{left:2px}.app-shell.collapsed .nav-link{padding:11px 10px}.app-shell.collapsed .nav-badge{min-width:17px;height:17px;padding:0 4px;font-size:10px;position:absolute;top:3px;left:24px}.app-shell.collapsed .duty-card{justify-content:center;padding:8px}.app-shell.collapsed .sidebar-foot-row{flex-direction:column}.app-shell.collapsed .collapse-btn svg{transform:scaleX(-1)}.rail-tip{left:calc(var(--rail-w) + 6px);z-index:95;background:var(--text);color:var(--bg);white-space:nowrap;box-shadow:var(--shadow);pointer-events:none;animation:rw-tip .2s var(--ease-out) backwards;border-radius:10px;padding:7px 11px;font-size:12.5px;font-weight:700;position:fixed;transform:translateY(-50%)}.rail-tip:before{content:"";background:inherit;border-radius:2px;width:9px;height:9px;position:absolute;top:50%;left:-4px;transform:translateY(-50%)rotate(45deg)}.topbar{z-index:30;height:var(--topbar-h);padding:0 var(--content-pad-x);background:var(--topbar-bg);-webkit-backdrop-filter:saturate(1.6)blur(16px);backdrop-filter:saturate(1.6)blur(16px);border-bottom:1px solid #0000;align-items:center;gap:12px;transition:border-color .25s,box-shadow .25s;display:flex;position:sticky;top:0}.topbar.scrolled{border-bottom-color:var(--border);box-shadow:0 8px 24px -18px #1c193659}.topbar-brand{display:none}.search-trigger{border:1px solid var(--border);background:var(--panel);min-width:0;height:46px;color:var(--faint);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .2s ease, box-shadow .3s var(--ease-out), transform .3s var(--ease-spring);border-radius:15px;flex:0 440px;align-items:center;gap:10px;padding:0 10px 0 15px;font-size:14px;display:flex}.search-trigger:hover{border-color:var(--accent-soft-2);box-shadow:var(--shadow-sm), 0 0 0 4px var(--accent-softer);color:var(--muted)}.search-trigger svg{flex:none}.search-trigger-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}kbd,.kbd{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);white-space:nowrap;border-bottom-width:2px;border-radius:7px;align-items:center;gap:2px;padding:3px 7px;font-family:inherit;font-size:11.5px;font-weight:700;line-height:1.2;display:inline-flex}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--panel);width:46px;height:46px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow-xs);transition:color .2s ease, border-color .2s ease, transform .35s var(--ease-spring), box-shadow .3s ease;border-radius:15px;flex:none;place-items:center;display:grid;position:relative}.icon-btn:hover{color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.icon-btn:active{transform:scale(.94)}.icon-btn .nav-badge{margin:0;position:absolute;top:-5px;right:-5px}.theme-toggle>span{transition:transform .6s var(--ease-spring), opacity .3s ease;grid-area:1/1;display:grid}.theme-toggle .ico-moon{opacity:0;transform:rotate(-120deg)scale(.4)}:root[data-theme=dark] .theme-toggle .ico-sun{opacity:0;transform:rotate(120deg)scale(.4)}:root[data-theme=dark] .theme-toggle .ico-moon{opacity:1;transform:none}.menu-btn{display:none}.user-menu-wrap{position:relative}.user-chip{border:1px solid var(--border);background:var(--panel);max-width:260px;height:46px;color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-xs);border-radius:15px;align-items:center;gap:10px;padding:4px 12px 4px 4px;transition:border-color .2s,box-shadow .3s;display:flex}.user-chip:hover,.user-chip[aria-expanded=true]{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.user-chip-text{min-width:0;line-height:1.2}.user-chip-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.user-chip-role{color:var(--faint);white-space:nowrap;font-size:11.5px;font-weight:600;display:block}.user-chip-chev{color:var(--faint);transition:transform .35s var(--ease-spring)}.user-chip[aria-expanded=true] .user-chip-chev{transform:rotate(180deg)}.avatar{background:var(--btn-grad);color:#fff;letter-spacing:.02em;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff40}.avatar.lg{border-radius:14px;width:46px;height:46px;font-size:15px}.user-menu{z-index:50;border:1px solid var(--border);background:var(--panel);width:280px;box-shadow:var(--shadow);transform-origin:100% 0;animation:rw-pop .32s var(--ease-spring) backwards;border-radius:20px;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.user-menu-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:6px;padding:10px 10px 14px;display:flex}.user-menu-head-text{min-width:0}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:800;overflow:hidden}.user-menu-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.menu-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s;display:flex}.menu-item:hover{background:var(--panel-2)}.menu-item svg{color:var(--faint)}.menu-item .menu-item-meta{color:var(--faint);margin-left:auto;font-size:12px;font-weight:600}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:currentColor}.menu-item.danger:hover{background:var(--danger-soft)}.drawer-backdrop{z-index:75;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:.25s backwards rw-fade;position:fixed;inset:0}.bottom-nav{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 20px;margin-bottom:26px;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(26px,1.4vw + 16px,34px);font-weight:700;line-height:1.12}.page-sub{color:var(--muted);margin:6px 0 0;font-size:14.5px}.breadcrumbs{color:var(--faint);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.breadcrumbs a{color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:999px;align-items:center;padding:4px 10px;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.breadcrumbs a:hover{color:var(--accent);border-color:var(--accent-soft-2);background:var(--accent-softer)}.breadcrumbs .sep{color:var(--faint);-webkit-user-select:none;user-select:none;opacity:.7}.breadcrumbs .current{color:var(--text);padding:4px 6px;font-weight:700}.card{border-radius:var(--radius);border:1px solid var(--border);background:radial-gradient(circle 460px at var(--mx,50%) var(--my,-9999px), var(--spot), transparent 70%), var(--panel);box-shadow:var(--shadow-sm), var(--card-inset);padding:22px;position:relative}.card>h3:first-child{margin-top:0}.card-title{letter-spacing:-.012em;margin:0 0 16px;font-size:16px;font-weight:750}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-head .card-title{margin:0}.count-pill{background:var(--panel-3);min-width:26px;height:22px;color:var(--muted);vertical-align:2px;border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.count-pill.crit{background:var(--danger-soft);color:var(--crit)}.grid{gap:18px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{letter-spacing:-.04em;font-size:34px;font-weight:800;line-height:1.08}.stat.alert{color:var(--crit)}.stat-label{color:var(--muted);margin-top:6px;font-size:13.5px;font-weight:600}.tone-violet{--tone:var(--tone-violet);--tone-bg:var(--tone-violet-bg)}.tone-mint{--tone:var(--tone-mint);--tone-bg:var(--tone-mint-bg)}.tone-sky{--tone:var(--tone-sky);--tone-bg:var(--tone-sky-bg)}.tone-amber{--tone:var(--tone-amber);--tone-bg:var(--tone-amber-bg)}.tone-rose{--tone:var(--tone-rose);--tone-bg:var(--tone-rose-bg)}.tone-coral{--tone:var(--tone-coral);--tone-bg:var(--tone-coral-bg)}.stat-card{color:var(--text);transition:transform .4s var(--ease-spring), box-shadow .35s var(--ease-out), border-color .25s ease;padding:20px 20px 18px;display:block;overflow:hidden}a.stat-card:hover{color:var(--text)}.stat-card:after{content:"";background:radial-gradient(circle, var(--tone-bg), transparent 70%);pointer-events:none;width:170px;height:170px;transition:transform .7s var(--ease-out);border-radius:50%;position:absolute;top:-60px;right:-60px}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow), var(--card-inset);transform:translateY(-3px)}.stat-card:hover:after{transform:scale(1.35)}.stat-card.is-alert{border-color:color-mix(in srgb, var(--crit) 35%, var(--border))}.stat-card-top{z-index:1;justify-content:space-between;align-items:center;margin-bottom:18px;display:flex;position:relative}.stat-icon{width:48px;height:48px;color:var(--tone);background:var(--tone-bg);transition:transform .5s var(--ease-spring);border-radius:15px;place-items:center;display:grid}.stat-icon svg{width:22px;height:22px}.stat-card:hover .stat-icon{transform:rotate(-8deg)scale(1.08)}.stat-card-go{color:var(--faint);transition:transform .4s var(--ease-spring), color .2s ease;font-size:18px;font-weight:700}.stat-card:hover .stat-card-go{color:var(--accent);transform:translate(4px)}.stat-card .stat,.stat-card .stat-label,.stat-card .kpi-note{z-index:1;position:relative}.stat-placeholder{color:var(--faint)}.tile-list{flex-direction:column;gap:10px;display:flex}.tile{border:1px solid var(--border);background:radial-gradient(circle 360px at var(--mx,50%) var(--my,-9999px), var(--spot), transparent 70%), var(--panel);width:100%;box-shadow:var(--shadow-xs);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .4s var(--ease-spring), box-shadow .3s var(--ease-out), border-color .25s ease;border-radius:17px;align-items:center;gap:16px;padding:16px 18px;display:flex}.tile:hover{border-color:var(--accent-soft-2);box-shadow:var(--shadow-sm), 0 14px 30px -18px var(--accent-glow);transform:translateY(-2px)}.tile:active{transform:translateY(0)scale(.995)}.tile .tile-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);transition:transform .5s var(--ease-spring), background-color .25s ease, color .25s ease;border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.tile .tile-icon svg{width:21px;height:21px}.tile:hover .tile-icon{background:var(--btn-grad);color:#fff;transform:rotate(-6deg)scale(1.07)}.tile .tile-body{flex:1;min-width:0}.tile .tile-title{letter-spacing:-.01em;font-size:15px;font-weight:700}.tile .tile-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.tile .tile-meta{color:var(--muted);flex:none;align-items:center;gap:12px;font-size:13px;display:flex}.tile .chev{color:var(--faint);transition:transform .4s var(--ease-spring), color .2s ease;flex:none}.tile:hover .chev{color:var(--accent);transform:translate(4px)}.table-wrap{overflow-x:auto}.table-scroll{max-height:380px;overflow-y:auto}.table-scroll thead th{z-index:1;background:var(--panel);position:sticky;top:0}table{border-collapse:separate;border-spacing:0;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}th{color:var(--faint);text-transform:uppercase;letter-spacing:.075em;white-space:nowrap;font-size:11.5px;font-weight:750}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color .15s}tbody tr:hover{background:var(--row-hover)}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--accent-softer)}tr.clickable td:first-child{transition:box-shadow .25s var(--ease-out);box-shadow:inset 3px 0 #0000}tr.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.row-unresolved td{background:var(--warn-soft)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.btn{isolation:isolate;background:var(--btn-grad);color:#fff;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;box-shadow:inset 0 1px 0 #fff3, 0 6px 16px -7px var(--accent-glow);transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease-out), background-color .2s ease, border-color .2s ease, color .2s ease;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.25;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;transition:transform .75s var(--ease-out);pointer-events:none;background:linear-gradient(110deg,#0000 28%,#ffffff4d 46%,#ffffff0d 56%,#0000 64%);position:absolute;inset:0;transform:translate(-130%)}.btn:after{content:"";left:var(--rx,50%);top:var(--ry,50%);z-index:-1;width:var(--rs,220px);height:var(--rs,220px);opacity:0;pointer-events:none;background:currentColor;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.btn.is-rippling:after{animation:rw-ripple .65s var(--ease-out)}.btn:hover{color:#fff;box-shadow:inset 0 1px 0 #fff3, 0 12px 26px -10px var(--accent-glow);transform:translateY(-1px)}.btn:hover:before{transform:translate(130%)}.btn:active{transition-duration:80ms;transform:translateY(0)scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn:disabled:before{display:none}.btn svg{flex:none}.btn.secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn.secondary:hover{background:var(--panel-2);border-color:var(--accent-soft-2);color:var(--text);box-shadow:var(--shadow-sm)}.btn.ghost{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel-2);color:var(--text);box-shadow:none}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 38%, transparent);box-shadow:none;background:0 0}.btn.danger:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger);box-shadow:none}.btn.secondary:before,.btn.ghost:before,.btn.danger:before{display:none}.btn.small{border-radius:10px;gap:6px;padding:7px 12px;font-size:13px}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){border:1px solid var(--border-strong);background-color:var(--input-bg);width:100%;color:var(--text);transition:border-color .2s ease, box-shadow .3s var(--ease-out), background-color .2s ease;border-radius:12px;padding:11px 14px;font-family:inherit;font-size:14.5px;line-height:1.4}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea):hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border-strong))}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea):focus{border-color:var(--accent);background-color:var(--panel);box-shadow:0 0 0 4px var(--accent-soft);outline:none}:where(input,select,textarea):disabled{opacity:.6;cursor:not-allowed}::placeholder{color:var(--faint);opacity:.85}select{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a7699' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;background-size:16px;padding-right:38px}input[type=file]{border:1px dashed var(--border-strong);background:var(--input-bg);width:100%;color:var(--muted);font:inherit;cursor:pointer;border-radius:12px;padding:8px;font-size:13.5px}input[type=file]::file-selector-button{background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;border:0;border-radius:9px;margin-right:12px;padding:7px 14px;font-weight:700;transition:background-color .2s}input[type=file]::file-selector-button:hover{background:var(--accent-soft-2)}input[type=checkbox]{appearance:none;border:1.5px solid var(--border-strong);background:var(--panel);cursor:pointer;vertical-align:middle;width:20px;height:20px;transition:background-color .2s ease, border-color .2s ease, box-shadow .25s ease, transform .3s var(--ease-spring);border-radius:7px;flex:none;place-content:center;margin:0;display:inline-grid}input[type=checkbox]:before{content:"";clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:11px;height:11px;transition:transform .3s var(--ease-spring);background:#fff;transform:scale(0)}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:checked{background:var(--btn-grad);box-shadow:0 4px 10px -4px var(--accent-glow);border-color:#0000}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:active{transform:scale(.88)}input[type=checkbox]:focus-visible{box-shadow:0 0 0 4px var(--accent-soft-2);outline:none}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}label{color:var(--muted);margin:0 0 7px;font-size:13px;font-weight:650;display:block}.field{margin-bottom:16px}.field .hint{color:var(--faint);margin-top:6px;font-size:12.5px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;display:grid}.form-grid .span-2{grid-column:span 2}.checkbox-row{color:var(--text);cursor:pointer;align-items:center;gap:11px;margin:0;padding:10px 0;font-size:14.5px;font-weight:550;display:flex}.seg{border:1px solid var(--border);background:var(--panel-2);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:650;transition:background-color .2s,color .2s,box-shadow .25s}.seg button:hover{color:var(--text);background:var(--panel)}.seg button.active{background:var(--accent);color:var(--accent-fg);box-shadow:0 6px 14px -8px var(--accent-glow);animation:rw-seg-pop .35s var(--ease-spring)}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.faint{color:var(--faint)}.error{border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);animation:rw-shake .45s var(--ease-out);border-radius:12px;margin:10px 0;padding:11px 14px;font-size:13.5px;font-weight:550}.empty{text-align:center;color:var(--muted);padding:38px 16px;font-size:14px}.empty:before{content:"";background-color:var(--accent-soft);width:56px;height:56px;animation:rw-float 4s var(--ease-in-out) infinite;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f7bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1.5'/%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3Cpath d='M8 9l1.5-2L11 9'/%3E%3Cpath d='M13 15l1.5 2L16 15'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:26px;border-radius:18px;margin:0 auto 14px;display:block}.empty.loading:before{display:none}.empty .empty-title{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible,summary:focus-visible,[role=option]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal:focus,.pdf-modal:focus,.palette:focus{outline:none}.field-error{color:var(--danger);margin-top:6px;font-size:12.5px;font-weight:600}.state-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.loading{color:var(--muted);align-items:center;gap:12px;font-weight:600;display:flex}.loading.page-loading,.loading.center-screen,.loading.empty{flex-direction:column;justify-content:center;gap:16px}.page-loading{text-align:center;padding:72px 0}.lift-loader{border:2px solid var(--border-strong);border-radius:6px;flex:none;width:18px;height:28px;position:relative;overflow:hidden}.lift-loader i{background:var(--btn-grad);height:9px;box-shadow:0 0 8px var(--accent-glow);animation:rw-lift-car 1.6s var(--ease-in-out) infinite;border-radius:3px;position:absolute;bottom:2px;left:2px;right:2px}.page-loading .lift-loader,.center-screen .lift-loader,.empty .lift-loader{border-radius:9px;width:28px;height:44px}.page-loading .lift-loader i,.center-screen .lift-loader i,.empty .lift-loader i{border-radius:5px;height:14px;animation-name:rw-lift-car-lg;bottom:3px;left:3px;right:3px}.error-boundary,.session-error{max-width:520px;margin:48px auto}.error-boundary h3,.session-error h3{margin-top:0}.error-boundary-actions,.session-error .row{flex-wrap:wrap;margin-top:16px}.confirm-message{font-size:14.5px;line-height:1.6}.badge{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.35;display:inline-flex}.badge.ok,.badge.warn,.badge.crit,.badge.accent{border-color:#0000}.badge.ok:before,.badge.warn:before,.badge.crit:before,.badge.accent:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.ok{color:var(--ok);background:var(--ok-soft)}.badge.warn{color:var(--warn);background:var(--warn-soft)}.badge.crit{color:var(--crit);background:var(--danger-soft)}.badge.accent{color:var(--accent);background:var(--accent-soft)}.badge.muted{color:var(--muted)}.license-alerts{border-color:color-mix(in srgb, var(--warn) 32%, var(--border));background:linear-gradient(100deg, var(--warn-soft), transparent 60%), var(--panel)}.license-alerts .card-title{align-items:center;gap:10px;display:flex}.license-alert-list{flex-direction:column;gap:8px;display:flex}.license-alert-row{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13.5px;display:flex}.def-grid{grid-template-columns:minmax(150px,200px) 1fr;row-gap:0;display:grid}.def-grid dt{color:var(--muted);border-bottom:1px dashed var(--border);margin:0;padding:9px 0;font-size:13.5px;font-weight:600}.def-grid dd{border-bottom:1px dashed var(--border);margin:0;padding:9px 0;font-size:14.5px}.def-grid dt:last-of-type,.def-grid dd:last-of-type{border-bottom:none}.modal-backdrop{z-index:50;background:var(--overlay);-webkit-backdrop-filter:blur(8px)saturate(1.2);backdrop-filter:blur(8px)saturate(1.2);justify-content:center;align-items:flex-start;padding:6vh 24px 24px;animation:.25s backwards rw-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--border);background:var(--panel);width:100%;max-height:88vh;box-shadow:var(--shadow-lg);animation:rw-modal-in .45s var(--ease-spring) backwards;border-radius:24px;flex-direction:column;display:flex}.modal.size-sm{max-width:480px}.modal.size-md{max-width:680px}.modal.size-lg{max-width:940px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 18px;display:flex}.modal-header h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:22px;font-weight:700}.modal-header .modal-sub{color:var(--muted);margin-top:4px;font-size:13.5px}.modal-close{border:1px solid var(--border);background:var(--panel-2);width:38px;height:38px;color:var(--muted);cursor:pointer;transition:background-color .2s ease, color .2s ease, transform .45s var(--ease-spring);border-radius:12px;flex:none;font-size:14px;line-height:1}.modal-close:hover{background:var(--danger-soft);color:var(--danger);transform:rotate(90deg)}.modal-close:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-body{padding:24px 28px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--panel-2);border-radius:0 0 24px 24px;justify-content:space-between;align-items:center;gap:12px;padding:16px 28px 20px;display:flex}.modal-footer .grow{flex:1}.modal-section{border-top:1px solid var(--border);margin-top:26px;padding-top:18px}.modal-section>h4,.section-title{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);margin:0 0 14px;font-size:11.5px;font-weight:800}.pdf-modal-backdrop{z-index:60;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.25s backwards rw-fade;display:flex;position:fixed;inset:0}.pdf-modal{border:1px solid var(--border);background:var(--panel);width:min(980px,100vw - 48px);height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);animation:rw-modal-in .45s var(--ease-spring) backwards;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.pdf-modal-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.pdf-modal-title{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;font-size:13.5px;font-weight:700;display:inline-flex;overflow:hidden}.pdf-modal iframe{background:#fff;border:none;flex:1;width:100%}.pdf-modal-image{background:var(--bg);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.pdf-modal-image img{object-fit:contain;max-width:100%;max-height:100%}.pdf-modal-status{color:var(--muted);margin:auto}.pdf-modal-head .pdf-modal-error{max-width:45%;margin:0;padding:4px 10px;font-size:12.5px}.modal-backdrop.above-pdf{z-index:70}.check-edit-section{margin-top:22px}.check-edit-section:first-child{margin-top:0}.check-edit-row{border-bottom:1px solid var(--border);grid-template-columns:1fr max-content;align-items:center;gap:6px 14px;padding:10px 0;display:grid}.check-edit-row:last-child{border-bottom:none}.check-edit-label{font-size:14px}.check-edit-note{grid-column:1/-1}.check-edit-note:placeholder-shown{opacity:.75}.check-edit-seg button.danger.active{background:var(--danger-soft);color:var(--danger);box-shadow:none}.ss{position:relative}.ss-list{z-index:60;border:1px solid var(--border);background:var(--panel);max-height:260px;box-shadow:var(--shadow);transform-origin:top;animation:rw-drop .25s var(--ease-out) backwards;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.ss-option{cursor:pointer;border-radius:10px;padding:9px 11px;font-size:14px;transition:background-color .12s}.ss-option.is-selected{background:var(--panel-2);font-weight:650}.ss-option.is-active{background:var(--accent-soft);color:var(--text)}.ss-option.is-empty{color:var(--muted)}.ss-hint{color:var(--muted);font-size:12px}.ss-none{color:var(--muted);padding:9px 11px}.palette-backdrop{z-index:90;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:flex-start;padding:11vh 16px 16px;animation:.2s backwards rw-fade;display:flex;position:fixed;inset:0}.palette{border:1px solid var(--border);background:var(--panel);width:min(660px,100%);max-height:min(620px,80vh);box-shadow:var(--shadow-lg);animation:rw-modal-in .4s var(--ease-spring) backwards;border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.palette-input-row{border-bottom:1px solid var(--border);color:var(--faint);align-items:center;gap:12px;padding:16px 18px;display:flex}.palette-input-row input{box-shadow:none;background:0 0;border:0;flex:1;padding:4px 0;font-size:17px;font-weight:550}.palette-input-row input:focus{box-shadow:none;background:0 0}.palette-input-row input::-webkit-search-cancel-button{display:none}.palette-list{flex:1;min-height:0;padding:8px;overflow-y:auto}.palette-group{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);padding:12px 12px 6px;font-size:10.5px;font-weight:800}.palette-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;animation:rw-rise-sm .3s var(--ease-out) backwards;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:9px 12px;display:flex}.palette-item.is-active{background:var(--accent-soft)}.pi-icon{background:var(--panel-2);width:36px;height:36px;color:var(--muted);transition:background-color .2s ease, color .2s ease, transform .35s var(--ease-spring);border-radius:11px;flex:none;place-items:center;display:grid}.pi-icon svg{width:18px;height:18px}.palette-item.is-active .pi-icon{background:var(--btn-grad);color:#fff;transform:scale(1.05)}.pi-body{flex:1;min-width:0}.pi-title{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:650;display:block;overflow:hidden}.pi-title mark{color:var(--accent);background:0 0;font-weight:800}.pi-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.pi-enter{opacity:0;transition:opacity .2s ease, transform .3s var(--ease-spring);flex:none;transform:translate(-4px)}.palette-item.is-active .pi-enter{opacity:1;transform:none}.palette-empty{text-align:center;color:var(--muted);padding:34px 16px}.palette-foot{border-top:1px solid var(--border);background:var(--panel-2);color:var(--faint);align-items:center;gap:16px;padding:10px 16px;font-size:12px;font-weight:600;display:flex}.palette-foot span{align-items:center;gap:6px;display:inline-flex}.center-screen{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-shell{grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr);min-height:100dvh;display:grid}.login-art{isolation:isolate;color:#fff;background:radial-gradient(60% 50% at 85% 10%,#9ff0d238,#0000 70%),radial-gradient(70% 60% at 0 100%,#ff7ab62e,#0000 70%),linear-gradient(155deg,#1a1240 0%,#2b1a6e 42%,#4a2ccc 100%);flex-direction:column;justify-content:space-between;gap:32px;padding:44px 52px;display:flex;position:relative;overflow:hidden}.login-art:before{content:"";z-index:-1;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000 30%,#0000 85%);mask-image:radial-gradient(80% 70% at 50% 30%,#000 30%,#0000 85%)}.login-brand{font-family:var(--font-display);letter-spacing:-.04em;animation:rw-rise .7s var(--ease-out) backwards;align-items:center;gap:12px;font-size:26px;font-weight:800;display:flex}.login-brand b{color:#9ff0d2;font-weight:800}.login-copy{max-width:520px;animation:rw-rise .8s .1s var(--ease-out) backwards}.login-copy h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0 0 14px;font-size:clamp(34px,2.6vw + 14px,52px);font-weight:700;line-height:1.04}.login-copy h1 em{background:linear-gradient(90deg,#9ff0d2,#c9b8ff);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.login-copy p{color:#ddd6ff;max-width:440px;margin:0;font-size:16px;line-height:1.6}.login-features{flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none;display:flex}.login-features li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f1edff;animation:rw-rise-sm .6s var(--ease-out) backwards;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:650;display:inline-flex}.login-features li:first-child{animation-delay:.25s}.login-features li:nth-child(2){animation-delay:.32s}.login-features li:nth-child(3){animation-delay:.39s}.login-features li:nth-child(4){animation-delay:.46s}.login-features li:nth-child(5){animation-delay:.53s}.login-features svg{color:#9ff0d2;width:15px;height:15px}.login-foot{color:#c9c1f2;font-size:12.5px}.login-panel{justify-content:center;align-items:center;padding:32px 24px;display:flex;position:relative}.login-card{width:100%;max-width:420px;box-shadow:var(--shadow);animation:rw-rise .7s var(--ease-out) backwards;border-radius:28px;padding:34px 32px 30px;position:relative;overflow:hidden}.login-card:before,.login-card:after{content:"";z-index:5;pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff0d 0 2px,#0000 2px 9px),linear-gradient(90deg,#2b1a6e,#4a2ccc);width:50.5%;position:absolute;top:0;bottom:0}.login-card:before{animation:rw-door-left 1s .35s var(--ease-in-out) forwards;left:0;box-shadow:inset -2px 0 #ffffff59}.login-card:after{animation:rw-door-right 1s .35s var(--ease-in-out) forwards;right:0;box-shadow:inset 2px 0 #ffffff59}.login-card-head{margin-bottom:24px}.login-card-head .logo-mark{display:none}.login-card h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 6px;font-size:28px;font-weight:700}.login-card-head p{color:var(--muted);margin:0}.login-card .btn[type=submit]{width:100%;margin-top:6px;padding:13px 18px;font-size:15px}.login-theme{position:absolute;top:18px;right:18px}.lift-art{--floor:52px;pointer-events:none;align-items:flex-end;gap:14px;display:flex;position:relative}.lift-art .shaft{width:58px;height:calc(var(--floor) * 5 + 4px);background:repeating-linear-gradient(to top, transparent 0 calc(var(--floor) - 1px), #ffffff24 calc(var(--floor) - 1px) var(--floor)), #ffffff0d;border:1px solid #fff3;border-radius:14px 14px 6px 6px;position:relative;overflow:hidden}.lift-art .shaft:nth-child(2){height:calc(var(--floor) * 4 + 4px)}.lift-art .shaft:nth-child(3){height:calc(var(--floor) * 3 + 4px)}.lift-art .shaft:before{content:"";background:#ffffff2e;width:1px;position:absolute;top:0;bottom:0;left:50%}.lift-art .car{height:calc(var(--floor) - 9px);animation:rw-car-a 9s var(--ease-in-out) infinite;background:linear-gradient(#fff,#e5dcff);border-radius:8px;position:absolute;bottom:4px;left:7px;right:7px;box-shadow:0 0 24px #9ff0d273,inset 0 -3px #4a2ccc40}.lift-art .car:before{content:"";background:#4a2ccc59;width:1px;position:absolute;top:6px;bottom:6px;left:50%}.lift-art .shaft:nth-child(2) .car{background:linear-gradient(#9ff0d2,#5fd3ab);animation-name:rw-car-b;animation-duration:11s}.lift-art .shaft:nth-child(3) .car{animation-name:rw-car-c;animation-duration:8s}.floor-display{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#9ff0d2;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:#0a061e80;border:1px solid #fff3;border-radius:14px;align-items:center;gap:10px;padding:9px 14px;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;right:-6px}.floor-display .floor-arrow{animation:rw-logo-up 2.4s var(--ease-in-out) infinite}.floor-display .floor-window{font-variant-numeric:tabular-nums;height:26px;font-size:22px;line-height:26px;overflow:hidden}.floor-display .floor-strip{animation:rw-floor-strip 9s var(--ease-in-out) infinite;flex-direction:column;display:flex}.hero{isolation:isolate;color:#fff;background:radial-gradient(50% 120% at 100% 0,#9ff0d224,#0000 60%),radial-gradient(40% 90% at 70% 120%,#ff7ab624,#0000 70%),linear-gradient(120deg,#4a2ccc 0%,#5236dc 50%,#5b3be6 100%);border-radius:26px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:22px;padding:28px 32px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 50px -24px #4a2ccca6}.hero:before{content:"";z-index:-1;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(100deg,#0000 30%,#000 75%);mask-image:linear-gradient(100deg,#0000 30%,#000 75%)}.hero-eyebrow{color:#f4f1ff;background:#ffffff24;border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:5px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.hero-title{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(26px,1.6vw + 16px,36px);font-weight:700;line-height:1.08}.hero-title em{color:#b9f5df;font-style:normal}.hero-sub{color:#ece8ff;max-width:560px;margin:10px 0 0;font-size:15px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero .btn{color:#3a22b8;background:#fff;box-shadow:0 10px 24px -12px #0a062899}.hero .btn:hover{color:#3a22b8}.hero .btn:before{background:linear-gradient(110deg,#0000 28%,#6a48f529 46%,#0000 64%)}.hero .btn.glass{color:#fff;box-shadow:none;background:#ffffff24;border-color:#ffffff47}.hero .btn.glass:hover{color:#fff;background:#ffffff38}.hero-side{align-items:flex-end;gap:18px;display:flex;position:relative}.hero-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1008383d;border:1px solid #ffffff2e;border-radius:20px;min-width:230px;padding:16px 18px}.hero-glass-label{color:#ece8ff;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:11.5px;font-weight:800;display:flex}.hero-glass-label svg{width:15px;height:15px}.hero-glass-value{letter-spacing:-.02em;margin-top:6px;font-size:18px;font-weight:800}.hero-glass a{color:#b9f5df;font-size:13.5px;font-weight:700}.hero-glass a:hover{color:#fff}.hero-glass+.hero-glass{margin-top:10px}.hero-progress{background:#ffffff2e;border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.hero-progress span{border-radius:inherit;transform-origin:0;height:100%;transition:transform 1.2s var(--ease-out);animation:rw-scale-x-in 1.2s .3s var(--ease-out) backwards;background:linear-gradient(90deg,#9ff0d2,#fff);display:block}.hero .lift-art{--floor:30px;gap:9px}.hero .lift-art .shaft{border-radius:10px 10px 5px 5px;width:38px}.hero .lift-art .car{border-radius:6px;left:5px;right:5px}.dash-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:18px;display:grid}.week-chart{position:relative}.week-chart svg{width:100%;display:block;overflow:visible}.wk-bar{fill:var(--chart-1-soft);transform-box:fill-box;transform-origin:50% 100%;animation:rw-grow-y .9s var(--ease-out) backwards;transition:fill .2s}.wk-bar.today,.wk-col:hover .wk-bar,.wk-col.is-hover .wk-bar{fill:var(--chart-1)}.wk-value{fill:var(--text);font-size:12px;font-weight:750;font-family:var(--font-sans);animation:.6s .5s backwards rw-fade}.wk-axis{fill:var(--muted);font-size:11.5px;font-weight:600;font-family:var(--font-sans)}.wk-axis.today{fill:var(--accent);font-weight:800}.wk-grid{stroke:var(--border);stroke-width:1px}.wk-hit{fill:#0000;cursor:default}.wk-legend{color:var(--muted);gap:16px;font-size:12.5px;display:flex}.wk-legend span{align-items:center;gap:7px;display:inline-flex}.wk-legend i{background:var(--chart-1-soft);border-radius:3px;width:10px;height:10px}.wk-legend i.today{background:var(--chart-1)}.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.timeline:before{content:"";background:var(--border);border-radius:2px;width:2px;position:absolute;top:10px;bottom:10px;left:61px}.tl-item{animation:rw-rise-sm .5s var(--ease-out) backwards;grid-template-columns:48px minmax(0,1fr);gap:26px;padding:9px 0;display:grid;position:relative}.tl-item:before{content:"";border:3px solid var(--panel);background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%;position:absolute;top:15px;left:56px}.tl-item.in_progress:before{background:var(--warn);animation:2s ease-out infinite rw-ping-soft}.tl-item.completed:before{background:var(--ok)}.tl-item.cancelled:before{background:var(--faint)}.tl-item.cancelled .tl-title{color:var(--muted);text-decoration:line-through}.tl-time{font-variant-numeric:tabular-nums;text-align:right;padding-top:2px;font-size:13.5px;font-weight:800}.tl-body{min-width:0}.tl-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.tl-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12.5px;display:flex}.tl-sub .badge{padding:2px 8px;font-size:11px}.tl-more{align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;display:inline-flex}.tl-more svg{transition:transform .35s var(--ease-spring)}.tl-more:hover svg{transform:translate(3px)}.cal-week-wrap{padding-bottom:6px;overflow-x:auto}.tg{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);min-width:1120px;box-shadow:var(--shadow-sm), var(--card-inset);grid-template-columns:52px repeat(7,minmax(148px,1fr));display:grid;overflow:hidden}.tg-corner{border-bottom:1px solid var(--border)}.tg-head{border-bottom:1px solid var(--border);border-left:1px solid var(--border);align-items:center;gap:9px;padding:11px 12px;display:flex}.tg-head.weekend{background:var(--panel-2)}.tg-head.today{background:linear-gradient(180deg, var(--accent-soft), transparent)}.tg-head-num{font-family:var(--font-display);letter-spacing:-.04em;font-size:24px;font-weight:700;line-height:1}.tg-head.today .tg-head-num{color:var(--accent)}.tg-head-name{font-size:12.5px;font-weight:700}.tg-head-date{color:var(--muted);font-size:11px}.tg-head-route{border:1px solid var(--border);background:var(--panel);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:color .2s ease, border-color .2s ease, transform .35s var(--ease-spring);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.tg-head-route:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)scale(1.06)}.cal-today-pill+.tg-head-route{margin-left:6px}.cal-today-pill{background:var(--btn-grad);color:#fff;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 10px -4px var(--accent-glow);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:800}.tg-gutter{color:var(--faint);font-size:10.5px;position:relative}.tg-hour{background:var(--panel);font-variant-numeric:tabular-nums;padding:1px 0;font-weight:600;position:absolute;right:8px;transform:translateY(-50%)}.tg-hour:first-child{margin-top:3px;transform:none}.tg-now-label{z-index:3;background:var(--crit);color:#fff;font-variant-numeric:tabular-nums;box-shadow:0 4px 10px -4px var(--crit);border-radius:6px;padding:1px 5px;font-size:10px;font-weight:800;position:absolute;right:5px;transform:translateY(-50%)}.tg-col{border-left:1px solid var(--border);background-image:linear-gradient(var(--border) 1px, transparent 1px);cursor:copy;-webkit-user-select:none;user-select:none;background-size:100% 64px;transition:background-color .2s;position:relative}.tg-col.weekend{background-color:var(--panel-2)}.tg-col.today{background-color:var(--accent-softer)}.tg-col.dragover{background-color:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}.tg-col.duty{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(#e8a0140e, #e8a0140e);background-size:100% 64px,100% 100%}.tg-now{z-index:2;border-top:1px solid var(--crit);opacity:.45;pointer-events:none;height:0;position:absolute;left:0;right:0}.tg-now.today{opacity:1;border-top-width:2px}.tg-now.today:before{content:"";background:var(--crit);width:10px;height:10px;box-shadow:0 0 0 0 var(--crit);border-radius:50%;animation:2s ease-out infinite rw-now-pulse;position:absolute;top:-6px;left:-1px}.tg-band-label{border-top:2px solid var(--border-strong);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;justify-content:center;align-items:flex-end;gap:1px;padding:8px;font-size:10.5px;font-weight:800;display:flex}.tg-band-label span{text-transform:none;letter-spacing:0;color:var(--faint);white-space:nowrap;font-weight:600}.tg-band-label.duty{color:var(--warn);border-bottom:2px solid var(--border-strong)}.tg-band-label.night{color:var(--muted)}.tg-duty-cell{border-top:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);border-left:1px solid var(--border);background:var(--warn-soft);flex-direction:column;justify-content:center;gap:1px;padding:6px 8px 7px;display:flex}.tg-duty-cell-top{align-items:center;gap:6px;display:flex}.tg-duty-cell select{min-width:0;color:var(--text);text-overflow:ellipsis;background-color:#0000;background-position:right 6px center;background-size:12px;border-color:#0000;border-radius:8px;flex:1;padding:3px 24px 3px 7px;font-size:12px;font-weight:700}.tg-duty-cell select:hover{border-color:var(--border-strong);background-color:var(--panel)}.cal-duty-override{color:var(--warn);flex:none;font-size:10px;font-weight:700}.tg-duty-cell-phone{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:0 7px;font-size:10.5px;font-weight:600;overflow:hidden}.tg-duty-cell-phone:hover{color:var(--accent)}.tg-night{border-top:2px solid var(--border-strong);border-left:1px solid var(--border);background:#e8a0140e;flex-direction:column;gap:6px;min-height:72px;padding:8px;display:flex}.tg-night.dragover{background-color:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}.cal-task{border:1px solid var(--border);border-left:3px solid var(--accent);background:linear-gradient(90deg, var(--accent-softer), transparent 70%), var(--panel);box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color .2s ease, box-shadow .25s var(--ease-out), transform .3s var(--ease-spring), opacity .2s ease;border-radius:10px;padding:6px 9px;font-size:11.5px;overflow:hidden}.cal-task:hover{z-index:4;border-color:var(--border-strong);box-shadow:var(--shadow)}.cal-task.pending{cursor:grab}.cal-task.in_progress{border-left-color:var(--warn);background:linear-gradient(90deg, var(--warn-soft), transparent 70%), var(--panel)}.cal-task.completed{border-left-color:var(--ok);background:linear-gradient(90deg, var(--ok-soft), transparent 70%), var(--panel)}.cal-task.cancelled{border-left-color:var(--faint);opacity:.55;filter:grayscale()}.cal-task.cancelled .cal-task-title{text-decoration:line-through}.cal-task.dragging{opacity:.4}.tg-task{padding-top:3px;padding-bottom:3px;animation:.4s backwards rw-fade;position:absolute;left:5px;right:5px}.cal-task.resizing{z-index:5;border-color:var(--accent);box-shadow:var(--shadow)}.tg-resize{z-index:2;cursor:ns-resize;touch-action:none;height:8px;position:absolute;left:0;right:0}.tg-resize.top{top:0}.tg-resize.bottom{bottom:0}.tg-create-draft{z-index:3;border:1.5px dashed var(--accent);background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:10px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex;position:absolute;left:5px;right:5px;overflow:hidden}.tg-drop-preview{z-index:3;border:1.5px dashed var(--ok);background:var(--ok-soft);color:var(--ok);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:10px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex;position:absolute;left:5px;right:5px}.cal-task-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:1px;display:flex}.cal-task-time{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.cal-task-nextday{color:var(--warn);margin-left:3px;font-size:9px;font-weight:800}.cal-task-cat{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:800;overflow:hidden}.cal-task-title{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;line-height:1.3;overflow:hidden}.cal-task-tech{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10.5px;overflow:hidden}.cal-head-left{gap:14px}.cal-head-left .page-title{margin-right:6px}.cal-duty-week{text-overflow:ellipsis;border-radius:11px;width:260px;padding:7px 34px 7px 12px;font-size:13px;font-weight:600}.cal-duty-phone{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700}.cal-duty-phone:hover{color:var(--accent)}.elv-crumbs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.elv-crumb{border:1px solid var(--accent-soft-2);background:var(--accent-soft);max-width:100%;color:var(--accent);font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;animation:rw-pop .3s var(--ease-spring) backwards;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:700;transition:background-color .2s,border-color .2s;display:inline-flex;overflow:hidden}.elv-crumb:after{content:"×";color:var(--accent);opacity:.7;font-weight:800}.elv-crumb:hover{border-color:var(--accent);background:var(--accent-soft-2)}.elv-crumb-sep{color:var(--faint);font-size:12px}.elv-picker-list{border:1px solid var(--border);background:var(--input-bg);border-radius:14px;max-height:250px;margin-top:6px;overflow-y:auto}.elv-picker-head{z-index:1;border-bottom:1px solid var(--border);background:var(--panel);color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:7px 12px 6px;font-size:10.5px;font-weight:800;position:sticky;top:0}.elv-picker-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;font-size:13px;transition:background-color .12s;display:flex}.elv-picker-item:hover{background:var(--accent-soft)}.elv-picker-name{font-weight:650}.elv-picker-addr{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.elv-picker-empty{color:var(--muted);padding:12px;font-size:13px}.elv-picked{border:1px solid var(--accent-soft-2);background:var(--accent-softer);animation:rw-pop .35s var(--ease-spring) backwards;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.elv-picked-info{min-width:0}.elv-picked-name{font-size:13.5px;font-weight:700}.elv-picked-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stash{bottom:calc(12px + var(--bottom-nav-h));z-index:30;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);box-shadow:var(--shadow);transition:border-color .2s ease, background-color .2s ease, transform .35s var(--ease-spring);margin-top:14px;padding:12px 16px;position:sticky}.stash.dragover{border-color:var(--ok);background:var(--ok-soft);border-style:solid;transform:translateY(-3px)}.stash-head{align-items:baseline;gap:10px;font-size:12.5px;display:flex}.stash-title{font-size:13px;font-weight:800}.stash-title:before{content:"⇄ ";color:var(--accent)}.stash-items{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.stash-item{width:220px;animation:rw-pop .35s var(--ease-spring) backwards;position:relative}.stash-remove{border:1px solid var(--border-strong);background:var(--panel);width:22px;height:22px;color:var(--muted);cursor:pointer;box-shadow:var(--shadow-xs);transition:color .2s ease, border-color .2s ease, transform .35s var(--ease-spring);border-radius:50%;font-size:12px;line-height:1;position:absolute;top:-7px;right:-7px}.stash-remove:hover{color:var(--danger);border-color:var(--danger);transform:rotate(90deg)}.due-bar{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-sm), var(--card-inset);margin-bottom:16px;overflow:hidden}.due-bar-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:13px 18px;transition:background-color .15s;display:flex}.due-bar-head:hover{background:var(--row-hover)}.due-bar-title{white-space:nowrap;font-size:14.5px;font-weight:800}.due-bar-hint{white-space:nowrap;color:var(--muted);align-items:center;gap:5px;margin-left:auto;font-size:12.5px;font-weight:600;display:inline-flex}.due-rail{scrollbar-width:thin;gap:10px;padding:2px 18px 16px;display:flex;overflow-x:auto}.due-chip{border:1px solid var(--border);background:var(--panel-2);width:224px;animation:rw-rise-sm .45s var(--ease-out) backwards;transition:transform .35s var(--ease-spring), border-color .2s ease, box-shadow .3s ease;border-radius:14px;flex-direction:column;flex:none;gap:1px;padding:10px 12px;display:flex}.due-chip:hover{border-color:var(--accent-soft-2);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.due-chip:nth-child(2){animation-delay:40ms}.due-chip:nth-child(3){animation-delay:80ms}.due-chip:nth-child(4){animation-delay:.12s}.due-chip:nth-child(5){animation-delay:.16s}.due-chip:nth-child(n+6){animation-delay:.2s}.due-chip-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.due-chip-top .badge{padding:2px 8px;font-size:11px}.due-chip-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.due-chip-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.due-chip-client{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.due-chip-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:7px;font-size:11.5px;display:flex}.due-chip-foot .btn.small{padding:4px 10px;font-size:12px}.due-list{border-top:1px solid var(--border);max-height:44vh;overflow-y:auto}.due-row{border-bottom:1px solid var(--border);grid-template-columns:110px 110px minmax(140px,1fr) minmax(120px,1fr) 52px auto;align-items:center;gap:12px;padding:9px 18px;font-size:13px;transition:background-color .15s;display:grid}.due-row:last-child{border-bottom:none}.due-row:hover{background:var(--row-hover)}.due-row .badge{justify-self:start;padding:3px 9px;font-size:11px}.due-row-kind{color:var(--muted);font-size:12px}.due-row-name{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.due-row-client{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.due-row-date{color:var(--muted);white-space:nowrap;font-size:12px}.due-row .btn{justify-self:end}.chat-layout{height:calc(100dvh - var(--topbar-h) - var(--content-pad-top) - var(--content-pad-bottom) - var(--bottom-nav-h));border:1px solid var(--border);background:var(--panel);min-height:480px;box-shadow:var(--shadow-sm), var(--card-inset);border-radius:24px;grid-template-columns:330px 1fr;gap:0;display:grid;overflow:hidden}.chat-side{border-right:1px solid var(--border);background:var(--panel-2);flex-direction:column;min-width:0;min-height:0;display:flex}.chat-side-head{border-bottom:1px solid var(--border);gap:8px;padding:14px;display:flex}.chat-search{flex:1;align-items:center;display:flex;position:relative}.chat-search svg{color:var(--faint);pointer-events:none;position:absolute;left:12px}.chat-search input{background-color:var(--panel);padding-left:36px}.chat-conv-list{flex:1;min-height:0;padding:6px;overflow-y:auto}.chat-conv{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background-color .15s ease, transform .3s var(--ease-spring);background:0 0;border:none;border-radius:15px;gap:11px;margin-bottom:2px;padding:11px 12px;display:flex}.chat-conv:hover{background:var(--panel)}.chat-conv.active{background:var(--panel);box-shadow:var(--shadow-xs), inset 3px 0 0 var(--accent)}.chat-avatar{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.chat-conv.active .chat-avatar{background:var(--btn-grad);color:#fff}.chat-conv-body{flex:1;min-width:0}.chat-conv-top,.chat-conv-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-conv-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.chat-conv-when{color:var(--faint);flex:none;font-size:11.5px;font-weight:600}.chat-conv-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.chat-unread{background:var(--btn-grad);color:#fff;min-width:21px;height:21px;box-shadow:0 4px 10px -4px var(--accent-glow);animation:rw-pop .4s var(--ease-spring) backwards;border-radius:11px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:11.5px;font-weight:800;display:flex}.chat-main{min-width:0;min-height:0;display:flex}.chat-placeholder{color:var(--faint);text-align:center;flex-direction:column;align-items:center;gap:12px;margin:auto;display:flex}.chat-placeholder svg{box-sizing:content-box;background:var(--accent-soft);width:44px;height:44px;color:var(--accent);animation:rw-float 4s var(--ease-in-out) infinite;border-radius:20px;padding:12px}.chat-thread-wrap{flex:1;min-width:0;min-height:0;display:flex}.chat-thread{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.chat-drop-overlay{z-index:60;border:2px dashed var(--accent);background:var(--accent-soft);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--accent);pointer-events:none;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:700;animation:.2s backwards rw-fade;display:flex;position:absolute;inset:10px}.chat-back{display:none}.chat-thread-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.chat-thread-title{letter-spacing:-.01em;font-size:16px;font-weight:800}.chat-thread-sub{color:var(--muted);margin-top:2px;font-size:12.5px}.chat-messages{background:radial-gradient(circle at 1px 1px, var(--border) 1px, transparent 0) 0 0 / 22px 22px, transparent;flex-direction:column;flex:1;gap:10px;min-height:0;padding:20px;display:flex;overflow-y:auto}.chat-load-older{align-self:center;margin-bottom:8px}.chat-msg{max-width:72%;animation:rw-msg-in .35s var(--ease-out) backwards;flex-direction:column;align-items:flex-start;display:flex}.chat-msg.own{align-self:flex-end;align-items:flex-end;animation-name:rw-msg-in-own}.chat-msg-sender{color:var(--accent);margin:0 8px 4px;font-size:12px;font-weight:700}.chat-bubble{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-xs);border-radius:18px 18px 18px 6px;flex-direction:column;gap:6px;padding:10px 14px 7px;display:flex}.chat-msg.own .chat-bubble{background:var(--btn-grad);color:#fff;box-shadow:0 8px 18px -10px var(--accent-glow);border-color:#0000;border-radius:18px 18px 6px}.chat-msg-body{white-space:pre-wrap;word-break:break-word;font-size:14.5px;line-height:1.5}.chat-msg-body a{color:inherit;text-decoration:underline}.chat-msg-time{color:var(--faint);align-self:flex-end;font-size:10.5px;font-weight:600}.chat-msg.own .chat-msg-time{color:#ffffffd1}.chat-msg-more{opacity:0;transition:opacity .15s}.chat-bubble:hover .chat-msg-more,.chat-bubble:focus-within .chat-msg-more,.chat-msg-more:focus-visible,.chat-msg-more[aria-expanded=true]{opacity:1}@media (hover:none){.chat-msg-more{opacity:1}}.chat-att-img{object-fit:cover;border-radius:12px;max-width:260px;max-height:260px;display:block}.chat-att-loading{background:linear-gradient(100deg, transparent 30%, #ffffff59 50%, transparent 70%) 0 0 / 200% 100%, var(--panel-3);border-radius:12px;width:180px;height:120px;animation:1.4s linear infinite rw-shimmer}:root[data-theme=dark] .chat-att-loading{background:linear-gradient(100deg, transparent 30%, #ffffff0f 50%, transparent 70%) 0 0 / 200% 100%, var(--panel-3)}.chat-att-file{border:1px solid var(--border);background:var(--panel-2);max-width:280px;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;transition:border-color .2s ease, transform .3s var(--ease-spring);border-radius:11px;align-items:center;gap:8px;padding:8px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.chat-att-file:hover{border-color:var(--accent);transform:translateY(-1px)}.chat-msg.own .chat-att-file{color:#fff;background:#ffffff29;border-color:#ffffff4d}.chat-msg.own .chat-att-file:hover{border-color:#fff}button.chat-att-file{text-align:left;cursor:pointer;font-family:inherit}.chat-pdf-frame{border:1px solid var(--border);background:var(--panel);width:min(980px,100vw - 48px);height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);animation:rw-modal-in .45s var(--ease-spring) backwards;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.chat-pdf-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.chat-pdf-title{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;font-size:13.5px;font-weight:700;display:inline-flex;overflow:hidden}.chat-pdf-frame iframe{background:#fff;border:none;flex:1;width:100%}.chat-pending-files{flex-wrap:wrap;gap:6px;padding:0 20px 8px;display:flex}.chat-pending-file{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);animation:rw-pop .3s var(--ease-spring) backwards;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.chat-pending-file button{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px}.chat-pending-file button:hover{color:var(--danger)}.chat-composer{border-top:1px solid var(--border);background:var(--panel);align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.chat-composer textarea{resize:none;border-radius:14px;min-height:44px;max-height:120px}.chat-media-panel{border-left:1px solid var(--border);background:var(--panel-2);width:290px;animation:rw-slide-left .4s var(--ease-out) backwards;flex:none;padding:16px;overflow-y:auto}.chat-media-panel h4{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:11.5px;font-weight:800}.chat-media-panel h4+.chat-media-files,.chat-media-panel .chat-media-grid+h4{margin-top:18px}.chat-media-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;display:grid}.chat-media-grid img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.chat-media-grid .chat-att-loading{aspect-ratio:1;width:100%;height:auto}.chat-media-files{flex-direction:column;gap:6px;display:flex}.chat-media-files .chat-att-file{max-width:100%}.chat-att-img-btn{cursor:zoom-in;transition:transform .35s var(--ease-spring);background:0 0;border:none;padding:0;line-height:0;display:block}.chat-att-img-btn:hover{transform:scale(1.02)}.chat-media-grid .chat-att-img-btn img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.chat-lightbox{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060412eb;justify-content:center;align-items:center;animation:.25s backwards rw-fade;display:flex;position:fixed;inset:0}.chat-lightbox-body{justify-content:center;align-items:center;max-width:calc(100vw - 120px);max-height:calc(100vh - 80px);display:flex}.chat-lightbox-body img{object-fit:contain;max-width:100%;max-height:calc(100vh - 80px);animation:rw-modal-in .4s var(--ease-spring) backwards;border-radius:10px}.chat-lightbox-close,.chat-lightbox-nav{color:#fff;cursor:pointer;transition:background-color .2s ease, transform .35s var(--ease-spring);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute}.chat-lightbox-close:hover,.chat-lightbox-nav:hover{background:#fff3}.chat-lightbox-close{width:42px;height:42px;font-size:16px;top:16px;right:16px}.chat-lightbox-close:hover{transform:rotate(90deg)}.chat-lightbox-nav{width:48px;height:48px;padding-bottom:4px;font-size:30px;line-height:1;top:50%;transform:translateY(-50%)}.chat-lightbox-nav:hover{transform:translateY(-50%)scale(1.08)}.chat-lightbox-nav.prev{left:16px}.chat-lightbox-nav.next{right:16px}.chat-lightbox-counter{color:#ffffffe0;letter-spacing:.03em;font-size:13.5px;font-weight:700;position:absolute;top:26px;left:50%;transform:translate(-50%)}.chat-search-nav{border-bottom:1px solid var(--border);background:var(--panel-2);align-items:center;gap:6px;padding:8px 20px;display:flex}.chat-search-nav-label{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}mark.chat-mark{background:var(--accent-soft-2);color:inherit;border-radius:4px;padding:0 2px}mark.chat-mark.current{background:var(--accent);color:var(--accent-fg)}.chat-msg.own mark.chat-mark{color:#fff;background:#ffffff4d}.chat-msg.own mark.chat-mark.current{color:#3a22b8;background:#fff}.chat-bubble-match{outline:2px solid var(--accent);outline-offset:2px}.chat-bubble-editing{outline:2px dashed var(--accent);outline-offset:2px}.chat-context-menu{z-index:60;border:1px solid var(--border);background:var(--panel);min-width:160px;box-shadow:var(--shadow);animation:rw-pop .25s var(--ease-spring) backwards;border-radius:14px;flex-direction:column;padding:5px;display:flex;position:fixed}.chat-context-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:9px;padding:9px 12px;font-size:13.5px;font-weight:600;display:flex}.chat-context-item:hover{background:var(--panel-2)}.chat-context-item.danger{color:var(--danger)}.chat-context-item.danger:hover{background:var(--danger-soft)}.chat-edit-bar{background:var(--accent-soft);color:var(--accent);animation:rw-rise-sm .3s var(--ease-out) backwards;border-radius:12px 12px 0 0;align-items:center;gap:8px;margin:0 16px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.chat-edit-bar span{flex:1}.chat-edit-bar button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:13px}.chat-edit-bar button:hover{color:var(--text)}.chat-delete-preview{border:1px solid var(--border);background:var(--panel-2);white-space:pre-wrap;word-break:break-word;border-radius:12px;max-height:140px;padding:10px 13px;font-size:13.5px;overflow-y:auto}.chat-user-picker{border:1px solid var(--border);border-radius:14px;max-height:280px;padding:4px 12px;overflow-y:auto}.filters-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filters-row input[type=date]{width:auto;padding:8px 11px;font-size:13.5px}.seg.compact{grid-auto-columns:max-content;padding:4px}.seg.compact button{padding:7px 13px;font-size:13px}.fetching{opacity:.55;pointer-events:none;transition:opacity .15s}.kpi-note{color:var(--faint);margin-top:5px;font-size:12px;font-weight:550}.chart-wrap{position:relative}.chart-legend{color:var(--muted);gap:18px;margin-bottom:8px;font-size:12.5px;font-weight:600;display:flex}.chart-legend .legend-item{align-items:center;gap:7px;display:inline-flex}.key-line{border-radius:2px;flex:none;width:14px;height:3px;display:inline-block}.chart-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:rw-draw 1.4s var(--ease-out) forwards}.chart-area{animation:1s .35s backwards rw-fade}.chart-tooltip{z-index:5;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:170px;box-shadow:var(--shadow);pointer-events:none;transition:left .18s var(--ease-out), top .18s var(--ease-out);border-radius:14px;padding:10px 13px;font-size:12.5px;position:absolute}.chart-tooltip .tt-title{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700}.chart-tooltip .tt-row{align-items:center;gap:7px;padding:1px 0;display:flex}.chart-tooltip .tt-val{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.sharebar{background:var(--panel-3);border-radius:4px;flex:1;min-width:56px;height:8px;overflow:hidden}.sharebar-fill{background:var(--chart-1);transform-origin:0;height:100%;animation:rw-grow-x 1s var(--ease-out) backwards;border-radius:0 4px 4px 0}.map-page{min-height:calc(100dvh - var(--topbar-h) - var(--content-pad-top) - var(--content-pad-bottom) - var(--bottom-nav-h));flex-direction:column;display:flex}.map-stage{isolation:isolate;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);min-height:520px;box-shadow:var(--shadow-sm), var(--card-inset);flex:1;position:relative;overflow:clip}.map-viewport{position:absolute;inset:0}.map-canvas{z-index:0;background:var(--panel-2);font-family:var(--font-sans);position:absolute;inset:0}:root[data-theme=dark] .map-canvas.is-osm .leaflet-tile-pane{filter:invert()hue-rotate(195deg)saturate(.55)brightness(.82)contrast(.92)}.map-loading{z-index:500;background:color-mix(in srgb, var(--panel) 55%, transparent);color:var(--muted);pointer-events:none;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex;position:absolute;inset:0}.pin{--pin-c:#6a48f5;color:#1c1936;width:100%;height:100%;font-family:var(--font-sans);cursor:pointer;transition:transform .35s var(--ease-spring), box-shadow .25s ease, border-color .2s ease;animation:rw-pin-drop .5s var(--ease-spring) backwards;background:#fff;border:2.5px solid #8f8aa8;border-radius:50% 50% 50% 6px;justify-content:center;align-items:center;font-size:12.5px;font-weight:800;display:flex;position:relative;box-shadow:0 6px 14px -4px #1c193673}.pin:hover,.pin.is-hover{z-index:10;transform:translateY(-3px)scale(1.14);box-shadow:0 12px 22px -6px #1c19368c}.pin.due-soon{border-color:#e8a014}.pin.overdue{color:#fff;background:#d92d4c;border-color:#fecaca}.pin.selected{background:var(--pin-c);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--pin-c) 35%, transparent), 0 6px 14px -4px #1c193673;border-color:#fff}.pin.routed{background:var(--pin-c);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb, var(--pin-c) 45%, transparent), 0 8px 18px -6px #1c193699;border-color:#fff;border-radius:50%;font-size:13.5px}.pin.routed.multi:after{content:"";background:#1c1936;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.pin.start{color:#fff;background:#0b7a55;border-color:#fff;border-radius:50%}.pin.hq{color:#1f1503;background:#f5b52e;border-color:#fff;border-radius:50% 50% 50% 8px;box-shadow:0 0 0 2px #f5b52e66,0 8px 18px -6px #1c193699}.pin.hq svg{display:block}.route-flow{animation:1.4s linear infinite rw-route-flow}@keyframes rw-route-flow{0%{stroke-dashoffset:30px}to{stroke-dashoffset:0}}.map-filters{top:14px;left:14px;right:calc(var(--map-panel-w,150px) + 14px);z-index:20;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute}.map-filters>*{pointer-events:auto}.map-stage.panel-open{--map-panel-w:400px}.map-chips{scrollbar-width:none;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);max-width:100%;box-shadow:var(--shadow-sm);border-radius:999px;gap:3px;padding:4px;display:flex;overflow-x:auto}.map-chips::-webkit-scrollbar{display:none}.map-chips button{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:650;transition:background-color .2s,color .2s;display:inline-flex}.map-chips button:hover{color:var(--text)}.map-chips button.active{background:var(--accent);color:var(--accent-fg);box-shadow:0 6px 14px -8px var(--accent-glow)}.map-chips .count{background:var(--panel-3);color:var(--muted);border-radius:999px;padding:2px 7px;font-size:11.5px;font-weight:800;line-height:1.2}.map-chips button.active .count{color:inherit;background:#ffffff40}.map-client{color:var(--muted);align-items:center;display:inline-flex;position:relative}.map-client select{border:1px solid var(--border);background-color:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);width:auto;max-width:240px;color:inherit;text-overflow:ellipsis;box-shadow:var(--shadow-sm);background-image:none;border-radius:999px;padding:9px 34px 9px 15px;font-size:13px;font-weight:650}.map-client:after{content:"";pointer-events:none;border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;position:absolute;right:15px;transform:translateY(-2px)rotate(45deg)}.map-client:hover{color:var(--text)}.map-client.active{color:var(--accent)}.map-client.active select{border-color:var(--accent);background-color:var(--accent-soft)}.map-filters-clear{border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--muted);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:5px;padding:8px 12px;font-size:13px;font-weight:650;display:inline-flex}.map-filters-clear:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.map-legend{z-index:20;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--muted);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:12px;padding:7px 12px;font-size:12px;font-weight:600;display:flex;position:absolute;bottom:14px;left:14px}.map-legend span{align-items:center;gap:6px;display:inline-flex}.pin-key{background:#fff;border:2.5px solid #8f8aa8;border-radius:50% 50% 50% 3px;width:12px;height:12px;display:inline-block}.pin-key.due-soon{border-color:#e8a014}.pin-key.overdue{background:#d92d4c;border-color:#fecaca}.pin-key.hq{background:#f5b52e;border-color:#fff;box-shadow:0 0 0 1px #f5b52e99}.map-panel-toggle{z-index:30;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);height:40px;color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-spring), box-shadow .25s ease;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;top:14px;right:14px}.map-panel-toggle:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.map-panel{z-index:25;width:calc(var(--map-panel-w,400px) - 14px);border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.6);backdrop-filter:blur(18px)saturate(1.6);width:386px;box-shadow:var(--shadow);animation:rw-slide-left .45s var(--ease-out) backwards;border-radius:22px;flex-direction:column;display:flex;position:absolute;top:14px;bottom:14px;right:14px}.map-panel.hidden{display:none}.map-panel-head{flex:none;align-items:center;gap:8px;padding:12px 12px 0;display:flex}.map-panel-head .map-mode{flex:1}.map-panel-collapse{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:11px;flex:none;place-items:center;transition:color .2s,background-color .2s;display:grid}.map-panel-collapse:hover{color:var(--text);background:var(--panel-2)}.map-panel-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:14px 14px 16px;overflow-y:auto}.map-mode{border:1px solid var(--border);background:var(--panel-2);border-radius:14px;gap:4px;padding:4px;display:flex}.map-mode button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 10px;font-size:13.5px;font-weight:700;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.map-mode button:hover{color:var(--text)}.map-mode button.active{background:var(--panel);color:var(--accent);box-shadow:var(--shadow-xs)}.planner{flex-direction:column;gap:18px;display:flex}.planner-step-title{letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 10px;font-size:13.5px;font-weight:800;display:flex}.planner-step-no{background:var(--btn-grad);color:#fff;width:22px;height:22px;box-shadow:0 4px 10px -5px var(--accent-glow);border-radius:7px;place-items:center;font-size:11.5px;font-weight:800;display:inline-grid}.planner-step-actions{gap:10px;margin-left:auto;display:inline-flex}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:700}.link-btn:hover{text-decoration:underline}.link-btn:disabled{color:var(--faint);cursor:not-allowed;text-decoration:none}.planner-empty{border:1px dashed var(--border-strong);color:var(--muted);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.5}.planner-cta{width:100%;margin-top:12px}.planner-cta+.map-note{margin-top:10px}.planner-row{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px;display:flex}.inline-field{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:650;display:inline-flex}.inline-field input{width:auto;padding:7px 10px;font-size:13.5px}.start-chips{flex-wrap:wrap;gap:6px;display:flex}.chip,.chip-select{border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:650;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.chip:hover:not(:disabled),.chip-select:hover{color:var(--text);border-color:var(--border-strong)}.chip.active,.chip-select.active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chip:disabled{opacity:.5;cursor:not-allowed}.chip-select{background-position:right 10px center;background-size:14px;width:auto;max-width:100%;padding-right:30px}.switch{color:var(--text);cursor:pointer;align-items:center;gap:10px;margin:0;font-size:13.5px;font-weight:600;display:flex}.switch>span:last-child{flex-direction:column;line-height:1.25;display:flex}.switch small{color:var(--faint);font-size:11.5px;font-weight:500}.switch input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.switch-track{background:var(--border-strong);border-radius:999px;flex:none;width:38px;height:22px;transition:background-color .25s;position:relative}.switch-track:after{content:"";width:16px;height:16px;transition:transform .35s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000040}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 4px var(--accent-soft-2)}.switch input:disabled+.switch-track{opacity:.5}.switch input:disabled~span{color:var(--faint)}.planner-options{flex-direction:column;gap:10px;display:flex}.stop-list{flex-direction:column;margin:10px 0 0;padding:0;list-style:none;display:flex;position:relative}.stop-list:before{content:"";background:var(--border);border-radius:2px;width:2px;position:absolute;top:14px;bottom:14px;left:13px}.stop-row{border-radius:12px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;transition:background-color .15s;display:grid;position:relative}.stop-row:hover{background:var(--row-hover)}.stop-row.is-start{color:var(--muted)}.stop-leg{color:var(--faint);grid-area:1/2/auto/-1;align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px;font-weight:650;display:inline-flex}.stop-leg i{background:var(--accent);border-radius:2px;width:14px;height:2px}.stop-row:has(.stop-leg){grid-template-rows:auto auto}:is(.stop-row:has(.stop-leg) .stop-no,.stop-row:has(.stop-leg) .stop-body,.stop-row:has(.stop-leg) .stop-tools){grid-row:2}.stop-no{z-index:1;border:2px solid var(--panel);background:var(--btn-grad);color:#fff;width:28px;height:28px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:relative}.stop-no.start{background:#0b7a55}.stop-body{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:2px 0;display:flex}.stop-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.stop-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stop-tools{opacity:.55;gap:2px;transition:opacity .15s;display:inline-flex}.stop-row:hover .stop-tools,.stop-row:focus-within .stop-tools{opacity:1}.stop-tool{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background-color .15s,color .15s;display:grid}.stop-tool:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.stop-tool.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.stop-tool:disabled{opacity:.35;cursor:not-allowed}.route-summary{border-top:1px solid var(--border);animation:rw-rise-sm .4s var(--ease-out) backwards;margin-top:14px;padding-top:14px}.route-summary.compact{margin-top:10px;padding-top:10px}.route-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.route-stat{background:var(--panel-2);border-radius:14px;flex-direction:column;padding:10px 12px;display:flex}.route-stat-value{letter-spacing:-.03em;white-space:nowrap;font-size:19px;font-weight:800}.route-stat-label{color:var(--faint);font-size:11.5px;font-weight:650}.route-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.route-saved{color:var(--ok);align-items:center;gap:5px;font-size:12.5px;font-weight:700;display:inline-flex}.route-jams{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:12px;font-weight:600;display:flex}.route-jams-key{background:#f59e0b;border-radius:2px;width:18px;height:4px;display:inline-block}.route-jams-key.severe{background:#dc2626}.route-nav{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.map-hint{color:var(--muted);margin-top:8px;font-size:12.5px;line-height:1.5}.map-note{border:1px solid var(--border);animation:rw-rise-sm .35s var(--ease-out) backwards;border-radius:13px;margin-top:10px;padding:10px 13px;font-size:13px;line-height:1.5}.map-note.ok{border-color:color-mix(in srgb, var(--ok) 35%, transparent);background:var(--ok-soft)}.map-note.warn{border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:var(--warn-soft)}.skipped-list{margin:6px 0 0;padding-left:18px}.day-picker{align-items:center;gap:6px;margin-bottom:10px;display:flex}.icon-btn.sm{border-radius:12px;width:38px;height:38px}.day-picker-date{border:1px solid var(--border-strong);background:var(--input-bg);color:var(--muted);border-radius:12px;flex:1;align-items:center;gap:8px;margin:0;padding:0 10px;display:flex}.day-picker-date input{box-shadow:none;background:0 0;border:0;padding:8px 0;font-weight:650}.day-picker-date input:focus{box-shadow:none;background:0 0}.day-route{--route-c:var(--accent);border:1px solid var(--border);border-left:4px solid var(--route-c);background:var(--panel);animation:rw-rise-sm .4s var(--ease-out) backwards;border-radius:16px;margin-top:10px;padding:12px 14px 14px}.day-route+.day-route{margin-top:12px}.day-route-head{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;display:flex}.day-route-dot{background:var(--route-c);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--route-c) 25%, transparent);border-radius:50%}.day-route-name{font-size:14.5px;font-weight:800}.day-route-meta{color:var(--muted);margin-left:auto;font-size:12px;font-weight:600}.timeline-day{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.timeline-day:before{content:"";background:color-mix(in srgb, var(--route-c) 35%, var(--border));border-radius:2px;width:2px;position:absolute;top:12px;bottom:12px;left:66px}.tl-day{border-radius:10px;grid-template-columns:56px 20px minmax(0,1fr);align-items:start;column-gap:10px;padding:7px 0;transition:background-color .15s;display:grid;position:relative}.tl-day:hover{background:var(--row-hover)}.tl-day-leg{color:var(--faint);grid-column:1/-1;padding:0 0 6px 76px;font-size:11.5px;font-weight:650}.tl-day-leg:before{content:"↓ ";color:var(--route-c)}.tl-day-time{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;padding-top:2px;font-size:13px;font-weight:800;display:flex}.tl-day-time small{color:var(--faint);font-size:11px;font-weight:600}.tl-day-dot{z-index:1;border:3px solid var(--panel);background:var(--route-c);color:#fff;width:20px;height:20px;box-shadow:0 0 0 1px color-mix(in srgb, var(--route-c) 45%, transparent);border-radius:50%;place-items:center;margin-top:1px;font-size:10px;font-weight:800;display:grid;position:relative}.tl-day.start .tl-day-dot,.tl-day.end .tl-day-dot{background:var(--panel);border-color:var(--route-c)}.tl-day-body{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:1px;padding:0;display:flex}span.tl-day-body{cursor:default}.tl-day-title{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13.5px;font-weight:700;display:flex}.tl-day.start .tl-day-title,.tl-day.end .tl-day-title{color:var(--muted);font-weight:650}.tl-day-cat{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.tl-day-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tl-day-change{color:var(--warn);margin-top:2px;font-size:11.5px;font-weight:650}.tl-day-change.same{color:var(--faint);font-weight:500}.planner-apply{margin-top:6px}.page-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.geocode-box{flex-direction:column;gap:8px;max-width:460px;display:flex}.geocode-box .map-note{margin-top:0}.geocode-progress{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:13px;align-items:center;gap:10px;padding:8px 14px;font-size:13px;font-weight:650;display:flex}.geocode-progress-text{white-space:nowrap}.geocode-bar{background:var(--panel-3);border-radius:999px;flex:1;min-width:80px;height:6px;overflow:hidden}.geocode-bar span{border-radius:inherit;background:var(--btn-grad);transform-origin:0;height:100%;transition:transform .6s var(--ease-out);display:block}.geocode-failed{margin:6px 0 0;padding-left:18px}.map-canvas .leaflet-popup-content-wrapper,.map-canvas .leaflet-popup-tip{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.map-canvas .leaflet-popup-content-wrapper{border:1px solid var(--border);border-radius:16px}.map-canvas .leaflet-popup-content{margin:14px 16px;font-size:13.5px;line-height:1.45}.map-canvas.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}.map-canvas .leaflet-tooltip{border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:var(--font-sans);box-shadow:var(--shadow-sm);border-radius:10px;font-size:12.5px;font-weight:650}.map-canvas .leaflet-tooltip-top:before{border-top-color:var(--panel)}.map-popup{min-width:220px;font-family:var(--font-sans)}.map-popup-title{margin-bottom:2px;font-size:14.5px;font-weight:800}.map-popup-sub{color:var(--muted);font-size:13px}.map-popup-due{color:var(--ok);margin-top:6px;font-size:12.5px;font-weight:700}.map-popup-due.due-soon{color:var(--warn)}.map-popup-due.overdue{color:var(--danger)}.map-popup-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.map-canvas .leaflet-control-layers,.map-canvas.leaflet-touch .leaflet-control-layers{border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadow);border-radius:14px}.map-canvas .leaflet-control-layers-expanded{padding:10px 14px}.map-canvas.leaflet-touch .leaflet-bar{border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.map-canvas .leaflet-bar a{background-color:var(--panel);color:var(--text);border-bottom-color:var(--border);transition:background-color .15s}.map-canvas .leaflet-bar a:hover{background-color:var(--panel-2)}.map-canvas.leaflet-container .leaflet-control-attribution{background:var(--glass);color:var(--muted)}.map-canvas .leaflet-control-attribution a{color:var(--accent)}.map-stage.panel-open .leaflet-bottom.leaflet-right{right:var(--map-panel-w)}@media (width<=920px){.map-page{min-height:0}.map-stage{height:auto;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;overflow:visible}.map-viewport{border-radius:var(--radius);border:1px solid var(--border);height:56dvh;min-height:380px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.map-stage.panel-open{--map-panel-w:0px}.map-filters{right:14px}.map-panel-toggle,.map-panel-collapse{display:none}.map-panel,.map-panel.hidden{width:auto;max-height:none;margin-top:14px;animation:none;display:flex;position:static}.map-panel-body{overflow:visible}.map-legend{bottom:10px;left:10px}.map-stage.panel-open .leaflet-bottom.leaflet-right{right:0}}@media (width<=640px){.map-legend{display:none}.route-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.route-stat{padding:8px 10px}.route-stat-value{font-size:16px}.tl-day{grid-template-columns:50px 20px minmax(0,1fr)}.timeline-day:before{left:60px}.tl-day-leg{padding-left:70px}}.page-enter>*{animation:.4s backwards rw-fade}.page-enter>*>:not(.modal-backdrop,.pdf-modal-backdrop,.chat-lightbox,.stash){animation:rw-rise .65s var(--ease-out) var(--rise-delay,0s) backwards}.page-enter>*>:nth-child(2){--rise-delay:50ms}.page-enter>*>:nth-child(3){--rise-delay:.1s}.page-enter>*>:nth-child(4){--rise-delay:.15s}.page-enter>*>:nth-child(5){--rise-delay:.2s}.page-enter>*>:nth-child(n+6){--rise-delay:.25s}.grid>*,.tile-list>*{animation:rw-rise .6s var(--ease-out) var(--stagger,0s) backwards}.grid>:nth-child(2),.tile-list>:nth-child(2){--stagger:60ms}.grid>:nth-child(3),.tile-list>:nth-child(3){--stagger:.12s}.grid>:nth-child(4),.tile-list>:nth-child(4){--stagger:.18s}.grid>:nth-child(5),.tile-list>:nth-child(5){--stagger:.22s}.grid>:nth-child(n+6),.tile-list>:nth-child(n+6){--stagger:.26s}@keyframes rw-fade{0%{opacity:0}to{opacity:1}}@keyframes rw-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes rw-rise-sm{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes rw-pop{0%{opacity:0;transform:scale(.92)translateY(4px)}to{opacity:1;transform:none}}@keyframes rw-drop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}@keyframes rw-tip{0%{opacity:0;transform:translate(-6px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes rw-modal-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@keyframes rw-sheet-in{0%{transform:translateY(100%)}to{transform:none}}@keyframes rw-slide-left{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes rw-msg-in{0%{opacity:0;transform:translate(-10px,6px)scale(.98)}to{opacity:1;transform:none}}@keyframes rw-msg-in-own{0%{opacity:0;transform:translate(10px,6px)scale(.98)}to{opacity:1;transform:none}}@keyframes rw-ripple{0%{opacity:.32;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@keyframes rw-seg-pop{0%{transform:scale(.94)}to{transform:none}}@keyframes rw-shake{0%,to{transform:none}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes rw-aurora{0%{transform:translate(0,0)rotate(0)scale(1)}50%{transform:translate(-3vmax,2vmax)rotate(8deg)scale(1.06)}to{transform:translate(2vmax,-2vmax)rotate(-6deg)scale(1.02)}}@keyframes rw-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes rw-ping{0%{opacity:.8;transform:scale(.6)}80%,to{opacity:0;transform:scale(1.6)}}@keyframes rw-ping-soft{0%{box-shadow:0 0 0 1px var(--border-strong), 0 0 0 0 var(--warn-soft)}70%{box-shadow:0 0 0 1px var(--border-strong), 0 0 0 9px transparent}to{box-shadow:0 0 0 1px var(--border-strong), 0 0 0 0 transparent}}@keyframes rw-now-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--crit) 55%, transparent)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@keyframes rw-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes rw-shimmer{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}@keyframes rw-draw{to{stroke-dashoffset:0}}@keyframes rw-grow-y{0%{transform:scaleY(0)}to{transform:none}}@keyframes rw-grow-x{0%{transform:scaleX(0)}to{transform:none}}@keyframes rw-scale-x-in{0%{transform:scaleX(0)}}@keyframes rw-pin-drop{0%{opacity:0;transform:translateY(-14px)scale(.6)}to{opacity:1;transform:none}}@keyframes rw-logo-up{0%,60%,to{transform:none}30%{transform:translateY(-3px)}}@keyframes rw-logo-down{0%,10%,70%,to{transform:none}40%{transform:translateY(3px)}}@keyframes rw-lift-car{0%,12%{transform:none}45%,58%{transform:translateY(-11px)}92%,to{transform:none}}@keyframes rw-lift-car-lg{0%,12%{transform:none}45%,58%{transform:translateY(-20px)}92%,to{transform:none}}@keyframes rw-car-a{0%,10%{bottom:4px}28%,40%{bottom:calc(4px + var(--floor) * 3)}55%,64%{bottom:calc(4px + var(--floor))}80%,90%{bottom:calc(4px + var(--floor) * 4)}to{bottom:4px}}@keyframes rw-car-b{0%,12%{bottom:calc(4px + var(--floor) * 3)}32%,44%{bottom:4px}62%,74%{bottom:calc(4px + var(--floor) * 2)}to{bottom:calc(4px + var(--floor) * 3)}}@keyframes rw-car-c{0%,15%{bottom:calc(4px + var(--floor))}35%,50%{bottom:calc(4px + var(--floor) * 2)}70%,85%{bottom:4px}to{bottom:calc(4px + var(--floor))}}@keyframes rw-floor-strip{0%,10%{transform:translateY(0)}28%,40%{transform:translateY(-78px)}55%,64%{transform:translateY(-26px)}80%,90%{transform:translateY(-104px)}to{transform:translateY(0)}}@keyframes rw-door-left{to{transform:translate(-101%)}}@keyframes rw-door-right{to{transform:translate(101%)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}@media (width<=1280px){.dash-grid{grid-template-columns:minmax(0,1fr)}.hero .lift-art{display:none}}@media (width<=1100px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(380px,1fr)}.login-art{padding:36px}}@media (width<=920px){:root{--content-pad-x:18px;--content-pad-top:18px;--content-pad-bottom:32px;--topbar-h:64px}.app-shell,.app-shell.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:80;width:min(300px,86vw);height:auto;box-shadow:var(--shadow-lg);transition:transform .45s var(--ease-out);visibility:hidden;position:fixed;top:0;bottom:0;left:0;transform:translate(-104%)}.app-shell.drawer-open .sidebar{visibility:visible;transform:none}.app-shell:not(.drawer-open) .sidebar{transition:transform .45s var(--ease-out), visibility 0s linear .45s}.collapse-btn{display:none}.menu-btn{display:grid}.topbar{gap:10px}.topbar-brand{color:var(--text);font-family:var(--font-display);letter-spacing:-.04em;align-items:center;gap:9px;font-size:19px;font-weight:800;display:flex}.topbar-brand b{color:var(--accent)}.search-trigger{flex:none;justify-content:center;width:46px;margin-left:auto;padding:0}.topbar-actions{margin-left:0}.search-trigger-text,.search-trigger kbd{display:none}.user-chip{padding-right:4px}.user-chip-text,.user-chip-chev{display:none}.grid.cols-2,.grid.cols-3,.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.def-grid{grid-template-columns:1fr}.def-grid dt{border-bottom:none;padding-bottom:0}.def-grid dd{padding-top:2px}.modal-backdrop{align-items:stretch;padding:12px}.modal{max-height:none}.modal-header,.modal-body,.modal-footer{padding-left:20px;padding-right:20px}.chat-layout.has-thread,.chat-layout.no-thread{grid-template-columns:1fr}.chat-layout.has-thread .chat-side,.chat-layout.no-thread .chat-main{display:none}.chat-layout.no-thread .chat-side{border-right:none}.chat-back{display:inline-flex}.chat-media-panel{z-index:20;width:min(290px,85%);box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}.chat-thread-wrap{position:relative}.hero{grid-template-columns:minmax(0,1fr);padding:24px 22px}.hero-side{flex-direction:column;align-items:stretch}.hero-glass{min-width:0}.login-shell{grid-template-columns:minmax(0,1fr)}.login-art{display:none}.login-panel{background:radial-gradient(70% 40% at 50% 0%, var(--aura-1), transparent 70%), transparent;min-height:100dvh}.login-card-head .logo-mark{margin-bottom:16px;display:inline-grid}}@media (width<=760px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){:root{--bottom-nav-h:84px}.bottom-nav{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:45;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.6);backdrop-filter:blur(18px)saturate(1.6);height:64px;box-shadow:var(--shadow);animation:rw-rise .5s var(--ease-out) backwards;border-radius:24px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:6px;display:grid;position:fixed}.bottom-nav-item{min-width:0;color:var(--faint);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 2px;font-size:10.5px;font-weight:700;transition:color .2s,background-color .25s;display:flex;position:relative}.bottom-nav-item span:not(.nav-badge){text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-item svg{width:21px;height:21px;transition:transform .4s var(--ease-spring)}.bottom-nav-item.active{color:var(--accent);background:var(--accent-soft)}.bottom-nav-item.active svg{transform:translateY(-1px)scale(1.08)}.bottom-nav-item .nav-badge{min-width:17px;height:17px;margin:0;padding:0 4px;font-size:10px;position:absolute;top:4px;left:calc(50% + 4px)}.topbar-actions .theme-toggle{display:none}}@media (width<=640px){:root{--content-pad-x:14px}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:16px}.stat-card-top{margin-bottom:12px}.stat-icon{border-radius:13px;width:40px;height:40px}.stat{font-size:27px}.card{border-radius:18px;padding:18px 16px}.page-head{margin-bottom:20px}.cal-week-wrap{margin-left:calc(-1 * var(--content-pad-x));margin-right:calc(-1 * var(--content-pad-x));padding-left:var(--content-pad-x);padding-right:var(--content-pad-x)}.due-row{grid-template-columns:92px minmax(0,1fr) auto}.due-row-kind,.due-row-date{display:none}.due-row-client{grid-column:2}.due-row-name{grid-area:1/2}.due-row .badge,.due-row .btn{grid-row:1/span 2}.cal-duty-week{width:100%}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-height:94dvh;animation:rw-sheet-in .5s var(--ease-out) backwards;border-bottom:0;border-radius:26px 26px 0 0}.modal:before{content:"";background:var(--border-strong);border-radius:999px;flex:none;align-self:center;width:42px;height:5px;margin-top:9px}.modal-header{padding-top:14px}.modal-footer{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));border-radius:0;flex-wrap:wrap}.pdf-modal,.chat-pdf-frame{border-radius:0;width:100vw;height:100dvh}.palette-backdrop{align-items:flex-start;padding:10px}.palette-foot{display:none}.chat-msg{max-width:86%}.chat-lightbox-body{max-width:calc(100vw - 24px)}.chat-lightbox-nav{top:auto;bottom:22px;transform:none}.chat-lightbox-nav:hover{transform:scale(1.08)}.hero-title{font-size:26px}.hero-actions .btn{white-space:nowrap;flex:auto}.hero-side>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hero-glass{padding:13px 14px}.hero-glass+.hero-glass{margin-top:0}.hero-glass-value{font-size:15.5px}.tile{gap:12px;padding:14px}.tile .tile-meta{display:none}.login-card{border-radius:24px;padding:28px 22px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}body:before{animation:none}.login-card:before,.login-card:after{display:none}}.toaster{right:18px;bottom:calc(18px + var(--bottom-nav-h));z-index:60;pointer-events:none;flex-direction:column;gap:10px;max-width:min(420px,100vw - 32px);display:flex;position:fixed}.toast{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadow);pointer-events:auto;animation:rw-toast-in .45s var(--ease-spring) backwards;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;display:flex}@keyframes rw-toast-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}.toast-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.toast.ok .toast-icon{background:var(--ok-soft);color:var(--ok)}.toast.warn .toast-icon{background:var(--warn-soft);color:var(--warn)}.toast.danger .toast-icon{background:var(--danger-soft);color:var(--danger)}.toast-body{flex:1;padding-top:4px;font-size:13.5px;line-height:1.4}.toast-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:4px 0 0}.toast-link:hover{color:var(--accent)}.toast-close{width:26px;height:26px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{background:var(--panel-2);color:var(--text)}.bell-wrap,.bell-btn{position:relative}.bell-btn.has-unread svg{animation:rw-bell-ring 1.2s var(--ease-spring) 1;transform-origin:50% 4px}@keyframes rw-bell-ring{0%,to{transform:rotate(0)}20%{transform:rotate(-16deg)}40%{transform:rotate(14deg)}60%{transform:rotate(-9deg)}80%{transform:rotate(5deg)}}.bell-badge{position:absolute;top:3px;right:3px}.notif-panel{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);width:min(400px,100vw - 24px);max-height:min(70vh,560px);box-shadow:var(--shadow-lg);z-index:40;animation:rw-rise .3s var(--ease-out) backwards;flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notif-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.notif-title{font-family:var(--font-display);font-size:16px;font-weight:700}.notif-list{padding:6px;overflow-y:auto}.notif-empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:13.5px}.notif-item{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;grid-template-columns:32px 1fr auto;align-items:start;gap:10px;padding:10px;transition:background-color .15s;display:grid}.notif-item:hover{background:var(--row-hover)}.notif-item.unread{background:var(--accent-softer)}.notif-item.unread:hover{background:var(--accent-soft)}.notif-icon{background:var(--panel-2);width:32px;height:32px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.notif-item.tone-warn .notif-icon{background:var(--warn-soft);color:var(--warn)}.notif-item.tone-danger .notif-icon{background:var(--danger-soft);color:var(--danger)}.notif-item.tone-ok .notif-icon{background:var(--ok-soft);color:var(--ok)}.notif-item.tone-accent .notif-icon{background:var(--accent-soft);color:var(--accent)}.notif-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-item-title{font-size:13.5px;font-weight:650;line-height:1.35}.notif-item-sub{color:var(--muted);font-size:12.5px;line-height:1.35}.notif-item-time{color:var(--faint);margin-top:2px;font-size:11.5px}.notif-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;margin-top:6px}.notice{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13.5px;line-height:1.45;display:flex}.notice.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.notice.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.notice svg{flex:none;margin-top:1px}.stack{flex-direction:column;gap:12px;display:flex}.check-row{cursor:pointer;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;display:flex}.check-row input{accent-color:var(--accent);margin-top:3px}.check-row.small{white-space:nowrap;align-items:center;font-size:12.5px}.muted.small,.small{font-size:12px}.field.grow{flex:1;min-width:200px}.account-grid{align-items:start}.twofa-steps{color:var(--muted);margin:0;padding-left:20px;font-size:13.5px;line-height:1.5}.twofa-steps code{background:var(--panel-2);border-radius:6px;padding:2px 6px;font-size:12px}.twofa-qr{border:1px solid var(--border);background:#fff;border-radius:14px;width:200px;height:200px;padding:8px}.backup-codes{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:12px;display:grid}.backup-codes code{background:var(--panel-2);letter-spacing:.06em;text-align:center;border-radius:8px;padding:8px 10px;font-size:13.5px}.login-forgot{text-align:center;color:var(--muted);margin-top:14px;font-size:13px;display:block}.login-forgot:hover{color:var(--accent)}.public-shell{background:radial-gradient(60% 40% at 15% 10%, var(--aura-1), transparent 70%), radial-gradient(40% 35% at 85% 20%, var(--aura-3), transparent 70%), radial-gradient(45% 40% at 70% 90%, var(--aura-2), transparent 70%), var(--bg);place-items:center;min-height:100dvh;padding:24px 16px 40px;display:grid}.public-theme{position:fixed;top:14px;right:14px}.public-card{width:100%;max-width:480px;animation:rw-rise .5s var(--ease-out) backwards;padding:28px}.public-card.wide{max-width:620px}.public-head{align-items:center;gap:14px;margin-bottom:20px;display:flex}.public-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.public-title{font-family:var(--font-display);letter-spacing:-.02em;margin:2px 0 0;font-size:24px}.public-sub{color:var(--muted);margin:4px 0 0;font-size:14px}.public-foot{text-align:center;margin-top:18px;font-size:13px}.public-device{border-radius:var(--radius-md);background:var(--panel-2);align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.public-device-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.public-device-name{font-weight:700}.trapped-toggle{cursor:pointer;display:block}.trapped-toggle input{opacity:0;pointer-events:none;position:absolute}.trapped-toggle-body{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--panel-2);color:var(--text);align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .2s,background-color .2s;display:flex}.trapped-toggle-body small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.trapped-toggle input:checked+.trapped-toggle-body{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.trapped-toggle input:focus-visible+.trapped-toggle-body{outline:2px solid var(--accent);outline-offset:2px}.fault-photo-preview{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:72px;height:72px}.settings-tabs{max-width:920px;margin-bottom:18px;overflow-x:auto}.settings-form .card{margin-bottom:14px}.settings-save{bottom:calc(12px + var(--bottom-nav-h));border-radius:var(--radius-md);border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);z-index:5;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky}.logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:12px;max-width:220px;max-height:80px;padding:8px}.switch.span-2{grid-column:span 2}.tpl-group{margin-top:16px}.tpl-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;font-size:11.5px;font-weight:700}.tpl-tile{cursor:default}.tpl-tile.inactive{opacity:.6}.tpl-tile .tile-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tpl-editor .form-grid{margin-bottom:8px}.tpl-section{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);margin-top:14px;padding:12px}.tpl-section-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tpl-section-title{flex:1;font-weight:700}.tpl-items{flex-direction:column;gap:6px;display:flex}.tpl-item{background:var(--panel);border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) auto auto minmax(140px,1fr) auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.tpl-item:not(.type-value) .tpl-item-range{display:none}.tpl-item-range{grid-template-columns:56px 70px 70px;gap:4px;display:grid}.tpl-item-range input,.tpl-item input,.tpl-item select{padding:7px 9px;font-size:13px}.tpl-item-tools .icon-btn{width:28px;height:28px}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}@media (width<=920px){.tpl-item{grid-template-columns:1fr 1fr}.tpl-item-label,.tpl-item-hint{grid-column:span 2}}.export-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.export-tile{text-align:left;cursor:pointer;font:inherit;color:inherit}.export-tile .tile-title,.export-tile .tile-sub{display:block}.export-tile .tile-sub{white-space:normal}.billing-table th.num,.billing-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.billing-table tfoot td{border-top:2px solid var(--border-strong)}.qr-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.qr-code{border:1px solid var(--border);background:#fff;border-radius:14px;width:150px;height:150px;padding:8px}.qr-code svg{width:100%;height:100%;display:block}.qr-meta{flex:1;min-width:200px}.entry-photo{margin-top:6px;display:inline-block}.entry-photo img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:64px;height:64px}.cal-task-flag{color:#fff;background:var(--warn);border-radius:5px;justify-content:center;align-items:center;width:15px;height:15px;font-size:10.5px;font-weight:900;line-height:1;display:inline-flex}.cal-task-flag.urgent,.cal-task-flag.outcome{background:var(--danger)}.cal-task-pin{color:var(--accent);display:inline-flex}.cal-view-seg{margin-left:8px}.cal-month-label{font-family:var(--font-display);text-transform:capitalize;margin-left:4px;font-size:16px;font-weight:700}.cal-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:16px;display:grid}.cal-month-head{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:4px 8px;font-size:11.5px;font-weight:700}.cal-month-cell{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);cursor:pointer;flex-direction:column;gap:4px;min-height:118px;padding:6px;transition:border-color .2s,box-shadow .2s;display:flex}.cal-month-cell:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.cal-month-cell.outside{background:var(--panel-2);opacity:.6}.cal-month-cell.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cal-month-cell-head{align-items:center;gap:6px;display:flex}.cal-month-day{width:26px;height:26px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:13px;font-weight:700}.cal-month-cell.today .cal-month-day{background:var(--accent);color:var(--accent-fg)}.cal-month-day:hover{background:var(--accent-soft)}.cal-month-duty{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10.5px;overflow:hidden}.cal-month-add{width:22px;height:22px;color:var(--faint);font:inherit;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:7px;margin-left:auto;font-weight:700;transition:opacity .15s}.cal-month-cell:hover .cal-month-add,.cal-month-add:focus-visible{opacity:1}.cal-month-add:hover{background:var(--accent-soft);color:var(--accent)}.cal-month-task{border:none;border-left:3px solid var(--accent);background:var(--accent-softer);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:11.5px;line-height:1.3;display:flex}.cal-month-task:hover{background:var(--accent-soft)}.cal-month-task.in_progress{border-left-color:var(--warn);background:var(--warn-soft)}.cal-month-task.completed{border-left-color:var(--ok);background:var(--ok-soft);opacity:.8}.cal-month-task.cancelled{border-left-color:var(--faint);background:var(--panel-2);opacity:.6;text-decoration:line-through}.cal-month-task.has-outcome{border-left-color:var(--danger)}.cal-month-task-time{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.cal-month-task-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cal-month-more{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:11.5px;font-weight:700}@media (width<=920px){.cal-month{gap:3px}.cal-month-cell{min-height:84px;padding:4px}.cal-month-task-title,.cal-month-duty{display:none}}.tl-day-badge{vertical-align:middle;margin-left:6px;padding:2px 7px;font-size:10.5px}@media (width<=920px){.grid.cols-3.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.row-urgent td{background:var(--danger-soft)}.src-badge svg{flex:none}.quick-request{margin-bottom:0}.quick-request .card-head{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}.decision-link{color:inherit;flex-direction:column;align-items:flex-start;display:inline-flex}.decision-link:hover .badge{background:var(--accent-soft-2)}.decision-sub{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.4}.pick-list{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow-y:auto}.pick-item{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .2s,background-color .2s;display:flex}.pick-item:hover{border-color:var(--border-strong)}.pick-item.active{border-color:var(--accent);background:var(--accent-softer)}.pick-item input{width:auto;accent-color:var(--accent);margin-top:3px}.pick-body{flex-direction:column;gap:4px;min-width:0;display:flex}.pick-title{font-size:14px}.pick-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.pick-sub .badge,.task-flags .badge{padding:2px 8px;font-size:11px}.task-flags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.task-ctx{border-top:1px dashed var(--border);flex-direction:column;align-items:flex-start;gap:12px;margin-top:14px;padding-top:14px;display:flex}.task-ctx>*{align-self:stretch}.task-ctx>.btn{align-self:flex-start}.task-ctx .notice{margin-bottom:0}.task-ctx-block{flex-direction:column;gap:6px;display:flex}.task-ctx-title{color:var(--faint);text-transform:uppercase;letter-spacing:.075em;font-size:11.5px;font-weight:750}.task-ctx-title .count-pill{min-width:22px;height:18px;font-size:11px}.task-ctx-item{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 10px;font-size:13px;transition:border-color .2s,background-color .2s;display:flex}.task-ctx-item:hover{border-color:var(--accent-soft-2);background:var(--accent-softer)}.task-ctx-item .badge{padding:2px 8px;font-size:11px}.task-ctx-main{flex:220px;min-width:0}.task-ctx-time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:6px}.task-ctx-sub{color:var(--muted);font-size:12px}.elv-picker-item.site-only .elv-picker-name{color:var(--accent)}.due-chip.queue{border-left:3px solid var(--accent);cursor:grab}.due-chip.queue.urgent{border-left-color:var(--crit)}.due-row.queue{cursor:grab}.due-chip.dragging,.due-row.dragging{opacity:.45}.due-flags{flex-wrap:wrap;gap:4px;margin-top:4px;display:inline-flex}.due-row .due-flags{margin:0 6px 0 0}.due-flags .badge,.due-row .due-flags .badge{padding:1px 7px;font-size:10.5px}.due-list-head{border-bottom:1px solid var(--border);background:var(--panel-2);color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:8px 18px;font-size:11px;font-weight:750}.journal-section{margin-bottom:18px;scroll-margin-top:84px}.journal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:8px 0 12px;display:flex}.journal-summary{flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.journal-summary li{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px}.journal-summary li strong{color:var(--text);font-weight:750}.journal-summary li.warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.journal-summary li.crit{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));color:var(--danger)}.journal-nav{flex-wrap:wrap;gap:6px}.journal-nav input[type=date]{width:auto;padding:7px 10px;font-size:13.5px}.journal-pill{vertical-align:1px;margin-left:8px}.journal-events{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.journal-events:before{content:"";background:var(--border);border-radius:2px;width:2px;position:absolute;top:14px;bottom:14px;left:69px}.journal-event{animation:rw-rise-sm .45s var(--ease-out) backwards;grid-template-columns:44px 32px minmax(0,1fr);align-items:start;column-gap:10px;padding:7px 0;display:grid;position:relative}.journal-time{font-variant-numeric:tabular-nums;text-align:right;padding-top:7px;font-size:13px;font-weight:800}.journal-icon{z-index:1;background:var(--panel-2);width:32px;height:32px;color:var(--muted);box-shadow:0 0 0 3px var(--panel);border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.journal-event.tone-warn .journal-icon{background:var(--warn-soft);color:var(--warn)}.journal-event.tone-danger .journal-icon{background:var(--danger-soft);color:var(--danger)}.journal-event.tone-ok .journal-icon{background:var(--ok-soft);color:var(--ok)}.journal-event.tone-accent .journal-icon{background:var(--accent-soft);color:var(--accent)}.journal-body{min-width:0;padding-top:6px}.journal-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:14px;font-weight:650;display:flex}.journal-title a{color:inherit}.journal-title a:hover{color:var(--accent)}.journal-title .badge{padding:2px 8px;font-size:11px}.journal-detail{color:var(--muted);white-space:pre-wrap;margin-top:2px;font-size:12.5px}.journal-user{color:var(--faint);margin-top:2px;font-size:12px;font-weight:600}.req-actions{vertical-align:middle;width:1%}.req-actions-stack{flex-direction:column;align-items:stretch;gap:4px;min-width:176px;display:flex}.req-actions-row{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}
