@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:#fbf9f4;--surface-topbar:var(--chrome);--chrome:#101b2d;--chrome-elev:#182640;--chrome-line:#e9edf51a;--chrome-line-strong:#e9edf538;--chrome-text:#edf1f8;--chrome-text-mute:#edf1f8a3;--chrome-text-faint:#edf1f866;--green-deep:#1f3d2e;--green-darker:#16302a;--cobalt:#2563eb;--cobalt-deep:#1d4ed8;--cobalt-soft:#2563eb24;--cobalt-sky:#8fb0f9;--brass:#c9a961;--brass-deep:#a88a45;--brass-soft:#c9a96129;--brass-text:#806628;--brass-a10:#c9a9611a;--brass-a22:#c9a96138;--brass-a45:#c9a96173;--indigo:#b9966b;--indigo-soft:#b9966b24;--bordeaux:#6e2227;--bordeaux-soft:#6e222724;--sage:#6b7e5a;--service-matin:#e8a912;--service-matin-deep:#7a5a05;--service-matin-soft:#e8a91229;--service-midi:#2bb48a;--service-midi-deep:#14634b;--service-midi-soft:#2bb48a26;--service-soir:#7c5cd6;--service-soir-deep:#4a348f;--service-soir-soft:#7c5cd624;--service-brunch:#e8654f;--service-brunch-deep:#9c3a2b;--service-brunch-soft:#e8654f24;--danger:#d64545;--danger-deep:#a32e2e;--danger-soft:#d645451f;--danger-a08:#d6454514;--danger-a18:#d645452e;--danger-a30:#d645454d;--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 #101b2d14, 0 18px 36px #101b2d29;--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;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--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);--ink-a03:#15281e08;--ink-a04:#15281e0a;--ink-a05:#15281e0d;--ink-a06:#15281e0f;--ink-a07:#15281e12;--ink-a08:#15281e14;--ink-a10:#15281e1a;--ink-a12:#15281e1f;--ink-a14:#15281e24;--ink-a15:#15281e26;--ink-a16:#15281e29;--ink-a18:#15281e2e;--ink-a20:#15281e33;--ink-a22:#15281e38;--ink-a28:#15281e47;--ink-a30:#15281e4d;--ink-a32:#15281e52;--ink-a34:#15281e57;--ink-a40:#15281e66;--ink-a45:#15281e73;--ink-a50:#15281e80;--ink-a55:#15281e8c;--ink-a70:#15281eb3;--cobalt-a04:#2563eb0a;--cobalt-a05:#2563eb0d;--cobalt-a06:#2563eb0f;--cobalt-a07:#2563eb12;--cobalt-a08:#2563eb14;--cobalt-a10:#2563eb1a;--cobalt-a12:#2563eb1f;--cobalt-a14:#2563eb24;--cobalt-a15:#2563eb26;--cobalt-a16:#2563eb29;--cobalt-a18:#2563eb2e;--cobalt-a22:#2563eb38;--cobalt-a25:#2563eb40;--cobalt-a28:#2563eb47;--cobalt-a30:#2563eb4d;--cobalt-a45:#2563eb73;--cobalt-a50:#2563eb80;--cobalt-a55:#2563eb8c;--cobalt-a60:#2563eb99;--cobalt-deep-a18:#1d4ed82e;--cobalt-deep-a30:#1d4ed84d;--cobalt-deep-a32:#1d4ed852;--cobalt-deep-a42:#1d4ed86b;--bordeaux-a05:#6e22270d;--bordeaux-a06:#6e22270f;--bordeaux-a08:#6e222714;--bordeaux-a10:#6e22271a;--bordeaux-a12:#6e22271f;--bordeaux-a15:#6e222726;--bordeaux-a16:#6e222729;--bordeaux-a18:#6e22272e;--bordeaux-a25:#6e222740;--bordeaux-a30:#6e22274d;--bordeaux-a35:#6e222759;--bordeaux-a40:#6e222766;--sage-a10:#6b7e5a1a;--sage-a12:#6b7e5a1f;--sage-a18:#6b7e5a2e;--sage-a22:#6b7e5a38;--sage-a32:#6b7e5a52;--paper-a04:#f4efe30a;--paper-a06:#f4efe30f;--paper-a18:#f4efe32e;--paper-a28:#f4efe347;--paper-a40:#f4efe366;--paper-a55:#f4efe38c;--paper-a70:#f4efe3b3;--paper-a72:#f4efe3b8;--paper-a80:#f4efe3cc;--paper-a88:#f4efe3e0;--paper-a92:#f4efe3eb;--black-a06:#0000000f;--black-a14:#00000024;--black-a18:#0000002e;--black-a20:#0003;--black-a25:#00000040;--black-a32:#00000052;--calendia-blue-a18:#2563eb2e;--calendia-blue-a22:#2563eb38;--calendia-blue-a28:#2563eb47;--calendia-blue-a30:#2563eb4d;--calendia-blue-a36:#2563eb5c;--calendia-blue-a46:#2563eb75;--green-deep-a10:#1f3d2e1a;--white-a08:#ffffff14;--white-a35:#ffffff59;--white-a40:#fff6;--white-a50:#ffffff80;--white-a60:#fff9;--white-a70:#ffffffb3;--white-a85:#ffffffd9;--white-a92:#ffffffeb;--cobalt-text:#1d4ed8;--cobalt-light:#5b84ee;--bordeaux-deep:#571b1f;--amber:#f59e0b;--amber-a08:#f59e0b14;--calendia-blue-deep:#1d4ed8}*,: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-text);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(--danger-soft);color:var(--danger-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-flag:before{content:"";background:var(--danger);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(--danger) 22%, var(--paper-card))}.route-sub-soft{border-radius:var(--radius-pill);background:var(--cobalt-soft);color:var(--cobalt-text);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);background:var(--sage-a18);color:var(--sage);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: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 var(--white-a40) 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 var(--white-a40) inset, 0 12px 30px var(--cobalt-soft);transform:translateY(-1px)}.btn-primary-cal-em{font-style:normal;font-family:var(--font-sans);color:var(--white-a92);letter-spacing:.01em;font-size:12.5px;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}.skeleton{background:var(--ink-a06);border-radius:var(--radius-sm);color:#0000;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--white-a60), transparent);animation:1.4s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.route{animation:route-in .28s var(--ease-out) both}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.route{animation:none}}.btn{appearance:none;border-radius:var(--radius-pill);font-family:var(--font-sans);color:var(--ink);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-solid{background:var(--cobalt);color:#fff;box-shadow:0 10px 26px var(--cobalt-deep-a32);padding:10px 20px;font-size:14px;font-weight:600}.btn-solid:hover:not(:disabled){background:var(--cobalt-deep);transform:translateY(-1px)}.btn-wash{background:var(--ink-a06)}.btn-wash:hover:not(:disabled){background:var(--ink-a12)}.btn-outline{border-color:var(--paper-line-strong);color:var(--ink-mute)}.btn-outline:hover:not(:disabled){color:var(--ink);border-color:var(--ink-mute)}.btn-danger-solid{background:var(--danger);color:#fff;font-weight:600}.btn-danger-solid:hover:not(:disabled){background:var(--danger-deep)}.btn-danger-outline{border-color:var(--danger-a30);color:var(--danger-deep)}.btn-danger-outline:hover:not(:disabled){background:var(--danger-a08);border-color:var(--danger)}.auth-gate-loading{background:var(--cream-paper,var(--paper));place-items:center;display:grid;position:fixed;inset:0}.auth-gate-spinner{border:3px solid color-mix(in srgb, var(--green-darker) 18%, transparent);border-top-color:var(--cobalt);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:center;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(--chrome-elev);min-width:240px;box-shadow:0 18px 40px var(--black-a32);border:1px solid var(--chrome-line);z-index:50;border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 10px);right:0}.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:var(--white-a08)}.user-menu-header-static{cursor:default;background:var(--white-a08)}.user-menu-header-static:hover{background:var(--white-a08)}.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(--chrome-text);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(--chrome-text-mute);font-size:11px}.user-menu-sep{background:var(--chrome-line);height:1px;margin:4px}.user-menu-item{appearance:none;cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--chrome-text);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:var(--white-a08)}.user-menu-icon{width:18px;height:18px;color:var(--chrome-text-mute);flex-shrink:0;display:inline-block}.user-menu-item-danger,.user-menu-item-danger .user-menu-icon{color:#f08c8c}.user-menu-item-danger:hover{background:var(--danger-a18)}.user-bubble-name{appearance:none;cursor:pointer;background:0 0;border:0;margin:0 -8px 0 0;padding:4px 8px}:is(.user-bubble:has(.user-bubble-name:hover) .user-bubble-avatar,.user-bubble:has(.user-bubble-name:focus-visible) .user-bubble-avatar){transform:scale(1.04)}:is(.user-bubble:has(.user-bubble-name:hover) .user-bubble-edit,.user-bubble:has(.user-bubble-name:focus-visible) .user-bubble-edit){opacity:1;transform:translateY(0)scale(1)}.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);color:#fff;width:22px;height:22px;box-shadow:0 1px 3px var(--black-a32), 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(--chrome-text);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;box-shadow:0 1px 2px var(--black-a18) inset, 0 0 0 1px var(--black-a06);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid;overflow:hidden}.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{background:var(--ink-a45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;animation:profile-fade-in .22s var(--ease-out);border:0;padding:0;position:absolute;inset:0}.profile-modal{background:var(--paper-card);border:1px solid var(--paper-line);border-top:4px solid var(--cobalt);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);background:var(--ink-a06);transition:background .15s var(--ease-out);border-radius:50%;place-items:center;font-size:20px;line-height:1;display:grid}.profile-modal-close:hover{background:var(--ink-a14);color:var(--ink)}.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(--cobalt);box-shadow:0 0 0 3px var(--cobalt-soft)}.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;box-shadow:0 1px 2px var(--black-a14) inset, 0 1px 2px var(--ink-a08);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}.initials-swatch:hover{transform:translateY(-2px)}.initials-swatch.is-active{border-color:var(--paper-card);box-shadow:0 0 0 3px var(--paper-card), 0 0 0 5px var(--cobalt)}.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(--cobalt);color:#fff}.profile-modal-upload:hover{background:var(--cobalt-deep)}.profile-modal-remove{color:var(--danger-deep);border:1px solid var(--danger-a30);background:0 0}.profile-modal-remove:hover{background:var(--danger-a08);border-color:var(--danger)}.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 var(--ink-a10);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:#fff;font-family:var(--font-sans);border-radius:var(--radius-pill);letter-spacing:-.005em;box-shadow:0 1px 0 var(--white-a40) 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(--chrome-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(--chrome-line-strong);opacity:.7;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(--chrome-text);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:#fff}.tb-title-chevron{color:var(--chrome-text-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-sky)}.tb-title.is-open .tb-title-chevron{transform:rotate(180deg)}.tb-menu{background:var(--chrome-elev);border:1px solid var(--chrome-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}.tb-menu-divider{background:var(--chrome-line);height:1px;margin:6px 8px}.tb-menu-group{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--chrome-text-faint);margin:2px 12px 4px;font-size:11px;font-weight:600}@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(--chrome-text);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(--white-a08);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-sub{color:var(--chrome-text-mute);font-size:14px}.tb-menu-item-sub .tb-menu-item-dot{transform:scale(.8)}.tb-menu-item.is-active{color:var(--cobalt-sky)}.tb-menu-item.is-active .tb-menu-item-dot{background:var(--cobalt-sky)}@media (width<=700px){.topbar{gap:10px;padding:0 14px}.tb-logo img{height:30px}.tb-sep,.topbar .user-bubble-name{display:none}}.tb-gear{width:34px;height:34px;color:var(--chrome-text-mute);transition:background .15s var(--ease-out), color .15s var(--ease-out), transform .25s var(--ease-out);border-radius:50%;align-self:center;place-items:center;display:grid}.tb-gear:hover,.tb-gear:focus-visible{background:var(--white-a08);color:var(--chrome-text);transform:rotate(30deg)}.toaster{z-index:1300;pointer-events:none;flex-direction:column-reverse;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--paper-card);border:1px solid var(--paper-line-strong);border-radius:var(--radius-md);max-width:min(92vw,500px);box-shadow:var(--shadow-md);font:500 14px/1.4 var(--font-body);color:var(--ink);animation:toast-in .22s var(--ease-out);align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.toast-leaving{animation:.18s ease-in forwards toast-out}.toast-dot{border-radius:50%;flex:none;width:8px;height:8px}.toast-success .toast-dot{background:var(--sage)}.toast-info .toast-dot{background:var(--cobalt-deep)}.toast-error .toast-dot{background:var(--danger)}.toast-error{border-color:var(--danger-a30)}.toast-msg{min-width:0}.toast-action{border:1px solid var(--paper-line-strong);border-radius:var(--radius-pill);font:600 12.5px/1 var(--font-body);color:var(--ink);cursor:pointer;transition:background .15s var(--ease-out);background:0 0;flex:none;padding:5px 12px}.toast-action:hover{background:var(--cobalt-soft)}.toast-close{cursor:pointer;color:var(--ink-mute);background:0 0;border:0;flex:none;padding:2px 4px;font-size:16px;line-height:1}.toast-close:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast,.toast-leaving{animation:none}}@media (width<=600px){.toaster{width:calc(100vw - 24px);top:60px}.toast{width:100%}}.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:0 1px 0 var(--white-a35) inset, 0 20px 44px var(--calendia-blue-a36), 0 6px 14px var(--calendia-blue-a22)}.fab-primary:hover:not(:disabled){background:var(--calendia-blue-deep);box-shadow:0 1px 0 var(--white-a35) inset, 0 28px 60px var(--calendia-blue-a46), 0 8px 18px var(--calendia-blue-a30);transform:translateY(-2px)scale(1.03)}.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}.iw-root{z-index:120;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.iw-backdrop{background:var(--ink-a50);-webkit-backdrop-filter:blur(6px);cursor:pointer;border:0;position:absolute;inset:0}.iw-modal{background:var(--paper-card);border-top:4px solid var(--cobalt);width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:0 30px 70px var(--ink-a30);z-index:1;border-radius:18px;flex-direction:column;gap:14px;padding:22px 26px;display:flex;position:relative;overflow:auto}.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;background:var(--ink-a06);width:30px;height:30px;color:var(--ink-mute);cursor:pointer;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{border:2px dashed var(--ink-a40);background:var(--cobalt-a05);cursor:pointer;text-align:center;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:var(--cobalt-a12)}.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 var(--ink-a20);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(--danger-deep);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{background:var(--danger-a08);border:1px solid var(--danger-a18);color:var(--danger-deep);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45}.iw-table{border:1px solid var(--ink-a10);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.iw-tr{border-top:1px solid var(--ink-a07);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{background:var(--ink-a04);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:600}.iw-tr.needs{background:var(--amber-a08)}.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 var(--ink-a15);border-radius:8px;width:56px;padding:4px 7px;font-size:13px}.iw-minor{gap:4px;display:inline-flex}.iw-seg{appearance:none;border:1px solid var(--ink-a15);background:var(--paper);cursor:pointer;color:var(--ink-mute);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(--danger);border-color:var(--danger-deep)}.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}.sti-card{width:min(640px,100%)}.sti-textarea{resize:vertical;border:1px solid var(--ink-a16);background:var(--paper-card);width:100%;min-height:200px;font-family:var(--font-sans);color:var(--ink);box-sizing:border-box;border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.55}.sti-textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-a18);outline:none}.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;width:260px;height:260px;filter:drop-shadow(0 12px 30px var(--calendia-blue-a28))}.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 var(--ink-a08);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;border:1.5px solid var(--ink-a12);cursor:pointer;text-align:center;transition:border-color .15s, background .15s, transform .15s var(--ease-spring);background:#fff;border-radius:9px;flex-direction:column;gap:1px;padding:7px 6px 6px;display:flex}.wse-block:hover{border-color:var(--cobalt-a60);transform:translateY(-1px)}.wse-block.is-selected{border-color:var(--cobalt);background:var(--cobalt-a14);box-shadow:0 4px 12px var(--cobalt-deep-a18)}.wse-block.is-scoped{border-style:dashed;border-color:var(--cobalt-text)}.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-block-targets{flex-direction:column;align-items:center;gap:3px;margin-top:4px;display:flex}.wse-block-total{background:var(--cobalt-soft);min-width:20px;height:20px;color:var(--cobalt-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.wse-block-roles{font-family:var(--font-sans);color:var(--ink-mute);flex-wrap:wrap;justify-content:center;gap:1px 6px;font-size:10.5px;line-height:1.3;display:flex}.wse-block-targets.is-empty{font-family:var(--font-sans);color:var(--ink-faint);margin-top:4px;font-size:10.5px;font-style:italic}.wse-add-day{appearance:none;border:1.5px dashed var(--ink-a16);min-height:26px;color:var(--ink-faint);cursor:pointer;background:0 0;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-text)}.wse-actions{justify-content:flex-start;display:flex}.wse-add-shared{appearance:none;border:1.5px dashed var(--ink-a20);font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;background:0 0;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-text)}.wse-panel{border:1.5px solid var(--cobalt-a50);background:#fff;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;border:0;border-bottom:1.5px dashed var(--ink-a18);min-width:140px;font-family:var(--font-display);color:var(--ink);background:0 0;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;border:1.5px solid var(--ink-a14);width:64px;font-family:var(--font-mono);text-align:center;font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;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{background:var(--ink-a05);font-family:var(--font-sans);color:var(--ink);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-text)}.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{background:var(--cobalt-a25);color:var(--ink)}.wse-add-role,.wse-role-pick{appearance:none;border:1.5px dashed var(--ink-a20);font-family:var(--font-sans);color:var(--ink-mute);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:13px}.wse-add-role:hover{border-color:var(--cobalt);color:var(--cobalt-text)}.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{border:1.5px solid var(--ink-a14);background:#fff;padding:6px 13px;font-size:13px}.wse-panel-btn:hover{border-color:var(--cobalt);color:var(--cobalt-text)}.wse-panel-btn-danger{color:var(--ink-mute)}.wse-panel-btn-danger:hover{border-color:var(--bordeaux);color:var(--bordeaux);background:var(--bordeaux-a05)}@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;border:1.5px solid var(--ink-a14);width:100%;font-family:var(--font-sans);color:var(--ink);cursor:pointer;text-align:left;background:#fff;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;border:1.5px solid var(--ink-a14);min-width:100%;max-width:320px;box-shadow:0 12px 32px var(--ink-a18);background:#fff;border-radius:12px;padding:8px;position:absolute;top:calc(100% + 6px);left:0}.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:var(--cobalt-a10)}.rms-option.is-active{background:var(--cobalt-a16)}.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 var(--ink-a08);gap:6px;margin-top:8px;padding-top:8px;display:flex}.rms-custom-input{appearance:none;border:1.5px solid var(--ink-a14);min-width:0;font-family:var(--font-sans);color:var(--ink);background:#fff;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{border:1px solid var(--ink-a10);background:var(--paper-card);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:var(--bordeaux-a06)}.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;border:1px solid var(--ink-a18);background:var(--paper);color:var(--ink-mute);cursor:pointer;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{background:var(--ink-a55);-webkit-backdrop-filter:blur(8px);position:absolute;inset:0}.onb-card{background:var(--paper-card);border-top:4px solid var(--cobalt);width:min(960px,100%);max-height:calc(100vh - 48px);box-shadow:0 36px 80px var(--ink-a32), 0 2px 0 var(--white-a60) inset;z-index:1;border-radius:22px;flex-direction:column;display:flex;position:relative;overflow:hidden}.onb-close{background:var(--ink-a06);width:34px;height:34px;color:var(--ink);cursor:pointer;z-index:2;border:0;border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;top:14px;right:16px}.onb-close:hover{background:var(--ink-a12)}.onb-head{border-bottom:1px solid var(--ink-a08);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-display);letter-spacing:-.02em;color:var(--ink);margin:6px 0 18px;font-size:clamp(26px,3vw,36px);font-weight:600;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;border:1.5px dashed var(--cobalt-a55);background:var(--cobalt-a07);text-align:left;cursor:pointer;width:100%;transition:border-color .18s, background .18s, transform .18s var(--ease-spring);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:var(--cobalt-a14);transform:translateY(-1px)}.onb-demo-card-title{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.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:var(--ink-a04);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-size:12px;display:inline-flex}.onb-step-dot{background:var(--ink-a10);width:26px;height:26px;font-family:var(--font-display);color:var(--ink-mute);border-radius:50%;place-items:center;font-size:13px;display:grid}.onb-step.is-current{color:var(--ink);background:var(--cobalt-a18)}.onb-step.is-current .onb-step-dot{background:var(--cobalt);color:#fff}.onb-step.is-done{color:var(--ink-mute);background:var(--ink-a10)}.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{border-top:1px solid var(--ink-a08);background:var(--paper-card);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{transition:transform .18s var(--ease-spring), background .2s, box-shadow .2s;padding:12px 22px;font-size:15px;font-weight:600}.onb-btn-primary{box-shadow:0 1px 0 var(--white-a35) inset, 0 16px 36px var(--cobalt-deep-a32)}.onb-btn-primary:hover:not(:disabled){box-shadow:0 1px 0 var(--white-a35) inset, 0 20px 44px var(--cobalt-deep-a42)}.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;border:1.5px solid var(--ink-a14);font-family:var(--font-sans);color:var(--ink);background:#fff;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;border:1.5px solid var(--ink-a14);text-align:left;cursor:pointer;transition:border-color .18s, transform .18s var(--ease-spring), box-shadow .18s;background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.onb-preset:hover{border-color:var(--cobalt-a45);transform:translateY(-1px)}.onb-preset.is-active{border-color:var(--cobalt);background:var(--cobalt-a10);box-shadow:0 8px 18px var(--cobalt-deep-a18)}.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;border:1.5px solid var(--ink-a14);width:56px;height:44px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);cursor:pointer;background:#fff;border-radius:12px;font-size:12px;transition:background .18s,border-color .18s,color .18s}.onb-day:hover{border-color:var(--ink-a30)}.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{background:var(--cobalt-a16);border-color:var(--cobalt);color:var(--cobalt-text);font-weight:700}.onb-day-open:not(.is-open){background:var(--ink-a04);color:var(--ink-faint);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{border:1.5px solid var(--ink-a08);background:#fff;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{background:var(--ink-a05);font-family:var(--font-sans);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.onb-svc-target-n{color:var(--cobalt-text);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;background:var(--ink-a06);width:32px;height:32px;color:var(--ink-mute);cursor:pointer;border:0;border-radius:50%;justify-self:center;font-size:16px}.onb-team-del:hover{background:var(--bordeaux-a16);color:var(--bordeaux)}.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;border:1.5px solid var(--ink-a10);cursor:pointer;min-height:38px;font-family:var(--font-mono);color:var(--ink-mute);background:#fff;border-radius:10px;transition:background .18s,border-color .18s}.onb-indispos-cell:hover{border-color:var(--cobalt-a45)}.onb-indispos-cell.is-off{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}.onb-indispos-cell.is-closed{background:var(--ink-a06);color:var(--ink-faint);cursor:not-allowed}@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:.12;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;width:clamp(200px,22vw,340px);height:auto;filter:drop-shadow(0 -6px 18px var(--calendia-blue-a18));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-display);letter-spacing:-.03em;color:var(--ink);white-space:nowrap;font-size:1em;font-weight:600;display:inline-block}.home-greet-char{opacity:0;filter:blur(.5px);transform-origin:50% 90%;animation:home-greet-stroke .3s cubic-bezier(.22, .9, .34, 1.02) calc(40ms * var(--i)) forwards;display:inline-block;transform:translateY(.08em)scale(.96)}.home-greet-char.is-period{color:var(--cobalt)}@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;box-shadow:0 1px 0 var(--white-a35) inset, 0 18px 44px var(--cobalt-deep-a32);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}.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{box-shadow:0 1px 0 var(--white-a35) inset, 0 24px 56px var(--cobalt-deep-a42);transform:translateY(-2px)}.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);border:1.5px solid var(--ink-a10);width:min(310px,100vw - 48px);box-shadow:0 18px 44px var(--ink-a14);z-index:3;border-radius:16px;padding:14px 16px 12px;position:absolute;bottom:clamp(16px,4vh,44px);right:clamp(16px,3vw,40px)}.home-checklist.is-done{border-color:var(--cobalt-a60)}.home-checklist-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.home-checklist-title{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600}.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{background:var(--ink-a07);color:var(--ink)}.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:var(--cobalt-a12)}.home-checklist-item.is-done{color:var(--ink-mute)}.home-checklist-mark{border:1.5px solid var(--ink-a20);color:#0000;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{border:1.5px solid var(--ink-a10);background:var(--white-a60);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);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.home-shortcut:hover{border-color:var(--cobalt);background:var(--white-a85);transform:translateY(-2px)}.home-shortcut-icon{background:var(--cobalt-a16);width:36px;height:36px;color:var(--cobalt-deep);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(var(--pg-cols,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-head-sentinel{height:1px;margin-bottom:-1px}.is-week-view .pg-week-head{top:var(--pg-ruler-top,111px);z-index:4;background:var(--surface-app);transition:padding .22s var(--ease-out);position:sticky}.is-week-view .pg-day-short,.is-week-view .pg-week-corner-label{max-height:16px;transition:max-height .22s var(--ease-out), opacity .16s var(--ease-out), transform .22s var(--ease-out);overflow:hidden}.is-week-view .pg-day-date{transition:font-size .22s var(--ease-out), padding .22s var(--ease-out)}.is-week-view .pg-week-corner-count{transition:font-size .22s var(--ease-out)}.is-week-view.is-head-away .pg-week-head{margin-bottom:2px;padding-bottom:4px}.is-week-view.is-head-away .pg-day-short,.is-week-view.is-head-away .pg-week-corner-label{opacity:0;max-height:0;transform:translateY(-5px)}.is-week-view.is-head-away .pg-day-date{padding:1px 7px;font-size:11px}.is-week-view.is-head-away .pg-week-corner-count{font-size:14px}@media (prefers-reduced-motion:reduce){.is-week-view .pg-week-head,.is-week-view .pg-day-short,.is-week-view .pg-week-corner-label,.is-week-view .pg-day-date,.is-week-view .pg-week-corner-count{transition:none}}.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:12px}.pg-week-corner-btn{appearance:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background .12s var(--ease-out);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;margin:-4px -8px;padding:4px 8px;line-height:1.05;display:inline-flex;position:relative}.pg-week-corner-btn:hover{background:var(--ink-a04)}.pg-week-corner-btn .pg-week-corner-count,.pg-week-corner-btn .pg-week-corner-label{transition:opacity .15s var(--ease-out)}.pg-week-corner-btn:hover .pg-week-corner-count,.pg-week-corner-btn:hover .pg-week-corner-label,.pg-week-corner-btn:focus-visible .pg-week-corner-count,.pg-week-corner-btn:focus-visible .pg-week-corner-label{opacity:0}.pg-corner-loupe{opacity:0;color:var(--cobalt-text,var(--cobalt));transition:opacity .15s var(--ease-out), transform .18s var(--ease-spring);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;transform:scale(.8)}.pg-week-corner-btn:hover .pg-corner-loupe,.pg-week-corner-btn:focus-visible .pg-corner-loupe{opacity:1;transform:scale(1)}.pg-corner-search{border-radius:var(--radius-pill);border:1px solid var(--paper-line-strong);background:var(--paper);width:100%;max-width:180px;height:32px;color:var(--ink);font-family:var(--font-sans);padding:0 12px;font-size:13px}.pg-corner-search:focus{border-color:var(--cobalt);outline:none}.pg-corner-search::placeholder{color:var(--ink-faint)}.pg-day-head{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);appearance:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s var(--ease-out);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 0;display:flex;position:relative}.pg-day-head:hover{background:var(--ink-a04)}.pg-day-head.is-selected{background:var(--cobalt-a06);box-shadow:inset 0 0 0 1.5px var(--cobalt-a45)}.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:11px}.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:var(--cobalt-a04)}.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 var(--ink-a16);transform:scale(1.22)}.pg-week-row:hover .pg-avatar-img{box-shadow:none;filter:drop-shadow(0 4px 8px var(--ink-a15))}.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;min-width:0;font-size:13px;font-weight:600;line-height:1.15;display:inline-flex}.pg-staff-name{overflow-wrap:break-word}.pg-staff-info .pg-fill-pill{text-transform:none;flex-shrink:0}.pg-staff-info em{flex-wrap:wrap;row-gap:2px}.pg-fill-pill{font-family:var(--font-mono);letter-spacing:.02em;border-radius:var(--radius-pill);white-space:nowrap;padding:1px 6px;font-size:12px;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-text)}.pg-fill-ok{background:color-mix(in srgb, var(--sage) 18%, transparent);color:var(--sage)}.pg-fill-over{background:color-mix(in srgb, var(--amber) 16%, transparent);color:var(--service-matin-deep)}.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:12px;display:flex}.pg-minor-pill{background:var(--brass-a22);color:var(--brass-text);border-radius:var(--radius-pill);letter-spacing:.08em;padding:1px 6px;font-size:9.5px}.pg-cell{background:0 0;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-text);font-size:12px;font-weight:600}.pg-cell:not(.pg-cell-off):hover{background:var(--cobalt-a06)}.pg-shift{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:5px;flex:1;grid-template-columns:1fr auto;align-items:center;gap:3px 6px;padding:5px 8px;display:grid;position:relative}.pg-shift:hover{box-shadow:0 4px 14px var(--ink-a12), 0 1px 3px var(--ink-a08);filter:brightness(1.04);z-index:2;transform:translateY(-1px)scale(1.015)}.pg-shift-time:before{content:"";background:var(--role-ink,var(--cobalt));vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.pg-shift-dur{color:var(--ink-mute);font-weight:500}.is-week-view .pg-shift-dur,.is-week-view .pg-shift-time:before{display:none}.is-week-view .pg-shift{column-gap:4px}.is-week-view .pg-shift-tag{letter-spacing:.03em;padding:1px 5px}.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:12px;font-weight:600;overflow:hidden}.pg-shift-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;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 7px;font-size:11px;font-weight:600}.pg-shift[data-tag=matin] .pg-shift-tag{background:var(--service-matin);color:#fff}.pg-shift[data-tag=midi] .pg-shift-tag{background:var(--service-midi);color:#fff}.pg-shift[data-tag=soir] .pg-shift-tag{background:var(--service-soir);color:#fff}.pg-shift[data-tag=brunch] .pg-shift-tag{background:var(--service-brunch);color:#fff}.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:9.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(--danger);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:11px;font-weight:600;display:inline-flex;overflow:hidden}.pg-shift.is-flagged{animation:pg-pulse 1.6s var(--ease-out) infinite;box-shadow:inset 0 0 0 1.5px var(--danger-a30)}.pg-shift.is-dragging{cursor:grabbing;box-shadow:0 14px 36px var(--ink-a22), 0 2px 6px var(--ink-a16);filter:brightness(1.05);z-index:5}.pg-shift.is-highlight{z-index:6;box-shadow:0 0 0 2px var(--cobalt), 0 0 0 6px var(--cobalt-a28), 0 12px 30px var(--ink-a18);outline:none}.is-drag-live :where(.pg-week-row[data-emp-id] .pg-cell:not([data-closed="1"])){box-shadow:inset 0 0 0 1.5px var(--cobalt-a30);background:color-mix(in srgb, var(--cobalt) 7%, var(--paper-warm))}.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.is-reassign-target{background:color-mix(in srgb, var(--sage) 20%, var(--paper-warm));box-shadow:inset 0 0 0 2px var(--sage)}.pg-cell.is-drop-warn{background:var(--danger-soft);box-shadow:inset 0 0 0 2px var(--danger)}.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);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:12px;font-weight:600}.pg-absent-label:hover{background:color-mix(in srgb, var(--bordeaux) 12%, transparent)}.pg-add-shift{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cobalt-deep,var(--cobalt));border:1px dashed color-mix(in srgb, var(--cobalt) 40%, transparent);border-radius:var(--radius-pill);cursor:pointer;opacity:0;background:0 0;margin:auto;padding:3px 10px;font-size:12px;font-weight:600;transition:opacity .12s,background .12s}.pg-cell-off:hover .pg-add-shift,.pg-add-shift:focus-visible{opacity:1}.pg-add-shift:hover{background:var(--cobalt-soft)}.pg-week-row-coverage{border-top:1px solid color-mix(in srgb, var(--ink-faint) 22%, transparent);margin-top:4px;padding-top:6px}.pg-week-row-coverage:hover{background:0 0}.pg-cov-icon{width:34px;height:34px;color:var(--cobalt-deep);justify-content:center;align-items:center;font-size:15px;display:inline-flex}.pg-cov-cell{background:0 0;border:0;justify-content:center;align-items:center;min-height:0}.pg-cov-chip{font-family:var(--font-mono);letter-spacing:.03em;border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;border:0;padding:2px 8px;font-size:12px;font-weight:600;transition:filter .12s,box-shadow .12s}.pg-cov-chip:disabled{cursor:default}.pg-cov-chip:not(:disabled):hover{filter:brightness(.97);box-shadow:0 0 0 1.5px color-mix(in srgb, currentColor 35%, transparent)}.pg-cov-ok{background:color-mix(in srgb, var(--sage) 18%, transparent);color:var(--sage)}.pg-cov-short{background:var(--bordeaux-soft);color:var(--bordeaux)}.pg-cov-na{color:var(--ink-faint)}@keyframes pg-pulse{0%,to{box-shadow:0 0 #6e222700}50%{box-shadow:0 0 0 3px var(--bordeaux-a18)}}@media (width<=1100px){.pg-week-head,.pg-week-row{grid-template-columns:170px repeat(var(--pg-cols,7), minmax(0, 1fr))}}@media (width<=860px){.pg-week-head,.pg-week-row{grid-template-columns:140px repeat(var(--pg-cols,7), minmax(0, 1fr));gap:2px}.pg-avatar{width:32px;height:32px;font-size:11.5px}.pg-cell{min-height:58px}}@media (width<=700px){.planning-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.pg-week{min-width:0;padding:10px 10px 10px 2px}.pg-week-head,.pg-week-row{grid-template-columns:108px repeat(var(--pg-cols,7), minmax(72px, 1fr))}.pg-week-corner-count{font-size:16px}.pg-staff-info em,.pg-fill-pill{display:none}.pg-avatar{width:26px;height:26px;font-size:11px}.pg-cell{min-height:52px}.pg-shift{touch-action:manipulation}.is-week-view .pg-shift{grid-template-columns:1fr;padding:4px 5px 4px 6px}.is-week-view .pg-shift-time{letter-spacing:-.01em;font-size:11px}.is-week-view .pg-shift-tag,.is-week-view .pg-shift-coupure{display:none}.is-day-view .pg-week-head{grid-template-columns:repeat(7,minmax(0,1fr))}.is-day-view .pg-week-corner{display:none}}@media (prefers-reduced-motion:reduce){.pg-shift,.pg-avatar{transition:none;animation:none}.pg-shift:hover{transform:none}.pg-shift.is-flagged{box-shadow:0 0 0 2px var(--bordeaux-a25);animation:none}}.pg-cov-hours{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-mute);text-align:center;margin-top:3px;font-size:10.5px;display:block}.pg-tl-ruler{top:var(--pg-ruler-top,111px);z-index:4;background:var(--surface-app);margin-bottom:2px;position:sticky}.pg-tl-ruler:hover{background:var(--surface-app)}.pg-tl-ruler-day{white-space:nowrap;opacity:0;transition:opacity .25s var(--ease-out), transform .25s var(--ease-spring);pointer-events:none;align-self:center;align-items:center;gap:8px;padding-left:8px;display:inline-flex;transform:translateY(5px)}.pg-week.is-head-away .pg-tl-ruler-day{opacity:1;transform:none}.pg-tl-ruler-day-name{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.pg-tl-ruler-day-date{font-family:var(--font-mono);color:var(--ink-soft);font-size:13px;font-weight:600}@media (prefers-reduced-motion:reduce){.pg-tl-ruler-day{transition:opacity .25s var(--ease-out);transform:none}}.pg-tl-scale{height:20px;position:relative}.pg-tl-tick{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-faint);font-size:10.5px;position:absolute;bottom:2px;transform:translate(-50%)}.pg-tl-now-label{font-family:var(--font-mono);color:var(--danger-deep);background:var(--surface-app);z-index:2;border-radius:3px;padding:0 4px;font-size:10.5px;font-weight:700;position:absolute;bottom:2px;transform:translate(-50%)}.pg-cell-timeline,.pg-cell.pg-cell-timeline:hover{background-color:#0000;background-image:linear-gradient(to right, var(--ink-a08) 1px, transparent 1px);background-size:calc(100% / var(--tl-hours,12)) 100%;min-height:64px;padding:0;display:block;position:relative;overflow:hidden}.pg-cell-timeline:has(.pg-shift.is-dragging){overflow:visible}.pg-cell-off .pg-tl-now,.pg-cell-timeline .pg-tl-now{background:var(--danger);z-index:3;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.pg-cell-off{position:relative}.pg-shift-tl{min-width:24px;box-shadow:0 1px 2px var(--ink-a08);border-radius:6px;align-content:center;margin:0;position:absolute;top:6px;bottom:6px;overflow:hidden}.pg-shift-tl .pg-shift-coupure{display:none}.pg-shift-tl .pg-shift-time{font-size:12px}@media (width<=700px){.pg-shift-tl .pg-shift-dur,.pg-shift-tl .pg-shift-tag,.pg-tl-tick:nth-child(odd){display:none}}.pg-tl-ghost{border:1.5px dashed var(--cobalt);background:var(--cobalt-a12);pointer-events:none;z-index:2;border-radius:6px;position:absolute;top:6px;bottom:6px}.pg-cell.is-reassign-target .pg-tl-ghost{border-color:var(--sage);background:var(--sage-a12)}.pg-cell.is-drop-warn .pg-tl-ghost{border-color:var(--danger);background:var(--danger-a08)}.pg-cell-off.pg-cell-timeline{position:relative}.pg-cell-off.pg-cell-timeline .pg-add-shift{z-index:1;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.planning-month{flex-direction:column;gap:6px;padding:14px 16px 14px 4px;display:flex}.pm-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 2px;padding-left:56px;font-size:22px;font-weight:600}.pm-head,.pm-week{grid-template-columns:56px repeat(7,minmax(0,1fr));align-items:stretch;gap:3px;display:grid}.pm-head{border-bottom:1px dashed var(--paper-line);margin-bottom:4px;padding-bottom:8px}.pm-dow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:center;align-self:center;font-size:11px}.pm-week-no{appearance:none;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-mute);cursor:pointer;border-radius:var(--radius-sm);transition:background .12s var(--ease-out), color .12s var(--ease-out);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:600;display:inline-flex}.pm-week-no:hover{background:var(--cobalt-a06);color:var(--cobalt-text,var(--cobalt))}.pm-week-published{color:var(--sage);font-size:11px}.pm-cell{appearance:none;border:1px solid var(--paper-line);background:var(--paper-card);min-height:86px;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out), transform .15s var(--ease-out);border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;display:flex;position:relative}.pm-cell:hover{border-color:var(--cobalt-a45);box-shadow:0 4px 14px var(--ink-a08);transform:translateY(-1px)}.pm-cell-date{font-family:var(--font-mono);color:var(--ink-mute);font-size:12px;font-weight:600;line-height:1.2}.pm-cell.is-today .pm-cell-date{background:var(--cobalt);color:#fff;border-radius:999px;margin:-1px 0 0 -7px;padding:1px 7px}.pm-cell.is-out{background:color-mix(in srgb, var(--paper-card) 55%, transparent)}.pm-cell.is-out>*{opacity:.55}.pm-cell.is-closed{background:var(--cobalt-a04);border-style:dashed;border-color:var(--cobalt-a28);cursor:default}.pm-cell-off{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt-text,var(--cobalt));margin:auto 0;font-size:10.5px}.pm-cell-empty{color:var(--ink-faint);margin:auto 0;font-size:13px}.pm-cell-body{flex-direction:column;gap:3px;margin-top:auto;display:flex}.pm-cell-hours{font-family:var(--font-mono);letter-spacing:.01em;color:var(--cobalt-text,var(--cobalt));background:var(--cobalt-a12);border-radius:999px;align-self:flex-start;padding:1px 9px;font-size:12.5px;font-weight:700;line-height:1.4}.pm-cell-count{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-mute);font-size:10.5px}.pm-cell-open{font-family:var(--font-mono);color:var(--cobalt-text,var(--cobalt));font-size:10.5px}.pm-cell-flag{background:var(--danger);color:#fff;min-width:18px;height:18px;font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;font-weight:700;display:inline-flex;position:absolute;top:6px;right:8px}@media (width<=900px){.pm-head,.pm-week{grid-template-columns:34px repeat(7,minmax(0,1fr))}.pm-title{padding-left:34px;font-size:18px}.pm-cell{min-height:64px;padding:6px}.pm-cell-hours{padding:1px 7px;font-size:11px}.pm-cell-count,.pm-cell-open{display:none}}.wc{align-items:center;gap:10px;display:inline-flex}.wc-view-switch{background:var(--ink-a06);border-radius:var(--radius-pill);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:10.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{background:var(--ink-a06);color:var(--ink)}.wc-cal-wrap{position:relative}.wc-date-label{border-radius:var(--radius-pill);min-width:170px;font-family:var(--font-mono);color:var(--ink);letter-spacing:.02em;text-transform:lowercase;white-space:nowrap;transition:background .15s var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-size:12px;display:inline-flex}.wc-date-text{display:block}.wc-date-text:first-letter{text-transform:uppercase}.wc-date-label:hover,.wc-date-label.is-open{background:var(--ink-a06)}.wc-cal{z-index:60;background:var(--chrome-elev);width:340px;color:var(--chrome-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:wc-cal-in .18s var(--ease-out);padding:18px 18px 16px;position:absolute;top:calc(100% + 8px);left:0}@keyframes wc-cal-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wc-cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.wc-cal-arrow{width:28px;height:28px;color:var(--paper-a70);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{background:var(--white-a08);color:var(--paper)}.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:var(--paper-a55);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:var(--paper);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:var(--white-a08)}.wc-cal-cell.is-out{color:var(--paper-a28)}.wc-cal-cell.is-sel{background:var(--cobalt);color:#fff}.wc-week-no{border-radius:var(--radius-pill);background:var(--cobalt-soft);color:var(--cobalt-text);font-family:var(--font-mono);letter-spacing:.04em;vertical-align:1px;flex-shrink:0;padding:1px 7px;font-size:10.5px;font-weight:600}.confirm-root{z-index:1200;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-backdrop{background:var(--ink-a32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;border:0;position:absolute;inset:0}.confirm-panel{background:var(--paper-card);border:1px solid var(--paper-line-strong);border-radius:var(--radius-md);width:min(92vw,440px);box-shadow:var(--shadow-lg);animation:confirm-in .2s var(--ease-out);padding:22px 24px 20px;position:relative}.confirm-title{font:600 19px/1.3 var(--font-display);font-variation-settings:var(--font-display-vfs);color:var(--ink);margin:0 0 8px}.confirm-body{font:400 14px/1.55 var(--font-body);color:var(--ink-soft);margin:0 0 18px}.confirm-body p{margin:0 0 6px}.confirm-warn{color:var(--danger-deep);font-weight:600}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-go-danger{background:var(--danger);border-color:var(--danger-deep)}.confirm-go-danger:hover{background:var(--danger-deep);border-color:var(--danger-deep)}@keyframes confirm-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.confirm-panel{animation:none}}.planning-toolbar{z-index:20;background:var(--surface-app,var(--paper));border-bottom:1px solid var(--paper-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-height:52px;margin:-16px calc(-1*clamp(16px,3vw,32px)) 14px;padding:8px clamp(16px,3vw,32px);display:flex;position:sticky;top:58px}.ptb-group{align-items:center;gap:10px;display:inline-flex}.ptb-actions{flex:1;justify-content:flex-end;gap:8px}.ptb-history{display:inline-flex}.ptb-undo,.ptb-redo{border:1px solid var(--paper-line-strong);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.ptb-undo{border-radius:8px 0 0 8px}.ptb-redo{border-left:0;border-radius:0 8px 8px 0}.ptb-undo svg,.ptb-redo svg{display:block}.ptb-undo:hover:not(:disabled),.ptb-redo:hover:not(:disabled){background:var(--paper-warm);color:var(--ink);border-color:var(--ink-mute)}.ptb-redo:hover:not(:disabled){border-left:1px solid var(--ink-mute);margin-left:-1px}.ptb-undo:disabled,.ptb-redo:disabled{opacity:.4;cursor:default}.ptb-reset{border:1px solid var(--paper-line-strong);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.ptb-reset:hover{background:var(--bordeaux-soft,var(--danger-a08));color:var(--bordeaux,var(--danger));border-color:var(--bordeaux,var(--danger))}.ptb-unexpected{border-color:var(--cobalt-a45);color:var(--cobalt-text,var(--cobalt))}.ptb-unexpected:hover:not(:disabled){background:var(--cobalt-a06);border-color:var(--cobalt);color:var(--cobalt-text,var(--cobalt))}.ptb-icon-ghost{width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.ptb-icon-ghost:hover{background:var(--ink-a06);color:var(--ink)}.ptb-dots{font-size:18px;font-weight:600;line-height:1}.ptb-bell{position:relative}.ptb-bell-badge{min-width:15px;height:15px;font-family:var(--font-mono);box-shadow:0 0 0 2px var(--surface-app);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:0;right:-1px}.ptb-bell-bad{background:var(--danger);color:#fff}.ptb-bell-warn{background:var(--cobalt);color:#fff}.ptb-btn{white-space:nowrap;border-color:var(--paper-line-strong);background:var(--paper);height:32px;color:var(--ink-soft);padding:0 14px;font-size:13px}.ptb-btn:hover:not(:disabled){background:var(--paper-warm);color:var(--ink);border-color:var(--ink-mute)}.ptb-btn-icon{justify-content:center;width:32px;padding:0;font-size:16px}.ptb-btn-primary{background:var(--chrome);border-color:var(--chrome);color:var(--chrome-text);font-weight:600}.ptb-btn-primary:hover:not(:disabled){background:var(--chrome-elev);border-color:var(--chrome-elev);color:#fff}.ptb-btn-ghost{background:0 0}.ptb-publish{background:var(--cobalt);border-color:var(--cobalt);color:#fff;font-weight:600}.ptb-publish:hover:not(:disabled){background:var(--cobalt-deep);border-color:var(--cobalt-deep);color:#fff}.ptb-publish-done{background:color-mix(in srgb, var(--sage) 18%, var(--paper));border-color:var(--sage);color:var(--green-darker)}.ptb-publish-done:hover:not(:disabled){background:color-mix(in srgb, var(--sage) 26%, var(--paper));border-color:var(--sage)}.ptb-overflow{position:relative}.ptb-menu{z-index:30;background:var(--paper-card,#fff);border:1px solid var(--paper-line-strong);min-width:248px;box-shadow:0 12px 30px var(--ink-a14);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.ptb-menu-item{text-align:left;cursor:pointer;font-family:var(--font-sans);color:var(--ink-soft);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.ptb-menu-item:hover:not(:disabled){background:var(--paper-warm);color:var(--ink)}.ptb-menu-item:disabled{opacity:.55;cursor:default}.ptb-menu-item-danger{color:var(--bordeaux,var(--danger))}.ptb-menu-item-danger:hover:not(:disabled){background:var(--bordeaux-soft,var(--danger-a08));color:var(--bordeaux,var(--danger))}.ptb-menu-sub{font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;align-items:center;gap:4px;font-size:10.5px;display:inline-flex}.ptb-menu-head{border-bottom:1px solid var(--paper-line);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:4px;margin-bottom:2px;padding:2px 6px 6px 2px;font-size:11px;display:flex}.ptb-menu-back{width:22px;height:22px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;font-size:15px;display:grid}.ptb-menu-back:hover{background:var(--paper-warm);color:var(--ink)}.ptb-menu-empty{color:var(--ink-mute);margin:0;padding:8px 10px;font-size:12.5px;line-height:1.45}.ptb-dialog-input{border:1px solid var(--paper-line-strong);background:var(--paper-card,#fff);width:100%;height:36px;font-family:var(--font-sans);color:var(--ink);border-radius:8px;margin-top:8px;padding:0 12px;font-size:13.5px}.ptb-dialog-input:focus{border-color:var(--cobalt);outline:none}.ptb-tpl-row{align-items:center;gap:2px;display:flex}.ptb-tpl-apply{flex:1;min-width:0}.ptb-tpl-del{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;font-size:15px;display:grid}.ptb-tpl-del:hover{background:var(--bordeaux-soft,var(--danger-a08));color:var(--bordeaux,var(--danger))}.ptb-lock-chip{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--cobalt-soft);color:var(--cobalt-text,var(--cobalt));align-items:center;gap:5px;padding:4px 10px;font-size:10.5px;font-weight:600;display:inline-flex}.ptb-optimize-wrap{position:relative}.ptb-popover{z-index:30;background:var(--paper);border:1px solid var(--cobalt-a28);width:300px;box-shadow:0 14px 34px var(--ink-a16);border-radius:12px;padding:14px;position:absolute;top:calc(100% + 8px);right:0}.ptb-popover-title{color:var(--ink);margin:0 0 4px;font-size:14px;font-weight:600}.ptb-popover-text{color:var(--ink-mute);margin:0 0 12px;font-size:12.5px;line-height:1.45}.ptb-popover-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=700px){.planning-toolbar{gap:8px;padding-top:6px;padding-bottom:6px}.ptb-history,.ptb-reset{display:none}.ptb-publish{white-space:nowrap;padding:0 10px;font-size:12px}}.cd-overlay{background:var(--ink-a18);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;border:0;padding:0;position:fixed;inset:0}.constraint-drawer{background:var(--paper-card);border-left:1px solid var(--paper-line);width:min(420px,100vw);height:100vh;box-shadow:-22px 0 60px var(--ink-a16);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.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-text);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(--danger-soft);color:var(--danger-deep)}.cd-pill-error:before{background:var(--danger)}.cd-pill-warn{background:var(--cobalt-soft);color:var(--cobalt-text)}.cd-pill-warn:before{background:var(--cobalt)}.cd-pill-ok{background:var(--sage-a18);color:var(--sage)}.cd-pill-ok:before{background:var(--sage)}.cd-close{width:28px;height:28px;color:var(--ink-mute);background:var(--ink-a06);transition:background .15s var(--ease-out);border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;top:16px;right:16px}.cd-close:hover{background:var(--ink-a12);color:var(--ink)}.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{background:var(--danger-a08);border-color:var(--danger-a18)}.cd-item-warning{background:var(--cobalt-a06);border-color:var(--cobalt-a18)}.cd-item-rule:before{content:"";background:var(--ink-faint);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.cd-item-error .cd-item-rule:before{background:var(--danger)}.cd-item-warning .cd-item-rule:before{background: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:var(--ink-a06);padding:2px 7px;font-size:10.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;padding:7px 11px;font-size:11px}.cd-btn-primary{background:var(--cobalt);color:#fff}.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}}.cd-infeasible{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 32%, transparent);border-radius:10px;margin-bottom:4px;padding:12px 14px}.cd-infeasible-head{color:var(--danger-deep);align-items:center;gap:8px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.cd-infeasible-icon{font-size:15px}.cd-infeasible-text{color:var(--ink-soft);margin:0 0 6px;font-size:13px;line-height:1.5}.cd-infeasible-text:last-child{margin-bottom:0}.optimize-overlay{background:var(--paper-a92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:80;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-text);font-size:10.5px}.op-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);letter-spacing:0;font-size:32px;font-weight:600;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-solving{flex-direction:column;align-items:center;gap:10px;margin-top:22px;display:flex}.op-solving-bar{background:var(--paper-line);border-radius:2px;width:min(280px,70%);height:3px;position:relative;overflow:hidden}.op-solving-bar:after{content:"";background:var(--cobalt);border-radius:2px;width:40%;animation:1.1s ease-in-out infinite op-solving-slide;position:absolute;inset:0}@keyframes op-solving-slide{0%{transform:translate(-110%)}to{transform:translate(280%)}}.op-solving-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cobalt-text);font-size:11px}@media (prefers-reduced-motion:reduce){.op-solving-bar:after{opacity:.5;width:100%;animation:none}}.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;width:56px;height:56px;box-shadow:0 6px 18px var(--sage-a32);border-radius:50%;place-items:center;display:grid}.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);width:16px;height:16px;box-shadow:inset 0 1px 2px var(--ink-a08);border-radius:50%;position:absolute;bottom:-8px}.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:10.5px;display:flex}.roi-stub{color:var(--cobalt-text);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{background:var(--ink-a06);width:24px;height:24px;color:var(--ink-mute);border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid}.roi-dismiss:hover{background:var(--ink-a12);color:var(--ink)}@media (width<=600px){.roi-ticket{width:auto;left:16px;right:16px}}.roi-degraded{border-radius:var(--radius-sm);background:var(--bordeaux-soft);color:var(--bordeaux);font:500 12.5px/1.4 var(--font-body);margin:4px 0 10px;padding:6px 10px}.shift-modal-root{z-index:95;justify-content:flex-end;display:flex;position:fixed;inset:0}.shift-modal-backdrop{background:var(--ink-a18);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);cursor:pointer;animation:shift-fade-in .22s var(--ease-out);border:0;padding:0;position:absolute;inset:0}.shift-modal{background:var(--paper-card);border-left:1px solid var(--paper-line);border-top:4px solid var(--cobalt);width:min(440px,100vw);height:100dvh;box-shadow:-22px 0 60px var(--ink-a16);animation:shift-slide-in .3s var(--ease-out);flex-direction:column;gap:18px;padding:22px 24px 18px;display:flex;position:relative;overflow-y:auto}.shift-modal[data-tag=matin]{border-top-color:var(--service-matin)}.shift-modal[data-tag=midi]{border-top-color:var(--service-midi)}.shift-modal[data-tag=soir]{border-top-color:var(--service-soir)}.shift-modal[data-tag=brunch]{border-top-color:var(--service-brunch)}@keyframes shift-fade-in{0%{opacity:0}to{opacity:1}}@keyframes shift-slide-in{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}.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);background:var(--ink-a06);transition:background .15s var(--ease-out);border-radius:50%;place-items:center;font-size:20px;line-height:1;display:grid}.shift-modal-close:hover{background:var(--ink-a14);color:var(--ink)}.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(--danger-deep)}.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-time-row{align-items:center;gap:10px;display:flex}.shift-time-cell{flex:1;align-items:center;gap:8px;min-width:0;display:inline-flex}.shift-time-prefix{color:var(--ink-mute);font-size:13px}.shift-input-time{font-family:var(--font-mono);text-align:center;font-size:15px}.shift-time-arrow{color:var(--ink-faint);flex-shrink:0;font-size:15px}.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:var(--danger-a08);border-color:var(--danger-a18)}.shift-violations-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--danger-deep);font-size:10.5px}.shift-violations-error{color:var(--danger-deep);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:1px solid var(--danger-a18);background:var(--danger-a08);flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;line-height:1.4;display:flex}.shift-violation-soft{border-color:var(--cobalt-a18);background:var(--cobalt-a06)}.shift-violation strong:before{content:"";background:var(--danger);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.shift-violation-soft strong:before{background: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);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:8px;display:flex}.shift-modal-foot-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shift-modal-foot-right{align-items:center;gap:8px;margin-left:auto;display:flex}.shift-btn-absent{color:var(--ink-soft);padding:9px 14px;font-size:13px}.shift-btn-absent:hover{border-color:var(--sage);background:color-mix(in srgb, var(--sage) 10%, transparent)}.shift-btn{letter-spacing:-.005em;padding:9px 18px;font-size:14px;font-weight:600}.shift-btn-link{color:var(--ink-mute);text-underline-offset:3px;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}}@media (width<=520px){.shift-time-row{flex-direction:column;align-items:stretch}.shift-time-arrow{display:none}}.planning-print{display:none}@media print{body *{visibility:hidden}.planning-print,.planning-print *{visibility:visible}.planning-print{color:#14110c;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;width:100%;padding:0;font-family:IBM Plex Sans,system-ui,sans-serif;display:block;position:absolute;top:0;left:0}@page{size:A4 landscape;margin:12mm}.pp-head{border-bottom:2px solid #14110c;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;padding-bottom:8px;display:flex}.pp-restaurant{letter-spacing:-.01em;margin:0;font-size:20pt;font-weight:700}.pp-week{color:#5a5344;margin:2px 0 0;font-size:11pt}.pp-status{white-space:nowrap;border:1px solid;border-radius:999px;padding:3px 10px;font-size:10pt;font-weight:600}.pp-status-published{color:#2f5d3a}.pp-status-draft{color:#8a6d1f}.pp-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9pt}.pp-table th,.pp-table td{vertical-align:top;text-align:left;border:.75pt solid #c9c2b2;padding:4px 5px}.pp-table thead th{text-align:center;background:#f1ece0;font-size:9pt;font-weight:700}.pp-th-name{width:15%;text-align:left!important}.pp-th-closed{color:#9a927f}.pp-name{font-weight:600}.pp-name-main{display:block}.pp-name-role{color:#6b6455;font-size:7.5pt;font-weight:400;display:block}.pp-cell{text-align:center}.pp-cell-closed{background:#f6f3ea}.pp-shift{font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.pp-tag{font-size:8pt}.pp-tag-muted{color:#9a927f}.pp-tag-rest{color:#b8b1a0}.pp-empty{text-align:center;color:#6b6455;padding:16px}.pp-table tr{page-break-inside:avoid}.pp-foot{color:#6b6455;border-top:.75pt solid #c9c2b2;justify-content:space-between;gap:12px;margin-top:12px;padding-top:6px;font-size:7.5pt;display:flex}}.dropconfirm{z-index:60;background:var(--paper-warm,var(--paper));border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);max-width:min(560px,100vw - 32px);box-shadow:0 12px 34px var(--ink-a22);border-radius:14px;align-items:center;gap:18px;padding:14px 16px 14px 18px;animation:.22s cubic-bezier(.16,.84,.32,1) dropconfirm-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes dropconfirm-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.dropconfirm-warn{background:color-mix(in srgb, var(--danger) 8%, var(--paper-warm,var(--paper)));border-color:var(--danger-a30)}.dropconfirm-info{background:color-mix(in srgb, var(--sage) 12%, var(--paper-warm,var(--paper)));border-color:var(--sage-a32)}.dropconfirm-body{min-width:0}.dropconfirm-title{font-family:var(--font-display,serif);color:var(--ink);margin:0 0 4px;font-size:14px;font-weight:700}.dropconfirm-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.dropconfirm-item{color:color-mix(in srgb, var(--ink) 82%, transparent);font-size:12.5px;line-height:1.35}.dropconfirm-item-warn:before{content:"⚠ ";color:var(--danger-deep)}.dropconfirm-item-info:before{content:"· ";color:var(--sage)}.dropconfirm-note{color:color-mix(in srgb, var(--ink) 62%, transparent);margin:6px 0 0;font-size:11.5px;font-style:italic}.dropconfirm-actions{flex-shrink:0;gap:8px;display:flex}.dropconfirm-btn{font-family:var(--font-mono,monospace);letter-spacing:.03em;padding:8px 14px;font-size:12px;font-weight:600;transition:filter .12s,background .12s}.dropconfirm-cancel{border-color:color-mix(in srgb, var(--ink) 22%, transparent);color:var(--ink);background:0 0}.dropconfirm-cancel:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.dropconfirm-keep{background:var(--danger);color:var(--paper)}.dropconfirm-keep:hover{filter:brightness(1.08)}.ua-root{z-index:1200;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ua-backdrop{background:var(--ink-a32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;border:0;position:absolute;inset:0}.ua-panel{background:var(--paper-card);border:1px solid var(--paper-line-strong);border-radius:var(--radius-md);width:min(94vw,560px);max-height:min(84vh,720px);box-shadow:var(--shadow-lg);animation:ua-in .2s var(--ease-out);padding:22px 24px 18px;position:relative;overflow-y:auto}@keyframes ua-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ua-head{margin-bottom:14px}.ua-title{font:600 19px/1.3 var(--font-display);font-variation-settings:var(--font-display-vfs);color:var(--ink);margin:0 0 4px}.ua-sub{color:var(--ink-mute);margin:0;font-size:13.5px;line-height:1.5}.ua-days{gap:6px;margin-bottom:12px;display:flex}.ua-day{border-radius:var(--radius-pill);border:1px solid var(--paper-line-strong);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);cursor:pointer;transition:background .12s var(--ease-out), color .12s var(--ease-out), border-color .12s var(--ease-out);background:0 0;flex:1;padding:6px 0;font-size:11px}.ua-day:hover:not(:disabled){border-color:var(--ink-mute);color:var(--ink)}.ua-day.is-active{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.ua-day:disabled{opacity:.35;cursor:default}.ua-emps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ua-emp{border:1px solid var(--paper-line);cursor:pointer;text-align:left;width:100%;transition:background .12s var(--ease-out), border-color .12s var(--ease-out);background:0 0;border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 12px;display:flex}.ua-emp:hover:not(:disabled){background:var(--cobalt-a06);border-color:var(--cobalt-a45)}.ua-emp:disabled{opacity:.5;cursor:default}.ua-emp-name{color:var(--ink);font-size:14px;font-weight:600}.ua-emp-meta{font-family:var(--font-mono);color:var(--ink-mute);white-space:nowrap;font-size:11px}.ua-shift{margin-bottom:14px}.ua-shift-title{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;font-size:12px;font-weight:600}.ua-card{border:1px solid var(--paper-line-strong);background:var(--paper-card);box-shadow:var(--shadow-sm);border-radius:12px;padding:12px 14px}.ua-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ua-card-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt-text,var(--cobalt));font-size:10.5px;font-weight:600}.ua-card-nav{align-items:center;gap:6px;display:inline-flex}.ua-card-count{font-family:var(--font-mono);color:var(--ink-faint);font-size:10.5px}.ua-card-arrow{border:1px solid var(--paper-line-strong);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;transition:background .12s var(--ease-out), color .12s var(--ease-out), border-color .12s var(--ease-out);background:0 0;border-radius:50%;place-items:center;font-size:15px;display:grid}.ua-card-arrow:hover:not(:disabled){background:var(--ink-a04);color:var(--ink);border-color:var(--ink-mute)}.ua-card-arrow:disabled{opacity:.35;cursor:default}.ua-card-id{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.ua-card-name{color:var(--ink);flex-direction:column;gap:1px;min-width:0;font-size:15px;font-weight:600;display:flex}.ua-card-name em{font-style:normal;font-family:var(--font-mono);color:var(--ink-mute);font-size:11px;font-weight:500}.ua-card-badge{font-family:var(--font-mono);letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:10.5px;font-weight:700}.ua-card-badge.is-ideal{background:color-mix(in srgb, var(--sage) 18%, transparent);color:var(--sage)}.ua-card-badge.is-ok{background:var(--cobalt-soft);color:var(--cobalt-text)}.ua-card-badge.is-warn{background:var(--danger-a08);color:var(--danger-deep)}.ua-crits{flex-direction:column;gap:5px;margin:0 0 10px;padding:0;list-style:none;display:flex}.ua-crit{color:var(--sage);align-items:baseline;gap:8px;font-size:13px;line-height:1.4;display:flex}.ua-crit.is-bad{color:var(--danger-deep)}.ua-card-actions{align-items:center;gap:12px;display:flex}.ua-select{border-radius:var(--radius-pill);border:1px solid var(--cobalt-a45);background:var(--paper-card,#fff);height:36px;font-family:var(--font-sans);color:var(--cobalt-text,var(--cobalt));cursor:pointer;transition:background .12s var(--ease-out), border-color .12s var(--ease-out), color .12s var(--ease-out);flex:1;font-size:13.5px;font-weight:600}.ua-select:hover{background:var(--cobalt-a06);border-color:var(--cobalt)}.ua-select.is-chosen{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.ua-pool-link{color:var(--ink-mute);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;flex-shrink:0;font-size:12.5px;text-decoration:underline}.ua-pool-link:hover{color:var(--ink)}.ua-pool-link.is-chosen{color:var(--cobalt-text,var(--cobalt));font-weight:600}.ua-empty{color:var(--ink-mute);margin:0 0 14px;font-size:13.5px;line-height:1.5}.ua-actions{border-top:1px solid var(--paper-line);align-items:center;gap:10px;margin-top:6px;padding-top:12px;display:flex}.ua-actions-spring{flex:1}.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-empty{text-align:center;font-family:var(--font-sans);color:var(--ink-mute);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:48px 24px;font-size:15px;display:flex}.planning-empty-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.planning-toast{z-index:40;background:var(--paper);border:1px solid var(--cobalt-a28);max-width:min(560px,100vw - 32px);box-shadow:0 12px 34px var(--ink-a18);font-family:var(--font-sans);color:var(--ink-soft);animation:planning-toast-in .3s var(--ease-out,ease);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;font-size:13.5px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes planning-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.planning-toast-close{appearance:none;width:24px;height:24px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;font-size:15px}.planning-toast-close:hover{background:var(--ink-a08);color:var(--ink)}@media (width<=700px){.planning-toast{gap:10px;padding:9px 12px;font-size:12.5px;line-height:1.4;bottom:12px}.publish-badge{display:none}}.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;border:1.5px solid var(--ink-a12);cursor:pointer;min-height:34px;font-family:var(--font-mono);color:#0000;touch-action:none;background:#fff;border-radius:9px;font-size:13px;transition:background .15s,border-color .15s}.avg-cell:hover:not(:disabled){border-color:var(--cobalt-a55)}.avg-cell.is-hard{background:repeating-linear-gradient(-45deg, var(--bordeaux), var(--bordeaux) 4px, var(--bordeaux) 4px, var(--bordeaux) 8px);border-color:var(--bordeaux);color:#fff}.avg-cell.is-soft{background:var(--cobalt-a30);border-color:var(--cobalt);color:var(--cobalt-text)}.avg-cell.is-day-closed{background:var(--ink-a05);cursor:not-allowed;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{border:1.5px solid var(--ink-a16);background:#fff}.avg-swatch-hard{background:var(--bordeaux)}.avg-swatch-soft{background:var(--cobalt-a45);border:1.5px solid var(--cobalt)}.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{background:var(--ink-a50);-webkit-backdrop-filter:blur(6px);cursor:pointer;border:0;position:absolute;inset:0}.emp-modal{background:var(--paper-card);border-top:4px solid var(--cobalt);width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:0 28px 64px var(--ink-a32);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.emp-modal-head{border-bottom:1px solid var(--ink-a08);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;background:var(--ink-a06);cursor:pointer;width:32px;height:32px;color:var(--ink);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-identity .emp-field-toggle{flex:none;align-items:flex-start;max-width:none;margin-left:auto}.emp-row-meta{grid-template-columns:minmax(160px,1.6fr) 1fr 88px minmax(120px,1.4fr);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;border:1.5px solid var(--ink-a14);font-family:var(--font-sans);color:var(--ink);box-sizing:border-box;background:#fff;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;background:var(--ink-a18);cursor:pointer;width:44px;height:24px;transition:background .18s var(--ease-out);border:0;border-radius:999px;padding:0;position:relative}.emp-switch.is-on{background:var(--cobalt)}.emp-switch-thumb{width:20px;height:20px;box-shadow:0 1px 3px var(--black-a25);transition:transform .18s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.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 var(--ink-a12);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;background:var(--ink-a06);width:30px;height:30px;color:var(--ink-mute);cursor:pointer;border:0;border-radius:50%;font-size:14px}.emp-btn-icon:hover{background:var(--danger-a18);color:var(--danger-deep)}.emp-modal-foot{border-top:1px solid var(--ink-a08);background:var(--white-a40);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-delete{color:var(--danger-deep)}.emp-btn-delete:hover{background:var(--danger-soft)}.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 var(--ink-a12);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{border:1px solid var(--ink-a12);background:#fff;border-radius:10px;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.emp-prefs-rank{background:var(--cobalt-a18);width:24px;height:24px;color:var(--cobalt-text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;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 var(--ink-a12);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{background:var(--cobalt-a18);color:var(--ink)}.emp-prefs-step button+button{border-left:1px solid var(--ink-a12)}.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){background:var(--ink-a08);color:var(--ink)}.emp-prefs-icon:disabled{opacity:.3;cursor:not-allowed}.emp-prefs-remove:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-deep)}.emp-prefs-add{flex-direction:column;gap:8px;display:flex}.emp-prefs-add-btn{appearance:none;border:1.5px dashed var(--cobalt-a55);background:var(--cobalt-a06);color:var(--cobalt-text);font-family:var(--font-sans);cursor:pointer;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){background:var(--cobalt-a14);border-color:var(--cobalt)}.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:var(--white-a70);border:1px solid var(--ink-a10);border-radius:12px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.emp-prefs-picker-item{appearance:none;border:1px solid var(--ink-a14);color:var(--ink);font-family:var(--font-sans);cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px}.emp-prefs-picker-item:hover{background:var(--cobalt-a15);border-color:var(--cobalt)}.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{border:1px solid var(--ink-a10);box-shadow:0 8px 24px var(--ink-a08);animation:emp-pop-in .18s var(--ease-out);background:#fff;border-radius:14px;margin:-8px 0 18px;padding:12px 14px;position:relative}.emp-avatar-picker-inline:before{content:"";border-left:1px solid var(--ink-a10);border-top:1px solid var(--ink-a10);background:#fff;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;box-shadow:0 0 0 3px var(--cobalt-a22);margin-bottom:0;position:relative}.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 var(--cobalt-a22)}.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{border:2px dashed var(--ink-a22);background:0 0}.emp-avatar-tile-none.is-active{border-style:solid;border-color:var(--cobalt);background:var(--cobalt-a10)}.emp-avatar-initials{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);font-size:14px;font-weight:700}.prefill{border:1px solid var(--line,#3c322829);background:var(--paper-raised,#ffffff80);border-radius:14px;margin:0 0 1.25rem;padding:1rem 1.1rem 1.1rem;box-shadow:inset 0 1px #fff9}.prefill-head{margin-bottom:.75rem}.prefill-eyebrow{letter-spacing:.01em;color:var(--ink,#2a2016);margin:0;font-weight:650}.prefill-sub{color:var(--ink-mute,#8a7d6c);margin:.15rem 0 0;font-size:.82rem}.prefill-group+.prefill-group{margin-top:.85rem}.prefill-group-name{color:var(--ink,#2a2016);margin:0 0 .4rem;font-size:.9rem;font-weight:600}.prefill-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.prefill-item{border:1px solid var(--line,#3c322824);background:var(--paper,#fbf7f0);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.55rem .7rem;display:flex}.prefill-item[data-confidence=low]{opacity:.92;border-style:dashed}.prefill-item-main{min-width:0}.prefill-label{color:var(--ink,#2a2016);font-weight:600}.prefill-because{color:var(--ink-mute,#8a7d6c);margin:.15rem 0 0;font-size:.8rem}.prefill-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.prefill-confidence{font-variant-numeric:tabular-nums;color:var(--ink-mute,#8a7d6c);background:#3c32280f;border-radius:6px;padding:.1rem .35rem;font-size:.75rem}.prefill-confirm,.prefill-reject{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.28rem .6rem;font-size:.8rem}.prefill-confirm{color:#fff;background:var(--forest,#3d6b4f);border-color:var(--forest,#3d6b4f)}.prefill-confirm:hover{filter:brightness(1.05)}.prefill-reject{color:var(--ink-mute,#8a7d6c);border-color:var(--line,#3c322833);background:0 0}.prefill-reject:hover{color:var(--ink,#2a2016)}.prefill-optin{color:var(--ink-mute,#8a7d6c);cursor:pointer;align-items:center;gap:.45rem;margin-top:.85rem;font-size:.82rem;display:flex}.account-route{z-index:60;color:var(--ink);justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.account-backdrop{background:var(--ink-a28);-webkit-backdrop-filter:blur(6px);cursor:pointer;border:0;margin:0;padding:0;position:absolute;inset:0}.account-panel{background:var(--paper);border:1px solid var(--paper-line);width:min(1080px,100%);height:min(720px,100%);box-shadow:0 30px 80px var(--ink-a22);box-sizing:border-box;border-radius:18px;flex-direction:row;display:flex;position:relative;overflow:hidden}.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{background:var(--ink-a06);color:var(--ink)}.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:var(--ink-a04)}.account-nav-item.is-active{background:var(--cobalt);color:#fff}.account-nav-item.is-active:hover{background:var(--cobalt-deep);color:#fff}.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);background:var(--ink-a03);width:100%;font:inherit;color:var(--ink);transition:border-color .15s var(--ease-out);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);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{background:var(--sage-a10);color:var(--sage)}.account-flash.is-err{background:var(--bordeaux-a10);color:var(--bordeaux)}.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-shadow:0 4px 14px var(--ink-a10);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.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);box-shadow:0 2px 6px var(--black-a20);transition:transform .15s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;right:0}.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{background:var(--ink-a03);border:1px solid var(--paper-line);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;background:var(--sage-a12);color:var(--sage);border-radius:999px;padding:4px 8px}.provider-error{width:100%;color:var(--bordeaux);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{background:var(--ink-a03);border:1px solid var(--paper-line);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;background:var(--ink-a03);border:1px solid var(--paper-line);cursor:pointer;transition:border-color .15s var(--ease-out), background .15s var(--ease-out);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:var(--cobalt-a08)}.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}}.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 var(--ink-a16);transform:scale(1.08)}.team-card:hover .team-card-avatar-img{filter:drop-shadow(0 4px 8px var(--ink-a15));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(--brass-a22);color:var(--brass-text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);padding:2px 7px;font-size:10px}.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:10.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-deep);color:#fff}.team-add{appearance:none;background:var(--cobalt);color:#fff;font-family:var(--font-sans);cursor:pointer;transition:transform .18s var(--ease-spring), filter .18s var(--ease-out);border:0;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:600}.team-add:hover{filter:brightness(1.08);transform:translateY(-1px)}.team-empty{background:var(--white-a40);border:1px dashed var(--ink-a18);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{box-shadow:0 18px 36px var(--ink-a14);transform:translateY(-2px)}.team-quick-row{gap:10px;width:min(440px,100%);display:flex}.team-quick-input{appearance:none;border:1.5px solid var(--ink-a14);font-family:var(--font-sans);color:var(--ink);background:#fff;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-text);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-sans);color:var(--cobalt-text);background:var(--cobalt-a14);border:1px solid var(--cobalt-a45);border-radius:999px;padding:2px 11px;font-size:13px;font-weight:500;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}.team-panel-head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px}.team-panel-body{flex:auto;min-height:0;padding-right:4px;overflow-y:auto}.team-panel-body .team-grid{margin-top:0}.team-nav-item{justify-content:flex-start;width:100%}.team-nav-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.team-nav-label{margin-right:auto}.team-nav-count{font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;font-size:11px}.team-nav-item.is-active .team-nav-count{color:var(--paper);opacity:.7}.route-team .team-grid{margin-top:20px}.team-toolbar{z-index:20;background:var(--surface-app,var(--paper));border-bottom:1px solid var(--paper-line);align-items:center;gap:14px;margin:18px calc(-1*clamp(20px,4vw,48px)) 0;padding:10px clamp(20px,4vw,48px);display:flex;position:sticky;top:58px}.team-toolbar .team-add{flex-shrink:0;margin-left:auto}.team-filters{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.team-filter-chip{border-radius:var(--radius-pill);border:1px solid var(--paper-line-strong);background:var(--paper-card);font-family:var(--font-sans);color:var(--ink-soft);cursor:pointer;transition:background .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out);align-items:center;gap:7px;padding:6px 13px;font-size:13px;font-weight:500;display:inline-flex}.team-filter-chip:hover{border-color:var(--ink-mute);color:var(--ink)}.team-filter-chip.is-active{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.team-filter-chip .team-nav-count{color:inherit;opacity:.65}@media (width<=700px){.team-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.team-filters::-webkit-scrollbar{display:none}.team-filter-chip{flex-shrink:0}}.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}}.insights-sparkline{opacity:.9;margin:8px 0 2px;display:block}.insights-trend-empty{color:var(--ink-mute);font-style:italic}.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-legend{max-width:68ch;color:var(--ink-mute);margin-top:12px;font-size:12.5px;line-height:1.5}.cstr-legend strong{color:var(--ink);font-weight:600}.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-headline{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.cstr-group-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:17px;font-weight:600}.cstr-group-tagline{color:var(--ink-faint);letter-spacing:-.005em;font-size:12.5px}.cstr-group-edit{font-family:var(--font-display);color:var(--cobalt-text);letter-spacing:-.005em;white-space:nowrap;transition:color .12s var(--ease-out);flex-shrink:0;font-size:13px;font-weight:600}.cstr-group-edit:hover,.cstr-group-edit:focus-visible{color:var(--green-deep);outline:none;text-decoration:underline}.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:10.5px}.cstr-pill-hard{background:var(--bordeaux-soft);color:var(--bordeaux)}.cstr-pill-soft{background:var(--cobalt-soft);color:var(--cobalt-text)}.cstr-usage{font-family:var(--font-sans);color:var(--cobalt-text);font-size:13px;font-weight:600;text-decoration:none}.cstr-usage:hover{text-decoration:underline}.cstr-item-upcoming{opacity:.6}.cstr-pill-upcoming{background:var(--ink-a07);color:var(--ink-mute)}.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,var(--ink-a18));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);outline:none}.resto-hours-sep{color:var(--ink-mute)}.resto-day{appearance:none;border:1px solid var(--paper-line);background:var(--ink-a03);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);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);background:var(--cobalt-a12);color:var(--ink)}.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-text)}.resto-role-list{flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.resto-role-chip{background:var(--ink-a05);border:1px solid var(--paper-line);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(--danger-deep);border-color:var(--danger-a30)}.account-btn-danger:hover{background:var(--danger-a08)}.resto-staffing-list{flex-direction:column;gap:8px;display:flex}.resto-staffing-row{border:1px solid var(--paper-line);background:var(--ink-a03);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{background:var(--danger-soft);color:var(--danger-deep)}.resto-content .account-sections{flex:auto}.resto-foot{border-top:1px solid var(--paper-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:16px;display:flex}.resto-foot-state{color:var(--ink-faint);font-size:13px;font-family:var(--font-mono);letter-spacing:.02em}.resto-foot-state.is-dirty{color:var(--danger-deep)}.resto-foot-actions{gap:10px;display:flex}.resto-guard-root{z-index:80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.resto-guard-backdrop{background:var(--ink-a34);-webkit-backdrop-filter:blur(3px);cursor:pointer;border:0;margin:0;padding:0;position:absolute;inset:0}.resto-guard{background:var(--paper);border:1px solid var(--paper-line);width:min(440px,100%);box-shadow:0 30px 80px var(--ink-a28);border-radius:16px;padding:24px;position:relative}.resto-guard-title{font-family:var(--font-sans);letter-spacing:-.01em;margin:0 0 8px;font-size:20px;font-weight:600}.resto-guard-body{color:var(--ink-mute);margin:0 0 20px;font-size:14px;line-height:1.45}.resto-guard-actions{justify-content:flex-end;gap:10px;display:flex}.account-coverage{border-top:1px solid var(--paper-line);margin-top:4px;padding-top:18px}.account-coverage-head{margin-bottom:14px}.account-coverage-title{letter-spacing:-.005em;color:var(--ink);margin:0 0 4px;font-size:15px;font-weight:600}.account-coverage-head .account-hint{margin-top:0;line-height:1.45}.signin-root{background:var(--paper);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);border:1px solid var(--paper-line);width:100%;max-width:420px;box-shadow:0 18px 50px var(--ink-a12);isolation:isolate;border-radius:24px;overflow:hidden}.signin-window{height:var(--win);position:relative;overflow:hidden}.signin-login{z-index:1;box-sizing:border-box;background:var(--paper-card);padding:1.75rem 1.75rem .5rem;position:absolute;inset:0;overflow-y:auto}.signin-signup{z-index:2;color:var(--paper);background:radial-gradient(120% 80% at 0% 100%, var(--green-deep-a10) 0%, transparent 50%),  linear-gradient(155deg, #1a3327 0%, var(--green-darker) 60%, #122520 100%);transform:translateY(calc(100% - var(--peek)));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);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:var(--cobalt-a55);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);cursor:pointer;color:var(--cobalt-text);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);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);margin:0 0 .35rem;font-size:1.5rem;font-weight:500}.signin-panel-lead{color:var(--ink-mute);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);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);width:18px;height:1px}.signin-onboard-title{font-family:var(--font-display,"Fraunces", serif);letter-spacing:-.02em;color:var(--paper);margin:0;font-size:1.95rem;font-weight:400;line-height:1.05}.signin-onboard-title em{color:var(--cobalt);font-style:italic;font-weight:300}.signin-onboard-lead{color:var(--paper-a72);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:var(--paper-a88);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.signin-onboard-features svg{color:var(--cobalt);background:var(--cobalt-a15);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(var(--paper-a04) 1px, transparent 1px), linear-gradient(90deg, var(--paper-a04) 1px, transparent 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);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);flex:1;height:1px}.signin-divider-dark{color:var(--paper-a55)}.signin-divider-dark:before,.signin-divider-dark:after{background:var(--paper-a18)}.signin-label{color:var(--ink-soft);margin:0 0 .3rem;font-size:.78rem;font-weight:500;display:block}.signin-label-dark{color:var(--paper-a80)}.signin-input{border:1px solid var(--paper-line-strong);width:100%;font:inherit;box-sizing:border-box;color:var(--ink);background:#fff;border-radius:10px;margin-bottom:.65rem;padding:.6rem .85rem;font-size:.95rem}.signin-input::placeholder{color:var(--ink-faint)}.signin-input:focus{outline:2px solid var(--cobalt);outline-offset:1px;border-color:#0000}.signin-input-dark{background:var(--paper-a06);border-color:var(--paper-a18);color:var(--paper)}.signin-input-dark::placeholder{color:var(--paper-a40)}.signin-login .signin-submit{cursor:pointer;width:100%;font-family:var(--font-sans);letter-spacing:-.005em;color:var(--ink);box-shadow:0 1px 0 var(--white-a40) inset;border:none;margin-top:.2rem;padding:12px 22px;font-size:14px;font-weight:600}.signin-login .signin-submit:hover{box-shadow:0 1px 0 var(--white-a40) inset;transform:none}.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-text);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, var(--cobalt-light) 0%, var(--cobalt) 100%);width:100%;color:var(--ink);font-family:var(--font-sans);letter-spacing:-.005em;box-shadow:0 10px 24px var(--cobalt-a30), 0 1px 0 var(--white-a50) inset;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}.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;background:linear-gradient(180deg, var(--cobalt) 0%, var(--cobalt-deep) 100%);color:var(--ink-a70);box-shadow:none}.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;box-shadow:0 6px 18px var(--ink-a18);border-radius:10px;margin:0;padding:.5rem .8rem;font-size:.84rem}.signin-info{background:var(--cobalt-soft);color:var(--cobalt-text)}.signin-error{background:var(--bordeaux-a08);color:var(--bordeaux)}@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}}.emp-schedule{box-sizing:border-box;background:var(--paper);width:100%;max-width:34rem;min-height:100dvh;color:var(--ink);font-family:var(--font-body);flex-direction:column;gap:20px;margin:0 auto;padding:clamp(20px,6vw,40px) clamp(16px,5vw,32px) 48px;display:flex}.emp-head{flex-direction:column;gap:4px;display:flex}.emp-resto{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);margin:0;font-size:.82rem;font-weight:600}.emp-title{font-family:var(--font-display);color:var(--green-deep);margin:0;font-size:clamp(1.5rem,6vw,2rem);font-weight:600}.emp-week{color:var(--ink-soft);margin:2px 0 0;font-size:.95rem}.emp-week-nav{align-items:center;gap:4px;margin:4px 0 0 -8px;display:flex}.emp-week-nav .emp-week{text-align:center;min-width:12ch;margin:0}.emp-week-arrow{width:34px;height:34px;color:var(--ink-soft);transition:background .13s var(--ease-out), color .13s var(--ease-out);border-radius:50%;place-items:center;display:grid}.emp-week-arrow:hover,.emp-week-arrow:focus-visible{background:var(--paper-warm);color:var(--green-deep)}.emp-week-today{border-radius:var(--radius-pill);border:1px solid var(--paper-line-strong);background:var(--paper-card);color:var(--green-deep);transition:background .13s var(--ease-out);align-self:flex-start;margin-top:6px;padding:4px 12px;font-size:.8rem;font-weight:600}.emp-week-today:hover,.emp-week-today:focus-visible{background:var(--paper-warm)}.emp-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.emp-badge{border-radius:var(--radius-pill);align-items:center;padding:4px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.emp-badge-published{background:var(--cobalt-soft);color:var(--cobalt-text)}.emp-hours{color:var(--ink-mute);font-size:.85rem;font-weight:600}.emp-days{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.emp-day{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:12px 14px;display:flex}.emp-day.is-off{box-shadow:none;background:0 0;border-style:dashed}.emp-day-label{flex-direction:column;min-width:4.5rem;display:flex}.emp-day-name{color:var(--ink);font-size:.95rem;font-weight:600}.emp-day-date{color:var(--ink-faint);font-size:.78rem}.emp-day-body{flex-wrap:wrap;flex:1;gap:8px;display:flex}.emp-shift{background:var(--cobalt-soft);border-radius:var(--radius-sm);align-items:baseline;gap:8px;padding:6px 12px;display:inline-flex}.emp-shift-time{font-family:var(--font-mono);color:var(--green-deep);font-size:.95rem;font-weight:600}.emp-shift-role{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);font-size:.74rem}.emp-tag{font-size:.85rem;font-weight:500}.emp-tag-rest{color:var(--ink-faint)}.emp-tag-muted{color:var(--bordeaux)}.emp-foot{color:var(--ink-faint);text-align:center;margin-top:auto;padding-top:12px;font-size:.78rem}.emp-schedule-locked .emp-lock-card{margin:auto}.emp-lock-card{text-align:center;background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-lg);width:100%;max-width:22rem;box-shadow:var(--shadow-md);flex-direction:column;align-self:center;gap:12px;padding:32px 24px;display:flex}.emp-lock-icon{font-size:1.8rem}.emp-lock-title{font-family:var(--font-display);color:var(--green-deep);margin:0;font-size:1.3rem}.emp-lock-text{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}.emp-topbar{z-index:40;box-sizing:border-box;background:var(--paper);border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:34rem;margin:0 auto;padding:12px clamp(16px,5vw,32px);display:flex;position:sticky;top:0}.emp-topbar-logo{flex-shrink:0;align-items:center;display:inline-flex}.emp-topbar-logo img{width:auto;height:26px;display:block}.emp-topbar-user{position:relative}.emp-topbar-avatar{background:var(--green-deep);color:#fff;width:38px;height:38px;font-family:var(--font-body);letter-spacing:.03em;transition:box-shadow .15s var(--ease-out), border-color .15s var(--ease-out);border:2px solid #0000;border-radius:50%;place-items:center;font-size:.82rem;font-weight:700;display:grid}.emp-topbar-avatar:hover,.emp-topbar-avatar:focus-visible,.emp-topbar-avatar.is-open{border-color:var(--cobalt);box-shadow:var(--shadow-sm)}.emp-user-menu{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);min-width:230px;box-shadow:var(--shadow-lg);z-index:60;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.emp-user-menu-header{flex-direction:column;gap:2px;padding:10px 12px 8px;display:flex}.emp-user-menu-header strong{color:var(--ink);font-size:.92rem}.emp-user-menu-header em{color:var(--ink-mute);text-overflow:ellipsis;font-size:.78rem;font-style:normal;overflow:hidden}.emp-user-menu-sep{background:var(--paper-line);height:1px;margin:2px 8px 6px}.emp-user-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;transition:background .13s var(--ease-out);align-items:center;gap:10px;padding:10px 12px;font-size:.92rem;font-weight:500;display:flex}.emp-user-menu-item:hover,.emp-user-menu-item:focus-visible{background:var(--paper-warm)}.emp-user-menu-item-danger{color:var(--bordeaux)}.emp-route-frame{background:var(--paper);flex-direction:column;min-height:100dvh;display:flex}.emp-route-frame .emp-route-state,.emp-route-frame .emp-schedule{flex:1;min-height:0}.emp-route-state{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-body);justify-content:center;align-items:center;padding:24px;display:flex}.emp-route-msg{color:var(--ink-mute);font-size:.95rem}.emp-route-card{text-align:center;background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-lg);max-width:24rem;box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:32px 24px;display:flex}.emp-route-title{font-family:var(--font-display);color:var(--green-deep);margin:0;font-size:1.3rem}.emp-route-text{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}.emp-route-skeleton{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;max-width:560px;margin:0 auto;padding:24px 16px;display:flex}.emp-skel-head{height:48px;margin-bottom:6px}.emp-skel-row{height:64px}.emp-account{box-sizing:border-box;width:100%;max-width:34rem;color:var(--ink);font-family:var(--font-body);flex-direction:column;gap:16px;margin:0 auto;padding:clamp(16px,5vw,32px) clamp(16px,5vw,32px) 48px;display:flex}.emp-account-back{color:var(--green-deep);border-radius:var(--radius-pill);transition:background .13s var(--ease-out);align-self:flex-start;align-items:center;gap:6px;margin-left:-8px;padding:4px 8px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.emp-account-back:hover,.emp-account-back:focus-visible{background:var(--paper-warm)}.emp-account-head{flex-direction:column;gap:4px;display:flex}.emp-account-title{font-family:var(--font-display);color:var(--green-deep);margin:0;font-size:clamp(1.4rem,6vw,1.8rem);font-weight:600}.emp-account-subtitle{color:var(--ink-soft);margin:0;font-size:.9rem}.emp-account-card{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 16px}.emp-account-card-title{font-family:var(--font-display);color:var(--ink);margin:0 0 14px;font-size:1.05rem;font-weight:600}.emp-account-card .password-grid{grid-template-columns:1fr}.emp-account-card .password-grid input,.emp-account-card .password-grid input:nth-of-type(2),.emp-account-card .password-grid input:nth-of-type(3),.emp-account-card .password-grid button{grid-column:1}.emp-account-logout{border-radius:var(--radius-md);border:1px solid var(--bordeaux-soft);color:var(--bordeaux);transition:background .13s var(--ease-out), border-color .13s var(--ease-out);background:0 0;align-self:stretch;margin-top:8px;padding:12px 16px;font-size:.95rem;font-weight:600}.emp-account-logout:hover,.emp-account-logout:focus-visible{background:var(--bordeaux-soft);border-color:var(--bordeaux)}
