@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-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{text-align:center;width:22px;color:var(--ink-mute);font-size:15px}.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-toggle{background:var(--paper-card);width:44px;height:44px;color:var(--ink-soft);border:1px solid var(--paper-line-strong);box-shadow:var(--shadow-md);transition:transform .2s var(--ease-spring), border-color .15s var(--ease-out), color .15s var(--ease-out);border-radius:50%;place-items:center;display:grid}.fab-toggle:hover{color:var(--ink);border-color:var(--ink-mute)}.fab-toggle svg{transition:transform .22s var(--ease-spring);transform:rotate(180deg)}.fab-toggle.is-open svg{transform:rotate(0)}.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}.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-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{flex:1;padding:24px clamp(24px,4vw,48px);overflow:auto}.onb-foot{background:#ffffff59;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-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-team-tools{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:inline-flex}.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;min-height:calc(100vh - 72px);padding:24px clamp(20px,4vw,48px);display:flex;position:relative}.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:38px;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}}.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{background:var(--paper-warm);width:40px;height:40px;color:var(--ink);font-family:var(--font-display);letter-spacing:.02em;box-shadow:0 0 0 2px var(--avatar-ring,var(--cobalt));transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-out);border-radius:50%;flex-shrink:0;place-items:center;font-size:13.5px;font-weight:600;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-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}}.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)}.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:first-of-type{grid-template-columns:1fr 100px}.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);background:#fff;border:1.5px solid #1c231e24;border-radius:10px;width:100%;padding:10px 12px;font-size:15px}.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}}.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(--ink-faint);border-top:3px 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{border-color:var(--ink-mute);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{background:var(--paper-warm);width:38px;height:38px;color:var(--ink);font-family:var(--font-display);box-shadow:0 0 0 2px var(--card-stripe,var(--cobalt));border-radius:50%;place-items:center;font-size:13px;font-weight:600;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-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}.cstr-stat{border-radius:var(--radius-pill);background:var(--paper-card);border:1px solid var(--paper-line);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);align-items:baseline;gap:5px;padding:2px 10px;font-size:11px;display:inline-flex}.cstr-stat strong{font-family:var(--font-display);color:var(--ink);letter-spacing:0;margin-right:2px;font-size:15px;font-weight:600}.cstr-stat-mute{color:var(--ink-faint);background:0 0;border-color:#0000}.cstr-groups{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px;margin-top:26px;display:grid}.cstr-group{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px 18px}.cstr-group-head{border-bottom:1px dashed var(--paper-line);justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:10px;display:flex}.cstr-group-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:17px;font-weight:600}.cstr-group-count{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px}.cstr-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cstr-item{border-radius:var(--radius-sm);background:var(--paper);transition:background .15s var(--ease-out);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.cstr-item:hover{background:var(--paper-warm)}.cstr-rule{color:var(--ink);font-size:13.5px;font-weight:500}.cstr-rule-id{font-family:var(--font-mono);color:var(--ink-faint);font-size:10.5px}.cstr-pill{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);padding:2px 8px;font-size:9.5px}.cstr-pill-hard{background:var(--bordeaux-soft);color:var(--bordeaux)}.cstr-pill-soft{background:var(--cobalt-soft);color:var(--cobalt-deep)}.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}}.signin-root{background:var(--cream-paper,#f4efe3);place-items:center;min-height:100dvh;padding:2rem 1rem;display:grid}.signin-card{border:1px solid color-mix(in srgb, var(--green-darker,#1f3329) 10%, transparent);background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:380px;padding:2rem 1.75rem;display:flex;box-shadow:0 8px 28px #1f33290f}.signin-title{text-align:center;color:var(--green-darker,#1f3329);margin:0 0 1.5rem;font-family:Fraunces,serif;font-size:1.5rem;font-weight:500}.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:color-mix(in srgb, var(--green-darker,#1f3329) 50%, transparent);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.85rem;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:color-mix(in srgb, var(--green-darker,#1f3329) 12%, transparent);flex:1;height:1px}.signin-label{color:color-mix(in srgb, var(--green-darker,#1f3329) 80%, transparent);margin:0 0 .4rem;font-size:.85rem;font-weight:500}.signin-input{border:1px solid color-mix(in srgb, var(--green-darker,#1f3329) 15%, transparent);width:100%;font:inherit;box-sizing:border-box;background:#fff;border-radius:10px;margin-bottom:.9rem;padding:.7rem .85rem}.signin-input:focus{outline:2px solid var(--cobalt,#c9a961);outline-offset:1px;border-color:#0000}.signin-magic,.signin-submit{width:100%;margin-top:.4rem}.signin-password-toggle{width:100%;margin-top:.6rem}.signin-link-btn{width:100%;color:var(--cobalt,#c9a961);font:inherit;text-align:center;cursor:pointer;background:0 0;border:none;margin-top:.4rem;padding:.5rem;font-size:.85rem;display:block}.signin-link-btn:hover:not(:disabled){text-decoration:underline}.signin-link-btn:disabled{opacity:.5;cursor:default}.signin-sent{text-align:center;color:var(--green-darker,#1f3329);font-size:.95rem;line-height:1.5}.signin-sent p{margin:0 0 1.25rem}.signin-error{background:color-mix(in srgb, var(--bordeaux,#7c3a4d) 12%, transparent);color:var(--bordeaux,#7c3a4d);text-align:center;border-radius:8px;margin:1rem 0 0;padding:.6rem .8rem;font-size:.85rem}
