@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-cyrillic-ext-400-normal-3iEGd-c5.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-400-normal-Cg0RnRQ5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-cyrillic-400-normal-9cDH9rLW.woff2)format("woff2"),url(/assets/caveat-cyrillic-400-normal-CebvvJET.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-ext-400-normal-D7hBUiug.woff2)format("woff2"),url(/assets/caveat-latin-ext-400-normal-DtiRFvw0.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2)format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-ext-700-normal-CrK2-ngJ.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-700-normal-DjFGiEhD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-700-normal-BIyejhEL.woff2)format("woff2"),url(/assets/caveat-cyrillic-700-normal-Bhcx9qBB.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-ext-700-normal-DFbRgDry.woff2)format("woff2"),url(/assets/caveat-latin-ext-700-normal-DjJQd59I.woff)format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff)format("woff");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{--ink:#15281e;--ink-soft:#2c4537;--ink-mute:#5c6a5b;--ink-faint:#8e9a8b;--paper:#f4efe3;--paper-warm:#ede5d3;--paper-card:#fff;--paper-line:#15281e14;--paper-line-strong:#15281e33;--surface-app:#fff;--surface-topbar:var(--paper);--green-deep:#1f3d2e;--green-darker:#16302a;--cobalt:#c9a961;--cobalt-deep:#a88a45;--cobalt-soft:#c9a96129;--indigo:#b9966b;--indigo-soft:#b9966b24;--bordeaux:#6e2227;--bordeaux-soft:#6e222724;--sage:#6b7e5a;--calendia-blue:#2563eb;--calendia-blue-soft:#2563eb29;--shadow-sm:0 1px 2px #15281e0f;--shadow-md:0 6px 20px #15281e1a;--shadow-lg:0 22px 60px #15281e2e;--shadow-paper:0 2px 0 #5c380d14, 0 18px 36px #5c380d2e;--font-display:"Fraunces", "IBM Plex Serif", "Roboto Slab", Georgia, serif;--font-display-vfs:"opsz" 72, "SOFT" 100, "WONK" 0;--font-body:"IBM Plex Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-sans:"IBM Plex Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-hand:"Caveat", "Patrick Hand", "Segoe Script", cursive;--radius-sm:6px;--radius-md:12px;--radius-lg:22px;--radius-pill:999px;--container:1180px;--gutter:clamp(20px, 4vw, 56px);--ease-out:cubic-bezier(.16, .84, .32, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{max-width:100%;min-height:100%;margin:0;padding:0}body{background:var(--surface-app);color:var(--ink);font-family:var(--font-body);font-feature-settings:"ss01", "ss02";font-variation-settings:var(--font-display-vfs);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.55}img{max-width:100%;display:block}::selection{background:var(--calendia-blue-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--calendia-blue);outline-offset:3px;border-radius:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-variation-settings:var(--font-display-vfs);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.1}p{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.route{width:100%;max-width:1480px;padding:28px clamp(20px,4vw,48px) 60px}.route-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.route-head-text{flex-direction:column;gap:6px;display:flex}.route-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);font-size:11px}.route-sub{color:var(--ink-soft);align-items:center;gap:12px;font-size:14.5px;display:inline-flex}.route-sub-flag{border-radius:var(--radius-pill);background:var(--bordeaux-soft);color:var(--bordeaux);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.route-sub-flag:before{content:"";background:var(--bordeaux);border-radius:50%;width:6px;height:6px}.route-sub-flag-btn{cursor:pointer;transition:background .15s var(--ease-out);border:0}.route-sub-flag-btn:hover{background:color-mix(in srgb, var(--bordeaux) 22%, var(--paper-card))}.route-sub-soft{border-radius:var(--radius-pill);background:var(--cobalt-soft);color:var(--cobalt-deep);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.route-sub-ok{border-radius:var(--radius-pill);color:var(--sage);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:#6b7e5a2e;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.route-sub-ok:before{content:"";background:var(--sage);border-radius:50%;width:6px;height:6px}.route-head-actions{align-items:center;gap:10px;display:inline-flex}.route-todo{border-radius:var(--radius-md);background:var(--paper-card);border:1px dashed var(--paper-line-strong);color:var(--ink-mute);margin-top:28px;padding:22px 26px;font-style:italic}.btn-primary-cal{border-radius:var(--radius-pill);background:var(--cobalt);color:#fff;font-family:var(--font-sans);letter-spacing:-.005em;box-shadow:0 1px 0 #fff6 inset, 0 8px 24px var(--cobalt-soft);transition:transform .2s var(--ease-out), background .2s var(--ease-out), box-shadow .2s var(--ease-out);flex-direction:column;align-items:center;gap:1px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary-cal:hover{background:var(--cobalt-deep);box-shadow:0 1px 0 #fff6 inset, 0 12px 30px var(--cobalt-soft);transform:translateY(-1px)}.btn-primary-cal-em{font-style:normal;font-family:var(--font-hand);color:#ffffffeb;letter-spacing:.01em;font-size:13px;font-weight:500}.btn-ghost-cal{border-radius:var(--radius-pill);color:var(--ink-mute);border:1px solid var(--paper-line-strong);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;transition:border-color .2s var(--ease-out), color .2s var(--ease-out);background:0 0;padding:10px 16px;font-size:12px}.btn-ghost-cal:not(:disabled):hover{border-color:var(--ink);color:var(--ink)}.btn-ghost-cal:disabled{opacity:.45;cursor:not-allowed}.auth-gate-loading{background:var(--cream-paper,#f4efe3);place-items:center;display:grid;position:fixed;inset:0}.auth-gate-spinner{border:3px solid color-mix(in srgb, var(--green-darker,#1f3329) 18%, transparent);border-top-color:var(--cobalt,#c9a961);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite auth-gate-spin}@keyframes auth-gate-spin{to{transform:rotate(360deg)}}.user-bubble{align-items:flex-end;gap:18px;display:flex;position:relative}.user-bubble-avatar.is-open .user-bubble-edit{opacity:1;transform:translateY(0)scale(1)}.user-menu{background:var(--paper,#f4efe3);z-index:50;border:1px solid #1c231e14;border-radius:14px;flex-direction:column;gap:2px;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #141c1633,inset 0 2px #fff9}.user-menu-header{appearance:none;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px;transition:background .15s;display:flex;overflow:hidden}.user-menu-avatar{background:var(--paper-card);border-radius:50%;flex-shrink:0;width:44px;min-width:44px;height:44px;min-height:44px;display:block;position:relative;overflow:hidden}.user-menu-avatar>.user-avatar{box-shadow:none;border-radius:50%;display:block;overflow:hidden;width:44px!important;height:44px!important}.user-menu-avatar .user-avatar img{object-fit:cover;object-position:50% 28%;width:44px;max-width:44px;height:44px;max-height:44px;display:block;position:static;transform:none!important}.user-menu-header:hover{background:#1c231e0f}.user-menu-header-static{cursor:default;background:#1c231e0a}.user-menu-header-static:hover{background:#1c231e0a}.user-menu-header-text{flex-direction:column;gap:1px;min-width:0;display:flex}.user-menu-header-text strong{font-family:var(--font-sans);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.user-menu-header-text em{font-style:normal;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:10.5px}.user-menu-sep{background:#1c231e14;height:1px;margin:4px}.user-menu-item{appearance:none;cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--ink);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .15s;display:flex}.user-menu-item:hover{background:#1c231e0f}.user-menu-icon{width:18px;height:18px;color:var(--ink-mute);flex-shrink:0;display:inline-block}.user-menu-item-danger,.user-menu-item-danger .user-menu-icon{color:var(--bordeaux)}.user-menu-item-danger:hover{background:#b43c3c1a}.user-bubble-name{padding-bottom:6px}.user-bubble-avatar{cursor:pointer;transition:transform .18s var(--ease-spring);background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0;position:relative}.user-bubble-avatar:hover,.user-bubble-avatar:focus-visible{transform:scale(1.04)}.user-bubble-edit{background:var(--ink);width:22px;height:22px;color:var(--cobalt);box-shadow:0 1px 3px #00000052, 0 0 0 2px var(--surface-topbar);opacity:0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-spring);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px;transform:translateY(2px)scale(.85)}.user-bubble-avatar:hover .user-bubble-edit,.user-bubble-avatar:focus-visible .user-bubble-edit{opacity:1;transform:translateY(0)scale(1)}.user-bubble-name{font-family:var(--font-body);color:var(--ink);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.user-avatar{font-family:var(--font-display);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid;overflow:hidden;box-shadow:inset 0 1px 2px #0000002e,0 0 0 1px #0000000f}.user-avatar-img,.user-avatar-mascot{background:var(--paper-card);padding:0;position:relative}.user-avatar-mascot img{object-fit:cover;object-position:50% 28%;width:100%;height:100%;display:block}.user-avatar-img img{object-fit:cover;transform-origin:50%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.profile-modal-root{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.profile-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;animation:profile-fade-in .22s var(--ease-out);background:#15281e73;border:0;padding:0;position:absolute;inset:0}.profile-modal{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-lg);width:min(680px,100%);box-shadow:var(--shadow-lg);max-height:calc(100vh - 40px);animation:profile-pop-in .32s var(--ease-spring);flex-direction:column;gap:18px;padding:22px 26px 20px;display:flex;position:relative;overflow-y:auto}@keyframes profile-fade-in{0%{opacity:0}to{opacity:1}}@keyframes profile-pop-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-modal-head{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.profile-modal-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:600}.profile-modal-close{width:30px;height:30px;color:var(--ink-mute);transition:background .15s var(--ease-out);background:#15281e0f;border-radius:50%;place-items:center;font-size:20px;line-height:1;display:grid}.profile-modal-close:hover{color:var(--ink);background:#15281e24}.profile-modal-section{flex-direction:column;gap:8px;display:flex}.profile-modal-section-row{border-top:1px dashed var(--paper-line);border-bottom:1px dashed var(--paper-line);flex-direction:row;justify-content:space-between;align-items:center;gap:14px;padding:10px 0}.profile-modal-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px}.profile-modal-hint{color:var(--ink-faint);font-size:11.5px;font-style:italic}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.avatar-tile{aspect-ratio:1;background:var(--paper);border:2px solid var(--paper-line);cursor:pointer;transition:transform .15s var(--ease-spring), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:50%;place-items:center;padding:0;display:grid;overflow:hidden}.avatar-tile img{object-fit:contain;object-position:50% 100%;width:100%;height:100%;display:block}.avatar-tile:hover{border-color:var(--paper-line-strong);transform:translateY(-2px)}.avatar-tile.is-active{border-color:var(--sage);box-shadow:0 0 0 3px #6b7e5a38}.initials-row{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.initials-swatch{aspect-ratio:1;font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;transition:transform .15s var(--ease-spring), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border:2px solid #0000;border-radius:50%;place-items:center;font-size:30px;font-weight:700;display:grid;box-shadow:inset 0 1px 2px #00000024,0 1px 2px #15281e14}.initials-swatch:hover{transform:translateY(-2px)}.initials-swatch.is-active{border-color:var(--ink);box-shadow:0 0 0 3px var(--paper-card), 0 0 0 5px var(--ink)}.initials-swatch-custom{position:relative;overflow:hidden}.initials-swatch-edit{color:currentColor;box-shadow:none;z-index:1;pointer-events:none;background:0 0;border:0;place-items:center;display:grid;position:absolute;inset:0}.initials-swatch-edit svg{width:28px;height:28px}.initials-swatch-color-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.hex-input{grid-template-columns:auto 1fr;align-items:center;gap:10px;max-width:240px;margin-top:10px;display:inline-grid}.hex-input-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:10.5px}.hex-input-field{font:inherit;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink);background:var(--paper);border:1px solid var(--paper-line-strong);border-radius:var(--radius-sm);text-transform:uppercase;width:100%;transition:border-color .15s var(--ease-out);padding:7px 10px;font-size:13px}.hex-input-field:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-soft);outline:none}.profile-modal-section-image{border-top:1px dashed var(--paper-line);border-bottom:1px dashed var(--paper-line);gap:14px;padding:14px 0}.profile-modal-image-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.profile-modal-image-actions{gap:8px;display:flex}.profile-modal-upload,.profile-modal-remove{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);padding:8px 14px;font-size:11px}.profile-modal-upload{background:var(--ink);color:var(--paper)}.profile-modal-upload:hover{background:var(--green-deep)}.profile-modal-remove{color:var(--bordeaux);border:1px solid var(--paper-line-strong);background:0 0}.profile-modal-image-editor{grid-template-columns:160px 1fr;align-items:center;gap:18px;display:grid}.image-editor-frame{background:var(--paper-warm);cursor:grab;width:160px;height:160px;box-shadow:0 0 0 1px var(--paper-line-strong), 0 4px 14px #15281e1a;touch-action:none;border-radius:50%;position:relative;overflow:hidden}.image-editor-frame:active{cursor:grabbing}.image-editor-frame img{object-fit:cover;transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;top:50%;left:50%}.image-editor-controls{flex-direction:column;gap:10px;min-width:0;display:flex}.image-editor-slider{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:10.5px;display:grid}.image-editor-slider input[type=range]{width:100%;accent-color:var(--cobalt)}.image-editor-slider-value{color:var(--ink);letter-spacing:0;text-transform:none;font-size:11.5px;font-weight:600}.image-editor-reset{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);border-radius:var(--radius-pill);border:1px solid var(--paper-line-strong);transition:color .15s var(--ease-out), border-color .15s var(--ease-out);background:0 0;align-self:flex-start;padding:6px 10px;font-size:10.5px}.image-editor-reset:hover{color:var(--ink);border-color:var(--ink-mute)}.profile-modal-foot{justify-content:flex-end;padding-top:6px;display:flex}.profile-modal-done{background:var(--cobalt);color:var(--green-darker);font-family:var(--font-sans);border-radius:var(--radius-pill);letter-spacing:-.005em;box-shadow:0 1px 0 #fff6 inset, 0 6px 18px var(--cobalt-soft);transition:transform .2s var(--ease-out), background .2s var(--ease-out);padding:10px 22px;font-size:14px;font-weight:600}.profile-modal-done:hover{background:var(--cobalt-deep);color:#fff;transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.profile-modal-backdrop,.profile-modal{animation:none}}.topbar{z-index:50;background:var(--surface-topbar);border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:24px;height:58px;padding:0 clamp(20px,4vw,48px);display:flex;position:sticky;top:0}.topbar .user-bubble-avatar{overflow:visible}.topbar .user-avatar-mascot{box-shadow:none;background:0 0;border-radius:0;padding:0;position:relative;overflow:visible!important}.topbar .user-avatar-mascot img{object-fit:contain;object-position:50% 100%;display:block;width:92px!important;max-width:none!important;height:92px!important;margin:0!important;position:absolute!important;top:auto!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important}.topbar .user-bubble-avatar:has(.user-avatar-mascot) .user-bubble-edit{bottom:-2px;right:-2px}.tb-left{align-items:center;gap:18px;min-width:0;display:flex}.tb-logo{transition:opacity .15s var(--ease-out);flex-shrink:0;align-items:center;display:inline-flex}.tb-logo:hover{opacity:.78}.tb-logo img{width:auto;height:42px;display:block}.tb-sep{background:var(--paper-line-strong);opacity:.5;flex-shrink:0;width:1px;height:28px}.tb-right{align-self:stretch;align-items:flex-end;gap:14px;display:flex}.tb-title-wrap{position:relative}.tb-title{border-radius:var(--radius-sm);font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);transition:color .15s var(--ease-out);align-items:center;gap:10px;margin:-4px -6px;padding:4px 6px;font-size:clamp(16px,1.5vw,20px);font-weight:600;line-height:1.1;display:inline-flex}.tb-title:hover,.tb-title:focus-visible,.tb-title.is-open{color:var(--green-deep)}.tb-title-chevron{color:var(--ink-mute);transition:transform .18s var(--ease-spring), color .15s var(--ease-out)}.tb-title:hover .tb-title-chevron,.tb-title.is-open .tb-title-chevron{color:var(--cobalt)}.tb-title.is-open .tb-title-chevron{transform:rotate(180deg)}.tb-menu{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-lg);z-index:60;animation:tb-menu-in .18s var(--ease-out);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:0}@keyframes tb-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tb-menu-item{border-radius:var(--radius-sm);width:100%;font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);text-align:left;transition:background .12s var(--ease-out), color .12s var(--ease-out);align-items:center;gap:10px;padding:9px 12px;font-size:17px;font-weight:500;display:flex}.tb-menu-item:hover,.tb-menu-item:focus-visible{background:var(--paper-warm);outline:none}.tb-menu-item-dot{width:6px;height:6px;transition:background .12s var(--ease-out);background:0 0;border-radius:50%;flex-shrink:0}.tb-menu-item.is-active{color:var(--cobalt-deep)}.tb-menu-item.is-active .tb-menu-item-dot{background:var(--cobalt)}.fab-root{z-index:40;flex-direction:column;align-items:flex-end;gap:14px;display:flex;position:fixed;bottom:32px;right:32px}.fab-cluster{align-items:center;gap:10px;display:flex}.fab{cursor:pointer;transition:transform .2s var(--ease-spring), background .2s var(--ease-out), box-shadow .2s var(--ease-out);border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.fab:disabled{opacity:.45;cursor:not-allowed}.fab-primary{background:var(--calendia-blue);color:#fff;width:72px;height:72px;box-shadow:inset 0 1px #ffffff59,0 20px 44px #2563eb5c,0 6px 14px #2563eb38}.fab-primary:hover:not(:disabled){background:#1e54cc;transform:translateY(-2px)scale(1.03);box-shadow:inset 0 1px #ffffff59,0 28px 60px #2563eb75,0 8px 18px #2563eb4d}.fab-primary{transition:transform .22s var(--ease-spring), background .18s var(--ease-out), box-shadow .2s var(--ease-out)}.fab-primary.is-open{transform:rotate(45deg)}.fab-primary.is-open:hover:not(:disabled){transform:rotate(45deg)translateY(-2px)scale(1.03)}.fab-stack{animation:fab-stack-in .2s var(--ease-out);flex-direction:column;align-items:flex-end;gap:10px;margin:0;padding:0;list-style:none;display:flex}@keyframes fab-stack-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fab-item{font-family:var(--font-sans);letter-spacing:-.005em;border-radius:var(--radius-pill);background:var(--paper-card);color:var(--ink);border:1px solid var(--paper-line-strong);box-shadow:var(--shadow-md);transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out);padding:11px 20px;font-size:13.5px;font-weight:500}.fab-item:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px)}.fab-item:disabled{opacity:.45;cursor:not-allowed}.sti-card{width:min(640px,100%)}.sti-textarea{resize:vertical;background:var(--paper-card,#fff);width:100%;min-height:200px;font-family:var(--font-sans);color:var(--ink);box-sizing:border-box;border:1px solid #1c231e29;border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.55}.sti-textarea:focus{border-color:var(--cobalt);outline:none;box-shadow:0 0 0 3px #c9a9612e}.sti-textarea::placeholder{color:var(--ink-faint);white-space:pre-wrap}.sti-error{color:var(--bordeaux);margin:10px 0 0;font-size:13px}.sti-working{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:36px 20px 44px;display:flex}.sti-foot-working{justify-content:flex-end;display:flex}.sti-mascot{object-fit:contain;filter:drop-shadow(0 12px 30px #2563eb47);width:260px;height:260px}.sti-working-label{font-family:var(--font-display);color:var(--ink);margin:0;font-size:18px;font-weight:500;animation:.4s sti-fade}@keyframes sti-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.onb-demo:disabled{opacity:.5;cursor:not-allowed}.wse-root{flex-direction:column;gap:10px;display:flex}.wse-grid{gap:6px;display:grid}.wse-col{background:var(--paper);border:1px solid #1c231e14;border-radius:12px;flex-direction:column;gap:5px;min-height:110px;padding:8px 6px;display:flex}.wse-col-day{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--ink-mute);padding-bottom:2px;font-size:10.5px}.wse-block{appearance:none;cursor:pointer;text-align:center;transition:border-color .15s, background .15s, transform .15s var(--ease-spring);background:#fff;border:1.5px solid #1c231e1f;border-radius:9px;flex-direction:column;gap:1px;padding:7px 6px 6px;display:flex}.wse-block:hover{border-color:#c9a96199;transform:translateY(-1px)}.wse-block.is-selected{border-color:var(--cobalt);background:#c9a96124;box-shadow:0 4px 12px #a88a452e}.wse-block.is-scoped{border-style:dashed;border-color:var(--cobalt-deep)}.wse-block-label{font-family:var(--font-display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.wse-block-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-mute);font-size:10.5px}.wse-add-day{appearance:none;min-height:26px;color:var(--ink-faint);cursor:pointer;background:0 0;border:1.5px dashed #1c231e29;border-radius:9px;margin-top:auto;font-size:14px;transition:border-color .15s,color .15s}.wse-add-day:hover{border-color:var(--cobalt);color:var(--cobalt-deep)}.wse-actions{justify-content:flex-start;display:flex}.wse-add-shared{appearance:none;font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;background:0 0;border:1.5px dashed #1c231e33;border-radius:999px;padding:7px 15px;font-size:13px;transition:border-color .15s,color .15s}.wse-add-shared:hover{border-color:var(--cobalt);color:var(--cobalt-deep)}.wse-panel{background:#fff;border:1.5px solid #c9a96180;border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wse-panel-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wse-panel-label{appearance:none;min-width:140px;font-family:var(--font-display);color:var(--ink);background:0 0;border:0;border-bottom:1.5px dashed #1c231e2e;flex:1;padding:2px 0;font-size:17px;font-weight:600}.wse-panel-label:focus{border-bottom-color:var(--cobalt);outline:none}.wse-panel-times{font-family:var(--font-mono);color:var(--ink-mute);align-items:center;gap:6px;display:inline-flex}.wse-time{appearance:none;width:64px;font-family:var(--font-mono);text-align:center;font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border:1.5px solid #1c231e24;border-radius:9px;padding:6px 4px;font-size:13px}.wse-time:focus{border-color:var(--cobalt);outline:none}.wse-panel-scope{font-family:var(--font-sans);color:var(--ink-mute);margin:0;font-size:12.5px}.wse-panel-targets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wse-target{font-family:var(--font-sans);color:var(--ink);background:#1c231e0d;border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:13px;display:inline-flex}.wse-target strong{color:var(--cobalt-deep)}.wse-target-steps{display:inline-flex}.wse-target-steps button{appearance:none;width:22px;height:22px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:13px}.wse-target-steps button:hover{color:var(--ink);background:#c9a96140}.wse-add-role,.wse-role-pick{appearance:none;font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;background:0 0;border:1.5px dashed #1c231e33;border-radius:999px;padding:4px 12px;font-size:13px}.wse-add-role:hover{border-color:var(--cobalt);color:var(--cobalt-deep)}.wse-role-pick{color:var(--ink);background:#fff;border-style:solid}.wse-panel-foot{flex-wrap:wrap;gap:8px;padding-top:2px;display:flex}.wse-panel-btn{appearance:none;font-family:var(--font-sans);color:var(--ink);cursor:pointer;background:#fff;border:1.5px solid #1c231e24;border-radius:999px;padding:6px 13px;font-size:13px;transition:border-color .15s,color .15s,background .15s}.wse-panel-btn:hover{border-color:var(--cobalt);color:var(--cobalt-deep)}.wse-panel-btn-danger{color:var(--ink-mute)}.wse-panel-btn-danger:hover{border-color:var(--bordeaux);color:var(--bordeaux);background:#6e22270d}@media (width<=720px){.wse-grid{grid-template-columns:repeat(2,1fr)!important}}.rms-root{min-width:0;display:inline-block;position:relative}.onb-role-select.rms-root,.emp-role-select.rms-root{width:100%;display:block}.rms-trigger{appearance:none;width:100%;font-family:var(--font-sans);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1.5px solid #1c231e24;border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-size:16px;display:inline-flex}.rms-trigger:focus,.rms-root.is-open .rms-trigger{border-color:var(--cobalt);outline:none}.rms-trigger.is-empty .rms-trigger-label{color:var(--ink-faint)}.rms-trigger-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.rms-trigger-caret{color:var(--ink-faint);font-size:11px}.rms-popover{z-index:100;background:#fff;border:1.5px solid #1c231e24;border-radius:12px;min-width:100%;max-width:320px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #1c231e2e}.rms-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.rms-option{font-family:var(--font-sans);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:15px;display:flex}.rms-option:hover{background:#c9a9611a}.rms-option.is-active{background:#c9a96129}.rms-option input[type=checkbox]{cursor:pointer;margin:0}.rms-empty{font-family:var(--font-sans);color:var(--ink-faint);margin:4px 6px 8px;font-size:13px}.rms-custom{border-top:1px solid #1c231e14;gap:6px;margin-top:8px;padding-top:8px;display:flex}.rms-custom-input{appearance:none;min-width:0;font-family:var(--font-sans);color:var(--ink);background:#fff;border:1.5px solid #1c231e24;border-radius:8px;flex:1;padding:8px 10px;font-size:14px}.rms-custom-input:focus{border-color:var(--cobalt);outline:none}.rms-custom-add{appearance:none;background:var(--cobalt);color:var(--green-darker);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:8px;padding:0 12px;font-size:14px;font-weight:600}.rms-custom-add:disabled{opacity:.4;cursor:not-allowed}.onb-minors-lead{color:var(--ink-mute);margin:0 0 14px;font-size:14px;line-height:1.5}.onb-minors-list{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.onb-minor-row{background:var(--paper-card,#fff);border:1px solid #1c231e1a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.onb-minor-row.is-minor{border-color:var(--bordeaux);background:#9b2c3c0f}.onb-minor-name{color:var(--ink);flex-direction:column;font-size:14px;font-weight:600;display:flex}.onb-minor-name em{color:var(--ink-faint);font-size:12px;font-style:normal;font-weight:400}.onb-minor-toggle{appearance:none;background:var(--paper);color:var(--ink-mute);cursor:pointer;border:1px solid #1c231e2e;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.onb-minor-toggle.on{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}.onb-root{z-index:100;justify-content:center;align-items:center;padding:clamp(12px,3vw,36px);display:flex;position:fixed;inset:0}.onb-backdrop{-webkit-backdrop-filter:blur(8px);background:#1c231e8c;position:absolute;inset:0}.onb-card{background:var(--paper);z-index:1;border-radius:22px;flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 36px 80px #141c1652,inset 0 2px #fff9}.onb-close{width:34px;height:34px;color:var(--ink);cursor:pointer;z-index:2;background:#1c231e0f;border:0;border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;top:14px;right:16px}.onb-close:hover{background:#1c231e1f}.onb-head{border-bottom:1px solid #1c231e14;padding:28px clamp(24px,4vw,48px) 18px}.onb-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-size:11.5px;display:inline-block}.onb-title{font-family:var(--font-hand);color:var(--cobalt);margin:6px 0 18px;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.05}.onb-eta{font-family:var(--font-sans);color:var(--ink-mute);margin:-12px 0 16px;font-size:13px}.onb-demo-card{appearance:none;text-align:left;cursor:pointer;width:100%;transition:border-color .18s, background .18s, transform .18s var(--ease-spring);background:#c9a96112;border:1.5px dashed #c9a9618c;border-radius:14px;flex-direction:column;gap:4px;margin-top:8px;padding:14px 18px;display:flex}.onb-demo-card:hover{border-color:var(--cobalt);background:#c9a96124;transform:translateY(-1px)}.onb-demo-card-title{font-family:var(--font-hand);color:var(--cobalt-deep);font-size:19px;font-weight:700}.onb-demo-card-desc{font-family:var(--font-sans);color:var(--ink-mute);font-size:13px}.onb-stepper{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.onb-step{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);background:#1c231e0a;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-size:12px;display:inline-flex}.onb-step-dot{width:26px;height:26px;font-family:var(--font-display);color:var(--ink-mute);background:#1c231e1a;border-radius:50%;place-items:center;font-size:13px;display:grid}.onb-step.is-current{color:var(--ink);background:#c9a9612e}.onb-step.is-current .onb-step-dot{background:var(--cobalt);color:#fff}.onb-step.is-done{color:var(--ink-mute);background:#4c5f781a}.onb-step.is-done .onb-step-dot{background:var(--sage);color:#fff}.onb-body{background:var(--paper-card);flex:1;padding:24px clamp(24px,4vw,48px);overflow:auto}.onb-foot{background:var(--paper-card);border-top:1px solid #1c231e14;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(24px,4vw,48px) 24px;display:flex}.onb-demo{font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:14px;text-decoration:underline}.onb-demo:hover{color:var(--ink)}.onb-nav{gap:12px;display:inline-flex}.onb-btn{appearance:none;font-family:var(--font-sans);cursor:pointer;transition:transform .18s var(--ease-spring), background .2s, box-shadow .2s;border:0;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:600}.onb-btn:disabled{opacity:.45;cursor:not-allowed}.onb-btn-ghost{color:var(--ink);background:#1c231e0f}.onb-btn-ghost:hover:not(:disabled){background:#1c231e1f}.onb-btn-primary{background:var(--cobalt);color:#fff;box-shadow:inset 0 1px #ffffff59,0 16px 36px #a88a4552}.onb-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff59,0 20px 44px #a88a456b}.onb-field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.onb-field-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:11.5px}.onb-input,.onb-select{appearance:none;font-family:var(--font-sans);color:var(--ink);background:#fff;border:1.5px solid #1c231e24;border-radius:12px;padding:12px 14px;font-size:16px;transition:border-color .18s}.onb-input:focus,.onb-select:focus{border-color:var(--cobalt);outline:none}.onb-help{font-family:var(--font-sans);color:var(--ink-mute);margin:-4px 0 18px;font-size:13px}.onb-preset-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.onb-preset{appearance:none;text-align:left;cursor:pointer;transition:border-color .18s, transform .18s var(--ease-spring), box-shadow .18s;background:#fff;border:1.5px solid #1c231e24;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.onb-preset:hover{border-color:#c9a96173;transform:translateY(-1px)}.onb-preset.is-active{border-color:var(--cobalt);background:#c9a9611a;box-shadow:0 8px 18px #a88a452e}.onb-preset-label{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.onb-preset-desc{font-family:var(--font-sans);color:var(--ink-mute);font-size:12.5px;line-height:1.35}.onb-days{flex-wrap:wrap;gap:6px;display:inline-flex}.onb-day{appearance:none;width:56px;height:44px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);cursor:pointer;background:#fff;border:1.5px solid #1c231e24;border-radius:12px;font-size:12px;transition:background .18s,border-color .18s,color .18s}.onb-day:hover{border-color:#1c231e4d}.onb-day.is-closed{background:var(--ink);color:var(--paper);border-color:var(--ink)}.onb-days-lg .onb-day{width:72px;height:56px;font-size:13px}.onb-day-open.is-open{border-color:var(--cobalt);color:var(--cobalt-deep);background:#c9a96129;font-weight:700}.onb-day-open:not(.is-open){color:var(--ink-faint);background:#1c231e0a;text-decoration:line-through}.onb-pattern-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.onb-perday{cursor:pointer;align-items:flex-start;gap:10px;margin-top:4px;display:flex}.onb-perday input{width:18px;height:18px;accent-color:var(--cobalt);margin-top:2px}.onb-perday span{font-family:var(--font-sans);color:var(--ink);flex-direction:column;font-size:14px;display:flex}.onb-perday em{color:var(--ink-mute);font-size:12.5px;font-style:normal}.onb-svc-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.onb-svc{background:#fff;border:1.5px solid #1c231e14;border-radius:14px;padding:16px 18px}.onb-svc-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.onb-svc-label{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:600}.onb-svc-time{font-family:var(--font-mono);color:var(--ink-mute);font-variant-numeric:tabular-nums;font-size:13px}.onb-svc-targets{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.onb-svc-target{font-family:var(--font-sans);color:var(--ink);background:#1c231e0d;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.onb-svc-target-n{color:var(--cobalt);font-weight:700}.onb-quick-row{align-items:stretch;gap:10px;display:flex}.onb-quick-input{flex:1}.onb-team-tools{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:inline-flex}.onb-team-empty{align-items:center;gap:16px;padding:8px 0;display:flex}.onb-team-empty img{-webkit-user-select:none;user-select:none;width:76px;height:auto}.onb-team-empty .onb-help{margin:0}.onb-team-table{flex-direction:column;gap:8px;display:flex}.onb-team-row{grid-template-columns:1.5fr 1.1fr .9fr .7fr 56px 40px;align-items:center;gap:8px;display:grid}.onb-team-header{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);padding:0 4px;font-size:11px}.onb-team-name{padding:10px 12px;font-size:15px}.onb-team-minor{justify-content:center;align-items:center;display:inline-flex}.onb-team-minor input{width:18px;height:18px;accent-color:var(--cobalt)}.onb-team-del{appearance:none;width:32px;height:32px;color:var(--ink-mute);cursor:pointer;background:#1c231e0f;border:0;border-radius:50%;justify-self:center;font-size:16px}.onb-team-del:hover{color:var(--bordeaux);background:#b43c3c29}.onb-indispos-grid{gap:6px;display:grid}.onb-indispos-corner{background:0 0}.onb-indispos-day{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--ink-mute);padding:6px 0;font-size:11px}.onb-indispos-day.is-closed{color:var(--ink-faint);text-decoration:line-through}.onb-indispos-emp{flex-direction:column;gap:2px;padding:8px 4px;display:flex}.onb-indispos-emp strong{font-family:var(--font-sans);color:var(--ink);font-size:14px}.onb-indispos-emp span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px}.onb-indispos-cell{appearance:none;cursor:pointer;min-height:38px;font-family:var(--font-mono);color:var(--ink-mute);background:#fff;border:1.5px solid #1c231e1a;border-radius:10px;transition:background .18s,border-color .18s}.onb-indispos-cell:hover{border-color:#c9a96173}.onb-indispos-cell.is-off{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}.onb-indispos-cell.is-closed{color:var(--ink-faint);cursor:not-allowed;background:#1c231e0f}@media (width<=720px){.onb-head{padding:22px 18px 14px}.onb-body{padding:18px}.onb-foot{flex-direction:column;align-items:stretch;padding:12px 18px 18px}.onb-nav{justify-content:space-between}.onb-stepper{gap:8px}.onb-step-label{display:none}.onb-step{padding:4px}.onb-team-row{grid-template-columns:1fr 1fr}.onb-team-header{display:none}}.onb-foot-left{align-items:center;gap:14px;display:inline-flex}.onb-reset{font-family:var(--font-sans);color:var(--bordeaux);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:13px;text-decoration:underline}.onb-reset:hover{opacity:.85}.onb-hours-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:4px;display:grid}.onb-input-time{font-variant-numeric:tabular-nums;text-align:center;font-size:22px;font-family:var(--font-display);padding:14px 12px}.onb-team-hours{text-align:center;font-variant-numeric:tabular-nums}.app-shell{background:var(--surface-app);flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=720px){.topbar{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:12px}.tb-center{grid-column:1/-1;justify-content:flex-start}}.route-home{flex-direction:column;max-width:none;height:calc(100vh - 72px);min-height:0;padding:24px clamp(20px,4vw,48px);display:flex;position:relative;overflow:hidden}.home-cal{pointer-events:none;z-index:1;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;align-items:baseline;gap:24px;display:flex;position:absolute;inset:24px clamp(20px,4vw,48px) auto}.home-cal-resto{color:var(--ink);letter-spacing:.14em;font-size:clamp(13px,1.1vw,15px);font-weight:600}.home-cal-meta{align-items:baseline;gap:18px;display:inline-flex}.home-cal-weekday{color:var(--ink);font-size:clamp(13px,1.1vw,15px);font-weight:600}.home-cal-time{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:clamp(13px,1.1vw,15px)}.home-cal-date{font-family:var(--font-display);letter-spacing:-.05em;color:var(--cobalt);opacity:.1;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;z-index:0;font-size:min(12vw,190px);font-weight:600;line-height:.82;position:absolute;bottom:clamp(4px,1vh,16px);left:clamp(8px,1.4vw,20px)}@media (width<=720px){.home-cal-date{font-size:11vw;bottom:8px;left:8px}}.home-stage{text-align:center;z-index:2;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex;position:relative}.home-octopus{-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;filter:drop-shadow(0 -6px 18px #2563eb2e);width:clamp(200px,22vw,340px);height:auto;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (width<=720px){.home-octopus{width:220px}}.home-greet{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.6em;font-size:clamp(40px,5.2vw,72px);font-weight:600;line-height:1;display:inline-flex}.home-greet-prefix{font-family:var(--font-hand);letter-spacing:0;color:var(--cobalt);white-space:nowrap;font-size:1.32em;font-weight:700;display:inline-block}.home-greet-char{opacity:0;filter:blur(.6px);transform-origin:50% 90%;animation:home-greet-stroke .34s cubic-bezier(.22, .9, .34, 1.02) calc(55ms * var(--i)) forwards;display:inline-block;transform:translateY(.08em)translate(-.05em)rotate(-3deg)scale(.92)}@keyframes home-greet-stroke{to{opacity:1;filter:blur();transform:translateY(0)translate(0)rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.home-greet-char{opacity:1;filter:none;animation:none;transform:none}}.home-cta-big{border-radius:var(--radius-pill);background:var(--cobalt);color:#fff;font-family:var(--font-sans);letter-spacing:-.005em;isolation:isolate;transition:transform .22s var(--ease-spring), background .2s var(--ease-out), box-shadow .2s var(--ease-out);justify-content:center;align-items:center;padding:20px 48px;font-size:20px;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,0 18px 44px #a88a4552}.home-cta-big:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 30%,#fff8dc8c 50%,#0000 70%);width:60%;height:100%;position:absolute;top:0;left:0;transform:translate(-180%)skew(-18deg)}.home-cta-big:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff59,0 24px 56px #a88a456b}.home-cta-big:hover:before{animation:.85s cubic-bezier(.22,.9,.34,1) forwards home-cta-sheen}@keyframes home-cta-sheen{0%{transform:translate(-180%)skew(-18deg)}to{transform:translate(320%)skew(-18deg)}}@media (prefers-reduced-motion:reduce){.home-cta-big:before{display:none}}.home-cta-wrap{flex-direction:column;align-items:center;display:inline-flex;position:relative}.home-cta-gears{opacity:0;pointer-events:none;width:120px;height:48px;transition:opacity .35s var(--ease-out), transform .45s var(--ease-spring);z-index:0;position:absolute;bottom:-72px;left:50%;transform:translate(-50%)translateY(10px)}.home-cta-gear-a{fill:var(--calendia-blue);transform-box:fill-box;transform-origin:50%;animation:6s linear infinite paused home-gear-spin}.home-cta-gear-b{fill:var(--calendia-blue);transform-box:fill-box;transform-origin:50%;animation:4s linear infinite paused home-gear-spin-rev}.home-cta-wrap:hover .home-cta-gears,.home-cta-big:focus-visible~.home-cta-gears{opacity:.85;transform:translate(-50%)translateY(0)}.home-cta-wrap:hover .home-cta-gear-a,.home-cta-wrap:hover .home-cta-gear-b{animation-play-state:running}@keyframes home-gear-spin{to{transform:rotate(360deg)}}@keyframes home-gear-spin-rev{to{transform:rotate(-360deg)}}.home-cta-label{letter-spacing:-.005em;transition:letter-spacing .35s var(--ease-out);display:inline-block}.home-cta-big:hover .home-cta-label{letter-spacing:.025em}@media (prefers-reduced-motion:reduce){.home-cta-gears,.home-cta-label{transition:none;animation:none}.home-cta-gear-a,.home-cta-gear-b{animation:none}}.home-checklist{background:var(--paper-card);z-index:3;border:1.5px solid #1c231e1a;border-radius:16px;width:min(310px,100vw - 48px);padding:14px 16px 12px;position:absolute;bottom:clamp(16px,4vh,44px);right:clamp(16px,3vw,40px);box-shadow:0 18px 44px #141c1624}.home-checklist.is-done{border-color:#c9a96199}.home-checklist-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.home-checklist-title{font-family:var(--font-hand);color:var(--cobalt-deep);font-size:20px;font-weight:700}.home-checklist-close{appearance:none;width:26px;height:26px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:16px}.home-checklist-close:hover{color:var(--ink);background:#1c231e12}.home-checklist-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.home-checklist-item{appearance:none;width:100%;font-family:var(--font-sans);text-align:left;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:6px;font-size:13.5px;transition:background .15s;display:flex}.home-checklist-item:hover{background:#c9a9611f}.home-checklist-item.is-done{color:var(--ink-mute)}.home-checklist-mark{color:#0000;border:1.5px solid #1c231e33;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:12px;transition:background .2s,color .2s,border-color .2s;display:grid}.home-checklist-item.is-done .home-checklist-mark{background:var(--sage);border-color:var(--sage);color:#fff}@media (width<=720px){.home-checklist{width:100%;margin-top:20px;position:static}}.home-shortcuts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:min(680px,100%);margin-top:28px;display:grid}.home-shortcut{color:var(--ink);text-align:left;cursor:pointer;transition:transform .18s var(--ease-spring), border-color .18s var(--ease-out), background .18s var(--ease-out);background:#fff9;border:1.5px solid #1c231e1a;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.home-shortcut:hover{border-color:var(--cobalt);background:#ffffffd9;transform:translateY(-2px)}.home-shortcut-icon{width:36px;height:36px;color:var(--cobalt);background:#c9a96129;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.home-shortcut-text{flex-direction:column;min-width:0;display:flex}.home-shortcut-text strong{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:700}.home-shortcut-text em{font-style:normal;font-family:var(--font-sans);color:var(--ink-faint);font-size:12px;line-height:1.3}@media (width<=720px){.home-shortcuts{grid-template-columns:1fr}}.planning-grid{box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pg-week{flex-direction:column;gap:8px;min-width:0;padding:14px 16px 14px 4px;display:flex}.pg-week-head,.pg-week-row{grid-template-columns:220px repeat(7,minmax(0,1fr));align-items:stretch;gap:3px;display:grid}.pg-week-head{border-bottom:1px dashed var(--paper-line);margin-bottom:4px;padding-bottom:8px}.pg-week-corner{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:0 12px 0 8px;line-height:1.05;display:inline-flex}.pg-week-corner-count{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:600}.pg-week-corner-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-size:9.5px}.pg-day-head{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.pg-day-head.is-closed{opacity:.45}.pg-day-head.is-today{color:var(--cobalt-deep,var(--cobalt));position:relative}.pg-day-head.is-today .pg-day-short,.pg-day-head.is-today .pg-day-date{color:var(--cobalt-deep,var(--cobalt))}.pg-day-head.is-today .pg-day-date{background:var(--cobalt);color:#fff}.pg-day-short{color:var(--ink-faint);font-size:10px}.pg-day-date{color:var(--ink-soft);letter-spacing:0;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:600;line-height:1.2}.pg-week-rows{flex-direction:column;gap:6px;display:flex}.pg-week-row{border-radius:6px}.pg-week-row:hover{background:#c9a9610a}.pg-staff{align-items:center;gap:16px;min-width:0;padding:6px 12px 6px 4px;display:flex}.pg-avatar{width:40px;height:40px;color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;box-shadow:0 0 0 2px var(--avatar-ring,var(--cobalt));transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-out);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid;overflow:hidden}.pg-avatar-img{padding:0;box-shadow:none!important;background:0 0!important;overflow:visible!important}.pg-avatar-img img{object-fit:contain;object-position:50% 50%;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.7)}.pg-week-row:hover .pg-avatar{box-shadow:0 0 0 2px var(--avatar-ring,var(--cobalt)), 0 6px 18px #15281e29;transform:scale(1.22)}.pg-week-row:hover .pg-avatar-img{box-shadow:none;filter:drop-shadow(0 4px 8px #15281e26)}.pg-staff-info{flex-direction:column;gap:1px;min-width:0;display:flex}.pg-staff-info strong{color:var(--ink);align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.15;display:inline-flex}.pg-fill-pill{font-family:var(--font-mono);letter-spacing:.02em;border-radius:var(--radius-pill);white-space:nowrap;padding:1px 6px;font-size:9.5px;font-weight:600;line-height:1.4}.pg-fill-low{background:color-mix(in srgb, var(--ink-faint) 12%, transparent);color:var(--ink-mute)}.pg-fill-mid{background:var(--cobalt-soft);color:var(--cobalt-deep)}.pg-fill-ok{background:color-mix(in srgb, var(--sage) 18%, transparent);color:var(--sage)}.pg-fill-over{background:var(--bordeaux-soft);color:var(--bordeaux)}.pg-staff-info em{font-style:normal;font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;font-size:9.5px;display:flex}.pg-minor-pill{background:var(--bordeaux-soft);color:var(--bordeaux);border-radius:var(--radius-pill);letter-spacing:.08em;padding:1px 6px;font-size:8.5px}.pg-cell{background:var(--paper-warm);border-radius:5px;flex-direction:column;gap:4px;min-width:0;min-height:78px;padding:4px;display:flex}.pg-cell-off{border:1px dashed color-mix(in srgb, var(--ink-faint) 18%, transparent);background:0 0}.pg-cell-off-labeled{border-color:color-mix(in srgb, var(--cobalt) 30%, transparent);background:color-mix(in srgb, var(--cobalt) 4%, transparent);justify-content:center;align-items:center}.pg-off-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);font-size:9.5px;font-weight:600}.pg-cell:not(.pg-cell-off):hover{background:color-mix(in srgb, var(--cobalt) 6%, var(--paper-warm))}.pg-shift{border-left:3px solid var(--cobalt);font-family:var(--font-sans);min-width:0;transition:transform .2s var(--ease-spring), box-shadow .2s var(--ease-out), filter .2s var(--ease-out);cursor:pointer;text-align:left;color:inherit;border-radius:4px;flex:1;grid-template-columns:1fr auto;align-items:center;gap:3px 6px;padding:5px 7px 5px 8px;display:grid;position:relative}.pg-shift:hover{filter:brightness(1.04);z-index:2;transform:translateY(-1px)scale(1.015);box-shadow:0 4px 14px #15281e1f,0 1px 3px #15281e14}.pg-shift-time{font-family:var(--font-mono);color:var(--ink);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;grid-area:1/1/2/2;font-size:10.5px;font-weight:600;overflow:hidden}.pg-shift-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:var(--radius-pill);white-space:nowrap;grid-area:1/2/2/3;justify-self:end;padding:1px 5px;font-size:8.5px;font-weight:600}.pg-shift-coupure{font-family:var(--font-mono);color:var(--cobalt-deep,var(--cobalt));background:var(--cobalt-soft);border-radius:var(--radius-pill);letter-spacing:.02em;grid-area:2/1/3/-1;justify-self:start;padding:0 5px;font-size:11px;font-weight:700;line-height:1.4}.pg-shift-coupure:after{content:" coupure";letter-spacing:.08em;text-transform:uppercase;font-size:8.5px;font-weight:600}.pg-week-row-open{background:color-mix(in srgb, var(--cobalt) 5%, transparent);border:1px dashed color-mix(in srgb, var(--cobalt) 25%, transparent);padding:2px 0}.pg-week-row-open:hover{background:color-mix(in srgb, var(--cobalt) 9%, transparent)}.pg-staff-open{gap:12px}.pg-open-icon{border:2px dashed var(--cobalt);width:40px;height:40px;color:var(--cobalt-deep,var(--cobalt));border-radius:50%;flex-shrink:0;place-items:center;font-size:18px;display:grid}.pg-shift-flag{background:var(--bordeaux);color:#fff;font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);white-space:nowrap;text-overflow:ellipsis;grid-area:2/1/3/-1;justify-self:start;align-items:center;max-width:100%;padding:1px 6px;font-size:8.5px;font-weight:600;display:inline-flex;overflow:hidden}.pg-shift.is-flagged{animation:pg-pulse 1.6s var(--ease-out) infinite}.pg-shift.is-dragging{cursor:grabbing;filter:brightness(1.05);z-index:5;box-shadow:0 14px 36px #15281e38,0 2px 6px #15281e29}.pg-shift.is-highlight{z-index:6;box-shadow:0 0 0 2px var(--cobalt), 0 0 0 6px #c9a96147, 0 12px 30px #15281e2e;outline:none}.pg-cell.is-drop-target{background:color-mix(in srgb, var(--cobalt) 18%, var(--paper-warm));box-shadow:inset 0 0 0 2px var(--cobalt)}.pg-cell-absent{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--bordeaux) 8%, var(--paper-warm)), color-mix(in srgb, var(--bordeaux) 8%, var(--paper-warm)) 6px, color-mix(in srgb, var(--bordeaux) 18%, transparent) 6px, color-mix(in srgb, var(--bordeaux) 18%, transparent) 12px);border:1px dashed color-mix(in srgb, var(--bordeaux) 32%, transparent);justify-content:center;align-items:center}.pg-absent-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bordeaux);font-size:9.5px;font-weight:600}@keyframes pg-pulse{0%,to{box-shadow:0 0 #6e222700}50%{box-shadow:0 0 0 3px #6e22272e}}@media (width<=1100px){.pg-week-head,.pg-week-row{grid-template-columns:170px repeat(7,minmax(0,1fr))}}@media (width<=860px){.pg-week-head,.pg-week-row{grid-template-columns:140px repeat(7,minmax(0,1fr));gap:2px}.pg-avatar{width:32px;height:32px;font-size:11.5px}.pg-cell{min-height:58px}}@media (prefers-reduced-motion:reduce){.pg-shift,.pg-avatar{transition:none;animation:none}.pg-shift:hover{transform:none}.pg-shift.is-flagged{animation:none;box-shadow:0 0 0 2px #6e222740}}.cd-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#15281e2e;border:0;padding:0;position:fixed;inset:0}.constraint-drawer{background:var(--paper-card);border-left:1px solid var(--paper-line);z-index:50;flex-direction:column;width:min(420px,100vw);height:100vh;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-22px 0 60px #15281e29}.cd-head{border-bottom:1px solid var(--paper-line);background:var(--paper-warm);padding:22px 24px 18px;position:relative}.cd-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--cobalt);margin-bottom:4px;font-size:11px}.cd-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1.1}.cd-title-suffix{color:var(--ink-mute);font-size:18px;font-weight:400}.cd-sub{flex-wrap:wrap;gap:6px;margin-top:10px;display:inline-flex}.cd-pill{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;display:inline-flex}.cd-pill:before{content:"";border-radius:50%;width:5px;height:5px}.cd-pill-error{background:var(--bordeaux-soft);color:var(--bordeaux)}.cd-pill-error:before{background:var(--bordeaux)}.cd-pill-warn{background:var(--cobalt-soft);color:var(--cobalt-deep)}.cd-pill-warn:before{background:var(--cobalt)}.cd-pill-ok{color:var(--sage);background:#6b7e5a2e}.cd-pill-ok:before{background:var(--sage)}.cd-close{width:28px;height:28px;color:var(--ink-mute);transition:background .15s var(--ease-out);background:#15281e0f;border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;top:16px;right:16px}.cd-close:hover{color:var(--ink);background:#15281e1f}.cd-list{flex-direction:column;flex:1;gap:12px;padding:16px 18px 22px;display:flex;overflow-y:auto}.cd-item{background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:14px 14px 12px;display:flex}.cd-item-error{border-left:3px solid var(--bordeaux)}.cd-item-warning{border-left:3px solid var(--cobalt)}.cd-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cd-item-rule{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:600}.cd-item-sev{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);border-radius:var(--radius-pill);background:#15281e0f;padding:2px 7px;font-size:9.5px}.cd-item-emp{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-mute);text-transform:uppercase;font-size:10.5px}.cd-item-text{color:var(--ink-soft);font-size:13.5px;line-height:1.55}.cd-item-actions{gap:8px;margin-top:4px;display:inline-flex}.cd-btn{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);transition:background .15s var(--ease-out), border-color .15s var(--ease-out);border:1px solid #0000;padding:7px 11px;font-size:11px}.cd-btn-primary{background:var(--ink);color:var(--paper)}.cd-btn-primary:disabled{opacity:.4;cursor:not-allowed}.cd-btn-ghost{color:var(--ink-mute);border-color:var(--paper-line-strong);background:0 0}.cd-btn-ghost:disabled{opacity:.45;cursor:not-allowed}.cd-empty{text-align:center;color:var(--ink-faint);padding:30px 6px;font-style:italic}.cd-foot{background:var(--paper-warm);border-top:1px solid var(--paper-line);font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-mute);padding:12px 18px;font-size:10.5px;line-height:1.5}@media (width<=600px){.constraint-drawer{width:100vw}}@media (prefers-reduced-motion:reduce){.constraint-drawer{transition:none}}.optimize-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:80;background:#f4efe3eb;place-items:center;display:grid;position:fixed;inset:0}.op-stage{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-lg);width:min(560px,92vw);box-shadow:var(--shadow-paper);text-align:center;padding:38px 44px}.op-header{flex-direction:column;align-items:center;gap:8px;display:flex}.op-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);font-size:10.5px}.op-title{font-family:var(--font-hand);color:var(--ink);letter-spacing:0;font-size:38px;line-height:1}.op-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-mute);text-transform:uppercase;font-size:11px}.op-counters{grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;display:grid}.op-counter{background:var(--paper-warm);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.op-counter-val{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.op-counter-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:10px}.op-done-stage{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:80px;margin-top:24px;display:flex}.op-done-check{background:var(--sage);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 6px 18px #6b7e5a52}.op-done-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sage);font-size:11px}@media (prefers-reduced-motion:reduce){.optimize-overlay{transition:none}}.roi-ticket{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);width:320px;box-shadow:var(--shadow-paper);z-index:70;font-family:var(--font-sans);transform-origin:100% 100%;background-image:linear-gradient(#0000 0 100%),repeating-linear-gradient(0deg,#5c380d06 0 1px,#0000 1px 3px);padding:18px 22px 16px;position:fixed;bottom:24px;right:24px}.roi-ticket:before,.roi-ticket:after{content:"";background:var(--paper);border-radius:50%;width:16px;height:16px;position:absolute;bottom:-8px;box-shadow:inset 0 1px 2px #15281e14}.roi-ticket:before{left:-8px}.roi-ticket:after{right:-8px}.roi-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-mute);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:9.5px;display:flex}.roi-stub{color:var(--cobalt);font-weight:600}.roi-title{font-family:var(--font-hand);color:var(--ink);letter-spacing:0;margin-bottom:10px;font-size:30px;line-height:1}.roi-lines{border-top:1px dashed var(--paper-line-strong);border-bottom:1px dashed var(--paper-line-strong);padding:0;flex-direction:column;gap:8px;margin:0 0 10px;padding-block:12px;list-style:none;display:flex}.roi-lines li{align-items:baseline;gap:8px;display:flex}.roi-lines strong{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:88px;font-size:22px;font-weight:600}.roi-lines span{color:var(--ink-soft);font-size:12.5px}.roi-foot{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);justify-content:space-between;align-items:center;font-size:10px;display:flex}.roi-dismiss{width:24px;height:24px;color:var(--ink-mute);background:#15281e0f;border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid}.roi-dismiss:hover{color:var(--ink);background:#15281e1f}@media (width<=600px){.roi-ticket{width:auto;left:16px;right:16px}}.shift-modal-root{z-index:95;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.shift-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;animation:shift-fade-in .22s var(--ease-out);background:#15281e73;border:0;padding:0;position:absolute;inset:0}.shift-modal{background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius-lg);width:min(620px,100%);box-shadow:var(--shadow-lg);max-height:calc(100vh - 40px);animation:shift-pop-in .32s var(--ease-spring);flex-direction:column;gap:18px;padding:22px 26px 18px;display:flex;position:relative;overflow-y:auto}@keyframes shift-fade-in{0%{opacity:0}to{opacity:1}}@keyframes shift-pop-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.shift-modal-head{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.shift-modal-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:600}.shift-modal-close{width:30px;height:30px;color:var(--ink-mute);transition:background .15s var(--ease-out);background:#15281e0f;border-radius:50%;place-items:center;font-size:20px;line-height:1;display:grid}.shift-modal-close:hover{color:var(--ink);background:#15281e24}.shift-form{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.shift-field{flex-direction:column;gap:6px;min-width:0;display:flex}.shift-field-wide{grid-column:span 2}.shift-field-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px}.shift-field-meta{color:var(--ink-mute);margin-top:2px;font-size:12px}.shift-field-meta .is-over{color:var(--bordeaux)}.shift-field-meta .is-under{color:var(--cobalt-deep,var(--cobalt))}.shift-input{font:inherit;font-family:var(--font-body);color:var(--ink);background:var(--paper-card);border:1px solid var(--paper-line-strong);border-radius:var(--radius-sm);width:100%;transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);padding:9px 12px;font-size:14px}.shift-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-soft);outline:none}.shift-textarea{resize:vertical;min-height:56px;font-family:var(--font-body)}.shift-violations{border-radius:var(--radius-md);background:var(--paper-card);border:1px solid var(--paper-line);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.shift-violations.has-conflicts{background:#7c3a4d0f;border-color:#7c3a4d40}.shift-violations-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bordeaux);font-size:10.5px}.shift-violations-error{color:var(--bordeaux);font-size:13px}.shift-violations-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.shift-violation{border-radius:var(--radius-sm);border-left:3px solid var(--bordeaux);background:var(--paper);flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;line-height:1.4;display:flex}.shift-violation-soft{border-left-color:var(--cobalt)}.shift-violation strong{font-family:var(--font-display);color:var(--ink);font-size:13px}.shift-violation span{color:var(--ink-mute)}.shift-modal-foot{border-top:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.shift-modal-foot-right{align-items:center;gap:8px;margin-left:auto;display:flex}.shift-btn{font-family:var(--font-sans);border-radius:var(--radius-pill);letter-spacing:-.005em;transition:transform .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out);cursor:pointer;padding:9px 18px;font-size:14px;font-weight:600}.shift-btn-primary{background:var(--cobalt);color:var(--green-darker);box-shadow:0 1px 0 #fff6 inset, 0 6px 18px var(--cobalt-soft)}.shift-btn-primary:hover{background:var(--cobalt-deep,var(--cobalt));color:#fff;transform:translateY(-1px)}.shift-btn-ghost{color:var(--ink-mute);border:1px solid var(--paper-line-strong);background:0 0}.shift-btn-ghost:hover{color:var(--ink);border-color:var(--ink-mute)}.shift-btn-delete{color:var(--bordeaux);background:0 0;border:1px solid #7c3a4d59}.shift-btn-delete:hover{border-color:var(--bordeaux);background:#7c3a4d14}.shift-btn-link{color:var(--ink-mute);text-underline-offset:3px;background:0 0;border:0;padding:9px 10px;font-size:13px;text-decoration:underline}.shift-btn-link:hover{color:var(--ink)}@media (width<=520px){.shift-form{grid-template-columns:1fr}.shift-field-wide{grid-column:span 1}}@media (prefers-reduced-motion:reduce){.shift-modal-backdrop,.shift-modal{animation:none}}.iw-root{z-index:120;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.iw-backdrop{-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#1c231e80;border:0;position:absolute;inset:0}.iw-modal{background:var(--paper);z-index:1;border-radius:18px;flex-direction:column;gap:14px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:22px 26px;display:flex;position:relative;overflow:auto;box-shadow:0 30px 70px #141c164d}.iw-head{justify-content:space-between;align-items:center;display:flex}.iw-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:21px;font-weight:600}.iw-close{appearance:none;width:30px;height:30px;color:var(--ink-mute);cursor:pointer;background:#1c231e0f;border:0;border-radius:50%;font-size:17px}.iw-lead{color:var(--ink-mute);margin:0;font-size:14px;line-height:1.5}.iw-drop{cursor:pointer;text-align:center;background:#c9a9610d;border:2px dashed #4c5f7866;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:40px 20px;transition:border-color .15s,background .15s;display:flex;position:relative}.iw-drop.is-drag{border-color:var(--cobalt);background:#c9a9611f}.iw-file{opacity:0;cursor:pointer;position:absolute;inset:0}.iw-drop-icon{color:var(--cobalt);font-size:30px}.iw-drop-main{color:var(--ink);font-weight:600}.iw-drop-sub{color:var(--ink-mute);font-size:12.5px}.iw-working{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:44px 20px;display:flex}.iw-spinner{border:3px solid #4c5f7833;border-top-color:var(--cobalt);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite iw-spin}@keyframes iw-spin{to{transform:rotate(360deg)}}.iw-working-label{color:var(--ink);margin:0;font-weight:600}.iw-working-sub{color:var(--ink-mute);margin:0;font-size:12.5px}.iw-error{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:30px 20px;display:flex}.iw-error-msg{color:var(--bordeaux);margin:0;font-weight:500}.iw-layout{color:var(--ink-mute);margin:0;font-size:13px;font-style:italic;line-height:1.5}.iw-counts{color:var(--ink);margin:0;font-size:14px}.iw-gate{color:var(--bordeaux);background:#9b2c3c14;border:1px solid #9b2c3c40;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45}.iw-table{border:1px solid #1c231e1a;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.iw-tr{border-top:1px solid #1c231e12;grid-template-columns:1.6fr 1.2fr .9fr 1fr;align-items:center;gap:8px;padding:9px 12px;font-size:13.5px;display:grid}.iw-tr:first-child{border-top:0}.iw-th{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.02em;background:#1c231e0a;font-size:12px;font-weight:600}.iw-tr.needs{background:#f59e0b14}.iw-emp-name{color:var(--ink);align-items:center;gap:6px;font-weight:600;display:flex}.iw-tag-known{background:var(--sage);color:#fff;border-radius:6px;padding:1px 5px;font-size:10px;font-style:normal}.iw-emp-roles{color:var(--ink-mute);font-size:12.5px}.iw-hours{border:1px solid #1c231e26;border-radius:8px;width:56px;padding:4px 7px;font-size:13px}.iw-minor{gap:4px;display:inline-flex}.iw-seg{appearance:none;background:var(--paper);cursor:pointer;color:var(--ink-mute);border:1px solid #1c231e26;border-radius:8px;padding:4px 10px;font-size:12.5px}.iw-seg.on{background:var(--sage);border-color:var(--sage);color:#fff;font-weight:600}.iw-seg.on.warn{background:var(--bordeaux);border-color:var(--bordeaux)}.iw-missing,.iw-orphans,.iw-warnings{color:var(--ink-mute);font-size:13px}.iw-missing summary,.iw-orphans summary,.iw-warnings summary{cursor:pointer;color:var(--ink);font-weight:500}.iw-missing ul,.iw-orphans ul,.iw-warnings ul{margin:8px 0 0;padding-left:18px;line-height:1.5}.iw-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.iw-actions .btn-primary-cal:disabled{opacity:.5;cursor:not-allowed}.wc{align-items:center;gap:10px;display:inline-flex}.wc-view-switch{border-radius:var(--radius-pill);background:#15281e0f;padding:3px;display:inline-flex}.wc-view-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);border-radius:var(--radius-pill);transition:background .15s var(--ease-out), color .15s var(--ease-out);padding:4px 11px;font-size:9.5px}.wc-view-btn.is-active{background:var(--paper-card);color:var(--ink);box-shadow:var(--shadow-sm)}.wc-view-btn:not(.is-active):hover{color:var(--ink)}.wc-date-nav{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:0;font-size:12px;display:inline-flex}.wc-date-arrow{width:26px;height:26px;color:var(--ink-mute);transition:background .15s var(--ease-out), color .15s var(--ease-out);border-radius:50%;place-items:center;font-size:16px;display:grid}.wc-date-arrow:hover{color:var(--ink);background:#15281e0f}.wc-cal-wrap{position:relative}.wc-date-label{border-radius:var(--radius-pill);width:200px;font-family:var(--font-mono);color:var(--ink);letter-spacing:.02em;text-align:center;text-transform:lowercase;white-space:nowrap;text-overflow:ellipsis;transition:background .15s var(--ease-out);background:0 0;padding:6px 0;font-size:12px;overflow:hidden}.wc-date-label:first-letter{text-transform:uppercase}.wc-date-label:hover,.wc-date-label.is-open{background:#15281e0f}.wc-cal{z-index:60;background:var(--green-darker);color:#f4efe3;border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-lg);animation:wc-cal-in .18s var(--ease-out);padding:18px 18px 16px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes wc-cal-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.wc-cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.wc-cal-arrow{color:#f4efe3b3;width:28px;height:28px;transition:background .15s var(--ease-out), color .15s var(--ease-out);border-radius:50%;place-items:center;font-size:18px;display:grid}.wc-cal-arrow:hover{color:#f4efe3;background:#ffffff14}.wc-cal-month{font-family:var(--font-display);letter-spacing:-.01em;text-transform:lowercase;font-size:17px;font-weight:500}.wc-cal-month:first-letter{text-transform:uppercase}.wc-cal-dow{font-family:var(--font-body);color:#f4efe38c;text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px;font-size:11.5px;font-weight:600;display:grid}.wc-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.wc-cal-cell{aspect-ratio:1;font-family:var(--font-body);color:#f4efe3;transition:background .12s var(--ease-out), color .12s var(--ease-out);background:0 0;border-radius:50%;place-items:center;font-size:14px;font-weight:500;display:grid}.wc-cal-cell:hover{background:#ffffff14}.wc-cal-cell.is-out{color:#f4efe347}.wc-cal-cell.is-sel{background:var(--bordeaux);color:#fff}.route-planning{flex-direction:column;flex:1;max-width:none;min-height:calc(100vh - 72px);padding:16px clamp(16px,3vw,32px) 24px;display:flex}.planning-meta{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.planning-meta-left{align-items:center;gap:18px;display:inline-flex}.planning-resto{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:12px}.planning-bell{width:38px;height:38px;color:var(--ink-soft);border:1px solid var(--paper-line-strong);transition:background .15s var(--ease-out), color .15s var(--ease-out), border-color .15s var(--ease-out);background:0 0;border-radius:50%;place-items:center;display:grid;position:relative}.planning-bell:hover{background:var(--paper-warm);color:var(--ink);border-color:var(--ink-mute)}.planning-bell.has-soft{color:var(--cobalt-deep);border-color:var(--cobalt)}.planning-bell.has-hard{color:var(--bordeaux);border-color:var(--bordeaux)}.planning-bell-count{background:var(--bordeaux);color:#fff;min-width:18px;height:18px;font-family:var(--font-mono);box-shadow:0 0 0 2px var(--surface-app);border-radius:9px;place-items:center;padding:0 5px;font-size:10px;font-weight:600;display:grid;position:absolute;top:-4px;right:-4px}.planning-bell.has-soft .planning-bell-count{background:var(--cobalt-deep)}.planning-hint{font-family:var(--font-sans);color:var(--ink-soft);background:#c9a9611f;border:1px solid #c9a96166;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 16px;font-size:13.5px;display:flex}.planning-infeasible{border:1px solid #8c263359;border-left:4px solid var(--bordeaux,#8c2633);font-family:var(--font-sans);color:var(--ink-soft);background:#8c263314;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding:14px 18px;font-size:13.5px;display:flex}.planning-infeasible-body{flex-direction:column;gap:8px;display:flex}.planning-infeasible-body p{margin:0;line-height:1.5}.planning-infeasible-title{color:var(--bordeaux,#8c2633);font-size:14.5px;font-weight:600}.planning-confirm{border:1px solid #c9a96173;border-left:4px solid var(--cobalt,#c9a961);font-family:var(--font-sans);color:var(--ink-soft);background:#c9a9611a;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px 18px;font-size:13.5px;display:flex}.planning-confirm-body{flex-direction:column;flex:320px;gap:6px;display:flex}.planning-confirm-body p{margin:0;line-height:1.5}.planning-confirm-title{color:var(--ink);font-size:14.5px;font-weight:600}.planning-confirm-actions{flex-shrink:0;gap:10px;display:flex}.planning-hint-close{appearance:none;width:26px;height:26px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;font-size:16px}.planning-hint-close:hover{color:var(--ink);background:#1c231e14}.planning-empty{font-family:var(--font-sans);color:var(--ink-mute);background:#ffffff73;border:1px dashed #1c231e2e;border-radius:16px;flex-direction:column;align-items:center;gap:14px;margin-bottom:12px;padding:36px 24px;font-size:14.5px;display:flex}.planning-import-btn{appearance:none;font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;background:0 0;border:1.5px dashed #1c231e33;border-radius:999px;padding:5px 13px;font-size:12.5px;transition:border-color .15s,color .15s}.planning-import-btn:hover{border-color:var(--cobalt);color:var(--cobalt-deep)}.planning-import-btn:not(.planning-import-btn--ghost){border-style:solid;border-color:var(--cobalt);color:var(--cobalt-deep);background:#c9a9611a}.planning-empty-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.avg-root{flex-direction:column;gap:8px;display:flex}.avg-grid{align-items:center;gap:5px;display:grid}.avg-day{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--ink-mute);padding:2px 0;font-size:10.5px}.avg-day.is-closed{color:var(--ink-faint);text-decoration:line-through}.avg-part{font-family:var(--font-sans);color:var(--ink-soft);padding-right:6px;font-size:12.5px;font-weight:600}.avg-cell{appearance:none;cursor:pointer;min-height:34px;font-family:var(--font-mono);color:#0000;touch-action:none;background:#fff;border:1.5px solid #1c231e1f;border-radius:9px;font-size:13px;transition:background .15s,border-color .15s}.avg-cell:hover:not(:disabled){border-color:#c9a9618c}.avg-cell.is-hard{background:repeating-linear-gradient(-45deg, var(--bordeaux), var(--bordeaux) 4px, #7d3038 4px, #7d3038 8px);border-color:var(--bordeaux);color:#fff}.avg-cell.is-soft{border-color:var(--cobalt);color:var(--cobalt-deep);background:#c9a9614d}.avg-cell.is-day-closed{cursor:not-allowed;background:#1c231e0d;border-color:#0000}.avg-legend{font-family:var(--font-sans);color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.avg-swatch{border-radius:4px;width:14px;height:14px;margin-left:10px;display:inline-block}.avg-swatch:first-child{margin-left:0}.avg-swatch-free{background:#fff;border:1.5px solid #1c231e29}.avg-swatch-hard{background:var(--bordeaux)}.avg-swatch-soft{border:1.5px solid var(--cobalt);background:#c9a96173}.emp-modal-root{z-index:110;justify-content:center;align-items:center;padding:clamp(12px,3vw,32px);display:flex;position:fixed;inset:0}.emp-modal-backdrop{-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#1c231e80;border:0;position:absolute;inset:0}.emp-modal{background:var(--paper);border-radius:18px;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 64px #141c1652}.emp-modal-head{border-bottom:1px solid #1c231e14;justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.emp-modal-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:22px;font-weight:600}.emp-modal-close{appearance:none;cursor:pointer;width:32px;height:32px;color:var(--ink);background:#1c231e0f;border:0;border-radius:50%;font-size:18px}.emp-modal-body{flex:1;padding:20px 22px;overflow:auto}.emp-row{grid-template-columns:2fr 1fr 1fr;align-items:end;gap:12px;margin-bottom:16px;display:grid}.emp-row-name{grid-template-columns:minmax(180px,280px);justify-content:start}.emp-row-identity{align-items:flex-end;gap:14px;margin-bottom:16px;display:flex;position:relative}.emp-row-identity .emp-field{flex:1;max-width:280px}.emp-row-meta{grid-template-columns:64px minmax(160px,1.6fr) 1fr 1fr;align-items:end}.emp-field{flex-direction:column;gap:6px;display:flex}.emp-field>span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:11.5px}.emp-field-small input[type=checkbox]{width:22px;height:22px;accent-color:var(--cobalt);margin-top:6px}.emp-input,.emp-select{appearance:none;font-family:var(--font-sans);color:var(--ink);box-sizing:border-box;background:#fff;border:1.5px solid #1c231e24;border-radius:10px;width:100%;height:40px;padding:0 12px;font-size:14px}.emp-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.5' stroke-linecap='round'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:28px}.emp-switch-wrap{align-items:center;height:40px;display:flex}.emp-role-select .rms-trigger{border-width:1.5px;border-radius:10px;height:40px;padding:0 12px;font-size:14px}.emp-switch{appearance:none;cursor:pointer;width:44px;height:24px;transition:background .18s var(--ease-out);background:#1c231e2e;border:0;border-radius:999px;padding:0;position:relative}.emp-switch.is-on{background:var(--cobalt)}.emp-switch-thumb{width:20px;height:20px;transition:transform .18s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.emp-switch.is-on .emp-switch-thumb{transform:translate(20px)}.emp-switch:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.emp-input:focus,.emp-select:focus{border-color:var(--cobalt);outline:none}.emp-availability{border-top:1px dashed #1c231e1f;margin-top:20px;padding-top:18px}.emp-availability-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.emp-availability-head>span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:11.5px}.emp-availability-empty{font-family:var(--font-sans);color:var(--ink-faint);margin:6px 0 0;font-size:13px}.emp-availability-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.emp-availability-item{grid-template-columns:1fr 80px auto 80px 1fr auto auto;align-items:center;gap:6px;display:grid}.emp-availability-item>span[aria-hidden=true]{color:var(--ink-mute);text-align:center;font-size:12px}.emp-availability-hard{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-mute);align-items:center;gap:4px;font-size:11px;display:inline-flex}.emp-availability-hard input{accent-color:var(--cobalt)}.emp-btn-icon{appearance:none;width:30px;height:30px;color:var(--ink-mute);cursor:pointer;background:#1c231e0f;border:0;border-radius:50%;font-size:14px}.emp-btn-icon:hover{color:var(--bordeaux);background:#b43c3c2e}.emp-modal-foot{background:#fff6;border-top:1px solid #1c231e14;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px 18px;display:flex}.emp-modal-actions{gap:10px;margin-left:auto;display:inline-flex}.emp-btn-ghost{appearance:none;font-family:var(--font-sans);color:var(--ink);cursor:pointer;background:#1c231e0f;border:0;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:500}.emp-btn-ghost:hover{background:#1c231e1f}.emp-btn-primary{appearance:none;background:var(--cobalt);color:#fff;font-family:var(--font-sans);cursor:pointer;border:0;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;box-shadow:0 10px 26px #a88a4552}.emp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.emp-btn-delete{color:var(--bordeaux)}.emp-btn-delete:hover{background:#b43c3c29}.emp-btn-danger{appearance:none;background:var(--bordeaux);color:#fff;font-family:var(--font-sans);cursor:pointer;border:0;border-radius:999px;padding:8px 14px;font-size:13px}.emp-confirm{font-family:var(--font-sans);color:var(--ink);align-items:center;gap:10px;font-size:13px;display:inline-flex}@media (width<=720px){.emp-row,.emp-row:first-of-type,.emp-availability-item{grid-template-columns:1fr}}.emp-prefs{border-top:1px dashed #1c231e1f;flex-direction:column;gap:10px;margin-top:18px;padding-top:18px;display:flex}.emp-prefs-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.emp-prefs-head>span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:11.5px}.emp-prefs-hint{font-family:var(--font-sans);color:var(--ink-faint);font-size:12px;font-style:italic}.emp-prefs-empty{font-family:var(--font-sans);color:var(--ink-faint);margin:0;font-size:13px}.emp-prefs-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.emp-prefs-item{background:#fff;border:1px solid #1c231e1f;border-radius:10px;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.emp-prefs-rank{width:24px;height:24px;color:var(--cobalt-deep);font-family:var(--font-sans);font-variant-numeric:tabular-nums;background:#c9a9612e;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.emp-prefs-label{font-family:var(--font-sans);color:var(--ink);font-size:14px}.emp-prefs-step{border:1px solid #1c231e1f;border-radius:999px;display:inline-flex;overflow:hidden}.emp-prefs-step button{appearance:none;width:26px;height:26px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;font-size:14px}.emp-prefs-step button:hover{color:var(--ink);background:#c9a9612e}.emp-prefs-step button+button{border-left:1px solid #1c231e1f}.emp-prefs-actions{gap:4px;display:inline-flex}.emp-prefs-icon{appearance:none;width:26px;height:26px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:13px}.emp-prefs-icon:hover:not(:disabled){color:var(--ink);background:#1c231e14}.emp-prefs-icon:disabled{opacity:.3;cursor:not-allowed}.emp-prefs-remove:hover:not(:disabled){color:var(--bordeaux);background:#b43c3c26}.emp-prefs-add{flex-direction:column;gap:8px;display:flex}.emp-prefs-add-btn{appearance:none;color:var(--cobalt-deep);font-family:var(--font-sans);cursor:pointer;background:#c9a9610f;border:1.5px dashed #c9a9618c;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.emp-prefs-add-btn:hover:not(:disabled){border-color:var(--cobalt);background:#c9a96124}.emp-prefs-add-btn:disabled{opacity:.4;cursor:not-allowed}.emp-prefs-add-btn span[aria-hidden]{font-size:16px;line-height:1}.emp-prefs-picker{background:#ffffffb3;border:1px solid #1c231e1a;border-radius:12px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.emp-prefs-picker-item{appearance:none;color:var(--ink);font-family:var(--font-sans);cursor:pointer;background:#fff;border:1px solid #1c231e24;border-radius:999px;padding:7px 12px;font-size:13px}.emp-prefs-picker-item:hover{border-color:var(--cobalt);background:#c9a96126}.emp-prefs-picker-cancel{appearance:none;color:var(--ink-mute);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:12px}.emp-prefs-picker-cancel:hover{color:var(--ink)}.emp-availability-advanced{margin-top:10px}.emp-availability-advanced summary{font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.emp-availability-advanced summary:hover{color:var(--ink)}.emp-availability-advanced-body{flex-direction:column;align-items:flex-start;gap:10px;padding-top:10px;display:flex}.emp-avatar-picker{flex-direction:column;gap:8px;display:flex}.emp-avatar-picker-top{align-items:center;margin:-4px 0 18px}.emp-avatar-picker-inline{animation:emp-pop-in .18s var(--ease-out);background:#fff;border:1px solid #1c231e1a;border-radius:14px;margin:-8px 0 18px;padding:12px 14px;position:relative;box-shadow:0 8px 24px #141c1614}.emp-avatar-picker-inline:before{content:"";background:#fff;border-top:1px solid #1c231e1a;border-left:1px solid #1c231e1a;width:12px;height:12px;position:absolute;top:-6px;left:26px;transform:rotate(45deg)}@keyframes emp-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.emp-avatar-trigger{border:2px solid var(--cobalt);width:48px;height:48px;margin-bottom:0;position:relative;box-shadow:0 0 0 3px #c9a96138}.emp-avatar-trigger:after{content:"";background:var(--cobalt) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 16 16'><path d='M3 6l5 5 5-5' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 10px no-repeat;border:2px solid var(--paper);width:18px;height:18px;transition:transform .18s var(--ease-out);border-radius:50%;position:absolute;bottom:-4px;right:-4px}.emp-avatar-trigger.is-open:after{transform:rotate(180deg)}.emp-avatar-trigger:hover{transform:scale(1.04)}.emp-avatar-label{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:12px}.emp-avatar-grid{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}.emp-avatar-tile{background:var(--paper-warm);cursor:pointer;width:48px;height:48px;transition:transform .18s var(--ease-spring), border-color .18s var(--ease-out);border:2px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid;overflow:visible}.emp-avatar-tile img{clip-path:circle(50%)}.emp-avatar-tile:hover{transform:scale(1.06)}.emp-avatar-tile.is-active{border-color:var(--cobalt);box-shadow:0 0 0 3px #c9a96138}.emp-avatar-tile img{object-fit:contain;transform-origin:50%;pointer-events:none;width:100%;height:100%;display:block;transform:scale(1.6)}.emp-avatar-tile-none{background:0 0;border:2px dashed #1c231e38}.emp-avatar-tile-none.is-active{border-style:solid;border-color:var(--cobalt);background:#c9a9611a}.emp-avatar-initials{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);font-size:14px;font-weight:700}.route-team{max-width:none}.team-filters{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-pill);padding:3px;display:inline-flex}.team-filter{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);border-radius:var(--radius-pill);padding:6px 14px;font-size:11px}.team-filter.is-active{background:var(--cobalt);color:#fff}.team-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:24px;display:grid}.team-card{background:var(--paper-card);border:1.5px solid var(--card-stripe,var(--cobalt));border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease-out), transform .2s var(--ease-out), border-color .2s var(--ease-out);flex-direction:column;gap:10px;padding:16px 16px 14px;display:flex}.team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.team-card-head{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;display:grid}.team-card-avatar{width:40px;height:40px;color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;box-shadow:0 0 0 2px var(--card-stripe,var(--cobalt));transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-out);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid;overflow:hidden}.team-card-avatar-img{box-shadow:none!important;background:0 0!important;overflow:visible!important}.team-card-avatar-img img{object-fit:contain;object-position:50% 50%;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.7)}.team-card:hover .team-card-avatar{box-shadow:0 0 0 2px var(--card-stripe,var(--cobalt)), 0 6px 18px #15281e29;transform:scale(1.08)}.team-card:hover .team-card-avatar-img{filter:drop-shadow(0 4px 8px #15281e26);box-shadow:none!important}.team-card-id{flex-direction:column;gap:1px;min-width:0;display:flex}.team-card-id strong{color:var(--ink);font-size:14px;font-weight:600}.team-card-id em{font-style:normal;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);font-size:10px}.team-card-minor{background:var(--bordeaux-soft);color:var(--bordeaux);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);padding:2px 7px;font-size:9px}.team-card-meta{border-top:1px dashed var(--paper-line);border-bottom:1px dashed var(--paper-line);grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:8px 0;display:grid}.team-card-meta dt{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1px;font-size:9.5px}.team-card-meta dd{color:var(--ink);margin:0;font-size:12.5px;font-weight:500}.team-card-availability{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.team-card-availability li{color:var(--ink-soft);grid-template-columns:32px auto 1fr;align-items:baseline;gap:8px;font-size:12px;display:grid}.team-av-day{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);font-size:10px}.team-av-time{font-family:var(--font-mono);color:var(--ink);font-size:11px}.team-av-reason{color:var(--ink-mute);font-style:italic}.team-card-availability li.is-soft .team-av-time{color:var(--ink-mute)}.team-card-foot{margin-top:4px}.team-absent-toggle{border:1px solid var(--paper-line-strong);border-radius:var(--radius-pill);width:100%;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);transition:border-color .15s var(--ease-out), background .15s var(--ease-out), color .15s var(--ease-out);background:0 0;padding:8px 12px;font-size:11px}.team-absent-toggle:hover{border-color:var(--ink);color:var(--ink)}.team-absent-toggle.is-on{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}.team-actions{flex-wrap:wrap;align-items:center;gap:14px;display:inline-flex}.team-add{appearance:none;background:var(--cobalt);color:#fff;font-family:var(--font-sans);cursor:pointer;transition:transform .18s var(--ease-spring), box-shadow .18s;border:0;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:600;box-shadow:0 10px 22px #a88a454d}.team-add:hover{transform:translateY(-1px);box-shadow:0 14px 30px #a88a456b}.team-empty{background:#fff6;border:1px dashed #1c231e2e;border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;display:flex}.team-empty p{font-family:var(--font-sans);color:var(--ink-mute);margin:0;font-size:15px}.team-card-button{cursor:pointer;transition:transform .18s var(--ease-spring), box-shadow .18s}.team-card-button:hover{transform:translateY(-2px);box-shadow:0 18px 36px #141c1624}.team-quick-row{gap:10px;width:min(440px,100%);display:flex}.team-quick-input{appearance:none;font-family:var(--font-sans);color:var(--ink);background:#fff;border:1.5px solid #1c231e24;border-radius:999px;flex:1;padding:10px 14px;font-size:14px;transition:border-color .18s}.team-quick-input:focus{border-color:var(--cobalt);outline:none}.team-add:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.team-empty-hint{font-size:13px!important}.team-empty-link{appearance:none;font:inherit;color:var(--cobalt-deep);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.team-empty-link:hover{color:var(--ink)}.team-card-prefs{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.team-pref-chip{font-family:var(--font-hand);color:var(--cobalt-deep);background:#c9a96124;border:1px solid #c9a96173;border-radius:999px;padding:2px 11px;font-size:15px;font-weight:600;transform:rotate(-.6deg)}.team-pref-chip:nth-child(2n){transform:rotate(.5deg)}.team-card-head{position:relative}.team-card-pen{background:var(--cobalt);color:#fff;opacity:0;width:22px;height:22px;transition:opacity .16s, transform .16s var(--ease-spring);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px;transform:scale(.7)}.team-card-button:hover .team-card-pen,.team-card-button:focus-visible .team-card-pen{opacity:1;transform:scale(1)}.team-empty-mascot{-webkit-user-select:none;user-select:none;pointer-events:none;width:96px;height:auto}.insights-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:24px;display:grid}.gauge{background:var(--paper-card);border:1px solid var(--paper-line);border-top:3px solid var(--cobalt);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 20px 16px}.gauge-good{border-top-color:var(--sage)}.gauge-warn{border-top-color:var(--bordeaux)}.gauge-neutral{border-top-color:var(--cobalt)}.gauge-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.gauge-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:10.5px}.gauge-hint{color:var(--ink-faint);font-size:11px;font-style:italic}.gauge-value{align-items:baseline;gap:2px;margin-bottom:12px;display:flex}.gauge-value strong{font-family:var(--font-display);color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:600}.gauge-value em{font-family:var(--font-mono);color:var(--ink-mute);font-size:13px;font-style:normal}.gauge-bar{border-radius:var(--radius-pill);background:var(--paper-warm);height:6px;overflow:hidden}.gauge-bar-fill{background:var(--cobalt);height:100%;transition:width .6s var(--ease-out);display:block}.gauge-good .gauge-bar-fill{background:var(--sage)}.gauge-warn .gauge-bar-fill{background:var(--bordeaux)}.insights-bottom{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.insights-conform,.insights-trend{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);padding:18px 22px}.insights-conform h3,.insights-trend h3{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:6px;font-size:16px;font-weight:600}.insights-conform .is-ok{font-family:var(--font-mono);letter-spacing:.04em;color:var(--sage);text-transform:uppercase;font-size:12px}.insights-conform .is-bad{font-family:var(--font-mono);letter-spacing:.04em;color:var(--bordeaux);text-transform:uppercase;font-size:12px}.insights-trend p{color:var(--ink-soft);margin-bottom:4px;font-size:13.5px}.insights-trend p strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;font-size:17px;font-weight:600}.insights-trend-note{color:var(--ink-faint);font-size:11.5px;font-style:italic}@media (width<=700px){.insights-bottom{grid-template-columns:1fr}}.account-route{z-index:60;color:var(--ink);justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.account-backdrop{-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#141c1647;border:0;margin:0;padding:0;position:absolute;inset:0}.account-panel{background:var(--paper);border:1px solid var(--paper-line);box-sizing:border-box;border-radius:18px;flex-direction:row;width:min(1080px,100%);height:min(720px,100%);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #141c1638}.account-close{z-index:2;width:32px;height:32px;color:var(--ink-mute);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex;position:absolute;top:14px;right:16px}.account-close:hover{color:var(--ink);background:#1c231e0f}.account-sidebar{background:var(--paper);border-right:1px solid var(--paper-line);box-sizing:border-box;flex-direction:column;flex:0 0 240px;gap:10px;padding:22px 14px;display:flex}.account-sidebar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);margin:4px 10px 6px;font-size:11px;font-weight:600}.account-content{background:var(--paper-card);box-sizing:border-box;flex-direction:column;flex:auto;min-width:0;padding:28px 32px 24px;display:flex;overflow:hidden}.account-head{flex-direction:column;flex-shrink:0;gap:4px;margin-bottom:22px;padding-right:40px;display:flex}.account-title{font-family:var(--font-sans);letter-spacing:-.01em;margin:0;font-size:32px;font-weight:600}.account-subtitle{color:var(--ink-mute);margin:0;font-size:14px}.account-nav{flex-direction:column;gap:2px;display:flex}.account-nav-item{appearance:none;color:var(--ink-mute);text-align:left;cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;display:inline-flex}.account-nav-icon{color:currentColor;justify-content:center;align-items:center;display:inline-flex}.account-nav-item:hover{color:var(--ink);background:#1c231e0a}.account-nav-item.is-active,.account-nav-item.is-active:hover{background:var(--ink);color:var(--paper)}.account-sections{flex-direction:column;gap:24px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.account-section{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-lg,16px);padding:24px}.account-section h2{letter-spacing:-.005em;margin:0 0 18px;font-size:18px;font-weight:600}.account-field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.account-field:last-child{margin-bottom:0}.account-field label{color:var(--ink);font-size:13px;font-weight:600}.account-sublabel{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:600}.account-hint{color:var(--ink-mute);margin:4px 0 0;font-size:12px}.account-field input[type=text],.account-field input[type=email],.account-field input[type=password]{border:1px solid var(--paper-line-strong);width:100%;font:inherit;color:var(--ink);transition:border-color .15s var(--ease-out);background:#141c1606;border-radius:10px;padding:10px 12px}.account-field input:focus{border-color:var(--cobalt);outline:none}.account-field input[readonly]{color:var(--ink-mute);background:0 0}.account-inline{align-items:center;gap:10px;display:flex}.account-saved-flag{color:var(--sage,#4a7a4a);font-size:12px;font-family:var(--font-mono);letter-spacing:.04em}.account-flash{border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:13px}.account-flash.is-ok{color:var(--sage,#4a7a4a);background:#4a7a4a1a}.account-flash.is-err{color:var(--bordeaux,#a04046);background:#a040461a}.identity-grid{flex-direction:column;gap:20px;display:flex}.identity-fields{flex-direction:column;display:flex}.identity-fields .account-field:last-child{margin-bottom:0}.identity-avatar{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.identity-avatar label{font-size:13px;font-weight:600}.avatar-trigger{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:50%;align-self:flex-start;width:88px;height:88px;padding:0;position:relative}.avatar-trigger:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:50%}.avatar-preview{font-weight:700;font-family:var(--font-sans);background:var(--paper-card);border:2px solid var(--paper-line-strong);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #141c161a}.avatar-preview-img img,.avatar-preview-mascot img{object-fit:cover;width:100%;height:100%;position:absolute;top:50%;left:50%}.avatar-preview-mascot img{transform:translate(-50%,-50%)}.avatar-trigger-edit{background:var(--ink);width:28px;height:28px;color:var(--paper);transition:transform .15s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;right:0;box-shadow:0 2px 6px #0003}.avatar-trigger:hover .avatar-trigger-edit{transform:scale(1.08)}.providers-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.provider-row{border:1px solid var(--paper-line);background:#141c1606;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.provider-label{font-weight:500}.provider-state{align-items:center;gap:10px;display:flex}.provider-badge{font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--sage,#4a7a4a);background:#4a7a4a1f;border-radius:999px;padding:4px 8px}.provider-error{width:100%;color:var(--bordeaux,#a04046);font-size:12px}.password-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.password-grid input{grid-column:span 2}.password-grid input:nth-of-type(2){grid-column:1}.password-grid input:nth-of-type(3){grid-column:2}.password-grid button{grid-column:span 2;justify-self:end}.account-meta{border:1px solid var(--paper-line);background:#141c1606;border-radius:10px;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding:14px;display:grid}.account-meta>div{flex-direction:column;gap:2px;font-size:13px;display:flex}.account-meta-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);font-size:11px}.lang-row{flex-wrap:wrap;gap:10px;display:flex}.lang-pill{appearance:none;border:1px solid var(--paper-line);cursor:pointer;transition:border-color .15s var(--ease-out), background .15s var(--ease-out);background:#141c1606;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.lang-pill:hover{border-color:var(--paper-line-strong)}.lang-pill.is-active{border-color:var(--cobalt);background:#c9a96114}.lang-pill-code{font-family:var(--font-mono);letter-spacing:.06em;background:var(--ink);color:var(--paper);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.lang-pill-label{font-size:14px}@media (width<=720px){.account-route{padding:0}.account-panel{border-radius:0;flex-direction:column;width:100%;height:100%}.account-sidebar{border-right:0;border-bottom:1px solid var(--paper-line);flex:none;padding:14px 14px 10px}.account-sidebar-label{display:none}.account-nav{flex-flow:wrap}.account-content{padding:18px}.password-grid{grid-template-columns:1fr}.password-grid input,.password-grid input:nth-of-type(2),.password-grid input:nth-of-type(3),.password-grid button{grid-column:1}}.resto-days{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.resto-hours-grid{flex-direction:column;gap:6px;margin-top:4px;display:flex}.resto-hours-row{align-items:center;gap:10px;display:flex}.resto-hours-day{width:42px;font-family:var(--font-sans);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.resto-hours-input{border:1px solid var(--line,#1c231e2e);background:var(--paper,#fff);width:72px;font-family:var(--font-mono,monospace);color:var(--ink);text-align:center;border-radius:8px;padding:6px 8px;font-size:13px}.resto-hours-input:focus{border-color:var(--cobalt,#c9a961);outline:none}.resto-hours-sep{color:var(--ink-mute)}.resto-day{appearance:none;border:1px solid var(--paper-line);min-width:56px;font:inherit;color:var(--ink-mute);cursor:pointer;transition:border-color .15s var(--ease-out), background .15s var(--ease-out), color .15s var(--ease-out);background:#141c1606;border-radius:10px;padding:10px 12px;font-weight:600}.resto-day:hover{border-color:var(--paper-line-strong)}.resto-day.is-open{border-color:var(--cobalt);color:var(--ink);background:#c9a9611f}.resto-team-row{align-items:center;gap:14px;margin-top:4px;display:flex}.resto-team-count{font-size:15px;font-weight:600}.resto-inline-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--cobalt);text-decoration-color:var(--cobalt);text-underline-offset:3px;transition:color .15s var(--ease-out);text-decoration-thickness:1.5px}.resto-inline-link:hover{color:var(--cobalt)}.resto-role-list{flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.resto-role-chip{border:1px solid var(--paper-line);background:#141c160d;border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:13px;display:inline-flex}.resto-role-label{font-weight:500}.resto-role-count{background:var(--ink);min-width:22px;height:22px;color:var(--paper);font-family:var(--font-mono);letter-spacing:.03em;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.resto-advanced-row{margin-top:6px}.account-btn-danger{color:var(--bordeaux,#a04046);border-color:#a040464d}.account-btn-danger:hover{background:#a0404614}.resto-staffing-list{flex-direction:column;gap:8px;display:flex}.resto-staffing-row{border:1px solid var(--paper-line);background:#141c1608;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.resto-staffing-row select,.resto-staffing-row input{font:inherit;border:1px solid var(--paper-line);background:var(--paper,#fff);color:var(--ink);border-radius:8px;padding:5px 8px}.resto-staffing-kind{min-width:200px}.resto-staffing-count{text-align:center;width:58px}.resto-staffing-x{color:var(--ink-mute)}.resto-staffing-role{min-width:110px}.resto-staffing-duration{color:var(--ink-mute);align-items:center;gap:6px;display:inline-flex}.resto-staffing-duration input{text-align:center;width:64px}.resto-staffing-days{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.04em;font-size:11px}.resto-staffing-del{appearance:none;width:24px;height:24px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:50%;margin-left:auto;font-size:15px}.resto-staffing-del:hover{color:var(--bordeaux,#a04046);background:#a040461a}.signin-root{background:var(--paper,#f4efe3);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2.5rem 1.25rem;display:flex}.signin-header{justify-content:center;width:100%;margin-bottom:1.75rem;display:flex}.signin-logo{width:auto;height:52px;display:block}.signin-stage{--win:584px;--peek:92px;--top:72px;background:var(--paper-card,#fff);border:1px solid var(--paper-line,#15281e14);isolation:isolate;border-radius:24px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 18px 50px #1f33291f}.signin-window{height:var(--win);position:relative;overflow:hidden}.signin-login{z-index:1;box-sizing:border-box;background:var(--paper-card,#fff);padding:1.75rem 1.75rem .5rem;position:absolute;inset:0;overflow-y:auto}.signin-signup{z-index:2;color:#f4efe3;transform:translateY(calc(100% - var(--peek)));background:radial-gradient(120% 80% at 0 100%,#1f3d2e1a 0%,#0000 50%),linear-gradient(155deg,#1a3327 0%,#16302a 60%,#122520 100%);flex-direction:column;transition:transform .6s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:0}.signin-stage.is-signup .signin-signup{transform:translateY(var(--top))}.signin-stage.is-signup-form .signin-signup{transform:translateY(0)}.signin-lip{width:100%;height:var(--peek);cursor:pointer;color:var(--cobalt,#c9a961);background:0 0;border:none;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.3rem;transition:height .6s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.signin-stage.is-signup .signin-lip{cursor:default;height:34px}.signin-stage.is-signup-form .signin-lip{height:0;overflow:hidden}.signin-bar-pill{background:#c9a9618c;border-radius:999px;width:40px;height:4px;transition:width .2s;position:absolute;top:11px;left:50%;transform:translate(-50%)}.signin-lip:hover .signin-bar-pill{width:56px}.signin-lip-cta{font-family:var(--font-sans);align-items:center;gap:.4rem;margin-top:.5rem;font-size:.92rem;font-weight:600;display:inline-flex}.signin-lip-cta svg{transition:transform .2s}.signin-lip:hover .signin-lip-cta svg{transform:translateY(-2px)}.signin-topswitch{z-index:3;height:var(--top);background:var(--paper-card,#fff);cursor:pointer;color:var(--cobalt-deep,#a88a45);font-family:var(--font-sans);opacity:0;pointer-events:none;border:none;justify-content:center;align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;transition:opacity .4s .1s;display:flex;position:absolute;top:0;left:0;right:0}.signin-stage.is-signup .signin-topswitch{opacity:1;pointer-events:auto}.signin-stage.is-signup-form .signin-topswitch{height:44px;color:var(--cobalt,#c9a961);z-index:4;background:0 0}.signin-topswitch svg{transition:transform .2s}.signin-topswitch:hover svg{transform:translateY(2px)}.signin-panel-title{font-family:var(--font-display,"Fraunces", serif);color:var(--ink,#15281e);margin:0 0 .35rem;font-size:1.5rem;font-weight:500}.signin-panel-lead{color:var(--ink-mute,#5c6a5b);margin:0 0 1.1rem;font-size:.9rem;line-height:1.5}.signin-signup-body{z-index:2;flex-direction:column;flex:1;gap:.5rem;padding:0 1.75rem 1.2rem;display:flex;position:relative;overflow-y:auto}.signin-stage.is-signup-form .signin-signup-body{padding-top:44px}.signin-onboard-eyebrow{font-family:var(--font-mono,"IBM Plex Mono", monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt,#c9a961);align-self:flex-start;align-items:center;gap:.5rem;font-size:.66rem;font-weight:500;display:inline-flex}.signin-onboard-eyebrow:before{content:"";background:var(--cobalt,#c9a961);width:18px;height:1px}.signin-onboard-title{font-family:var(--font-display,"Fraunces", serif);letter-spacing:-.02em;color:#f4efe3;margin:0;font-size:1.95rem;font-weight:400;line-height:1.05}.signin-onboard-title em{color:var(--cobalt,#c9a961);font-style:italic;font-weight:300}.signin-onboard-lead{color:#f4efe3b8;max-width:34ch;margin:.15rem 0 0;font-size:.88rem;line-height:1.5}.signin-onboard-features{flex-direction:column;gap:.45rem;margin:.8rem 0 .4rem;padding:0;list-style:none;display:flex}.signin-onboard-features li{color:#f4efe3e0;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.signin-onboard-features svg{color:var(--cobalt,#c9a961);background:#c9a96126;border-radius:999px;flex-shrink:0;width:20px;height:20px;padding:3px}.signin-onboard-glow{display:none}.signin-onboard-grid{pointer-events:none;z-index:0;opacity:.5;background-image:linear-gradient(#f4efe30a 1px,#0000 1px),linear-gradient(90deg,#f4efe30a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 40%,#000 0%,#0000 75%);mask-image:radial-gradient(at 30% 40%,#000 0%,#0000 75%)}.gsi-button{appearance:none;color:#1f1f1f;letter-spacing:.15px;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;height:44px;padding:0 12px;font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500;transition:background .18s,box-shadow .18s,border-color .18s;display:inline-flex}.gsi-button:hover:not(:disabled){background:#f8fafd;border-color:#d2e3fc;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-button:active:not(:disabled){background:#f1f3f4}.gsi-button:disabled{opacity:.6;cursor:not-allowed}.gsi-button:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.gsi-button-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gsi-button-label{white-space:nowrap}.signin-divider{color:var(--ink-faint,#8e9a8b);align-items:center;gap:.75rem;margin:1rem 0 .85rem;font-size:.8rem;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:var(--paper-line,#15281e14);flex:1;height:1px}.signin-divider-dark{color:#f4efe38c}.signin-divider-dark:before,.signin-divider-dark:after{background:#f4efe32e}.signin-label{color:var(--ink-soft,#2c4537);margin:0 0 .3rem;font-size:.78rem;font-weight:500;display:block}.signin-label-dark{color:#f4efe3cc}.signin-input{border:1px solid var(--paper-line-strong,#15281e33);width:100%;font:inherit;box-sizing:border-box;color:var(--ink,#15281e);background:#fff;border-radius:10px;margin-bottom:.65rem;padding:.6rem .85rem;font-size:.95rem}.signin-input::placeholder{color:var(--ink-faint,#8e9a8b)}.signin-input:focus{outline:2px solid var(--cobalt,#c9a961);outline-offset:1px;border-color:#0000}.signin-input-dark{color:#f4efe3;background:#f4efe30f;border-color:#f4efe32e}.signin-input-dark::placeholder{color:#f4efe366}.signin-login .signin-submit{cursor:pointer;width:100%;font-family:var(--font-sans);letter-spacing:-.005em;color:#15281e;border:none;margin-top:.2rem;padding:12px 22px;font-size:14px;font-weight:600;box-shadow:inset 0 1px #fff6}.signin-login .signin-submit:hover{transform:none;box-shadow:inset 0 1px #fff6}.signin-login .signin-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}.signin-forgot{justify-content:flex-end;margin:-.2rem 0 .45rem;display:flex}.signin-forgot .signin-link-btn{width:auto;padding:.2rem 0;font-size:.8rem}.signin-link-btn{width:100%;color:var(--cobalt-deep,#a88a45);font:inherit;text-align:center;cursor:pointer;background:0 0;border:none;padding:.35rem;font-size:.85rem;display:block}.signin-link-btn:hover:not(:disabled){text-decoration:underline}.signin-link-btn:disabled{opacity:.5;cursor:default}.signin-continue{cursor:pointer;background:linear-gradient(180deg, #d8b974 0%, var(--cobalt,#c9a961) 100%);color:#15281e;width:100%;font-family:var(--font-sans);letter-spacing:-.005em;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;margin-top:.5rem;padding:13px 24px;font-size:14px;font-weight:600;transition:transform .2s;display:inline-flex;box-shadow:0 10px 24px #c9a9614d,inset 0 1px #ffffff80}.signin-continue svg{transition:transform .2s}.signin-continue:not(:disabled):hover{transform:translateY(-1px)}.signin-continue:not(:disabled):hover svg{transform:translate(3px)}.signin-continue:disabled{cursor:not-allowed;color:#15281eb3;box-shadow:none;background:linear-gradient(#c9a961 0%,#a88a45 100%)}.signin-feedback{left:1rem;right:1rem;bottom:calc(var(--peek) + 8px);z-index:6;pointer-events:none;position:absolute}.signin-stage.is-signup .signin-feedback{bottom:1rem}.signin-info,.signin-error{text-align:center;border-radius:10px;margin:0;padding:.5rem .8rem;font-size:.84rem;box-shadow:0 6px 18px #1f33292e}.signin-info{background:var(--cobalt-soft,#c9a96129);color:var(--cobalt-deep,#a88a45)}.signin-error{color:var(--bordeaux,#6e2227);background:#fbe9e9}@media (width<=480px){.signin-stage{--win:560px;--peek:84px;--top:64px}.signin-onboard-title{font-size:1.75rem}.signin-onboard-features{gap:.35rem}.signin-logo{height:44px}}@media (prefers-reduced-motion:reduce){.signin-signup,.signin-lip{transition:none}}
