@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary:#6e56cf;--primary-hover:#5d45bd;--on-primary:#fff;--primary-background:#6e56cf1a;--primary-background-strong:#6e56cf29;--primary-border:#6e56cf61;--background:#f5f6f8;--surface:#fff;--surface-2:#f1f2f5;--surface-3:#e8eaef;--code-background:var(--surface);--text-h:#16181d;--text:#4a4f5c;--text-p:#626876;--secondary:#6f7585;--border:#e2e4e9;--border-strong:#c9ccd5;--success:#15803d;--success-solid:#16a34a;--success-background:#16a34a1f;--warning:#b45309;--warning-solid:#d97706;--warning-background:#d9770621;--danger:#c42b2b;--danger-solid:#dc2626;--danger-hover:#b91c1c;--danger-background:#dc26261a;--info:#1d5fd6;--info-solid:#2563eb;--info-background:#2563eb1a;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow:0 10px 24px -8px #10182824, 0 2px 6px -2px #1018280f;--shadow-lg:0 24px 56px -12px #10182840, 0 4px 12px -4px #10182814;--overlay:#0f11176b;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:999px;--control-h:36px;--control-h-sm:30px;--control-h-lg:42px;--focus-ring:0 0 0 3px #6e56cf47;--ease:cubic-bezier(.2, .7, .2, 1);--duration:.15s;--sans:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:var(--sans);--mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "DejaVu Sans Mono", monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;font:16px/1.5 var(--sans);font-feature-settings:"cv11", "ss01";--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root[data-theme=dark]{--primary:#a896ff;--primary-hover:#bcadff;--on-primary:#14102b;--primary-background:#a896ff21;--primary-background-strong:#a896ff33;--primary-border:#a896ff6b;--background:#0e1014;--surface:#16191f;--surface-2:#1d2027;--surface-3:#262a33;--text-h:#eceef3;--text:#b0b5c1;--text-p:#9aa0ad;--secondary:#7b8190;--border:#292d36;--border-strong:#3a3f4b;--success:#4ade80;--success-solid:#22c55e;--success-background:#4ade8021;--warning:#fbbf24;--warning-solid:#f59e0b;--warning-background:#fbbf2421;--danger:#f87171;--danger-solid:#ef4444;--danger-hover:#f87171;--danger-background:#f8717121;--info:#7cb0ff;--info-solid:#3b82f6;--info-background:#60a5fa24;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000073, 0 1px 2px #0000004d;--shadow:0 12px 28px -8px #0009, 0 2px 6px -2px #0006;--shadow-lg:0 28px 64px -12px #000000bf, 0 4px 12px -4px #00000073;--overlay:#0009;--focus-ring:0 0 0 3px #a896ff59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{background:var(--background)}body{background:var(--background);min-width:320px;color:var(--text);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}button,input,select,textarea{letter-spacing:inherit;font-family:inherit}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:not(:disabled),[role=button]:not([aria-disabled=true]),select:not(:disabled){cursor:pointer}input::placeholder,textarea::placeholder{color:var(--secondary);opacity:1}img,svg{vertical-align:middle}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-background-strong);color:var(--text-h)}a{color:var(--primary);text-underline-offset:2px;text-decoration-thickness:1px}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);letter-spacing:-.015em;font-weight:650;line-height:1.25}h1{font-size:var(--fs-2xl);margin:0 0 8px}h2{font-size:var(--fs-xl);margin:0 0 8px}h3{font-size:var(--fs-lg);margin:0 0 6px}h4{font-size:var(--fs-md);margin:0 0 4px}p{margin:0}code,kbd{font-family:var(--mono);font-size:.9em}code{border-radius:var(--radius-xs);background:var(--surface-2);color:var(--text-h);padding:1px 6px}hr{border:none;border-top:1px solid var(--border)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--secondary)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{text-align:left;width:100%;max-width:1180px;margin:0 auto}.page-wide{max-width:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;margin-bottom:20px;display:flex}.page-title{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(1.375rem,1.1rem + .9vw,1.75rem);font-weight:650;line-height:1.2}.page-subtitle{color:var(--text-p);font-size:var(--fs-base);max-width:70ch;margin:6px 0 0}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-h);font:inherit;font-size:var(--fs-base);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-xs);transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:550;line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn:active:not(:disabled){background:var(--surface-3)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn svg{flex-shrink:0;width:16px;height:16px}.btn-primary{border-color:var(--primary);background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-xs), inset 0 1px 0 #ffffff24}.btn-primary:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.btn-primary:active:not(:disabled){background:var(--primary-hover);filter:brightness(.94)}.btn-secondary:active:not(:disabled){background:var(--primary-background-strong);filter:brightness(.96)}.btn-ghost:active:not(:disabled){background:var(--surface-3)}.btn-secondary{background:var(--primary-background);color:var(--primary);box-shadow:none;border-color:#0000}.btn-secondary:hover:not(:disabled){background:var(--primary-background-strong);border-color:#0000}.btn-ghost{color:var(--text);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-h);border-color:#0000}.btn-danger{border-color:var(--danger-solid);background:var(--danger-solid);color:#fff}.btn-danger:hover:not(:disabled){border-color:var(--danger-hover);background:var(--danger-hover)}:root[data-theme=dark] .btn-danger{background:#dc2626;border-color:#dc2626}:root[data-theme=dark] .btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-danger-outline{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);box-shadow:none;background:0 0}.btn-danger-outline:hover:not(:disabled){border-color:var(--danger);background:var(--danger-background)}.btn-success{color:#fff;background:#15803d;border-color:#15803d}.btn-success:hover:not(:disabled){background:#166534;border-color:#166534}:root[data-theme=dark] .btn-success{border-color:var(--success-solid);background:var(--success-solid);color:#052e16}:root[data-theme=dark] .btn-success:hover:not(:disabled){border-color:var(--success);background:var(--success)}.btn-sm{height:var(--control-h-sm);border-radius:var(--radius-sm);font-size:var(--fs-sm);gap:5px;padding:0 10px}.btn-lg{height:var(--control-h-lg);font-size:var(--fs-md);padding:0 18px}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn-block{width:100%;display:flex}.field{text-align:left;flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--text-h);font-size:var(--fs-sm);font-weight:550}.field-hint{color:var(--text-p);font-size:var(--fs-xs)}.field-error{color:var(--danger);font-size:var(--fs-xs)}.input,.select,.textarea{width:100%;min-width:0;height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-h);font:inherit;font-size:var(--fs-base);box-shadow:var(--shadow-xs);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);box-sizing:border-box;padding:0 11px;line-height:1.4}.textarea{resize:vertical;height:auto;min-height:84px;padding:9px 11px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23858b98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.input:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus){border-color:var(--secondary)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background-color:var(--surface-2);color:var(--text-p);cursor:not-allowed;box-shadow:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 28%, transparent)}.input-sm,.select.input-sm{height:var(--control-h-sm);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.search-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23858b98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-position:11px;background-repeat:no-repeat;background-size:16px;padding-left:34px}.checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left}.card-pad{padding:20px}.card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:16px 20px;display:flex}.card-title{color:var(--text-h);font-size:var(--fs-md);letter-spacing:-.01em;margin:0;font-weight:600}.card-subtitle{color:var(--text-p);font-size:var(--fs-sm);margin:2px 0 0}.panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.alert{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-h);font-size:var(--fs-sm);text-align:left;align-items:flex-start;gap:10px;padding:11px 14px;line-height:1.45;display:flex}.alert-info{border-color:color-mix(in srgb, var(--info) 30%, transparent);background:var(--info-background)}.alert-success{border-color:color-mix(in srgb, var(--success) 30%, transparent);background:var(--success-background)}.alert-warning{border-color:color-mix(in srgb, var(--warning) 35%, transparent);background:var(--warning-background)}.alert-danger{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:var(--danger-background)}.alert>svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.alert-action{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-weight:600}.alert-action:hover{text-decoration:underline}.badge{border-radius:var(--radius-full);background:var(--surface-2);max-width:100%;height:22px;color:var(--text);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:5px;padding:0 8px;font-weight:600;line-height:1;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-primary{background:var(--primary-background);color:var(--primary)}.badge-success{background:var(--success-background);color:var(--success)}.badge-warning{background:var(--warning-background);color:var(--warning)}.badge-danger{background:var(--danger-background);color:var(--danger)}.badge-info{background:var(--info-background);color:var(--info)}.empty-state{color:var(--text-p);font-size:var(--fs-base);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;display:flex}.empty-state-title{color:var(--text-h);font-size:var(--fs-md);font-weight:600}.spinner{border:2px solid var(--primary-background-strong);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite ui-shimmer}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-rows{flex-direction:column;display:flex}.skeleton-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:52px;padding:0 20px;display:flex}.skeleton-row:last-child{border-bottom:none}.skeleton-dot{border-radius:50%;flex-shrink:0;width:28px;height:28px}.skeleton-line{height:12px}.skeleton-line.is-end{flex-shrink:0;width:56px;margin-left:auto}.skeleton-grid{grid-template-columns:repeat(var(--skeleton-columns,7), minmax(0, 1fr));gap:6px;padding:16px;display:grid}.skeleton-cell{border-radius:var(--radius-md);height:64px}@media (width<=560px){.skeleton-row{padding:0 16px}.skeleton-grid{padding:12px}.skeleton-cell{height:44px}}.dialog-overlay{z-index:1000;background:var(--overlay);justify-content:center;align-items:center;padding:16px;animation:.14s ease-out ui-fade-in;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;max-width:480px;max-height:calc(100svh - 32px);box-shadow:var(--shadow-lg);color:var(--text);text-align:left;animation:ui-pop-in .18s var(--ease);box-sizing:border-box;flex-direction:column;display:flex;overflow:hidden}.dialog-sm{max-width:400px}.dialog-lg{max-width:720px}.dialog-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 0;display:flex}.dialog-title{color:var(--text-h);font-size:var(--fs-lg);letter-spacing:-.015em;margin:0;font-weight:650;line-height:1.3}.dialog-description{color:var(--text-p);font-size:var(--fs-sm);margin:4px 0 0}.dialog-close{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--secondary);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;flex-shrink:0;place-items:center;margin:-4px -6px 0 0;display:grid}.dialog-close:hover{background:var(--surface-2);color:var(--text-h)}.dialog-close:active{background:var(--surface-3)}.dialog-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.dialog-close svg{width:18px;height:18px}.dialog-body{font-size:var(--fs-base);padding:16px 20px;overflow-y:auto}.dialog-footer{border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@media (width<=560px){.dialog-overlay{align-items:flex-end;padding:0}.dialog{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:none;max-height:92svh}.dialog-footer{padding-bottom:max(14px, env(safe-area-inset-bottom))}.dialog-footer .btn{flex:1}}.segmented{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented>button{height:calc(var(--control-h-sm) - 2px);border-radius:calc(var(--radius) - 3px);color:var(--text-p);font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;padding:0 12px;font-weight:550}.segmented>button:hover{color:var(--text-h)}.segmented>button:focus-visible{box-shadow:var(--focus-ring);outline:none}.segmented>button[aria-pressed=true],.segmented>button[aria-selected=true],.segmented>button.is-active{background:var(--surface);color:var(--text-h);box-shadow:var(--shadow-sm)}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm);text-align:left}.data-table th{z-index:1;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;padding:9px 12px;font-weight:600;position:sticky;top:0}.data-table tbody th{border-bottom:1px solid var(--border);color:var(--text-h);font-size:inherit;letter-spacing:normal;text-transform:none;white-space:normal;text-align:left;background:0 0;padding:10px 12px;font-weight:600;position:static}.data-table td{border-bottom:1px solid var(--border);color:var(--text-h);vertical-align:middle;padding:10px 12px}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:none}.data-table th,.data-table td{transition:background-color var(--duration) var(--ease)}.data-table tbody tr:hover th,.data-table tbody tr:hover td{background:var(--surface-2)}.kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);height:20px;color:var(--text-p);font-family:var(--mono);border-bottom-width:2px;align-items:center;padding:0 6px;font-size:.6875rem;line-height:1;display:inline-flex}.divider{background:var(--border);border:none;height:1px;margin:12px 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.icon-sm{flex-shrink:0;width:16px;height:16px}.icon-md{flex-shrink:0;width:20px;height:20px}.login-wrapper{box-sizing:border-box;background:radial-gradient(1100px 520px at 50% -12%, var(--primary-background-strong), transparent 70%), var(--background);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100svh;padding:72px 16px 32px;display:flex;position:relative}.login-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow);box-sizing:border-box;text-align:center;padding:36px 32px 28px}.login-brand{align-items:center;gap:10px;margin-bottom:28px;display:inline-flex}.login-logo{border-radius:var(--radius);object-fit:contain;width:36px;height:36px;box-shadow:0 0 0 1px var(--border);background:#fff}.login-brand-name{color:var(--text-h);font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:650}.login-title{font-size:var(--fs-2xl);letter-spacing:-.025em;margin:0 0 28px;font-weight:650}.login-error{margin-bottom:16px}.login-google{gap:10px;font-weight:600}.login-google-logo{width:18px;height:18px}.login-hint{color:var(--secondary);font-size:var(--fs-xs);margin-top:14px}.login-footer{color:var(--text-p);font-size:var(--fs-sm);text-align:center}.login-footer a{font-weight:500}.login-copyright{color:var(--secondary);font-size:var(--fs-xs);margin:0}.login-language{top:max(20px, env(safe-area-inset-top));border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);gap:2px;padding:3px;display:inline-flex;position:absolute;right:20px}.login-language button{border-radius:var(--radius-sm);height:26px;color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.04em;cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;padding:0 10px;font-weight:600}.login-language button:hover{color:var(--text-h)}.login-language button:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-language button.is-active{background:var(--primary-background);color:var(--primary)}@media (width<=480px){.login-card{padding:28px 20px 22px}}.login-form{text-align:left;flex-direction:column;gap:12px;display:flex}.login-link{border-radius:var(--radius-sm);color:var(--primary);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-self:center;padding:2px 4px;font-weight:500}.login-link:hover{text-decoration:underline}.login-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-forgot{align-self:flex-end;margin-top:-4px}.login-divider{color:var(--secondary);font-size:var(--fs-xs);align-items:center;gap:12px;margin:20px 0;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-title+.login-form,.login-title+.login-error{margin-top:24px}.shiftcal{min-width:0;transition:opacity var(--duration) var(--ease);flex-direction:column;display:flex}.shiftcal.is-loading{opacity:.55}.shiftcal-head{grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:8px;display:grid}.shiftcal-head span{color:var(--secondary);font-size:var(--fs-xs);letter-spacing:.05em;text-align:center;text-transform:uppercase;font-weight:600}.shiftcal-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.shiftcal-cell{background:var(--surface);box-sizing:border-box;flex-direction:column;gap:4px;min-width:0;min-height:96px;padding:6px;display:flex}.shiftcal-cell.is-weekend{background:color-mix(in srgb, var(--surface-2) 70%, var(--surface))}.shiftcal-cell.is-blank{background:var(--surface-2)}.shiftcal-day{border-radius:var(--radius-full);min-width:24px;height:24px;color:var(--text-p);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;box-sizing:border-box;align-self:flex-start;place-items:center;padding:0 4px;font-weight:600;display:grid}.shiftcal-cell.has-shift .shiftcal-day{color:var(--text-h)}.shiftcal-cell.is-today .shiftcal-day{background:var(--primary);color:var(--on-primary)}.shiftcal-shift{border-left:3px solid var(--primary);border-radius:var(--radius-xs);background:var(--primary-background);min-width:0;font-size:var(--fs-xs);flex-direction:column;gap:1px;padding:4px 7px;line-height:1.3;display:flex}.shiftcal-shift-name,.shiftcal-shift-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shiftcal-shift-name{color:var(--text-h);font-weight:600}.shiftcal-shift-meta{color:var(--text-p);font-size:.6875rem}@media (width<=720px){.shiftcal-cell{gap:3px;min-height:64px;padding:4px 3px}.shiftcal-day{min-width:22px;height:22px;font-size:.6875rem}.shiftcal-head span{font-size:.6875rem}}@media (width<=560px){.shiftcal-cell{padding:3px 2px}.shiftcal-shift{letter-spacing:-.01em;border-left-width:2px;padding:2px 2px 2px 3px;font-size:.625rem}.shiftcal-shift-meta{display:none}}.dashboard-alert{margin-bottom:16px}.dashboard-summary{transition:opacity var(--duration) var(--ease);grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.dashboard-summary.is-loading{opacity:.7}.dashboard-card{min-width:0;padding:18px 20px}.dashboard-card-label{color:var(--text-p);font-size:var(--fs-sm);margin:0 0 6px;font-weight:550}.dashboard-next-shift{align-items:flex-start;gap:14px;display:flex}.dashboard-card-icon{border-radius:var(--radius-md);background:var(--primary-background);width:40px;height:40px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.dashboard-card-icon svg{width:22px;height:22px}.dashboard-next-shift-body{min-width:0}.dashboard-next-shift-date{color:var(--text-h);font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:650;line-height:1.3}.dashboard-next-shift-meta,.dashboard-next-shift-empty{color:var(--text-p);font-size:var(--fs-sm);margin-top:4px}.dashboard-next-shift-empty{color:var(--text);font-size:var(--fs-base)}.dashboard-next-shift-skeleton{width:220px;max-width:100%;height:22px;display:block}.dashboard-stat{flex-direction:column;display:flex}.dashboard-stat-value{color:var(--text-h);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:650;line-height:1.1}.dashboard-stat-skeleton{vertical-align:middle;width:44px;height:30px;display:inline-block}.dashboard-stat-hint{color:var(--text-p);font-size:var(--fs-sm);margin-top:4px}.dashboard-calendar{min-width:0}.dashboard-calendar-body{padding:16px 20px 20px}@media (width<=900px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-next-shift{grid-column:1/-1}}@media (width<=560px){.dashboard-summary{gap:12px}.dashboard-card{padding:16px}.dashboard-stat-value{font-size:var(--fs-xl)}.dashboard-calendar .card-header{padding:14px 16px}.dashboard-calendar-body{padding:12px 10px 14px}}.period-stepper{align-items:center;gap:8px;min-width:0;display:inline-flex}.period-stepper-control{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);box-sizing:border-box;align-items:center;padding:0 3px;display:inline-flex}.period-stepper-arrow{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-p);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.period-stepper-arrow:hover:not(:disabled){background:var(--surface-2);color:var(--text-h)}.period-stepper-arrow:focus-visible{box-shadow:var(--focus-ring);outline:none}.period-stepper-arrow:disabled{opacity:.35;cursor:not-allowed}.period-stepper-arrow svg{width:16px;height:16px}.period-stepper-label{min-width:9em;color:var(--text-h);font-size:var(--fs-base);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;padding:0 6px;font-weight:600}.period-stepper.is-year .period-stepper-label{min-width:3.4em}.app-toast{left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 12px));z-index:1100;border-radius:var(--radius-md);background:var(--text-h);max-width:min(560px,100vw - 32px);color:var(--surface);font-size:var(--fs-sm);text-align:left;overflow-wrap:anywhere;box-shadow:var(--shadow-lg);animation:app-toast-in .18s var(--ease);box-sizing:border-box;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-weight:500;line-height:1.4;display:flex;position:fixed;transform:translate(-50%)}.app-toast-text{min-width:0}.app-toast-icon{width:18px;height:18px;color:var(--success-solid);flex:none}.app-toast-close{border-radius:var(--radius-sm);width:24px;height:24px;color:inherit;opacity:.7;cursor:pointer;transition:opacity var(--duration) var(--ease), background-color var(--duration) var(--ease);background:0 0;border:0;flex:none;place-items:center;margin:-4px -8px -4px 2px;padding:0;display:grid}.app-toast-close:hover{background:color-mix(in srgb, var(--surface) 16%, transparent);opacity:1}.app-toast-close svg{width:14px;height:14px}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.workload-calendar{--wl-business-trip:#c026d3;--wl-business-trip-text:#a21caf}:root[data-theme=dark] .workload-calendar{--wl-business-trip:#d946ef;--wl-business-trip-text:#f0abfc}.workload-calendar .is-preferred{--wl:var(--success-solid);--wl-text:var(--success)}.workload-calendar .is-soft-decline{--wl:var(--warning-solid);--wl-text:var(--warning)}.workload-calendar .is-unavailable{--wl:var(--danger-solid);--wl-text:var(--danger)}.workload-calendar .is-vacation{--wl:var(--info-solid);--wl-text:var(--info)}.workload-calendar .is-business-trip{--wl:var(--wl-business-trip);--wl-text:var(--wl-business-trip-text)}.workload-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.workload-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:16px;display:flex}.workload-wishes{flex-wrap:wrap;gap:10px 20px;display:flex}.workload-wish{align-items:center;gap:10px;display:flex}.workload-wish-label{color:var(--text-p);font-size:var(--fs-sm);white-space:nowrap;font-weight:550}.workload-wish-input.input{width:104px}.workload-alert{margin-bottom:14px}.workload-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:16px 20px 18px}.workload-calendar.is-embedded .workload-card{box-shadow:none;background:0 0;border:none;padding:0}.workload-legend,.workload-footer{color:var(--text);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.workload-legend-item,.workload-footer-count{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.workload-legend-swatch{border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);box-sizing:border-box;flex-shrink:0;width:12px;height:12px}.workload-calendar [class*=is-]>.workload-legend-swatch{border-color:color-mix(in srgb, var(--wl,var(--border-strong)) 70%, transparent);background:color-mix(in srgb, var(--wl,var(--surface)) 22%, var(--surface))}.workload-legend-item.is-none .workload-legend-swatch{border-color:var(--border-strong);background:var(--surface)}.workload-footer{color:var(--text-p);margin-top:14px}.workload-footer strong{color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:600}.workload-grid-head,.workload-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.workload-grid-head{margin-bottom:6px}.workload-grid-head span{color:var(--secondary);font-size:var(--fs-xs);letter-spacing:.05em;text-align:center;text-transform:uppercase;font-weight:600}.workload-grid{transition:opacity var(--duration) var(--ease)}.workload-grid.is-loading{opacity:.5;pointer-events:none}.workload-cell{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:76px;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);flex-direction:column;justify-content:space-between;gap:4px;padding:6px;display:flex}.workload-cell.is-weekend{background:color-mix(in srgb, var(--surface-2) 70%, var(--surface))}.workload-cell:hover:not(:disabled){border-color:var(--secondary)}.workload-cell:active:not(:disabled){transform:scale(.98)}.workload-cell:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.workload-cell:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.workload-cell:not(.is-none){border-color:color-mix(in srgb, var(--wl) 55%, var(--surface));background:color-mix(in srgb, var(--wl) 13%, var(--surface))}.workload-cell:not(.is-none):hover:not(:disabled){border-color:var(--wl);background:color-mix(in srgb, var(--wl) 20%, var(--surface))}.workload-cell-empty{min-height:0}.workload-cell-top{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.workload-cell-daynum{border-radius:var(--radius-full);min-width:24px;height:24px;color:var(--text-h);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;box-sizing:border-box;place-items:center;padding:0 4px;font-weight:600;display:grid}.workload-cell.is-today .workload-cell-daynum{background:var(--primary);color:var(--on-primary)}.workload-cell-mark{width:18px;height:18px;color:var(--wl-text);flex-shrink:0;margin:3px 2px 0 0}.workload-cell-state{color:var(--wl-text);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;padding:0 4px 2px;font-weight:600;overflow:hidden}@media (width<=900px){.workload-cell-state{display:none}.workload-cell{min-height:60px}}.workload-calendar.is-embedded .workload-cell-state{display:none}@media (width<=640px){.workload-card{padding:14px 12px}.workload-grid-head,.workload-grid{gap:4px}.workload-cell{min-height:50px;padding:3px}.workload-cell-top{flex-direction:column;align-items:center;gap:0}.workload-cell-daynum{min-width:22px;height:22px;font-size:.6875rem}.workload-cell-mark{width:15px;height:15px;margin:1px 0 0}.workload-legend{font-size:var(--fs-xs);gap:6px 12px}.workload-wishes{flex-direction:column;flex:1}.workload-wish{justify-content:space-between}}.weekday-picker{gap:6px;display:inline-flex}.weekday-chip{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);min-width:40px;height:34px;color:var(--text-p);font:inherit;font-size:var(--fs-sm);-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}button.weekday-chip{cursor:pointer}button.weekday-chip:hover:not(:disabled){border-color:var(--primary-border)}button.weekday-chip:focus-visible{outline:2px solid var(--primary);outline-offset:1px}button.weekday-chip:disabled{cursor:not-allowed;opacity:.6}.weekday-chip.is-want{border-color:var(--success-solid);background:color-mix(in srgb, var(--success-solid) 16%, transparent);color:var(--success)}.weekday-chip.is-avoid{border-color:var(--warning-solid);background:color-mix(in srgb, var(--warning-solid) 16%, transparent);color:var(--warning)}.weekday-picker.is-compact{gap:2px}.weekday-picker.is-compact .weekday-chip{border-radius:5px;min-width:24px;height:24px;padding:0 3px;font-size:11px}.conditions-card{margin-bottom:16px}.conditions-card .card-title{margin-bottom:14px}.conditions-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 20px;display:grid}.conditions-value{font-size:var(--fs-lg,1.1rem);color:var(--text-h);font-weight:650}.conditions-weekdays{grid-template-columns:max-content auto;justify-content:start;align-items:center;gap:10px 16px;display:grid}.conditions-legend{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.conditions-legend-chip{height:26px;font-weight:550}@media (width<=560px){.conditions-weekdays{grid-template-columns:1fr}.conditions .weekday-chip{flex:1;min-width:0}.conditions .weekday-picker{display:flex}}.schedule-alert{margin-bottom:16px}.schedule-card{padding:16px 20px 14px}.schedule-footer{color:var(--text-p);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin-top:12px}@media (width<=560px){.schedule-card{padding:12px 10px}.schedule-footer{padding:0 4px}}.schedule-list-view{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:opacity var(--duration) var(--ease);flex-direction:column;display:flex;overflow:hidden}.schedule-list-view.is-loading{opacity:.6;pointer-events:none}.schedule-list-row{border-bottom:1px solid var(--border);min-height:56px;transition:background-color var(--duration) var(--ease);grid-template-columns:minmax(120px,155px) 1fr;display:grid}.schedule-list-row:last-child{border-bottom:0}.schedule-list-row:hover{background:color-mix(in srgb, var(--surface-2) 55%, var(--surface))}.schedule-list-row.is-today{box-shadow:inset 3px 0 0 var(--primary)}.schedule-list-row.is-drag-over{background:var(--primary-background);box-shadow:inset 0 0 0 1px var(--primary)}.schedule-list-date{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:2px;padding:8px 14px;display:flex}.schedule-list-weekday{color:var(--text-h);font-size:var(--fs-sm);text-transform:capitalize;font-weight:600}.schedule-list-row.is-today .schedule-list-weekday{color:var(--primary)}.schedule-list-day{color:var(--text-p);font-size:var(--fs-xs)}.schedule-list-shifts{flex-wrap:wrap;align-content:center;align-items:center;gap:6px;min-width:0;padding:8px 10px;display:flex}.schedule-list-shift{border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;box-sizing:border-box;width:112px;transition:box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);border-left:3px solid #0000;flex-shrink:0;align-items:center;gap:4px;padding:4px 4px 4px 7px;display:inline-flex}.schedule-list-shift:hover{box-shadow:var(--shadow-xs), inset 0 0 0 1px var(--border-strong)}.schedule-list-shift:active{cursor:grabbing}.schedule-list-row:first-child .schedule-list-shift-tooltip{top:calc(100% + 6px);bottom:auto}.schedule-list-shift:focus-visible{box-shadow:var(--focus-ring);outline:none}.schedule-list-shift-name-wrap{flex:1;min-width:0;position:relative}.schedule-list-shift-name{color:var(--text-h);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.schedule-list-shift-tooltip{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:260px;color:var(--text-h);font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;padding:5px 9px;transition:opacity .12s,transform .12s,visibility 0s linear .12s;position:absolute;bottom:calc(100% + 6px);left:0;transform:translateY(3px)}.schedule-list-shift-name-wrap:hover .schedule-list-shift-tooltip{opacity:1;visibility:visible;transition-delay:.45s,.45s,0s;transform:translateY(0)}.schedule-list-shift-remove{border-radius:var(--radius-xs);width:18px;height:18px;color:var(--text-p);opacity:0;cursor:pointer;transition:opacity var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:grid}.schedule-list-shift-remove svg{width:13px;height:13px}.schedule-list-shift:hover .schedule-list-shift-remove,.schedule-list-shift-remove:focus-visible{opacity:1}.schedule-list-shift-remove:hover{background:var(--danger-background);color:var(--danger)}.schedule-list-shift-remove:focus-visible,.schedule-list-add:focus-visible{box-shadow:var(--focus-ring);outline:none}.schedule-list-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-p);cursor:pointer;opacity:0;transition:opacity var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;place-items:center;padding:0;display:grid}.schedule-list-add svg{width:14px;height:14px}.schedule-list-row:hover .schedule-list-add,.schedule-list-add:focus-visible{opacity:1}.schedule-list-add:hover{border-color:var(--primary);color:var(--primary)}@media (width<=640px){.schedule-list-row{grid-template-columns:105px 1fr}.schedule-list-date{padding:8px 10px}.schedule-list-add,.schedule-list-shift-remove{opacity:1}}.planner{min-width:0;transition:opacity var(--duration) var(--ease);flex-direction:column;gap:12px;display:flex}.planner.is-loading{opacity:.55;pointer-events:none}.planner-bar{flex-direction:column;display:flex;container-type:inline-size}.planner-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;padding:12px 14px;display:flex}.planner-bar-row.is-tools{border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface-2);flex-wrap:nowrap;justify-content:flex-start;gap:10px;padding:10px 14px}.planner-bar .period-stepper{flex:none;gap:4px}.planner-bar .period-stepper-label{min-width:8.6em}.planner-genbar{flex:none;align-items:stretch;display:flex}.btn.planner-generate{border-top-right-radius:0;border-bottom-right-radius:0}.planner-genbar>.planner-generate:only-child{border-radius:var(--radius)}.planner-time-budget-wrap{align-items:center;display:inline-flex;position:relative}.planner-time-budget-wrap>svg{width:15px;height:15px;color:var(--secondary);pointer-events:none;position:absolute;left:9px}.select.planner-time-budget{background-position:right 7px center;background-color:var(--surface);font-variant-numeric:tabular-nums;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;width:auto;min-width:0;padding-left:29px;padding-right:28px}.planner-time-budget-wrap:has(.planner-time-budget:disabled)>svg{opacity:.5}.btn.planner-clear{color:var(--text-p);flex:none}.btn.planner-clear:hover:not(:disabled){color:var(--danger);background:var(--danger-background)}.planner-missing{border-radius:var(--radius-full);background:var(--danger-background);min-width:0;height:28px;color:var(--danger);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;align-items:center;gap:6px;padding:0 11px 0 9px;font-weight:650;display:inline-flex;overflow:hidden}.planner-missing.is-done{background:var(--success-background);color:var(--success)}.planner-fulfilment{border-radius:var(--radius-full);background:var(--surface-3);min-width:0;height:28px;color:var(--text-h);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;align-items:center;padding:0 11px;font-weight:650;display:inline-flex;overflow:hidden}.planner-missing svg{flex:none;width:15px;height:15px}.planner-bar-row:first-child>.schedule-edit-topbar-actions{margin-left:auto}@container (width<=759px){.planner-bar-row:first-child{flex-wrap:wrap}.planner-bar-row:first-child>.schedule-edit-topbar-actions{flex:1 0 100%;justify-content:flex-end}}@container (width>=760px){.planner-bar-row:first-child{flex-wrap:nowrap}}@container (width<=720px){.planner-clear-text{display:none}.btn.planner-clear{width:var(--control-h);padding:0}}@container (width<=520px){.planner-bar-row.is-tools{flex-wrap:wrap}}.planner-legend{flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.planner-legend-item{color:var(--text);font-size:var(--fs-sm);align-items:center;gap:7px;display:inline-flex}.planner-legend-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000014}.planner-split{grid-template-columns:fit-content(54%) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.planner-right{flex-direction:column;gap:12px;min-width:0;display:flex}.planner-pane{flex-direction:column;gap:10px;min-width:0;padding:16px 20px;display:flex}.planner-pane-title{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;margin:0;font-weight:600;line-height:1.3}.planner-empty{color:var(--text-p);font-size:var(--fs-base);text-align:center;margin:0;padding:24px 4px}.planner-scroll{overflow:auto}.planner-scroll-demand{justify-content:safe center;display:flex}.planner-scroll-demand>.planner-matrix{flex:none}.planner-scroll-people{min-height:180px}.planner-matrix{--planner-row:22px;--planner-cell:max(calc(var(--planner-row) + 4px), 36px);--planner-label-w:120px;--planner-head-h:calc(var(--planner-label-w) * .7072 + 20px);border-collapse:separate;border-spacing:0;margin-right:calc(var(--planner-label-w) * .7072 + 1em)}.planner-matrix thead{z-index:3;background:var(--surface);position:sticky;top:0}.planner-matrix-headrow th{height:var(--planner-head-h);vertical-align:bottom;padding:0}.planner-matrix-corner{z-index:1;background:var(--surface);min-width:40px;position:sticky;left:0}.planner-matrix-colhead{width:var(--planner-cell);min-width:var(--planner-cell);position:relative}.planner-matrix-colhead-label{transform-origin:0 100%;position:absolute;bottom:0;left:100%;transform:rotate(-45deg)}.planner-matrix-colhead-text{max-width:var(--planner-label-w);border-bottom:1.5px solid color-mix(in srgb, var(--head-color,currentColor) 70%, transparent);color:var(--text-h);font-size:var(--fs-sm,.8125rem);text-overflow:ellipsis;white-space:nowrap;padding-bottom:3px;font-weight:550;display:block;overflow:hidden}.planner-matrix-row{height:var(--planner-row)}.planner-matrix-dayhead{z-index:2;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border);background:var(--surface);text-align:right;white-space:nowrap;padding:0 7px 0 2px;font-weight:500;line-height:1;position:sticky;left:0}.planner-matrix-daynum{color:var(--text-h);font-size:clamp(.5625rem, calc(var(--planner-row) * .46), .75rem);font-variant-numeric:tabular-nums}.planner-matrix-dayname{color:var(--secondary);font-size:clamp(.5rem, calc(var(--planner-row) * .4), .6875rem);margin-left:3px}.planner-matrix-row.is-weekend .planner-matrix-dayhead,.planner-matrix-row.is-weekend .planner-matrix-cell{background:var(--surface-2)}.planner-matrix-row.is-today .planner-matrix-dayhead{box-shadow:inset 2px 0 0 var(--primary)}.planner-matrix-row.is-today .planner-matrix-daynum{color:var(--primary);font-weight:700}.planner-matrix-cell{height:var(--planner-row);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:0}.planner-matrix tbody tr:first-child .planner-matrix-cell,.planner-matrix tbody tr:first-child .planner-matrix-dayhead{border-top:1px solid var(--border)}.planner-square{width:100%;height:100%;color:var(--text-h);font:inherit;font-size:clamp(.5625rem, calc(var(--planner-row) * .5), .75rem);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;font-weight:650;line-height:1;transition:box-shadow 90ms,background-color 90ms;display:flex}.planner-square:hover{box-shadow:inset 0 0 0 2px var(--square-color)}.planner-square:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.planner-square.is-open{box-shadow:inset 0 0 0 2px var(--primary), inset 0 0 0 3px var(--surface)}.planner-square.is-idle{color:#0000}.planner-square.is-needed{background:color-mix(in srgb, var(--square-color) 12%, transparent);color:color-mix(in srgb, var(--square-color) 62%, var(--text-h))}.planner-square.is-partial{background:linear-gradient(to top, var(--square-color) var(--square-fill,50%), color-mix(in srgb, var(--square-color) 12%, transparent) var(--square-fill,50%));color:var(--text-h)}.planner-square.is-complete{background:var(--square-color);color:var(--square-ink,#fff)}.planner-square.is-over{background:color-mix(in srgb, var(--square-color) 55%, #ffb74d);color:#16181d}.planner-square-dot{width:clamp(5px, calc(var(--planner-row) * .36), 9px);height:clamp(5px, calc(var(--planner-row) * .36), 9px);background:var(--square-ink,#fff);border-radius:50%}.planner-square.is-over .planner-square-dot{background:#16181d}.planner-square-count{pointer-events:none}.planner-people-table{border-collapse:separate;border-spacing:0;width:100%}.planner-people-table thead th{z-index:2;background:var(--surface);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.planner-people-corner,.planner-people-name{z-index:1;background:var(--surface);min-width:100px;max-width:150px;color:var(--text-h);font-size:var(--fs-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:3px 10px 3px 2px;position:sticky;left:0;overflow:hidden}.planner-people-table thead th.planner-people-corner{z-index:4;vertical-align:bottom;color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.03em;text-transform:uppercase;padding-bottom:6px;font-weight:600}.planner-people-name{border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border);font-weight:500}.planner-people-dayhead{min-width:15px;color:var(--text-h);padding:2px 0 4px;font-size:.6875rem;font-weight:550;line-height:1.2}.planner-people-daynum{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:.65625rem;display:block}.planner-people-dayname{color:var(--secondary);font-size:.625rem;font-weight:500;display:block}.planner-people-table thead th.is-weekend,.planner-people-cell.is-weekend{background:var(--surface-2)}.planner-people-table thead th.is-today{color:var(--primary);font-weight:700}.planner-people-table thead th.is-today .planner-people-dayname{color:var(--primary)}.planner-people-cell.is-today{background:var(--primary-background)}.planner-people-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;white-space:nowrap;height:22px;padding:0}.planner-people-table tbody tr:hover .planner-people-name{color:var(--primary)}.planner-people-table tbody tr:hover .planner-people-cell:not(.is-weekend):not(.is-today):not(.is-error):not(.is-warning):not(.is-wanted):not(.is-rather-not){background-color:color-mix(in srgb, var(--surface-2) 60%, var(--surface))}.planner-people-cell,.planner-matrix-cell,.planner-people-name{--conflict-color:var(--danger-solid)}.planner-people-cell,.planner-matrix-cell{position:relative}.planner-people-cell.has-conflict:after,.planner-matrix-cell.has-conflict:after,.planner-people-name.has-conflict:after{content:"";z-index:1;border-style:solid;border-width:0 7px 7px 0;border-color:transparent var(--conflict-color) transparent transparent;pointer-events:none;transition:opacity var(--duration) var(--ease);position:absolute;top:0;right:0}.planner-people-cell.is-warning,.planner-matrix-cell.is-warning,.planner-people-name.is-warning{--conflict-color:var(--warning-solid)}.planner-people-cell.is-error{background:var(--danger-background);box-shadow:inset 0 0 0 1.5px var(--danger)}.planner-people-cell.is-warning{background:var(--warning-background);box-shadow:inset 0 0 0 1.5px var(--warning-solid)}.planner-matrix-cell.has-conflict .planner-square{box-shadow:inset 0 0 0 2px var(--conflict-color)}.planner-people-name.has-conflict,.planner-people-total.is-over-wish{color:var(--warning)}.planner-people-cell.is-absent{background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--secondary) 26%, transparent) 0 1.5px, transparent 1.5px 5px)}.planner-people-cell.is-wanted,.planner-people-cell.is-rather-not{--wish-color:var(--success-solid);background-color:color-mix(in srgb, var(--wish-color) 12%, transparent)}.planner-people-cell.is-rather-not{--wish-color:var(--warning-solid)}.planner-people-cell.is-wanted:before,.planner-people-cell.is-rather-not:before{content:"";z-index:1;border-style:solid;border-width:7px 7px 0 0;border-color:var(--wish-color) transparent transparent transparent;pointer-events:none;position:absolute;top:0;left:0}.planner-people-dot.is-elsewhere{border:1.5px solid var(--secondary);background:0 0;width:8px;height:8px}.planner.has-conflict-focus .has-conflict:not(.is-conflict-focus):not(.is-conflict-target):after{opacity:.25}.planner.has-conflict-focus .planner-people-cell.has-conflict:not(.is-conflict-focus):not(.is-conflict-target){box-shadow:none;background-color:#0000}.planner.has-conflict-focus .planner-matrix-cell.has-conflict:not(.is-conflict-focus):not(.is-conflict-target) .planner-square{box-shadow:none}.planner-people-cell.is-conflict-focus,.planner-people-cell.is-conflict-target{box-shadow:inset 0 0 0 2px var(--conflict-color)}.planner-matrix-cell.is-conflict-focus .planner-square,.planner-matrix-cell.is-conflict-target .planner-square{box-shadow:inset 0 0 0 2.5px var(--conflict-color), inset 0 0 0 3.5px var(--surface)}.planner-matrix-cell.is-conflict-focus:not(.has-conflict) .planner-square,.planner-matrix-cell.is-conflict-target:not(.has-conflict) .planner-square{box-shadow:inset 0 0 0 2.5px var(--text-h), inset 0 0 0 3.5px var(--surface)}.planner-people-cell.is-conflict-target,.planner-matrix-cell.is-conflict-target,.planner-people-name.is-conflict-target{animation:planner-conflict-pulse 1.1s var(--ease) 2}@keyframes planner-conflict-pulse{50%{filter:brightness(.82)}}@media (prefers-reduced-motion:reduce){.planner-people-cell.is-conflict-target,.planner-matrix-cell.is-conflict-target,.planner-people-name.is-conflict-target{animation:none}}.planner-matrix-cell.has-conflict .planner-square:hover{box-shadow:inset 0 0 0 2px var(--conflict-color), inset 0 0 0 4px var(--square-color)}.planner-matrix-cell .planner-square.is-open,.planner-matrix-cell .planner-square.is-open:hover{box-shadow:inset 0 0 0 2px var(--primary), inset 0 0 0 3px var(--surface)}.planner-conflicts{flex-direction:column;flex:none;min-width:0;padding:0;display:flex}.planner-conflicts-head{border-radius:inherit;width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 14px;display:flex}.planner-conflicts-head:disabled{cursor:default}.planner-conflicts.is-open>.planner-conflicts-head{border-bottom:1px solid var(--border);border-bottom-right-radius:0;border-bottom-left-radius:0}.planner-conflicts-head:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.planner-conflicts-title{color:var(--text-h);font-size:var(--fs-base);margin:0;font-weight:600}.planner-conflicts-icon{flex:none;width:18px;height:18px}.planner-conflicts-icon.is-error{color:var(--danger)}.planner-conflicts-icon.is-warning{color:var(--warning)}.planner-conflicts-icon.is-ok{color:var(--success)}.planner-conflicts-spacer{flex:1}.planner-conflicts-chevron{width:16px;height:16px;color:var(--secondary);transition:transform var(--duration) var(--ease);margin-left:2px;transform:rotate(180deg)}.planner-conflicts-chevron.is-open{transform:none}.planner-conflict-types{flex-wrap:wrap;gap:6px;padding:10px 14px 0;display:flex}.planner-conflict-type{--conflict-color:var(--danger);--conflict-wash:var(--danger-background);border:1px solid color-mix(in srgb, var(--conflict-color) 35%, transparent);border-radius:var(--radius-full);background:var(--conflict-wash);min-height:28px;color:var(--text-h);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);align-items:center;gap:6px;padding:3px 9px 3px 7px;line-height:1.2;display:inline-flex}.planner-conflict-type.is-warning,.planner-conflict-item.is-warning,.planner-picker-warning.is-warning{--conflict-color:var(--warning);--conflict-wash:var(--warning-background)}.planner-conflict-type .planner-conflict-glyph{color:var(--conflict-color)}.planner-conflict-type:hover{border-color:var(--conflict-color)}.planner-conflict-type.is-active{border-color:var(--conflict-color);box-shadow:inset 0 0 0 1px var(--conflict-color)}.planner-conflict-type:focus-visible,.planner-conflict-item:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.planner-conflict-type-count{color:var(--conflict-color);font-variant-numeric:tabular-nums;font-weight:700}.planner-conflict-glyph{flex:none;width:14px;height:14px}.planner-conflict-list{scrollbar-width:thin;flex-direction:column;gap:1px;max-height:clamp(96px,100svh - 620px,220px);margin:0;padding:8px;list-style:none;display:flex;overflow-y:auto}.planner-conflict-item{--conflict-color:var(--danger);border-radius:var(--radius-sm);width:100%;min-height:28px;color:var(--text-h);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background-color var(--duration) var(--ease);background:0 0;border:0;align-items:center;gap:8px;padding:3px 8px;display:flex}.planner-conflict-item:hover{background:var(--surface-2)}.planner-conflict-item.is-active{background:var(--primary-background);box-shadow:inset 2px 0 0 var(--primary)}.planner-conflict-item .planner-conflict-glyph{color:var(--conflict-color)}.planner-conflict-date{min-width:3.4em;color:var(--text-p);font-variant-numeric:tabular-nums;flex:none}.planner-conflict-person{white-space:nowrap;flex:none;font-weight:600}.planner-conflict-kind{color:var(--conflict-color);white-space:nowrap;flex:none}.planner-conflict-detail{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-conflict-more{color:var(--text-p);font-size:var(--fs-xs);padding:4px 8px}.planner-conflict-glyphs{flex:none;gap:2px;display:inline-flex}.planner-conflict-glyphs .planner-conflict-glyph{width:13px;height:13px}.planner-conflict-glyph.is-error{color:var(--danger)}.planner-conflict-glyph.is-warning{color:var(--warning)}.planner-detail-person.is-unqualified:not(.is-assigned) .planner-detail-name{color:var(--text-p)}.planner-detail-person.has-warning.is-error.is-assigned,.planner-picker-option.has-warning.is-error.is-assigned{background:var(--danger-background)}.planner-detail-person.has-warning.is-warning.is-assigned,.planner-picker-option.has-warning.is-warning.is-assigned{background:var(--warning-background)}.planner-picker-warnings{flex-wrap:wrap;gap:2px 8px;margin-top:2px;display:flex}.planner-picker-warning{--conflict-color:var(--danger);color:var(--conflict-color);font-size:var(--fs-xs);align-items:center;gap:4px;font-weight:500;line-height:1.3;display:inline-flex}.planner-picker-warning .planner-conflict-glyph{width:12px;height:12px}.planner-people-slot{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;padding:0;transition:box-shadow 90ms,background-color 90ms;display:flex}.planner-people-slot:hover{background:var(--primary-background);box-shadow:inset 0 0 0 1.5px var(--primary)}.planner-people-slot:focus-visible,.planner-people-slot.is-open{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.planner-people-dot{vertical-align:middle;pointer-events:none;border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.planner-people-total-head,.planner-people-total{color:var(--text-h);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;padding:2px 4px 2px 10px}.planner-people-table thead th.planner-people-total-head{vertical-align:bottom;color:var(--text-p);padding-bottom:6px;font-weight:600}.planner-people-total{color:var(--text);border-bottom:1px solid var(--border);font-weight:600}.planner-people-table thead th.planner-people-total-head.is-surcharge,.planner-people-total.is-surcharge{color:var(--primary)}.planner-popover{z-index:901;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--text);text-align:left;max-width:calc(100vw - 16px);animation:planner-popover-in .12s var(--ease);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes planner-popover-in{0%{opacity:0;transform:translateY(3px)}}.planner-popover-head{flex:none;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 10px 8px 12px;display:flex}.planner-popover-head.has-divider{border-bottom:1px solid var(--border)}.planner-popover-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.planner-popover-title{min-width:0;color:var(--text-h);font-size:var(--fs-base);align-items:center;gap:7px;font-weight:600;display:inline-flex}.planner-popover-meta{color:var(--text-p);font-size:var(--fs-xs)}.dialog-close.planner-popover-close{width:26px;height:26px;margin:-3px -3px 0 0}.dialog-close.planner-popover-close svg{width:16px;height:16px}.planner-popover-empty{color:var(--text-p);font-size:var(--fs-sm);margin:0;padding:14px 12px}.planner-check{border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);width:14px;height:14px;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);flex:none;position:relative}.is-assigned>.planner-check{border-color:var(--primary);background:var(--primary)}.is-assigned>.planner-check:after{content:"";border:solid var(--on-primary);border-width:0 1.75px 1.75px 0;width:3.5px;height:7px;position:absolute;top:.5px;left:3.5px;transform:rotate(45deg)}.planner-detail-legend{border-bottom:1px solid var(--border);letter-spacing:.03em;text-transform:uppercase;flex:none;align-items:baseline;gap:3px;padding:0 12px 8px;font-size:.6875rem;display:flex}.planner-detail-toggle{cursor:pointer;text-transform:none;letter-spacing:normal;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.planner-detail-grid{grid-auto-flow:column;grid-template-rows:repeat(var(--detail-rows,10), auto);flex:1;grid-auto-columns:minmax(0,1fr);align-content:start;column-gap:2px;min-height:0;padding:6px 8px 8px;display:grid;overflow:auto}.planner-detail-person{border-radius:var(--radius-sm);width:100%;min-width:0;height:28px;color:var(--text-h);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 6px;line-height:1;display:flex}.planner-detail-person:hover:not(:disabled),.planner-picker-option:hover:not(:disabled){background:var(--surface-2)}.planner-detail-person:focus-visible,.planner-picker-option:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.planner-detail-person.is-assigned,.planner-picker-option.is-assigned{font-weight:600}.planner-detail-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.planner-detail-counts{font-variant-numeric:tabular-nums;font-size:var(--fs-xs);flex:none;align-items:baseline;gap:1px;font-weight:500;display:flex}.planner-detail-count{color:var(--text-p)}.planner-detail-count.is-surcharge{color:var(--primary);font-weight:650}.planner-detail-count-sep{color:var(--secondary)}.planner-picker-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.planner-picker-option{border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--text-h);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;display:flex}.planner-picker-option-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.planner-picker-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-picker-option-note{color:var(--text-p);font-size:var(--fs-xs);font-weight:400}.planner-picker-load{border-radius:var(--radius-full);background:var(--surface-2);min-width:30px;color:var(--text);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:center;flex-shrink:0;padding:2px 6px;font-weight:600}.planner-picker-load.is-full{background:var(--success-background);color:var(--success)}@media (width<=1100px){.planner-split{grid-template-columns:minmax(0,1fr)}.planner-right{display:contents}.planner-bar{order:-2}.planner-conflicts{order:-1}.planner-pane-demand{min-width:0}}@media (width<=560px){.planner-matrix{--planner-cell:calc(var(--planner-row) + 4px)}.planner-pane{padding:12px}.planner-bar-row{padding:10px 12px}.planner-bar-row.is-tools>.period-stepper{flex:100%}.planner-bar-row.is-tools>.period-stepper .period-stepper-control{flex:1;justify-content:space-between;min-width:0}.planner-bar-row.is-tools>.period-stepper .period-stepper-label{flex:1;min-width:0}}.planner-pane-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.marks-key-toggle{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);height:24px;color:var(--text-p);font:inherit;font-size:var(--fs-xs);letter-spacing:normal;text-transform:none;cursor:pointer;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);align-items:center;gap:5px;padding:0 8px 0 6px;font-weight:550;display:inline-flex}.marks-key-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.marks-key-toggle:hover,.marks-key-toggle.is-open{border-color:var(--primary-border);background:var(--primary-background);color:var(--primary)}.marks-key-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.planner-detail-legend .marks-key-toggle{flex:none;margin-left:auto}.planner-detail-legend .planner-detail-toggle{margin-left:12px}.marks-key-bubble{z-index:1000;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:max-content;max-width:calc(100vw - 16px);box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--fs-sm,.8125rem);animation:planner-popover-in .12s var(--ease);padding:10px 12px;position:fixed}.marks-key-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.marks-key-item{align-items:center;gap:8px;min-width:0;line-height:1.3;display:flex}.marks-key-item .planner-conflict-glyph{width:14px;height:14px;color:var(--danger);flex:none}.marks-key-mark{border:1px solid var(--border-strong);background:var(--surface);flex:none;width:16px;height:16px;position:relative}.marks-key-mark.is-duty:after,.marks-key-mark.is-elsewhere:after{content:"";background:var(--info-solid);border-radius:50%;position:absolute;inset:3px}.marks-key-mark.is-elsewhere:after{box-shadow:inset 0 0 0 1.5px var(--secondary);background:0 0}.marks-key-mark.is-cannot{background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--secondary) 45%, transparent) 0 1.5px, transparent 1.5px 5px)}.marks-key-mark.is-wanted,.marks-key-mark.is-rather-not{--wish-color:var(--success-solid);background-color:color-mix(in srgb, var(--wish-color) 12%, var(--surface))}.marks-key-mark.is-rather-not{--wish-color:var(--warning-solid)}.marks-key-mark.is-wanted:before,.marks-key-mark.is-rather-not:before,.marks-key-mark.is-conflict:before,.marks-key-mark.is-warning:before{content:"";border-style:solid;position:absolute;top:0}.marks-key-mark.is-wanted:before,.marks-key-mark.is-rather-not:before{border-width:7px 7px 0 0;border-color:var(--wish-color) transparent transparent transparent;left:0}.marks-key-mark.is-conflict:before,.marks-key-mark.is-warning:before{border-width:0 7px 7px 0;border-color:transparent var(--danger-solid) transparent transparent;right:0}.marks-key-mark.is-warning:before{border-color:transparent var(--warning-solid) transparent transparent}.marks-key-mark.is-weekend{background:var(--surface-3)}.marks-key-mark.is-today{background:var(--primary-background-strong)}@media (width>=1101px){.planner-split{align-items:stretch}.planner-right{contain:size}.planner-pane-people,.planner-scroll-people{flex:1 1 0;min-height:0}}.coverage{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.coverage-title{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.coverage-empty{color:var(--text-p);font-size:var(--fs-sm);margin:0}.coverage-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.coverage-caption,.coverage-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.coverage-corner,.coverage-dayhead{color:var(--text-p);letter-spacing:.02em;text-transform:uppercase;padding:0 0 4px;font-size:.6875rem;font-weight:600}.coverage-corner{text-align:left;width:auto}.coverage-dayhead{text-align:center;width:22px}.coverage-name{color:var(--text-h);font-size:var(--fs-xs);text-align:left;padding:3px 0;font-weight:500}.coverage-name-inner{align-items:center;gap:5px;min-width:0;padding-right:6px;display:flex}.coverage-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.coverage-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coverage-cell{text-align:center;color:var(--text-h);font-variant-numeric:tabular-nums;padding:3px 0;font-weight:600}.coverage-cell.is-zero{color:var(--secondary);font-weight:400}.coverage-dayhead.is-weekend,.coverage-cell.is-weekend{background:var(--surface-2)}.coverage-total-name,.coverage-total-cell{border-top:1px solid var(--border);padding-top:5px}.coverage-total-name{color:var(--text-p);letter-spacing:.02em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.confirm-dialog-body{padding:22px 22px 20px}.confirm-dialog-title{margin-bottom:6px}.confirm-dialog-message{color:var(--text-h);font-size:var(--fs-base);white-space:pre-line;margin:0;line-height:1.5}.confirm-dialog-details{color:var(--text-p);font-size:var(--fs-sm);margin:8px 0 0;line-height:1.45}.dialog-overlay.generation-progress-overlay{z-index:1100}@media (width<=560px){.dialog-overlay.generation-progress-overlay{align-items:center;padding:16px}.dialog.generation-progress{border-radius:var(--radius-xl)}}.dialog-body.generation-progress-content{text-align:center;flex-direction:column;align-items:center;padding:28px 24px 22px;display:flex}.generation-progress-spinner{border:3px solid var(--primary-background-strong);border-top-color:var(--primary);box-sizing:border-box;border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:.9s linear infinite generation-progress-spin}.dialog-title.generation-progress-title{margin:0 0 6px}.generation-progress-body{color:var(--text-p);font-size:var(--fs-base);margin:0 0 20px;line-height:1.5}.generation-progress-track{border-radius:var(--radius-full);background:var(--surface-3);width:100%;height:4px;overflow:hidden}.generation-progress-bar{border-radius:var(--radius-full);background:var(--primary);width:40%;height:100%;animation:1.4s ease-in-out infinite generation-progress-sweep;display:block}.generation-progress-meta{width:100%;color:var(--text-p);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;margin-top:10px;display:flex}.generation-progress-meta span:only-child{margin:0 auto}@keyframes generation-progress-spin{to{transform:rotate(360deg)}}@keyframes generation-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.generation-progress-spinner,.generation-progress-bar{animation-duration:3s!important;animation-iteration-count:infinite!important}}.schedule-edit{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.schedule-edit-layout{grid-template-columns:272px minmax(0,1fr);align-items:start;gap:16px;min-height:0;display:grid}.schedule-edit-layout.is-wide{grid-template-columns:minmax(0,1fr)}.schedule-edit-side{top:calc(var(--header-h) + 16px);max-height:calc(100svh - var(--header-h) - 40px);flex-direction:column;flex-shrink:0;align-self:start;gap:16px;display:flex;position:sticky;overflow:hidden auto}.schedule-edit-generate-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:14px;display:flex}.schedule-edit-detail{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.schedule-edit-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;min-width:0;padding:2px 0 4px;display:flex}.schedule-edit-identity{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.schedule-edit-identity .page-title{white-space:nowrap;margin:0}.schedule-edit-state{align-items:center;gap:6px;display:flex}.schedule-edit-state .badge:first-child{min-width:8.6em}.schedule-edit-state .badge:last-child{min-width:6.8em}.schedule-edit-controls{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-left:auto;display:flex}.schedule-edit-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-edit-save{min-width:6.5em}.btn.schedule-edit-approve:not(:disabled){color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.btn.schedule-edit-approve:hover:not(:disabled){border-color:var(--success);background:var(--success-background)}.schedule-edit-grid{grid-template-rows:auto;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(110px,auto);gap:6px;min-width:0;display:grid}.schedule-edit-grid.is-loading{opacity:.6;pointer-events:none}.schedule-edit-grid-head{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.05em;text-align:center;text-transform:uppercase;padding:6px 0;font-weight:600}.schedule-edit-cell{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:110px;box-shadow:var(--shadow-xs);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);flex-direction:column;gap:6px;padding:6px;display:flex}.schedule-edit-cell:hover:not(.schedule-edit-cell-empty){border-color:var(--border-strong)}.schedule-edit-cell-empty{box-shadow:none;background:0 0;border-color:#0000}.schedule-edit-cell.is-today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.schedule-edit-cell.is-today .schedule-edit-cell-daynum{color:var(--primary)}.schedule-edit-cell.is-drag-over{border-color:var(--primary);background:var(--primary-background)}.schedule-edit-cell-header{justify-content:space-between;align-items:center;min-height:20px;display:flex}.schedule-edit-cell-daynum{color:var(--text-h);font-size:var(--fs-sm);font-weight:600}.schedule-edit-cell-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-p);font:inherit;font-size:var(--fs-base);opacity:0;cursor:pointer;transition:opacity var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease), background-color var(--duration) var(--ease);background:0 0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.schedule-edit-cell-add:focus-visible,.schedule-edit-shift-remove:focus-visible,.schedule-edit-alert-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.schedule-edit-cell:hover .schedule-edit-cell-add,.schedule-edit-cell-add:focus-visible{opacity:1}.schedule-edit-cell-add:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-background)}.schedule-edit-shifts{flex-direction:column;gap:4px;display:flex}.schedule-edit-shift{border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:4px;padding:4px 6px;display:flex;position:relative}.schedule-edit-shift:active{cursor:grabbing}.schedule-edit-shift.is-new{outline:1px dashed var(--primary);outline-offset:-2px}.schedule-edit-shift-name-wrap{flex:1;min-width:0;position:relative}.schedule-edit-shift-name{color:var(--text-h);font-size:var(--fs-sm);letter-spacing:-.1px;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schedule-edit-shift-tooltip{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:260px;color:var(--text-h);font-size:var(--fs-xs);white-space:nowrap;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;padding:5px 9px;transition:opacity .12s,transform .12s,visibility 0s linear .12s;position:absolute;bottom:calc(100% + 6px);left:0;transform:translateY(3px)}.schedule-edit-shift-name-wrap:hover .schedule-edit-shift-tooltip{opacity:1;visibility:visible;transition-delay:.45s,.45s,0s;transform:translateY(0)}.schedule-edit-shift-remove{border-radius:var(--radius-xs);width:18px;height:18px;color:var(--text-p);opacity:0;cursor:pointer;transition:opacity var(--duration) var(--ease), color var(--duration) var(--ease), background-color var(--duration) var(--ease);background:0 0;border:none;place-items:center;padding:0;display:grid}.schedule-edit-shift-remove svg{width:12px;height:12px}.schedule-edit-shift:hover .schedule-edit-shift-remove,.schedule-edit-shift-remove:focus-visible{opacity:1}.schedule-edit-shift-remove:hover{background:var(--danger-background);color:var(--danger)}.schedule-edit-editor-body{flex-direction:column;gap:16px;display:flex}.schedule-edit-editor-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.field-hint.schedule-edit-editor-warning{color:var(--warning)}.schedule-edit-editor-delete{margin-right:auto}.schedule-edit-role-options{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.schedule-edit-role-option{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);box-sizing:border-box;align-items:center;gap:8px;padding:0 12px 0 10px;display:inline-flex}.schedule-edit-role-option:hover{border-color:var(--primary-border)}.schedule-edit-role-option.is-checked{border-color:var(--primary);background:var(--primary-background)}.schedule-edit-role-input{opacity:0;width:0;height:0;margin:0;position:absolute}.schedule-edit-role-box{border:1.5px solid var(--border-strong);background:var(--surface);width:16px;height:16px;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);box-sizing:border-box;border-radius:50%;flex-shrink:0;position:relative}.schedule-edit-role-option.is-checked .schedule-edit-role-box{border:5px solid var(--primary);background:var(--on-primary)}.schedule-edit-role-input:focus-visible+.schedule-edit-role-box{box-shadow:var(--focus-ring)}.schedule-edit-role-name{color:var(--text-h);font-size:var(--fs-sm);white-space:nowrap;font-weight:500}@media (width<=900px){.schedule-edit-layout{grid-template-columns:minmax(0,1fr)}.schedule-edit-side{flex-flow:wrap;align-items:flex-start;max-height:none;position:static;overflow:visible}.schedule-edit-side .coverage{flex:1;min-width:248px}.schedule-edit-cell-add,.schedule-edit-shift-remove{opacity:1}}@media (width<=560px){.schedule-edit-controls{width:100%;margin-left:0}.schedule-edit-controls>.period-stepper{flex:100%}.schedule-edit-controls>.period-stepper .period-stepper-control{flex:1;justify-content:space-between}.schedule-edit-topbar-actions{flex:100%}.schedule-edit-topbar-actions .btn{flex:1}}.sprint{max-width:1400px}.sprint-alert{margin-bottom:16px}.sprint-pdf{min-width:10.5em}.spinner.sprint-pdf-spinner{border-color:color-mix(in srgb, var(--on-primary) 35%, transparent);border-top-color:var(--on-primary);width:14px;height:14px}.sprint-bar{flex-wrap:wrap;align-items:flex-end;gap:14px 16px;margin-bottom:20px;padding:14px 16px;display:flex}.field.sprint-field{flex:none;gap:5px}.sprint-field .field-label{color:var(--text-p);font-size:var(--fs-xs);font-weight:550}.select.sprint-select{width:auto;min-width:88px}.select.sprint-select-pages{min-width:72px}.sprint-field .segmented{height:var(--control-h);box-sizing:border-box}.sprint-divider{background:var(--border);align-self:stretch;width:1px;margin:2px 2px 0}.sprint-desk{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:28px;box-shadow:inset 0 1px 3px #1018280f}.sprint-scroll{cursor:zoom-in;-webkit-user-select:none;user-select:none;max-height:80vh;overflow:auto}.sprint-scroll.is-zoomed{cursor:grab}.sprint-scroll.is-dragging{cursor:grabbing}.sprint-stage{position:relative;overflow:hidden}.sprint-sheet{--sprint-font:9px;box-sizing:border-box;transform-origin:0 0;color:#111;box-shadow:0 0 0 1px #0000001a, var(--shadow-lg);font-family:var(--sans);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;padding:4mm 5mm;display:flex;position:absolute;top:0;left:0;overflow:hidden}.sprint-measure{visibility:hidden;pointer-events:none;left:-10000px}.sprint-sheet.is-loading{opacity:.45}.sprint-sheet-head{border-bottom:1px solid #333;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2mm;padding-bottom:1.5mm;display:flex}.sprint-sheet-head h2{color:#111;margin:0;font-size:11pt;font-weight:600}.sprint-sheet-head span{white-space:nowrap;font-size:9pt}.sprint-sheet-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sprint-table-wrap{flex:auto;min-height:0}.sprint-table{border-collapse:collapse;table-layout:fixed;width:100%;height:100%;font-size:var(--sprint-font);line-height:1.15}.sprint-sheet.is-measuring .sprint-table,.sprint-sheet.is-loose .sprint-table{height:auto}.sprint-sheet.is-measuring .sprint-table-wrap,.sprint-sheet.is-loose .sprint-table-wrap{flex:none}.sprint-table th,.sprint-table td{text-align:center;vertical-align:middle;overflow-wrap:anywhere;color:#111;border:1px solid #9a9a9a;padding:.3em .35em}.sprint-table thead th{background:#e8e8e8;font-weight:700}.sprint-table thead th em{opacity:.7;font-style:normal;font-weight:400;display:block}.sprint-table tbody th{text-align:left;background:#f4f4f4;font-weight:600}.sprint-table tbody th em{opacity:.7;margin-left:.3em;font-style:normal;font-weight:400}.sprint-table.is-competences .sprint-first{width:13%}.sprint-table.is-employees .sprint-first{width:16%}.sprint-table.is-employees thead th{white-space:nowrap}.sprint-table tr.is-muted td,.sprint-table td.is-muted{background:#ececec}.sprint-table tr.is-muted th,.sprint-table thead th.is-muted{background:#e0e0e0}.sprint-legend{font-size:var(--sprint-font);flex-wrap:wrap;flex:none;gap:.4em 1.2em;margin:1.5mm 0 0;padding:0;list-style:none;display:flex}.sprint-legend li{gap:.4em;display:flex}.sprint-legend b{min-width:1.1em}@media (width<=768px){.sprint-divider{display:none}.sprint-desk{padding:16px}}@media (width<=560px){.sprint-bar{padding:12px}.field.sprint-field{flex:100%}label.field.sprint-field{flex:40%}.select.sprint-select{width:100%}.sprint-field .segmented{display:flex}.sprint-field .segmented>button{flex:1;padding:0 8px}.sprint .page-actions{width:100%}.sprint .page-actions .btn{flex:1}}@media print{html:has(.sprint-stage){--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important;background:#fff!important}html:has(.sprint-stage) body{--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important;background:#fff!important}body:has(.sprint-stage) *{visibility:hidden!important}:is(body:has(.sprint-stage) .sprint-sheet,body:has(.sprint-stage) .sprint-sheet *){visibility:visible!important}.sprint-measure{display:none!important}.sprint-sheet{break-inside:avoid;box-shadow:none!important;position:static!important;transform:none!important}.sprint-sheet+.sprint-sheet{break-before:page}.sprint-stage{width:auto!important;height:auto!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}.sprint-scroll,.sprint{overflow:visible!important}body:has(.sprint-stage) .app-container{overflow:visible!important}body:has(.sprint-stage) .main-area{overflow:visible!important}body:has(.sprint-stage) .content{overflow:visible!important}.sprint-scroll{max-height:none!important}}.cmatrix{flex-direction:column;min-width:0;display:flex;overflow:hidden}.cmatrix-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px;display:flex}.cmatrix-filter{flex:0 300px;min-width:200px;position:relative}.cmatrix-filter .input{padding-right:34px}.cmatrix-filter-clear{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.cmatrix-filter-clear:hover{background:var(--surface-2);color:var(--text-h)}.cmatrix-count{color:var(--text-p);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.cmatrix-addrow{justify-content:flex-end;width:260px;margin-left:auto;display:flex}.cmatrix-suggestions{z-index:500;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:max-content;max-width:min(380px,100vw - 16px);max-height:300px;box-shadow:var(--shadow);text-align:left;margin:0;padding:4px;list-style:none;animation:.12s ease-out ui-fade-in;position:fixed;overflow-y:auto}.cmatrix-suggestions li+li{margin-top:1px}.cmatrix-suggestions button{border-radius:var(--radius-sm);width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;display:flex}.cmatrix-suggestions [aria-selected=true]>button{background:var(--surface-2)}.cmatrix-suggestion-name,.cmatrix-suggestion-email{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cmatrix-suggestion-name{color:var(--text-h);font-size:var(--fs-sm);font-weight:550}.cmatrix-suggestion-email{color:var(--text-p);font-size:var(--fs-xs)}.cmatrix-suggestions-empty{color:var(--text-p);font-size:var(--fs-sm);padding:10px}.cmatrix-scroll{max-height:max(360px, calc(100svh - 216px - var(--header-h)));overscroll-behavior:contain;transition:opacity var(--duration) var(--ease);overflow:auto}.cmatrix-scroll.is-loading{opacity:.5;pointer-events:none}.cmatrix-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm);line-height:1.4}.cmatrix-table th,.cmatrix-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);text-align:center;padding:0}.cmatrix-table tr>:last-child{border-right:0}.cmatrix-table tbody tr:last-child>*{border-bottom:0}.cmatrix-table thead{z-index:3;position:sticky;top:0}.cmatrix-table thead th{background:var(--surface-2)}.cmatrix-table .cmatrix-first{z-index:1;box-sizing:border-box;text-align:left;width:272px;min-width:272px;max-width:272px;position:sticky;left:0}.cmatrix-table .cmatrix-corner{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;vertical-align:bottom;padding:10px 16px;font-weight:600}.cmatrix-table .cmatrix-col{min-width:72px;color:var(--text-h);white-space:nowrap;vertical-align:bottom;padding:10px 12px;font-weight:600}.cmatrix-colname{display:block}.cmatrix-table .cmatrix-required-label{padding:7px 14px;overflow:hidden}.cmatrix-required-caption{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-weight:600;display:block}.cmatrix-day-track{grid-template-columns:repeat(7,1fr) 40px;align-items:center;min-height:28px;display:grid}.cmatrix-day-empty{justify-content:center;align-items:center;height:22px;display:flex}.cmatrix-day-empty:after{content:"";background:var(--border-strong);border-radius:50%;width:3px;height:3px}.cmatrix-day-track>.is-special{margin-left:11px;position:relative}.cmatrix-day-track>.is-special:before{content:"";background:var(--border);width:1px;position:absolute;top:-60px;bottom:-60px;left:-6px}.cmatrix-day{border:1px solid var(--primary-border);background:var(--primary-background);height:22px;color:var(--primary);border-left-width:0;border-right-width:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;line-height:1;display:flex}.cmatrix-day.is-start{border-top-left-radius:var(--radius-full);border-bottom-left-radius:var(--radius-full);border-left-width:1px}.cmatrix-day.is-end{border-top-right-radius:var(--radius-full);border-bottom-right-radius:var(--radius-full);border-right-width:1px}.cmatrix-day.is-special{border-color:var(--primary);background:var(--primary-background-strong)}.cmatrix-table .cmatrix-required-cell{vertical-align:bottom;padding:6px 10px}.cmatrix-required-fill{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);min-width:34px;height:24px;color:var(--text-h);justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.cmatrix-required-number{font-variant-numeric:tabular-nums;font-weight:600}.cmatrix-table th.cmatrix-row,.cmatrix-table td.cmatrix-cell-td{height:44px}.cmatrix-table tbody tr:hover>th,.cmatrix-table tbody tr:hover>td{background:var(--surface-2)}.cmatrix-row-inner{height:100%;position:relative}.cmatrix-row-name{box-sizing:border-box;width:100%;height:100%;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:0 40px 0 16px;font-weight:550;display:flex}.cmatrix-row-name-text{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}.cmatrix-row-name:hover .cmatrix-row-name-text{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.cmatrix-row-name:focus-visible,.cmatrix-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-3px;border-radius:var(--radius-sm)}.cmatrix-remove-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--secondary);opacity:0;cursor:pointer;transition:opacity var(--duration) var(--ease), background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.cmatrix-remove-btn svg{width:15px;height:15px}.cmatrix-remove-btn:hover,.cmatrix-remove-btn.is-active{background:var(--danger-background);color:var(--danger)}.cmatrix-table tbody tr:hover .cmatrix-remove-btn,.cmatrix-remove-btn.is-active,.cmatrix-remove-btn:focus-visible{opacity:1}.cmatrix-remove-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media (hover:none){.cmatrix-remove-btn{opacity:1}}.cmatrix-table .cmatrix-setting-col{white-space:normal;vertical-align:middle;min-width:0;max-width:120px}.cmatrix-table .is-group-end{border-right:2px solid var(--border-strong)}.cmatrix-table td.cmatrix-setting-td{min-width:0;padding:0 8px}.cmatrix-table td.cmatrix-setting-td.is-toggle{min-width:72px;padding:0}.cmatrix-number{text-align:center;font-variant-numeric:tabular-nums;width:64px}.cmatrix-select{width:150px}.cmatrix-cell-td{min-width:96px}.cmatrix-toggle{width:100%;height:100%;font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.cmatrix-toggle.is-on{background:color-mix(in srgb, var(--primary) 7%, transparent)}.cmatrix-check{box-sizing:border-box;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);width:18px;height:18px;color:var(--on-primary);transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);place-items:center;display:grid}.cmatrix-check svg{stroke-width:2.6px;width:13px;height:13px}.cmatrix-toggle:hover .cmatrix-check{border-color:var(--primary)}.cmatrix-toggle.is-on .cmatrix-check{border-color:var(--primary);background:var(--primary)}.cmatrix-toggle.is-on:hover .cmatrix-check{border-color:var(--primary-hover);background:var(--primary-hover)}.cmatrix-table .cmatrix-empty-row{color:var(--text-p);font-size:var(--fs-base);text-align:left;padding:32px 16px}.cmatrix-popover{z-index:500;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:max-content;max-width:280px;box-shadow:var(--shadow);text-align:left;padding:14px;animation:.12s ease-out ui-fade-in;position:fixed}.cmatrix-popover-text{color:var(--text-h);font-size:var(--fs-sm);white-space:normal;margin:0 0 12px;line-height:1.45}.cmatrix-popover-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=640px){.cmatrix-toolbar{padding:12px}.cmatrix-filter{flex:100%;min-width:0}.cmatrix-addrow{flex:auto;width:auto}.cmatrix-addrow .btn,.cmatrix-addrow .input{width:100%}.cmatrix-table .cmatrix-first{width:176px;min-width:176px;max-width:176px}.cmatrix-table .cmatrix-corner,.cmatrix-table .cmatrix-required-label{padding-left:10px;padding-right:8px}.cmatrix-row-name{padding-left:12px}.cmatrix-day-track{grid-template-columns:repeat(7,1fr) 30px}.cmatrix-day-track>.is-special{margin-left:7px}.cmatrix-day-track>.is-special:before{left:-4px}.cmatrix-day{font-size:.625rem}.cmatrix-table .cmatrix-col{min-width:60px}.cmatrix-cell-td{min-width:84px}.cmatrix-scroll{max-height:max(360px,100svh - 200px)}}.dialog.empdlg{max-width:600px}.dialog.empdlg:focus{outline:none}.dialog-header.empdlg-head{border-bottom:1px solid var(--border);align-items:center;padding-bottom:12px}.empdlg-avatar{background:var(--primary-background);width:38px;height:38px;color:var(--primary);font-size:var(--fs-base);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:650;display:flex}.empdlg-heading{flex:1;min-width:0}.empdlg-title,.dialog-description.empdlg-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog-description.empdlg-subtitle{margin-top:2px}.empdlg-head .dialog-close{align-self:flex-start}.dialog-body.empdlg-body{flex:1;min-height:0;padding-top:4px;padding-bottom:4px}.empdlg-section{padding:12px 0}.empdlg-section+.empdlg-section{border-top:1px solid var(--border)}.empdlg-section-title{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 8px;font-weight:600;display:flex}.empdlg-section-count{color:var(--text-p);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;font-weight:500}.empdlg-fields{gap:8px;margin:0;display:grid}.empdlg-fields>div{grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.empdlg-fields dt{color:var(--text-p);font-size:var(--fs-sm)}.empdlg-fields dd{color:var(--text-h);font-size:var(--fs-base);overflow-wrap:anywhere;margin:0}.empdlg-none{color:var(--text-p);font-size:var(--fs-base);margin:0}.empdlg-chips{flex-wrap:wrap;gap:6px;display:flex}.empdlg-chip{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);height:28px;color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);align-items:center;gap:6px;padding:0 11px 0 8px;font-weight:550;display:inline-flex}.empdlg-chip:hover:not(:disabled){border-color:var(--primary-border);color:var(--text-h)}.empdlg-chip.is-on{border-color:var(--primary-border);background:var(--primary-background);color:var(--primary)}.empdlg-chip.is-on:hover:not(:disabled){background:var(--primary-background-strong);color:var(--primary)}.empdlg-chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.empdlg-chip:disabled{opacity:.6;cursor:not-allowed}.empdlg-chip-mark{stroke-width:2.2px;flex:none;width:14px;height:14px}.empdlg-settings{flex-wrap:wrap;align-items:flex-start;gap:12px 24px;display:flex}.empdlg-stepper{align-items:center;gap:6px;display:flex}.empdlg-stepper>.btn-icon{font-size:var(--fs-md)}.input.empdlg-input{font-variant-numeric:tabular-nums;text-align:center;width:56px;font-weight:600}.empdlg-input::-webkit-outer-spin-button{appearance:none;margin:0}.empdlg-input::-webkit-inner-spin-button{appearance:none;margin:0}.empdlg-input[type=number]{appearance:textfield}.btn.empdlg-clear{color:var(--primary)}.empdlg-choice{align-self:flex-start;max-width:100%;overflow-x:auto}.empdlg-choice>button:disabled{cursor:not-allowed}.empdlg-tiles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;display:grid}.empdlg-tiles+.empdlg-none,.empdlg-tiles+.empdlg-days{margin-top:12px}.empdlg-tile{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid #0000;flex-direction:column;gap:2px;min-width:0;padding:6px 10px;display:flex}.empdlg-tile.is-accent{border-color:var(--primary-border);background:var(--primary-background)}.empdlg-tile-value{color:var(--text-h);font-size:var(--fs-md);font-variant-numeric:tabular-nums;font-weight:650;line-height:1.1}.empdlg-tile.is-accent .empdlg-tile-value{color:var(--primary)}.empdlg-tile-label{color:var(--text-p);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.625rem;font-weight:600;overflow:hidden}.empdlg-days{flex-wrap:wrap;gap:5px;display:flex}.empdlg-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;padding:3px 8px;line-height:1.4}.empdlg-day.is-surcharge{border-color:var(--primary-border);background:var(--primary-background);color:var(--primary);font-weight:600}.empdlg-error{margin:0 20px 12px}.empdlg-identity{grid-template-columns:96px minmax(0,1fr) minmax(0,1fr) 96px;gap:8px 12px;display:grid}.empdlg-identity-wide{grid-column:1/-1}.empdlg-identity .field,.empdlg-settings .field{gap:4px}@media (width<=560px){.empdlg-fields>div{grid-template-columns:96px minmax(0,1fr)}.empdlg-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.empdlg-identity{grid-template-columns:repeat(2,minmax(0,1fr))}}.departments-heading{min-width:0}.departments-subtitle{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.departments-workplace{color:var(--text-h);font-weight:600}.departments-desc{color:var(--text-p)}.departments-alert{margin-bottom:16px}.dialog.availdlg{max-width:640px}.dialog.availdlg:focus{outline:none}.dialog-header.availdlg-head{border-bottom:1px solid var(--border);align-items:center;padding-bottom:16px}.availdlg-head .dialog-close{align-self:flex-start}.availdlg-avatar{background:var(--primary-background);width:44px;height:44px;color:var(--primary);font-size:var(--fs-base);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:650;display:flex}.availdlg-heading{flex:1;min-width:0}.availdlg-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog-body.availdlg-body{flex:1;max-width:none;min-height:0;margin:0;padding-top:16px;padding-bottom:20px}.employees-heading{min-width:0}.employees-heading .page-subtitle{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.employees-workplace{color:var(--text-h);font-weight:600}.employees-count{color:var(--text-p)}.employees-alert{margin-bottom:16px}.employees-card{container:employees/inline-size}.employees-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px;display:flex}.employees-filter{flex:260px;max-width:380px;position:relative}.employees-filter .input{padding-right:34px}.employees-filter-clear{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.employees-filter-clear:hover{background:var(--surface-2);color:var(--text-h)}.employees-activefilter{border:1px solid var(--primary-border);border-radius:var(--radius-full);background:var(--primary-background);height:28px;color:var(--primary);font:inherit;font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;padding:0 8px 0 12px;font-weight:600;display:inline-flex}.employees-activefilter:hover{background:var(--primary-background-strong)}.employees-activefilter-icon{width:14px;height:14px}.employees-sort{margin-left:auto}.employees-list{transition:opacity var(--duration) var(--ease)}.employees-list.is-loading{opacity:.55;pointer-events:none}.employees-rows{margin:0;padding:0;list-style:none}.employees-rows>li+li{border-top:1px solid var(--border)}.employees-item{position:relative}.employees-open{z-index:0;cursor:pointer;width:100%;transition:background-color var(--duration) var(--ease);background:0 0;border:none;padding:0;position:absolute;inset:0}.employees-rows>li:last-child .employees-open{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.employees-open:hover{background:var(--surface-2)}.employees-open:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.employees-open:hover~.employees-row .employees-chevron{color:var(--text-h);transform:rotate(180deg)translate(-2px)}.employees-row,.employees-legend{grid-template-columns:36px minmax(160px,1fr) 84px 44px minmax(0,1fr) minmax(0,1.3fr) auto 30px 16px;align-items:center;column-gap:14px;padding:0 16px;display:grid}.employees-row{z-index:1;box-sizing:border-box;min-height:60px;color:var(--text-h);pointer-events:none;padding-top:10px;padding-bottom:10px;position:relative}.employees-legend{top:var(--header-h);z-index:2;border-bottom:1px solid var(--border);background:var(--surface-2);min-height:36px;color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.02em;text-transform:uppercase;font-weight:600;position:sticky}.employees-legend-person{grid-column:1/3}.employees-legend .employees-cell{color:var(--text-p);font-size:var(--fs-xs);text-overflow:clip;font-weight:600;overflow:visible}.employees-avatar{background:var(--primary-background);width:36px;height:36px;color:var(--primary);font-size:var(--fs-xs);letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;font-weight:650;display:flex}.employees-identity{flex-direction:column;gap:1px;min-width:0;display:flex}.employees-name,.employees-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employees-name{color:var(--text-h);font-size:var(--fs-base);font-weight:550}.employees-email{color:var(--text-p);font-size:var(--fs-xs)}.employees-item.is-inactive .employees-avatar,.employees-item.is-inactive .employees-identity,.employees-item.is-inactive .employees-tags,.employees-item.is-inactive .employees-stats{opacity:.55}.employees-status,.employees-vip{min-width:0;display:flex}.employees-tags{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.employees-tag{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);max-width:100%;height:22px;color:var(--text);font:inherit;font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;pointer-events:auto;transition:border-color var(--duration) var(--ease), color var(--duration) var(--ease), background-color var(--duration) var(--ease);align-items:center;padding:0 8px;font-weight:550;line-height:1;display:inline-flex;overflow:hidden}.employees-tag:hover{border-color:var(--primary-border);color:var(--primary)}.employees-tag:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.employees-tag.is-picked{border-color:var(--primary-border);background:var(--primary-background);color:var(--primary);font-weight:600}.employees-tag.is-more{background:var(--surface-2);color:var(--text-p);cursor:default;pointer-events:auto;border-color:#0000}.employees-tag.is-empty{color:var(--secondary);cursor:default;background:0 0;border-style:dashed}.employees-marked{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.employees-mark{--mark:var(--secondary);--mark-text:var(--text);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--mark) 45%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--mark) 12%, transparent);max-width:100%;color:var(--mark-text);font-size:var(--fs-xs);pointer-events:auto;align-items:baseline;gap:5px;padding:3px 8px;line-height:1.3;display:inline-flex}.employees-mark-label{flex:none;font-weight:650}.employees-mark-days{min-width:0;color:var(--text-h);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:550}.employees-mark.is-preferred{--mark:var(--success-solid);--mark-text:var(--success)}.employees-mark.is-soft-decline{--mark:var(--warning-solid);--mark-text:var(--warning)}.employees-mark.is-unavailable{--mark:var(--danger-solid);--mark-text:var(--danger)}.employees-mark.is-vacation{--mark:var(--info-solid);--mark-text:var(--info)}.employees-mark.is-business-trip{--mark:#c026d3;--mark-text:#a21caf}:root[data-theme=dark] .employees-mark.is-business-trip{--mark:#d946ef;--mark-text:#f0abfc}.employees-marked .employees-tag.is-empty{pointer-events:auto}.employees-stats{grid-template-columns:76px repeat(calc(var(--stat-count,5) - 1), 64px);align-items:center;gap:6px;display:grid}.employees-cell{min-width:0;color:var(--text-h);font-size:var(--fs-base);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.employees-cell.is-accent{color:var(--primary)}.employees-cell.is-muted{color:var(--secondary);font-weight:500}.employees-meter{position:relative;overflow:visible}.employees-row .employees-meter .employees-meter-track{position:absolute;bottom:-9px;left:0;right:0}.employees-meter-value{color:var(--text-h);font-size:var(--fs-md);font-weight:650;line-height:1}.employees-meter-max{color:var(--text-p);font-size:var(--fs-xs);font-weight:500}.employees-meter-track{border-radius:var(--radius-full);background:var(--surface-3);width:100%;height:4px;overflow:hidden}.employees-meter-fill{border-radius:var(--radius-full);background:var(--primary);height:100%;transition:width .2s var(--ease);display:block}.employees-meter.is-open .employees-meter-track{visibility:hidden}.employees-meter.is-full .employees-meter-value{color:var(--primary)}.employees-meter.is-over .employees-meter-fill{background:var(--danger-solid)}.employees-meter.is-over .employees-meter-value{color:var(--danger)}.btn.employees-calendar{color:var(--secondary);pointer-events:auto}.btn.employees-calendar:hover:not(:disabled){color:var(--primary)}.employees-chevron{width:16px;height:16px;color:var(--secondary);transition:transform var(--duration) var(--ease), color var(--duration) var(--ease);transform:rotate(180deg)}@container employees (width>=1101px){.employees-list.is-no-vip .employees-row,.employees-list.is-no-vip .employees-legend{grid-template-columns:36px minmax(160px,1fr) 84px minmax(0,1fr) minmax(0,1.3fr) auto 30px 16px}}@container employees (width<=1100px){.employees-row,.employees-legend{grid-template-columns:36px minmax(0,1fr) auto 30px 16px;row-gap:6px}.employees-legend-status,.employees-legend-vip,.employees-legend-tags,.employees-legend-marked{display:none}.employees-avatar{grid-row:1/5;align-self:start}.employees-status{grid-area:2/2}.employees-vip{grid-area:2/3;justify-content:flex-end}.employees-marked{grid-area:4/2/auto/4}.employees-identity{grid-area:1/2}.employees-tags{grid-area:3/2/auto/4}.employees-stats{grid-area:1/3}.btn.employees-calendar{grid-area:1/4}.employees-chevron{grid-area:1/5}}@container employees (width<=620px){.employees-legend{display:none}.employees-row{grid-template-columns:36px minmax(0,1fr) 30px 16px;column-gap:10px;padding:12px 14px}.employees-avatar{grid-row:1;align-self:center}.employees-status{grid-area:2/2}.employees-vip{grid-area:2/3/auto/5;justify-content:flex-end}.employees-marked{grid-area:4/2/auto/5}.btn.employees-calendar{grid-area:1/3}.employees-chevron{grid-area:1/4}.employees-tags{grid-area:3/2/auto/5}.employees-stats{grid-area:5/2/auto/5;grid-template-columns:repeat(var(--stat-count,5), minmax(0, 1fr));align-items:start;gap:4px;margin-top:2px}.employees-cell{font-size:var(--fs-sm);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.employees-cell[data-label]:before{content:attr(data-label);max-width:100%;color:var(--text-p);text-overflow:ellipsis;font-size:.6875rem;font-weight:500;overflow:hidden}.employees-meter-value{font-size:var(--fs-sm);line-height:inherit}.employees-row .employees-meter .employees-meter-track{width:80%;height:3px;position:static}}@media (width<=560px){.employees-toolbar{padding:12px}.employees-filter{flex-basis:100%;max-width:none}.employees-sort{margin-left:0}}.dialog-body.ceditor-body{overflow-x:hidden}.ceditor-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 14px;display:grid}.ceditor-section{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.ceditor-section-title{color:var(--text-h);font-size:var(--fs-base);letter-spacing:-.005em;margin:0 0 12px;font-weight:600}.ceditor-grid{flex-direction:column;gap:8px;display:flex}.ceditor-grid-row{grid-template-columns:minmax(92px,1.3fr) repeat(7,minmax(34px,1fr)) minmax(40px,1.1fr) minmax(96px,1.2fr);align-items:center;gap:6px;display:grid}.ceditor-grid-head{color:var(--text-p);font-size:var(--fs-xs);font-weight:600}.ceditor-grid-day{text-align:center}.ceditor-grid-day.is-weekend{color:var(--text-h)}.ceditor-grid-day.is-special,.ceditor-grid-input.is-special,.ceditor-grid-check.is-special{box-shadow:-7px 0 0 -6px var(--border-strong);margin-left:6px}.ceditor-grid-day.is-special{color:var(--primary);cursor:help;font-weight:700}.ceditor-grid-label{color:var(--text-h);font-size:var(--fs-sm);font-weight:550}.input.ceditor-grid-input{font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;height:34px;padding:0 2px;font-weight:600}.ceditor-grid-input::-webkit-outer-spin-button{appearance:none;margin:0}.ceditor-grid-input::-webkit-inner-spin-button{appearance:none;margin:0}.input.ceditor-grid-input.is-weekend{background:var(--surface-2)}.input.ceditor-grid-input.is-special{border-color:var(--primary-border);background:var(--primary-background);box-shadow:-7px 0 0 -6px var(--border-strong)}.input.ceditor-grid-input.is-special:focus{border-color:var(--primary);box-shadow:-7px 0 0 -6px var(--border-strong), var(--focus-ring)}.ceditor-grid-check{box-sizing:border-box;border-radius:var(--radius);cursor:pointer;min-width:0;height:32px;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;display:flex}.ceditor-grid-check:hover,.ceditor-grid-check.is-weekend{background:var(--surface-2)}.ceditor-grid-check.is-special{background:var(--primary-background)}.ceditor-grid-check.is-surcharge{border:1.5px solid var(--primary-border);background:var(--primary-background)}.ceditor-grid-check input{cursor:pointer;width:16px;height:16px;margin:0}.ceditor-grid-tie{color:var(--text);font-size:var(--fs-xs);cursor:pointer;align-items:center;gap:6px;line-height:1.3;display:flex}.ceditor-grid-tie input{flex:none;width:15px;height:15px;margin:0}.ceditor-recovery{flex-direction:column;gap:6px;display:flex}.ceditor-recovery-row{grid-template-columns:2.25em minmax(0,1fr) max-content;align-items:center;gap:10px;display:grid}.ceditor-recovery-label{color:var(--text-h);font-size:var(--fs-sm);font-weight:600}.ceditor-track{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.ceditor-recovery-row.is-special{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.ceditor-track.is-offsets{grid-template-columns:repeat(8,minmax(0,1fr))}.ceditor-slot{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text-h);font:inherit;cursor:pointer;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:3px 0;display:flex}.ceditor-slot em{color:var(--text-p);font-size:.6875rem;font-style:normal;line-height:1}.ceditor-slot b{place-items:center;min-height:14px;line-height:1;display:grid}.ceditor-person{width:14px;height:14px;color:var(--primary);stroke-width:2px}button.ceditor-slot:hover{border-color:var(--secondary)}button.ceditor-slot:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.ceditor-slot.is-source{border-color:var(--primary-border);background:var(--primary-background);cursor:default}.ceditor-slot.is-rest{background:var(--surface-2);border-style:dashed}.ceditor-slot.is-rest em{color:var(--secondary)}.ceditor-slot.is-target{border:1.5px solid var(--success);background:var(--success-background)}.ceditor-slot.is-target em{color:var(--success);font-weight:600}.ceditor-recovery-value{min-width:6.5em;color:var(--text-p);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media (width<=640px){.ceditor-fields{grid-template-columns:minmax(0,1fr)}.ceditor-grid-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.ceditor-grid-label,.ceditor-grid-tie{grid-column:1/-1}.ceditor-grid-head .ceditor-grid-label,.ceditor-grid-head .ceditor-grid-tie{display:none}.ceditor-grid-label{margin-top:4px}.ceditor-grid-day.is-special,.input.ceditor-grid-input.is-special,.ceditor-grid-check.is-special{margin-left:4px}.ceditor-recovery-row{grid-template-columns:1fr auto;gap:4px 8px}.ceditor-track{grid-column:1/-1}.ceditor-recovery-value{min-width:0}.ceditor-recovery-row+.ceditor-recovery-row{border-top:1px solid var(--border);padding-top:8px}}.cneeds{min-width:0;margin-top:16px}.cneeds-head{flex-wrap:wrap;gap:8px 16px}.cneeds-scenario{color:var(--text-p);font-size:var(--fs-sm);flex:1;align-items:center;gap:8px;font-weight:600;display:inline-flex}.cneeds-swatch{background:hsl(var(--cday-hue,0) 65% 52%);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.cneeds-scroll{border-top:1px solid var(--border);transition:opacity var(--duration) var(--ease);overflow-x:auto}.cneeds-scroll.is-loading{opacity:.55}.cneeds-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:778px;font-size:var(--fs-sm)}.cneeds-table th,.cneeds-table td{border-bottom:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;padding:0}.cneeds-table .cneeds-col-name{z-index:1;background:var(--surface);width:136px;color:var(--text-h);text-align:left;white-space:nowrap;text-overflow:ellipsis;box-shadow:inset -1px 0 0 var(--border);padding:6px 10px;font-weight:600;position:sticky;left:0;overflow:hidden}.cneeds-table thead .cneeds-col-name{color:var(--text-p);font-size:var(--fs-xs);vertical-align:bottom;font-weight:600}.cneeds-table .cneeds-col-total{width:84px;color:var(--text-p);font-size:var(--fs-xs);white-space:nowrap;box-shadow:inset 1px 0 0 var(--border);padding:4px 6px;font-weight:600}.cneeds-table td.cneeds-col-total{display:table-cell}.cneeds-col-total b{color:var(--text-h);font-size:var(--fs-sm);font-weight:650}.cneeds-col-total em{margin-left:4px;font-style:normal}.cneeds-table .is-week-start{box-shadow:inset 1px 0 0 var(--border-strong)}.cneeds-table .is-weekend{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.cneeds-table .is-rest{background:var(--warning-background)}.cneeds-table .is-custom{background:hsl(var(--cday-hue,0) 70% 50% / .13)}.cneeds-day-head{min-width:0}.cneeds-day{width:100%;color:var(--text-h);font:inherit;cursor:pointer;transition:background var(--duration) var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;padding:5px 0 4px;display:flex}.cneeds-day:hover,.cneeds-day.is-open{background:var(--primary-background)}.cneeds-day:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.cneeds-day em{color:var(--text-p);font-size:.6875rem;font-style:normal}.cneeds-day b{font-size:var(--fs-sm);font-weight:650}.cneeds-tag{max-width:100%;min-height:14px;color:var(--text-p);text-overflow:clip;white-space:nowrap;font-size:.625rem;font-style:normal;font-weight:600;line-height:14px;display:block;overflow:hidden}.cneeds-day-head.is-custom .cneeds-tag{color:hsl(var(--cday-hue,0) 60% 38%)}.cneeds-day-head.is-custom{box-shadow:inset 0 3px 0 hsl(var(--cday-hue,0) 65% 52%)}.cneeds-day-head.is-custom.is-week-start{box-shadow:inset 0 3px 0 hsl(var(--cday-hue,0) 65% 52%), inset 1px 0 0 var(--border-strong)}.cneeds-cell{height:30px;color:var(--text-h);font-weight:600}.cneeds-cell.is-zero{color:var(--border-strong);font-weight:400}.cneeds-cell.is-surcharge{background-image:radial-gradient(circle at center, var(--primary-background-strong) 0 9px, transparent 10px)}.cneeds-table tfoot th,.cneeds-table tfoot td{color:var(--text-p);border-bottom:0}.cneeds-table tbody tr:hover>td,.cneeds-table tbody tr:hover>th{background-color:var(--primary-background)}.cneeds-picker{z-index:60;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);flex-direction:column;padding:6px;display:flex;position:fixed}.cneeds-picker-title{color:var(--text-p);font-size:var(--fs-xs);padding:6px 8px 8px;font-weight:600}.cneeds-picker-title:first-letter{text-transform:uppercase}.cneeds-option{border-radius:var(--radius-sm);min-height:32px;color:var(--text-h);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 8px;display:flex}.cneeds-option:hover,.cneeds-option:focus-visible{background:var(--surface-2);outline:none}.cneeds-option-mark{width:16px;height:16px;color:var(--primary);justify-content:center;align-items:center;display:inline-flex}.cneeds-option-mark svg{width:14px;height:14px}.cneeds-option-meta{color:var(--text-p);font-size:var(--fs-xs);margin-left:auto}.cday-dialog .dialog-body{overflow-x:auto}.cday-table{margin-top:16px}.cday-table th,.cday-table td{vertical-align:middle}.cday-number{width:68px}.cday-check{text-align:center}.cday-check input{width:16px;height:16px}.cday-delete{margin-right:auto}:root[data-theme=dark] .cneeds-day-head.is-custom .cneeds-tag{color:hsl(var(--cday-hue,0) 70% 72%)}@media (width<=1100px){.cneeds-table{font-size:var(--fs-xs);min-width:738px}.cneeds-table .cneeds-col-name{width:104px;padding:4px 6px}.cneeds-table .cneeds-col-total{width:76px}.cneeds-day em{font-size:.5625rem}.cneeds-day b{font-size:var(--fs-xs)}}@media (width<=1000px){.cneeds-table{min-width:516px;font-size:.6875rem}.cneeds-table .cneeds-col-name{width:88px;padding:4px}.cneeds-table .cneeds-col-total{width:56px;padding:2px}.cneeds-col-total b{font-size:.6875rem}.cneeds-col-total em{margin-left:0;display:block}.cneeds-day em,.cneeds-tag{font-size:.5rem}.cneeds-day b{font-size:.6875rem}.cneeds-cell.is-surcharge{background-image:radial-gradient(circle at center, var(--primary-background-strong) 0 6px, transparent 7px)}}.cmanager-workplace{color:var(--text-h);font-weight:600}.cmanager-alert{margin-bottom:16px}.cmanager-note{color:var(--text-p);font-size:var(--fs-base);align-items:center;gap:10px;margin:0;padding:20px;display:flex}.cmanager-columns{grid-template-columns:minmax(240px,300px) minmax(220px,280px) minmax(0,1fr);grid-template-areas:"scenarios customs summary";align-items:start;gap:16px;display:grid}.cmanager-scenarios{grid-area:scenarios}.cmanager-customs{grid-area:customs}.cmanager-summary{grid-area:summary}.cmanager-scenarios,.cmanager-summary{min-width:0}.cmanager-columns>.card>.card-header{box-sizing:border-box;flex-wrap:nowrap;min-height:64px;padding-top:12px;padding-bottom:12px}.cmanager-columns>.card>.card-header .card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cmanager-columns>.card>.card-header>.btn,.cmanager-columns .cmanager-summary-actions{flex:none}.cmanager-columns .cmanager-summary-heading{flex-wrap:nowrap}.cmanager-columns thead th{box-sizing:border-box;vertical-align:middle;height:40px;padding-top:0;padding-bottom:0}.cmanager-table.cmanager-scenario-table td{box-sizing:border-box;height:48px}.cmanager-custom-name{align-items:center;gap:8px;display:inline-flex}.cmanager-custom-table th:not(.cmanager-col-name),.cmanager-custom-table td:not(.cmanager-col-name){text-align:center}.cmanager-table .cmanager-col-radio{text-align:center;width:64px;padding:0}.cmanager-table th.cmanager-col-radio{padding:9px 4px}.cmanager-table .cmanager-col-actions{text-align:right;white-space:nowrap;width:1%}.cmanager-table .cmanager-col-actions .btn+.btn{margin-left:4px}.cmanager-table.cmanager-scenario-table td{padding-top:6px;padding-bottom:6px}.cmanager-scenario-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.cmanager-scenario-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.cmanager-row.is-openable{cursor:pointer;-webkit-user-select:none;user-select:none}.cmanager-scenario-table tr.is-viewed>td{background:var(--primary-background)}.cmanager-scenario-table tr.is-viewed:hover>td{background:var(--primary-background-strong)}.cmanager-scenario-table tr.is-viewed>td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.cmanager-radio{cursor:pointer;justify-content:center;align-items:center;min-height:40px;display:flex}.cmanager-radio input{cursor:pointer;width:18px;height:18px;margin:0}.cmanager-name{color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0;font-weight:550}.cmanager-name:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--primary);outline-offset:2px}.cmanager-table tr.is-selected .cmanager-name{font-weight:650}.cmanager-active-badge{vertical-align:1px;margin-left:8px}.cmanager-rename{max-width:220px}.btn.cmanager-delete{color:var(--secondary)}.btn.cmanager-delete:hover:not(:disabled){background:var(--danger-background);color:var(--danger)}.cmanager-summary-heading{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.cmanager-summary-scroll{overflow-x:auto}.cmanager-summary-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.cmanager-summary-table th{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.03em;text-align:center;text-transform:uppercase;white-space:nowrap;padding:9px 2px;font-weight:600}.cmanager-summary-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:4px 2px}.cmanager-summary-table tbody tr:last-child td{border-bottom:0}.cmanager-summary-table .cmanager-col-name{text-align:left;overflow-wrap:anywhere;width:132px;padding-left:14px}.cmanager-summary-table tbody tr:hover>td{background:var(--surface-2)}.cmanager-summary-table th.is-weekend,.cmanager-summary-table th.is-special{color:var(--primary)}.cmanager-summary-table .is-special{border-left:1px solid var(--border-strong)}.cmanager-summary-table th.is-special{cursor:help}.cmanager-summary-cell.is-weekend,.cmanager-summary-cell.is-special{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}.cmanager-summary-name{align-items:center;gap:4px;display:flex}.cmanager-table .cmanager-empty-row,.cmanager-summary-table .cmanager-empty-row{color:var(--text-p);text-align:center;padding:28px 16px}.cmanager-summary-figures{border-radius:var(--radius);white-space:nowrap;flex-direction:column;align-items:center;min-width:0;padding:5px 0;line-height:1.2;display:flex}.cmanager-summary-cell.is-surcharge .cmanager-summary-figures{background:var(--primary-background);box-shadow:inset 0 0 0 1.5px var(--primary-border)}.cmanager-summary-figures b{color:var(--text-h);font-size:var(--fs-base);font-variant-numeric:tabular-nums;font-weight:650}.cmanager-summary-figures em{color:var(--text-p);font-variant-numeric:tabular-nums;font-size:.6875rem;font-style:normal}.cmanager-summary-figures em+em{color:var(--secondary)}.cmanager-summary-delete{opacity:0;transition:opacity var(--duration) var(--ease)}.cmanager-summary-table tr:hover .cmanager-summary-delete,.cmanager-summary-delete:focus-visible{opacity:1}@media (hover:none){.cmanager-summary-delete{opacity:1}}.cmanager-link{color:var(--text-h);font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;transition:text-decoration-color var(--duration) var(--ease);background:0 0;border:0;padding:2px 0;font-weight:550;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.cmanager-link:hover{color:var(--primary);text-decoration-color:currentColor}.cmanager-link:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--primary);outline-offset:2px}.cmanager-legend{z-index:60;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);max-width:260px;box-shadow:var(--shadow);color:var(--text);font-size:var(--fs-xs);pointer-events:none;flex-direction:column;gap:6px;padding:10px 12px;display:flex;position:fixed}.cmanager-legend-item{white-space:nowrap;align-items:center;gap:8px;display:flex}.cmanager-legend-item b,.cmanager-legend-item em{text-align:center;min-width:22px}.cmanager-legend-item b{color:var(--text-h);font-size:var(--fs-sm)}.cmanager-legend-item b.is-special{color:var(--primary)}.cmanager-legend-item em{color:var(--text-p);font-style:normal}.cmanager-legend-frame{border-radius:var(--radius-xs);background:var(--primary-background);width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--primary-border);margin:0 4px}.cmanager-legend-static{border-top:1px solid var(--border);color:var(--text);font-size:var(--fs-xs);flex-wrap:wrap;gap:8px 16px;padding:12px 16px;display:none}@media (hover:none){.cmanager-legend{display:none}.cmanager-legend-static{display:flex}}.cmanager-detail-head{justify-content:flex-start}.cmanager-detail-title{flex:1;align-items:center;gap:8px;display:flex}.cmanager-scroll{overflow-x:auto}.cmanager-scroll .cmanager-col-name{min-width:160px}.cmanager-desc{color:var(--text-p);font-size:var(--fs-xs);margin-top:2px;display:block}.cmanager-week{gap:4px;display:flex}.cmanager-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;align-items:center;gap:1px;min-width:30px;padding:3px 0 4px;display:flex}.cmanager-day.is-weekend{background:var(--surface-2)}.cmanager-day.is-special{box-shadow:-9px 0 0 -8px var(--border-strong);margin-left:8px}.cmanager-day.is-special em{color:var(--primary);font-weight:700}.cmanager-day.is-surcharge{border-color:var(--primary-border);background:var(--primary-background);box-shadow:inset 0 0 0 .5px var(--primary-border)}.cmanager-day.is-special.is-surcharge{box-shadow:-9px 0 0 -8px var(--border-strong), inset 0 0 0 .5px var(--primary-border)}.cmanager-day em{color:var(--text-p);font-size:.6875rem;font-style:normal}.cmanager-day b{color:var(--text-h);font-size:var(--fs-sm)}@media (width<=1400px){.cmanager-columns{grid-template-columns:minmax(260px,320px) minmax(0,1fr);grid-template-areas:"scenarios summary""customs summary"}}@media (width<=1100px){.cmanager-columns{grid-template-columns:minmax(0,1fr);grid-template-areas:"scenarios""customs""summary"}}@media (width<=560px){.cmanager-summary-table .cmanager-col-name{min-width:110px;padding-left:12px}.cmanager-summary-table th{padding:8px 4px}.cmanager-summary-figures{min-width:0}}.cmanager-summary-heading{animation:.22s ease-out cmanager-heading-in}.cmanager-summary-heading .card-title{font-size:1.05rem}.cmanager-summary-actions{flex-wrap:wrap;gap:8px;display:flex}.cmanager-summary-scroll.is-loading{opacity:.45;pointer-events:none;transition:opacity .12s}.cmanager-scenario-table tr.is-viewed .cmanager-name{color:var(--primary)}@keyframes cmanager-heading-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cmanager-summary-heading{animation:none}}.cmanager-summary-scroll{background:linear-gradient(to right, var(--surface) 30%, transparent) left center / 24px 100% no-repeat local, linear-gradient(to left, var(--surface) 30%, transparent) right center / 24px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #00000038, transparent) left center / 10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #00000038, transparent) right center / 10px 100% no-repeat scroll;scrollbar-width:thin}.cmanager-summary-table .cmanager-col-name{z-index:1;background:var(--surface);position:sticky;left:0}.cmanager-summary-table th.cmanager-col-name,.cmanager-summary-table tbody tr:hover>td.cmanager-col-name{background:var(--surface-2)}.cmanager-summary-table .cmanager-col-name{box-shadow:1px 0 0 var(--border)}@media (width<=640px){.cmanager-summary-table .cmanager-col-name{min-width:112px;padding-left:12px}}.cmanager-custom-table th{white-space:normal;line-height:1.15}.cmanager-custom-table td{box-sizing:border-box;height:48px}.sdays-head-name{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.sdays-alert{margin-bottom:16px}.sdays-note{color:var(--text-p);font-size:var(--fs-sm);padding:16px 20px 18px}.sdays-legend{color:var(--text);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:16px;display:flex}.sdays-key{align-items:center;gap:8px;display:inline-flex}.sdays-swatch{border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);box-sizing:border-box;flex-shrink:0;width:14px;height:14px;position:relative}.sdays-year-grid{transition:opacity var(--duration) var(--ease);grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:16px;display:grid}.sdays-year-grid.is-loading{opacity:.45;pointer-events:none}.sdays-month{padding:14px 14px 12px}.sdays-month-head{justify-content:space-between;align-items:center;gap:8px;min-height:22px;margin-bottom:10px;display:flex}.sdays-month h2{color:var(--text-h);font-size:var(--fs-base);letter-spacing:-.005em;margin:0;font-weight:600}.sdays-month-count{border-radius:var(--radius-full);background:var(--primary-background);min-width:20px;color:var(--primary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box;padding:2px 7px;font-weight:650}.sdays-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.sdays-weekday{color:var(--secondary);letter-spacing:.03em;text-align:center;text-transform:uppercase;padding-bottom:4px;font-size:.6875rem;font-weight:600}.sdays-weekday.is-weekend{color:var(--text-p)}.sdays-blank{aspect-ratio:1}.sdays-day{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;min-height:24px;color:var(--text-h);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.sdays-day:hover:not(:disabled):not(.is-static){background:var(--primary-background-strong)}.sdays-day:focus-visible{box-shadow:var(--focus-ring);outline:none}.sdays-day:disabled{opacity:.4;cursor:default}.sdays-day.is-static{cursor:default}.sdays-day.is-weekend{background:var(--surface-2);color:var(--text)}.sdays-day.is-rest,.sdays-swatch.is-rest{border-color:var(--primary);background:var(--primary);color:var(--on-primary);font-weight:650}.sdays-day.is-rest:hover:not(:disabled):not(.is-static){background:var(--primary-hover)}.sdays-day.is-state-workday,.sdays-swatch.is-state-workday{border-color:var(--primary-border);box-shadow:inset 0 0 0 1px var(--primary-border);color:var(--primary);font-weight:600}.sdays-day.is-own:before,.sdays-swatch.is-own:before{content:"";background:var(--text-h);border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:3px}.sdays-swatch.is-own:before{width:3px;height:3px;top:2px;right:2px}.sdays-day.is-rest.is-own:before,.sdays-swatch.is-rest.is-own:before{background:var(--on-primary)}.sdays-day.is-today:after{content:"";background:currentColor;border-radius:2px;width:12px;height:2px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.sdays-own{margin-top:20px}.sdays-copy{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sdays-copy-label{color:var(--text-p);font-size:var(--fs-sm)}.sdays-select.select{width:auto;max-width:220px}.sdays-own-list{margin:0;padding:4px 0;list-style:none}.sdays-own-list li{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 20px;display:flex}.sdays-own-list li+li{border-top:1px solid var(--border)}.sdays-own-day{min-width:6.5em;color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:600}.sdays-own-name{min-width:0;color:var(--text-p);text-overflow:ellipsis;white-space:nowrap;flex:1;font-style:normal;overflow:hidden}.sdays-reset{flex:none;margin-left:auto}@media (width<=640px){.sdays-copy{width:100%}.sdays-select.select{flex:1;max-width:none}.sdays-year-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.sdays-month{padding:10px 8px 8px}.sdays-month-grid{gap:2px}.sdays-day{font-size:var(--fs-xs)}.sdays-weekday{letter-spacing:0;font-size:.625rem}.sdays-legend{font-size:var(--fs-xs);gap:8px 14px}.sdays-own-list li{padding:10px 16px}}.cons-head-name{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.cons-alert{margin-bottom:16px}.cons-groups{max-width:920px;transition:opacity var(--duration) var(--ease);gap:16px;display:grid}.cons-groups.is-loading{opacity:.45;pointer-events:none}.cons-list{margin:0;padding:0;list-style:none}.cons-row{box-sizing:border-box;border-bottom:1px solid var(--border);min-height:52px;transition:background-color var(--duration) var(--ease);grid-template-columns:minmax(0,1fr) 232px 148px 32px;align-items:center;gap:10px 16px;padding:8px 16px 8px 20px;display:grid}.cons-row:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-bottom:none}.cons-row:hover{background:var(--surface-2)}.cons-row.is-changed{box-shadow:inset 3px 0 0 var(--primary);background:var(--primary-background)}.cons-name{color:var(--text-h);font-size:var(--fs-sm);font-weight:600;line-height:1.35}.cons-mode{align-items:center;display:flex}.cons-toggle{width:100%}.cons-toggle>button{flex:1}.cons-badge{height:26px;color:var(--text-p);padding:0 10px}.cons-badge.is-strict{background:var(--surface-3);color:var(--text-h)}.cons-weight{justify-content:flex-end;align-items:center;gap:8px;display:flex}.cons-weight-label{color:var(--text-p);font-size:var(--fs-xs);letter-spacing:.03em;text-transform:uppercase;font-weight:600}.cons-weight-input{text-align:right;font-variant-numeric:tabular-nums;width:92px}.cons-row.is-strict .cons-weight{opacity:.5}.cons-reset{justify-content:flex-end;display:flex}@media (width<=720px){.cons-row{grid-template-columns:minmax(0,1fr) auto 32px;grid-template-areas:"name name name""mode weight reset";padding:12px 14px 12px 16px}.cons-name{grid-area:name}.cons-mode{grid-area:mode}.cons-weight{grid-area:weight}.cons-reset{grid-area:reset}.cons-toggle{width:auto}}@media (width<=420px){.cons-weight-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cons-weight-input{width:76px}.cons-toggle>button{padding:0 9px}}.cons .page-header,.cons .cons-alert{max-width:920px}.smail{max-width:1080px}.smail-alert{margin-bottom:16px}.smail-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.smail-recipients{overflow:hidden}.smail-groups{margin:0;padding:6px;list-style:none}.smail-group+.smail-group{border-top:1px solid var(--border)}.smail-group-head{border-radius:var(--radius);min-height:44px;transition:background-color var(--duration) var(--ease);align-items:center;gap:8px;padding:0 4px 0 10px;display:flex}.smail-group-head:hover,.smail-member:hover{background:var(--surface-2)}.smail-check{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.smail-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.smail-check input:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-xs);outline:none}.smail-check input:disabled{cursor:not-allowed}.smail-group-name{color:var(--text-h);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.smail-group-count{color:var(--text-p);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex-shrink:0}.smail-group-toggle svg{transition:transform var(--duration) var(--ease)}.smail-group-toggle svg.is-open{transform:rotate(180deg)}.smail-members{margin:0 0 6px;padding:0 0 0 26px;list-style:none}.smail-member{border-radius:var(--radius-sm);transition:background-color var(--duration) var(--ease);padding:6px 10px}.smail-member-text{flex-direction:column;min-width:0;display:flex}.smail-member-name,.smail-member-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.smail-member-name{color:var(--text-h);font-size:var(--fs-sm)}.smail-member-email{color:var(--text-p);font-size:var(--fs-xs)}.empty-state.smail-empty{padding:32px 20px}.card-pad.smail-fields{flex-direction:column;gap:16px;display:flex}.textarea.smail-textarea{min-height:220px;line-height:1.55}.smail-footer{border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface-2);align-items:center;gap:12px 16px;padding:14px 20px;display:flex}.smail-summary{-webkit-line-clamp:2;line-clamp:2;min-width:0;color:var(--text-p);font-size:var(--fs-sm);-webkit-box-orient:vertical;flex:1;line-height:1.45;display:-webkit-box;overflow:hidden}.btn.smail-send{flex-shrink:0}.spinner.smail-send-spinner{border-color:color-mix(in srgb, var(--on-primary) 35%, transparent);border-top-color:var(--on-primary);width:14px;height:14px}@media (width>=901px){.smail-message{top:calc(var(--header-h) + 20px);position:sticky}}@media (width<=900px){.smail-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.smail-footer{flex-direction:column;align-items:stretch;padding:14px 16px}.card-pad.smail-fields{padding:16px}}.avail-window{margin-bottom:16px}.avail-window .card-header{flex-wrap:wrap;gap:10px}.avail-window-alert{margin-bottom:16px}.avail-window-body{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.avail-window-facts{flex-wrap:wrap;gap:8px 24px;margin:0;display:flex}.avail-window-facts dt{color:var(--text-p);font-size:12px}.avail-window-facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0}.avail-window-days{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.avail-window-days .field{width:130px;margin:0}.avail-window-body .field-error,.avail-window-body .alert{flex-basis:100%;margin:0}.gset{--gs-business-trip:#c026d3;max-width:1180px}:root[data-theme=dark] .gset{--gs-business-trip:#d946ef}.gset .is-preferred{--gs:var(--success-solid)}.gset .is-soft-decline{--gs:var(--warning-solid)}.gset .is-unavailable{--gs:var(--danger-solid)}.gset .is-vacation{--gs:var(--info-solid)}.gset .is-business-trip{--gs:var(--gs-business-trip)}.gset-dot{border-radius:var(--radius-full);background:var(--gs);flex:none;width:9px;height:9px;margin-right:6px;display:inline-block}.gset-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.gset-top>.avail-window{margin-bottom:0}@media (width<=900px){.gset-top{grid-template-columns:minmax(0,1fr)}}.gset-limits-body{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.gset-limits-body .gset-limit{width:130px;margin:0}.gset-limit .field-label{align-items:center;display:inline-flex}.gset-limits-body .gset-limits-error{flex-basis:100%;margin:0}.gset-calendar .gset-calendar-header{flex-wrap:wrap;gap:10px}.gset-stepper{margin-left:auto}.gset-legend{font-size:var(--fs-sm);color:var(--text-p);flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;padding:0;list-style:none;display:flex}.gset-legend li{align-items:center;display:inline-flex}.gset-grid{flex-direction:column;gap:6px;display:flex}.gset-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.gset-weekday{font-size:var(--fs-xs);color:var(--text-p);text-align:center;font-weight:600}.gset-cell{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:82px;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);flex-direction:column;align-items:stretch;gap:6px;padding:6px 8px;display:flex}.gset-cell:hover{border-color:var(--border-strong);background:var(--surface-2)}.gset-cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.gset-cell.is-blank{cursor:default;background:0 0;border-color:#0000}.gset-cell.is-weekend:not(.is-blank){background:var(--surface-2)}.gset-cell.is-today .gset-day{color:var(--primary)}.gset-cell.is-full{border-color:var(--danger-solid)}.gset-day{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.gset-counts{flex-wrap:wrap;gap:4px;display:flex}.gset-count{border-radius:var(--radius-full);background:color-mix(in srgb, var(--gs) 16%, transparent);border:1px solid color-mix(in srgb, var(--gs) 45%, transparent);color:var(--text-h);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;align-items:baseline;padding:1px 7px;font-weight:600;display:inline-flex}.gset-count.is-over{background:var(--gs);color:#fff}.gset-of{opacity:.8;font-weight:400}@media (width<=640px){.gset-cell{min-height:60px;padding:4px}.gset-row{gap:3px}.gset-count{padding:0 4px}.gset-of{display:none}}.gset-dialog .dialog-body{flex-direction:column;gap:18px;display:flex}.gset-group-title{font-size:var(--fs-base);color:var(--text-h);align-items:center;gap:4px;margin:0 0 8px;font-weight:600;display:flex}.gset-group-title .badge{margin-left:6px}.gset-table{width:100%}.gset-table .gset-order{font-variant-numeric:tabular-nums;width:36px}.gset-table .gset-moment{white-space:nowrap;font-variant-numeric:tabular-nums}.gset-table tr.is-over td{color:var(--danger)}.gset-muted{color:var(--text-p)}.admin-alert{margin-bottom:16px}.admin-card{transition:opacity var(--duration) var(--ease);overflow:hidden}.admin-card.is-loading{opacity:.6;pointer-events:none}.admin-table-scroll{overflow-x:auto}.admin-table th,.admin-table td{padding-left:16px;padding-right:16px}.admin-table td{font-size:var(--fs-base)}.admin-name{white-space:nowrap;font-weight:600}.admin-desc{max-width:420px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-muted{color:var(--secondary)}.admin-table th.admin-col-actions,.admin-table td.admin-col-actions{text-align:right;white-space:nowrap;width:1%}.admin-sort{border-radius:var(--radius-xs);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:-4px -6px;padding:4px 6px;display:inline-flex}.admin-sort:hover,.admin-sort.is-active{color:var(--text-h)}.admin-sort:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-sort-icon{opacity:0;width:14px;height:14px;transition:transform var(--duration) var(--ease), opacity var(--duration) var(--ease)}.admin-sort:hover .admin-sort-icon{opacity:.5}.admin-sort.is-active .admin-sort-icon{opacity:1}.admin-sort-icon.is-asc{transform:rotate(180deg)}.admin-dialog-body{flex-direction:column;gap:16px;display:flex}.admin-hint-warn{color:var(--warning)}.admin-checkbox{color:var(--text-h);font-size:var(--fs-base);cursor:pointer;align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.admin-checkbox input{width:16px;height:16px;margin:0}.admin-delete{margin-right:auto}.admin-autocomplete{width:100%;position:relative}.admin-autocomplete-control{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);box-sizing:border-box;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);align-items:center;gap:4px;padding-right:4px;display:flex}.admin-autocomplete-control:hover:not(:focus-within){border-color:var(--secondary)}.admin-autocomplete-control:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.admin-autocomplete-input{min-width:0;height:100%;color:var(--text-h);font:inherit;font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1;padding:0 11px}.admin-autocomplete-clear{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.admin-autocomplete-clear:hover{background:var(--surface-2);color:var(--text-h)}.admin-autocomplete-clear svg{width:16px;height:16px}.admin-autocomplete-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:240px;box-shadow:var(--shadow);margin:4px 0 0;padding:4px;list-style:none;overflow-y:auto}.admin-autocomplete-option{border-radius:var(--radius-sm);width:100%;color:var(--text-h);font:inherit;font-size:var(--fs-base);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;display:flex}.admin-autocomplete-option.is-active{background:var(--surface-2)}.admin-autocomplete-option.is-picked .admin-autocomplete-name{color:var(--primary);font-weight:600}.admin-autocomplete-mail{color:var(--text-p);font-size:var(--fs-xs)}.admin-autocomplete-empty{color:var(--text-p);font-size:var(--fs-sm);padding:10px}@media (width<=900px){.admin-table .admin-col-description{display:none}}@media (width<=560px){.admin-table .admin-col-urgent{display:none}.admin-table th,.admin-table td{padding-left:12px;padding-right:12px}}.overview-alert{margin-bottom:16px}.overview-card{transition:opacity var(--duration) var(--ease);overflow:hidden}.overview-card.is-loading{opacity:.6;pointer-events:none}.overview-summary{color:var(--text-p);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.overview-scroll{overflow-x:auto}.overview-table th,.overview-table td{padding-left:16px;padding-right:16px}.overview-table td{font-size:var(--fs-base)}.overview-table tbody th{border-bottom:1px solid var(--border);color:var(--text-h);font-size:var(--fs-base);letter-spacing:0;text-transform:none;background:0 0;font-weight:600;position:static}.overview-table tbody tr:last-child th{border-bottom:none}.overview-table tbody tr:hover th{background:var(--surface-2)}.overview-none{color:var(--secondary)}.overview-table .overview-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.overview-table th.overview-actions-head,.overview-table td.overview-actions-cell{text-align:right;width:1%}.overview-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=640px){.overview-table,.overview-table tbody,.overview-table tr,.overview-table th,.overview-table td{display:block}.overview-table thead,.overview-table .overview-col-manager{display:none}.overview-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 16px;display:grid}.overview-table tbody tr:last-child{border-bottom:none}.overview-table tbody th,.overview-table tbody td{border-bottom:none;padding:0}.overview-table tbody tr:hover th,.overview-table tbody tr:hover td{background:0 0}.overview-table .overview-status{justify-self:end}.overview-table td.overview-num{color:var(--text-p);font-size:var(--fs-sm);text-align:left}.overview-table td.overview-num:before{content:attr(data-label) ": "}.overview-table td.overview-actions-cell{width:auto}}.stats-alert{margin-bottom:16px}.stats-body{min-width:0;transition:opacity var(--duration) var(--ease);flex-direction:column;gap:16px;display:flex}.stats-body.is-loading{opacity:.6;pointer-events:none}.stats-scope{min-width:0;display:inline-flex}.stats-scope-select.select{width:auto;max-width:240px}.stats-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stats-kpi{min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stats-kpi-label{color:var(--text-p);font-size:var(--fs-sm);font-weight:550}.stats-kpi-value{color:var(--text-h);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:650;line-height:1.1}.stats-kpi-of{color:var(--secondary);font-size:var(--fs-lg);font-weight:550}.stats-card{min-width:0;overflow:hidden}.stats-card-empty{color:var(--text-p);font-size:var(--fs-sm);padding:20px}.stats-chart{align-items:flex-end;gap:8px;height:200px;padding:18px 20px 16px;display:flex}.stats-chart-col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.stats-chart-value{min-height:1em;color:var(--text-p);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.stats-chart-track{border-bottom:1px solid var(--border);flex:1;align-items:flex-end;width:100%;min-height:0;display:flex}.stats-chart-bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--primary-background-strong);align-items:flex-end;width:100%;display:flex;overflow:hidden}.stats-chart-worked{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--primary);width:100%;transition:height var(--duration) var(--ease), background-color var(--duration) var(--ease)}.stats-chart-col:hover .stats-chart-worked{background:var(--primary-hover)}.stats-chart-col:hover .stats-chart-value{color:var(--text-h)}.stats-chart-label{max-width:100%;color:var(--text-p);font-size:var(--fs-xs);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;overflow:hidden}.stats-legend{color:var(--text-p);font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 16px;display:flex}.stats-legend-item{align-items:center;gap:7px;display:inline-flex}.stats-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.stats-swatch.is-worked{background:var(--primary)}.stats-swatch.is-planned{background:var(--primary-background-strong);box-shadow:inset 0 0 0 1px var(--primary-border)}.stats-scroll{min-width:0;overflow-x:auto}.stats-table th,.stats-table td{padding-left:20px;padding-right:20px}.stats-table td{font-size:var(--fs-base)}.stats-table tbody th{border-bottom:1px solid var(--border);color:var(--text-h);font-size:var(--fs-base);letter-spacing:0;text-transform:none;background:0 0;font-weight:600;position:static}.stats-table tbody tr:last-child th{border-bottom:none}.stats-table tbody tr:hover th{background:var(--surface-2)}.stats-table tbody tr.is-idle th,.stats-table tbody tr.is-idle .stats-num{color:var(--secondary)}.stats-table .stats-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.stats-table th.stats-load,.stats-table td.stats-load{width:28%;min-width:110px}.stats-load-track{border-radius:var(--radius-full);background:var(--surface-3);height:6px;overflow:hidden}.stats-load-bar{border-radius:var(--radius-full);background:var(--primary);height:100%;transition:width .3s var(--ease)}@media (width<=720px){.stats-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stats-kpi{padding:14px 16px}.stats-kpi-value{font-size:var(--fs-xl)}.stats-chart{gap:3px;height:170px;padding:14px 12px 12px}.stats-chart-value{font-size:.625rem}.stats-table th,.stats-table td{padding-left:14px;padding-right:14px}}.role-management-search{flex:0 320px;min-width:220px}.role-management-message{margin-bottom:16px}.role-management-list{margin:0;padding:0;list-style:none;overflow:hidden}.role-management-row{grid-template-columns:minmax(200px,1fr) auto 88px;align-items:center;gap:12px 20px;padding:12px 16px;display:grid}.role-management-row+.role-management-row{border-top:1px solid var(--border)}.role-management-row:hover{background:color-mix(in srgb, var(--surface-2) 55%, var(--surface))}.role-management-person{align-items:center;gap:12px;min-width:0;display:flex}.role-management-avatar{background:var(--primary-background);width:36px;height:36px;color:var(--primary);font-size:var(--fs-xs);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:650;display:grid}.role-management-identity{flex-direction:column;min-width:0;display:flex}.role-management-identity strong,.role-management-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-management-identity strong{color:var(--text-h);font-size:var(--fs-base);font-weight:600}.role-management-identity small{color:var(--text-p);font-size:var(--fs-xs)}.role-management-options{gap:6px;display:flex}.role-management-option{height:var(--control-h-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);align-items:center;gap:7px;padding:0 10px;display:inline-flex}.role-management-option:hover{border-color:var(--secondary)}.role-management-option:has(input:checked){border-color:var(--primary-border);background:var(--primary-background);color:var(--text-h)}.role-management-option:has(input:focus-visible){box-shadow:var(--focus-ring)}.role-management-option:has(input:disabled){cursor:not-allowed;opacity:.6}.role-management-option input{margin:0}.role-management-role-number{color:var(--primary);font-variant-numeric:tabular-nums;font-weight:700}.role-management-save{justify-self:end}.role-management-save.is-idle{visibility:hidden}@media (width<=1100px){.role-management-row{grid-template-columns:minmax(0,1fr) 88px}.role-management-options{grid-area:2/1/auto/-1;padding-left:48px}}@media (width<=600px){.role-management-search{flex-basis:100%}.role-management-row{padding:12px}.role-management-options{flex-wrap:wrap;padding-left:0}.role-management-option{flex:auto}}.quick-jump-overlay{background:var(--overlay);z-index:1000;justify-content:center;align-items:flex-start;padding:min(12vh,96px) 16px 16px;animation:.12s ease-out ui-fade-in;display:flex;position:fixed;inset:0}.quick-jump{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;max-width:520px;box-shadow:var(--shadow-lg);text-align:left;animation:ui-pop-in .16s var(--ease);overflow:hidden}.quick-jump-field{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.quick-jump-icon{width:18px;height:18px;color:var(--secondary);flex-shrink:0}.quick-jump-field input{min-width:0;font:inherit;font-size:var(--fs-md);color:var(--text-h);background:0 0;border:none;outline:none;flex:1}.quick-jump-kbd{font-family:var(--mono);color:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2);flex-shrink:0;padding:3px 6px;font-size:.6875rem;line-height:1}.quick-jump-list{max-height:46vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.quick-jump-item{width:100%;font:inherit;font-size:var(--fs-base);color:var(--text);text-align:left;border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration) var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;display:flex}.quick-jump-item:hover{background:var(--surface-2)}.quick-jump-item.is-cursor,.quick-jump-item.is-cursor:hover{background:var(--primary-background);color:var(--text-h)}.quick-jump-item .nav-icon{width:18px;height:18px;color:var(--secondary);flex-shrink:0}.quick-jump-item.is-cursor .nav-icon{color:var(--primary)}.quick-jump-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-jump-section{text-transform:uppercase;letter-spacing:.06em;color:var(--secondary);white-space:nowrap;margin-left:auto;padding-left:10px;font-size:.6875rem;font-weight:500}.quick-jump-empty{font-size:var(--fs-base);color:var(--text-p);text-align:center;margin:0;padding:22px 16px 24px}.settings-dialog .dialog-body{padding-bottom:20px}.settings-group+.settings-group{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.settings-group-title{font-size:var(--fs-sm);color:var(--text-h);margin:0 0 8px;font-weight:600}.settings-options{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;display:grid}.settings-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--fs-sm);color:var(--text);cursor:pointer;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);flex-direction:column;align-items:center;gap:6px;padding:12px 8px;display:flex}.settings-option:hover{border-color:var(--border-strong);background:var(--surface-2)}.settings-option:active{background:var(--surface-3)}.settings-option.is-selected:hover{border-color:var(--primary);background:var(--primary-background-strong)}.settings-option:focus-visible{box-shadow:var(--focus-ring);outline:none}.settings-option.is-selected{border-color:var(--primary);background:var(--primary-background);color:var(--text-h);box-shadow:inset 0 0 0 1px var(--primary);font-weight:600}.settings-option.is-selected .settings-option-icon,.settings-option.is-selected .settings-option-badge{color:var(--primary)}.settings-option-icon{width:20px;height:20px;color:var(--secondary)}.settings-option-badge{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--secondary);font-weight:700;line-height:20px}.settings-option-label{text-align:center;overflow-wrap:anywhere;line-height:1.2}.workplace-switcher{justify-self:center;min-width:0;max-width:100%;position:relative}.workplace-switcher.is-static,.workplace-switcher-trigger{min-width:0;max-width:100%;height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-h);font:inherit;font-size:var(--fs-base);box-shadow:var(--shadow-xs);box-sizing:border-box;align-items:center;gap:9px;padding:0 10px 0 5px;display:flex}.workplace-switcher.is-static{box-shadow:none;background:0 0;border-color:#0000}.workplace-switcher-trigger{cursor:pointer;transition:box-shadow var(--duration) var(--ease), background-color var(--duration) var(--ease), border-color var(--duration) var(--ease)}.workplace-switcher-trigger:hover{background:var(--surface-2)}.workplace-switcher-trigger[aria-expanded=true]{border-color:var(--primary);box-shadow:var(--focus-ring)}.workplace-switcher-trigger:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.workplace-switcher-badge{background:var(--primary);width:26px;height:26px;color:var(--on-primary);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.workplace-switcher-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-h);font-weight:600;overflow:hidden}.workplace-switcher-caret{width:16px;height:16px;color:var(--secondary);transition:transform var(--duration) var(--ease);flex:none}.workplace-switcher-caret.is-open{transform:rotate(180deg)}.workplace-switcher-status{color:var(--text-p);font-size:var(--fs-sm);justify-self:center}.workplace-switcher-menu{z-index:40;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:max-content;min-width:max(100%,260px);max-width:min(360px,100vw - 24px);box-shadow:var(--shadow);box-sizing:border-box;padding:6px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.workplace-switcher-filter{box-sizing:border-box;width:100%;height:var(--control-h-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);font:inherit;font-size:var(--fs-sm);margin-bottom:6px;padding:0 10px}.workplace-switcher-filter:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.workplace-switcher-list{flex-direction:column;gap:2px;max-height:min(320px,60vh);display:flex;overflow-y:auto}.workplace-switcher-group+.workplace-switcher-group{margin-top:6px}.workplace-switcher-group-title{color:var(--secondary);letter-spacing:.07em;text-transform:uppercase;margin:0 0 2px;padding:4px 8px 2px;font-size:.6875rem;font-weight:600}.workplace-switcher-option{box-sizing:border-box;border-radius:var(--radius);width:100%;min-width:0;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration) var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:7px 8px;display:flex}.workplace-switcher-option:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.workplace-switcher-option:hover{background:var(--surface-2)}.workplace-switcher-option.is-selected{background:var(--primary-background)}.workplace-switcher-option .workplace-switcher-badge{background:var(--primary-background);color:var(--primary)}.workplace-switcher-option.is-selected .workplace-switcher-badge{background:var(--primary);color:var(--on-primary)}.workplace-switcher-option-text{flex-direction:column;min-width:0;display:flex}.workplace-switcher-option-name{white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-base);font-weight:600;overflow:hidden}.workplace-switcher-option-desc{white-space:nowrap;text-overflow:ellipsis;color:var(--text-p);font-size:var(--fs-xs);overflow:hidden}.workplace-switcher-empty{color:var(--text-p);font-size:var(--fs-sm);margin:0;padding:10px 8px}.workplace-switcher.is-sidebar{justify-self:stretch;width:100%}.workplace-switcher.is-sidebar.is-static,.workplace-switcher.is-sidebar .workplace-switcher-trigger{border-radius:var(--radius);width:100%;height:40px;padding:0 8px 0 6px}.workplace-switcher.is-sidebar .workplace-switcher-badge{border-radius:var(--radius-sm)}.workplace-switcher.is-sidebar .workplace-switcher-name{text-align:left;flex:1}.workplace-switcher.is-rail.is-static,.workplace-switcher.is-rail .workplace-switcher-trigger{box-shadow:none;background:0 0;border-color:#0000;justify-content:center;padding:0}.workplace-switcher.is-rail .workplace-switcher-trigger:hover{background:var(--surface-2)}.workplace-switcher.is-rail .workplace-switcher-trigger[aria-expanded=true],.workplace-switcher.is-rail .workplace-switcher-trigger:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}.workplace-switcher.is-rail .workplace-switcher-name,.workplace-switcher.is-rail .workplace-switcher-caret{display:none}.workplace-switcher-skeleton{border-radius:var(--radius);width:100%;height:40px;display:block}.workplace-switcher-menu.is-floating{z-index:200;min-width:260px;animation:ui-pop-in .14s var(--ease);position:fixed;transform:none}.sidebar{--nav-hover:var(--surface-2);--nav-menu-bg:var(--surface);background:var(--surface);border-right:1px solid var(--border);box-sizing:border-box;text-align:left;width:56px;transition:width .22s var(--ease);z-index:20;flex-direction:column;flex-shrink:0;align-self:flex-start;height:100svh;padding:10px 8px;display:flex;position:sticky;top:0;overflow:hidden}:root[data-theme=dark] .sidebar{--nav-menu-bg:var(--surface-2)}.sidebar.is-open{width:260px}.sidebar-head{flex-shrink:0;align-items:center;gap:10px;min-height:40px;margin-bottom:10px;padding:0 0 0 6px;display:flex}.sidebar.is-rail .sidebar-head{flex-direction:column;gap:6px;padding:6px 0 0}.sidebar-collapse{border-radius:var(--radius);width:32px;height:32px;color:var(--secondary);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;flex-shrink:0;place-items:center;margin-left:auto;padding:0;display:grid}.sidebar.is-rail .sidebar-collapse{width:40px;height:36px;margin-left:0}.sidebar-collapse:hover{background:var(--nav-hover);color:var(--text-h)}.sidebar-collapse:active{background:var(--surface-3)}.sidebar-collapse:hover .nav-icon{color:var(--text-h)}.sidebar-collapse:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.sidebar-workplace{flex-shrink:0;min-width:0;margin-bottom:10px}.sidebar-workplace:empty{display:none}.sidebar-workplace .workplace-switcher-status{padding:0 6px;display:block}.logo-img{object-fit:contain;border-radius:var(--radius-sm);width:28px;height:28px;box-shadow:0 0 0 1px var(--border);background:#fff;flex-shrink:0}.logo-title{font-size:var(--fs-md);color:var(--text-h);white-space:nowrap;letter-spacing:-.02em;font-weight:650}.sidebar-nav{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden auto}.sidebar.is-rail .sidebar-nav{scrollbar-width:none}.sidebar.is-rail .sidebar-nav::-webkit-scrollbar{width:0;height:0}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.nav-section{flex-direction:column;gap:2px;display:flex;position:relative}.nav-section+.nav-section{margin-top:10px}.sidebar.is-rail .nav-section+.nav-section{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.nav-section-title{white-space:nowrap;padding:6px 10px 4px}.nav-section-title .label{text-transform:uppercase;letter-spacing:.07em;color:var(--secondary);font-size:.6875rem;font-weight:600}.nav-section-items{flex-direction:column;gap:2px;display:flex}.nav-section-toggle{box-sizing:border-box;border-radius:var(--radius);width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.nav-section-toggle:hover .label,.nav-section-toggle:hover .nav-section-chevron{color:var(--text-h)}.nav-section-toggle.is-current .label,.nav-section-toggle.is-current .nav-section-chevron{color:var(--primary)}.nav-section-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-section-chevron{width:14px;height:14px;color:var(--secondary);transition:transform var(--duration) var(--ease), color var(--duration) var(--ease);flex-shrink:0}.nav-section-chevron.is-collapsed{transform:rotate(-90deg)}.nav-item{border-radius:var(--radius);min-height:36px;font:inherit;font-size:var(--fs-base);color:var(--text);white-space:nowrap;box-sizing:border-box;text-align:left;cursor:pointer;width:100%;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-weight:500;line-height:1.25;text-decoration:none;display:flex;position:relative}.nav-icon{width:18px;height:18px;color:var(--secondary);transition:color var(--duration) var(--ease);flex-shrink:0;display:block}.nav-item .label{text-overflow:ellipsis;overflow:hidden}.nav-item:hover{background:var(--nav-hover);color:var(--text-h)}.nav-item:active{background:var(--surface-3)}.nav-item:hover .nav-icon{color:var(--text-h)}.nav-item.active,.nav-item.is-current{background:var(--primary-background);color:var(--text-h);font-weight:600}.nav-item.active .nav-icon,.nav-item.is-current .nav-icon{color:var(--primary)}.nav-item.active:hover,.nav-item.is-current:hover{background:var(--primary-background-strong)}.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.label{display:none}.sidebar:not(.is-rail) .label{display:inline}.sidebar.is-rail .nav-item{justify-content:center;padding:10px 0}.sidebar.is-rail .nav-section-title{height:0;padding:0;overflow:hidden}.nav-search{border:1px solid var(--border);background:var(--surface-2);color:var(--secondary);margin-bottom:6px;font-weight:450}.nav-search:hover{border-color:var(--border-strong);background:var(--surface-2)}.sidebar.is-rail .nav-search{background:0 0;border-color:#0000}.nav-kbd{font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:var(--secondary);flex-shrink:0;margin-left:auto;padding:3px 5px;font-size:.6875rem;line-height:1}.sidebar:not(.is-rail) .nav-kbd{display:inline-block}.nav-flyout{z-index:120;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--nav-menu-bg);width:244px;max-height:calc(100svh - 16px);box-shadow:var(--shadow);animation:ui-pop-in .14s var(--ease);flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed;overflow-y:auto}.nav-flyout-title,.nav-menu-title{text-transform:uppercase;letter-spacing:.07em;color:var(--secondary);margin:0;padding:6px 10px 4px;font-size:.6875rem;font-weight:600}.nav-flyout .nav-item{font-size:var(--fs-base);justify-content:flex-start;padding:8px 10px}.flyout-label{text-overflow:ellipsis;overflow:hidden}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;margin-top:auto;padding-top:8px;display:flex}.user-block{position:relative}.avatar{background:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #ec4899));width:28px;height:28px;color:var(--on-primary);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;margin:-5px -4px;font-size:.6875rem;font-weight:650;display:grid}.sidebar:not(.is-rail) .avatar{margin:-4px 0}.user-meta{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:none;overflow:hidden}.sidebar:not(.is-rail) .user-meta{display:flex}.user-meta b{font-size:var(--fs-sm);color:var(--text-h);text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-meta em{font-style:normal;font-weight:400;font-size:var(--fs-xs);color:var(--secondary);text-overflow:ellipsis;overflow:hidden}.user-more{width:16px;height:16px}.sidebar:not(.is-rail) .user-more{display:block}.nav-menu{flex-direction:column;gap:2px;display:flex}.user-menu-inline{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--nav-menu-bg);box-shadow:var(--shadow);animation:ui-pop-in .14s var(--ease);margin-bottom:6px;padding:6px}.nav-menu-item{width:100%;font:inherit;font-size:var(--fs-base);color:var(--text-h);text-align:left;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration) var(--ease);background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;display:flex}.nav-menu-item:hover{background:var(--nav-hover)}.nav-menu-item:active{background:var(--surface-3)}.nav-menu-item.is-danger:hover{background:var(--danger-background)}.nav-menu-item.is-danger,.nav-menu-item.is-danger .nav-icon{color:var(--danger)}.nav-menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-menu-item .nav-icon{width:17px;height:17px}.nav-menu-divider{border:none;border-top:1px solid var(--border);margin:4px 2px}@media (width<=768px){.sidebar{z-index:100;width:min(280px,86vw);height:100svh;transition:transform .25s var(--ease), box-shadow .25s var(--ease);align-self:auto;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar .label{display:inline}.sidebar .nav-section-title{height:auto;padding:6px 10px 4px;overflow:visible}.sidebar .sidebar-nav{scrollbar-width:thin}.sidebar .sidebar-collapse,.sidebar:not(.is-rail) .nav-kbd{display:none}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.header{z-index:30;min-height:var(--header-h,56px);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--background) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);box-sizing:border-box;align-items:center;gap:8px;padding:0 16px;display:flex;position:sticky;top:0}.header.has-workplace{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);display:grid}.header-left{align-items:center;gap:8px;min-width:0;display:flex}.header-title{white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-md);letter-spacing:-.02em;color:var(--text-h);font-weight:650;overflow:hidden}.menu-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius);color:var(--text-h);cursor:pointer;transition:background-color var(--duration) var(--ease);background:0 0;border:none;place-items:center;margin-left:-8px;padding:0;display:grid}.menu-btn:hover{background:var(--surface-2)}.menu-btn:active{background:var(--surface-3)}.menu-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.menu-btn-icon{width:20px;height:20px}@media (width<=560px){.header.has-workplace{grid-template-columns:auto minmax(0,1fr)}.header.has-workplace .workplace-switcher{justify-self:stretch}.header.has-workplace .header-title,.header-right{display:none}}:root{--header-h:0px}@media (width<=768px){:root{--header-h:56px}}.app-container{min-height:100svh;display:flex}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.content{text-align:left;flex:1;padding:28px 32px 40px}.app-footer{color:var(--secondary);font-size:var(--fs-xs);text-align:center;padding:0 32px 20px}.backdrop{display:none}@media (width<=1024px){.content{padding:24px 20px 32px}}@media (width<=768px){.content{padding:16px 16px 28px}.backdrop{background:var(--overlay);z-index:99;animation:.2s ease-out ui-fade-in;display:block;position:fixed;inset:0}}.route-error{box-sizing:border-box;background:radial-gradient(900px 420px at 50% -10%, var(--primary-background), transparent 70%), var(--background);place-items:center;min-height:100svh;padding:24px 16px;display:grid}.route-error-card{text-align:center;max-width:420px}.route-error-code{color:var(--primary);letter-spacing:-.04em;margin:0 0 8px;font-size:3.5rem;font-weight:700;line-height:1}.route-error-title{font-size:var(--fs-xl);margin:0}.route-error-text{color:var(--text-p);font-size:var(--fs-base);margin:8px 0 24px}.route-error-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}
