@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-bg: #f6f7f9;--color-surface: #ffffff;--color-surface-subtle: #eef1f4;--color-border: #dde1e6;--color-border-strong: #8c959f;--color-text: #1d2329;--color-text-muted: #5c6570;--color-on-solid: #ffffff;--color-overlay: rgb(20 24 29 / .45);--color-accent: #1f6feb;--color-accent-strong: #1a5fcc;--color-accent-text: #1a5fcc;--color-accent-subtle: #eef5ff;--color-accent-border: #b6d4fe;--color-accent-pressed: #174ea6;--color-surface-pressed: #e3e7ec;--color-success: #1a7f37;--color-success-solid: #1a7f37;--color-success-subtle: #ebf9ef;--color-success-border: #aceebb;--color-danger: #cf222e;--color-danger-solid: #cf222e;--color-danger-solid-strong: #a40e26;--color-danger-pressed: #86061d;--color-danger-subtle: #fff1f0;--color-danger-border: #f5c2c7;--color-warning: #7d4e00;--color-warning-subtle: #fff8c5;--color-warning-border: #d4a72c;--color-changed: #bc4c00;--color-changed-subtle: #fff1e5;--color-changed-border: #f5b47a;--color-car: #8250df;--color-car-subtle: #f3eeff;--color-car-border: #d4c2f7;--color-car-text: #6639ba;--color-feedback: #7c3aed;--color-feedback-strong: #6d28d9;--color-feedback-pressed: #5b21b6;--color-feedback-text: #6d28d9;--color-feedback-subtle: #f5f0ff;--color-feedback-border: #d8c6fb;--color-claude: #b5532d;--color-claude-strong: #9a4424;--color-claude-pressed: #7f3a1f;--color-claude-text: #a3481f;--color-claude-subtle: #fdf3ee;--color-claude-border: #efc6b3;--font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.55;--tracking-tight: -.015em;--tracking-wide: .04em;--measure: 70ch;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--content-max: 1280px;--page-gutter: var(--space-4);--page-top: var(--space-5);--section-gap: var(--space-6);--card-padding: var(--space-4);--row-pad: var(--space-3);--cell-pad: var(--space-3);--header-h: 56px;--tabbar-h: 64px;--tabbar-space: calc(var(--tabbar-h) + env(safe-area-inset-bottom));--nav-glass: color-mix(in srgb, var(--color-surface) 78%, transparent);--nav-blur: saturate(180%) blur(12px);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgb(20 24 29 / .04), 0 1px 3px rgb(20 24 29 / .05);--shadow-md: 0 1px 2px rgb(20 24 29 / .04), 0 2px 4px -1px rgb(20 24 29 / .05), 0 6px 12px -4px rgb(20 24 29 / .1);--shadow-lg: 0 2px 4px rgb(20 24 29 / .04), 0 12px 24px -6px rgb(20 24 29 / .1), 0 24px 48px -12px rgb(20 24 29 / .16);--transition-elevation: box-shadow var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-control: background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out), background-position var(--duration-normal) var(--ease-out);--focus-outline: 2px solid var(--color-accent);--focus-offset: 2px;--ring-focus: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-accent);--ring-danger: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-danger);--control-h-xs: 20px;--control-h-sm: 28px;--control-h-md: 36px;--control-h-lg: 44px;--control-check: 18px;--switch-w: 36px;--dialog-max-h: 85dvh;--control-w-sm: 88px;--control-w-md: 124px;--menu-min-w: 220px;--matrix-name-w: 168px;--auth-card-w: 400px;--switch-h: 20px;--radius-full: 999px;--opacity-disabled: .5;--lift: -1px;--icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");--icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235c6570' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");--duration-fast: .12s;--duration-normal: .16s;--ease-out: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0e1116;--color-surface: #161b22;--color-surface-subtle: #21262d;--color-border: #30363d;--color-border-strong: #6e7681;--color-text: #e6edf3;--color-text-muted: #9ea7b3;--color-on-solid: #ffffff;--color-overlay: rgb(1 4 9 / .65);--color-accent: #1f6feb;--color-accent-strong: #1a5fcc;--color-accent-text: #58a6ff;--color-accent-subtle: #121d2f;--color-accent-border: #1f4b8f;--color-accent-pressed: #174ea6;--color-surface-pressed: #2d333b;--color-success: #3fb950;--color-success-solid: #238636;--color-success-subtle: #11241a;--color-success-border: #2e6b3e;--color-danger: #f85149;--color-danger-solid: #da3633;--color-danger-solid-strong: #b62324;--color-danger-pressed: #8e1519;--color-danger-subtle: #2a1517;--color-danger-border: #6e2b2f;--color-warning: #d29922;--color-warning-subtle: #272013;--color-warning-border: #9e6a03;--color-changed: #db6d28;--color-changed-subtle: #2a1a0c;--color-changed-border: #7a3e10;--color-car: #a371f7;--color-car-subtle: #1d1530;--color-car-border: #4c2f7a;--color-car-text: #c4a7fb;--color-feedback: #7c3aed;--color-feedback-strong: #6d28d9;--color-feedback-pressed: #5b21b6;--color-feedback-text: #c4a7fb;--color-feedback-subtle: #1d1530;--color-feedback-border: #4c2f7a;--color-claude: #b5532d;--color-claude-strong: #9a4424;--color-claude-pressed: #7f3a1f;--color-claude-text: #ec946d;--color-claude-subtle: #26170f;--color-claude-border: #6b3a26;--shadow-sm: 0 1px 2px rgb(1 4 9 / .3), 0 1px 3px rgb(1 4 9 / .25);--shadow-md: 0 1px 2px rgb(1 4 9 / .3), 0 2px 4px -1px rgb(1 4 9 / .35), 0 6px 12px -4px rgb(1 4 9 / .5);--shadow-lg: 0 2px 4px rgb(1 4 9 / .3), 0 12px 24px -6px rgb(1 4 9 / .55), 0 24px 48px -12px rgb(1 4 9 / .7);--icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239ea7b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}@media(min-width:768px){:root{--page-gutter: var(--space-5);--page-top: var(--space-6);--section-gap: var(--space-7)}}@media(min-width:1024px){:root{--tabbar-space: 0px;--text-xs: .6875rem;--text-sm: .71875rem;--text-md: .78125rem;--text-base: .8125rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.375rem;--control-h-xs: 18px;--control-h-sm: 22px;--control-h-md: 28px;--control-h-lg: 34px;--control-check: 15px;--switch-w: 32px;--switch-h: 18px;--header-h: 46px;--page-top: var(--space-4);--section-gap: var(--space-5);--card-padding: var(--space-3);--row-pad: var(--space-2);--cell-pad: var(--space-2)}}@media(min-width:1280px){:root{--page-gutter: var(--space-6)}}@media(hover:none){:root{--duration-normal: 80ms}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--lift: 0px}}*{box-sizing:border-box}html{font-family:var(--font-sans);font-size:100%;line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;font-size:var(--text-base)}html{scrollbar-gutter:stable}html{-webkit-tap-highlight-color:transparent}.app:not([data-tabs]){--tabbar-space: 0px}html{scroll-padding-top:calc(var(--header-h) + var(--space-4));scroll-padding-bottom:calc(var(--tabbar-space) + var(--space-4))}[tabindex="-1"]:focus{outline:none}h1,h2,h3{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0 0 var(--space-3)}h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0 0 var(--space-3)}p{margin:0 0 var(--space-4)}strong,b,th{font-weight:var(--weight-semibold)}@media(min-width:768px){h1{font-size:var(--text-2xl)}}table,.shift-time,.time-gutter,.template-item .time,.stat,.week-picker,.deviates,.drop-target{font-variant-numeric:tabular-nums}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.day-band,.table-wrap,.matrix-wrap,.day-row,.drop-bar,.dialog,.schedule-check,.auth-card,.account-card,.publish-bar,.my-shift-card,.deadline-bar,.my-week-card,.module-tile,.data-stats,.feedback-list,.feedback-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.day-band,.table-wrap,.matrix-wrap,.day-row,.schedule-check,.auth-card,.account-card,.publish-bar,.my-shift-card,.deadline-bar,.my-week-card,.module-tile,.data-stats,.feedback-list,.feedback-card{box-shadow:var(--shadow-sm)}.drop-bar,.dialog{box-shadow:var(--shadow-lg)}.shift-block,.template-item{box-shadow:var(--shadow-sm);transition:var(--transition-elevation)}@media(hover:hover){.shift-block:hover,.template-item:hover:not(:disabled),.module-tile:hover{box-shadow:var(--shadow-md)}}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:60;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-solid);font-weight:var(--weight-semibold);text-decoration:none;transform:translateY(calc(-100% - var(--space-4)))}.skip-link:focus{transform:none;outline:none;box-shadow:var(--ring-focus)}@media(hover:hover){.skip-link:hover{background:var(--color-accent-strong)}}.scroll-sentinel{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}.site-header{position:sticky;top:0;z-index:40;background:var(--color-bg);border-bottom:1px solid transparent;transition:background-color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.site-header[data-scrolled]{background:var(--nav-glass);border-bottom-color:var(--color-border);-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur)}.site-header-inner{max-width:var(--content-max);margin:0 auto;padding:0 var(--page-gutter);height:var(--header-h);display:flex;align-items:center;gap:var(--space-4)}@media(min-width:1280px){.site-header-inner{gap:var(--space-6)}.main-nav a,.header-menu-button{padding-left:var(--space-3);padding-right:var(--space-3)}}.brand-group{display:flex;flex:none;align-items:baseline;gap:var(--space-2)}.module-label{padding-left:var(--space-2);border-left:1px solid var(--color-border-strong);color:var(--color-text-muted);font-weight:var(--weight-medium);white-space:nowrap}@media(min-width:1024px){.module-label{display:none}}@media(min-width:1280px){.module-label{display:inline}}.brand{white-space:nowrap;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text);text-decoration:none;border-radius:var(--radius-sm)}@media(hover:hover){.brand:hover{color:var(--color-accent-text)}}.brand:focus-visible{outline:none;box-shadow:var(--ring-focus)}.header-tools{margin-left:auto;display:flex;align-items:center;gap:var(--space-1)}.site-header .theme-toggle{color:var(--color-text-muted)}.account-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-md);padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--text-lg);color:var(--color-text-muted);text-decoration:none;transition:var(--transition-control)}.header-icon-link{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-h-md);min-height:var(--control-h-md);border-radius:var(--radius-md);font-size:var(--text-lg);color:var(--color-text-muted);transition:var(--transition-control)}@media(hover:hover){.header-icon-link:hover{color:var(--color-text);background:var(--color-surface-subtle)}}.header-icon-link:active{background:var(--color-surface-pressed)}.header-icon-link[aria-current=page]{color:var(--color-accent-text);background:var(--color-accent-subtle)}.header-icon-link:focus-visible{outline:none;box-shadow:var(--ring-focus)}.account-menu{position:relative}.account-link{border:none;background:none;cursor:pointer;font:inherit;font-size:var(--text-lg)}.account-link.active{color:var(--color-accent-text);background:var(--color-accent-subtle)}.account-chevron{display:none;font-size:var(--text-sm)}.account-link[aria-expanded=true] .account-chevron svg{transform:rotate(180deg)}.account-chevron svg{transition:transform var(--duration-fast) var(--ease-out)}.account-menu .nav-menu-list{position:absolute;right:0;top:calc(100% + var(--space-1))}.account-menu-who{display:flex;flex-direction:column;padding:var(--space-2) var(--space-3) var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.account-menu-who span{color:var(--color-text-muted);overflow-wrap:anywhere}.nav-menu-list button{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;cursor:pointer;font:inherit;font-size:var(--text-base);text-align:left;color:var(--color-text);transition:var(--transition-control)}@media(hover:hover){.nav-menu-list button:hover{background:var(--color-surface-subtle)}}.nav-menu-list button:active{background:var(--color-surface-pressed)}.nav-menu-list button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.nav-menu-list .menu-danger{color:var(--color-danger);margin-top:var(--space-1)}@media(hover:hover){.nav-menu-list .menu-danger:hover{background:var(--color-danger-subtle)}}.account-link .account-name{display:none;font-size:var(--text-md);font-weight:var(--weight-medium);white-space:nowrap}@media(hover:hover){.account-link:hover{color:var(--color-text);background:var(--color-surface-subtle)}}.account-link:active{background:var(--color-surface-pressed)}.account-link[aria-current=page]{color:var(--color-accent-text);background:var(--color-accent-subtle)}.account-link:focus-visible{outline:none;box-shadow:var(--ring-focus)}@media(min-width:1280px){.account-link .account-name,.account-chevron{display:inline-flex}}@media(hover:hover){.site-header .theme-toggle:hover:not(:disabled){color:var(--color-text)}}.main-nav{display:none;align-items:center;gap:var(--space-1)}.main-nav a,.tab-bar>a{color:var(--color-text-muted);text-decoration:none;transition:var(--transition-control)}.main-nav a{white-space:nowrap;padding:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:var(--leading-snug)}@media(hover:hover){.main-nav a:hover{color:var(--color-text);background:var(--color-surface-subtle)}}.main-nav a[aria-current=page]{color:var(--color-accent-text);background:var(--color-accent-subtle);font-weight:var(--weight-semibold)}@media(hover:hover){.main-nav a[aria-current=page]:hover{box-shadow:inset 0 0 0 1px var(--color-accent-border)}}.main-nav a:focus-visible,.tab-bar>a:focus-visible{outline:none;box-shadow:var(--ring-focus)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:var(--space-1) var(--space-1) calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--nav-glass);border-top:1px solid var(--color-border);-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur)}.tab-bar>a,.tab-more-button{min-width:0;min-height:calc(var(--tabbar-h) - 2 * var(--space-1));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.tab-icon{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-6);border-radius:var(--radius-full);font-size:var(--text-lg);transition:var(--transition-control)}.tab-label{max-width:100%;overflow:hidden;text-align:center;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}@media(hover:hover){.tab-bar>a:hover,.tab-more-button:hover{color:var(--color-text)}}@media(hover:hover){.tab-bar>a:hover .tab-icon,.tab-more-button:hover .tab-icon{background:var(--color-surface-subtle)}}.tab-bar>a:active .tab-icon,.tab-more-button:active .tab-icon{background:var(--color-surface-pressed)}.tab-more{display:flex;min-width:0}.tab-more-button{width:100%;background:none;border:none;cursor:pointer;font:inherit;font-size:var(--text-xs);color:var(--color-text-muted);transition:var(--transition-control)}.tab-more-button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.tab-more-button.active{color:var(--color-accent-text)}.tab-more-button.active .tab-icon{background:var(--color-accent-subtle)}.nav-menu-list{display:flex;flex-direction:column;min-width:var(--menu-min-w);padding:var(--space-1);z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.tab-more .nav-menu-list{position:fixed;right:var(--space-2);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-2))}.tab-mine .nav-menu-list{right:auto;left:var(--space-2)}.header-menu{position:relative}.header-menu .nav-menu-list{position:absolute;left:0;top:calc(100% + var(--space-1))}.nav-menu-list a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);text-decoration:none;white-space:nowrap}@media(hover:hover){.nav-menu-list a:hover{background:var(--color-surface-subtle)}}.nav-menu-list a:active{background:var(--color-surface-pressed)}.nav-menu-list a[aria-current=page]{color:var(--color-accent-text);background:var(--color-accent-subtle)}.nav-menu-list a:focus-visible{outline:none;box-shadow:var(--ring-focus)}.header-menu-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2);border:none;border-radius:var(--radius-md);background:none;cursor:pointer;font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--color-text-muted);white-space:nowrap;transition:var(--transition-control)}@media(hover:hover){.header-menu-button:hover{color:var(--color-text);background:var(--color-surface-subtle)}}.header-menu-button:active{background:var(--color-surface-pressed)}.header-menu-button.active{color:var(--color-accent-text);background:var(--color-accent-subtle);font-weight:var(--weight-semibold)}.header-menu-button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.header-menu-button svg{transition:transform var(--duration-fast) var(--ease-out)}.header-menu-button[aria-expanded=true] svg{transform:rotate(180deg)}.tab-bar>a[aria-current=page]{color:var(--color-accent-text)}.tab-bar>a[aria-current=page] .tab-icon{background:var(--color-accent-subtle)}@media(min-width:1024px){.main-nav{display:flex}.tab-bar{display:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.site-header[data-scrolled],.tab-bar{background:var(--color-surface)}}main{max-width:var(--content-max);margin:0 auto;padding:var(--page-top) var(--page-gutter) calc(var(--space-8) + var(--tabbar-space))}main>section>p.hint,.dialog-message{max-width:var(--measure)}button{font:inherit;color:inherit;cursor:pointer}.btn{position:relative;display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h-md);padding:0 var(--space-4);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-snug);white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-md);background:none;transition:var(--transition-control)}.btn-label{display:inline-flex;align-items:center;gap:inherit}@media(hover:hover){.btn:hover:not(:disabled){transform:translateY(var(--lift));box-shadow:var(--shadow-sm)}}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}@media(hover:hover){.btn:focus-visible:hover:not(:disabled){box-shadow:var(--ring-focus),var(--shadow-sm)}}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn.is-loading{opacity:1;cursor:progress}.btn.is-loading .btn-label{opacity:0}.btn-spinner{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn-spinner{animation:none}}.btn-sm{min-height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.btn-lg{min-height:var(--control-h-lg);padding:0 var(--space-5)}.btn-icon{padding:0;width:var(--control-h-md)}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn-icon.btn-lg{width:var(--control-h-lg)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-solid)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}}.btn-primary:active:not(:disabled){background:var(--color-accent-pressed);border-color:var(--color-accent-pressed)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}@media(hover:hover){.btn-secondary:hover:not(:disabled){background:var(--color-surface-subtle)}}.btn-secondary:active:not(:disabled){background:var(--color-surface-pressed)}.btn-ghost{color:var(--color-accent-text)}@media(hover:hover){.btn-ghost:hover:not(:disabled){background:var(--color-surface-subtle);box-shadow:none}}.btn-ghost:active:not(:disabled){background:var(--color-surface-pressed)}@media(hover:hover){.btn-ghost:focus-visible:hover:not(:disabled){box-shadow:var(--ring-focus)}}.btn-destructive{background:var(--color-danger-solid);border-color:var(--color-danger-solid);color:var(--color-on-solid)}@media(hover:hover){.btn-destructive:hover:not(:disabled){background:var(--color-danger-solid-strong);border-color:var(--color-danger-solid-strong)}}.btn-destructive:active:not(:disabled){background:var(--color-danger-pressed);border-color:var(--color-danger-pressed)}.btn-destructive:focus-visible{box-shadow:var(--ring-danger)}.btn-ai{background:var(--color-claude);border-color:var(--color-claude);color:var(--color-on-solid)}@media(hover:hover){.btn-ai:hover:not(:disabled){background:var(--color-claude-strong);border-color:var(--color-claude-strong)}}.btn-ai:active:not(:disabled){background:var(--color-claude-pressed);border-color:var(--color-claude-pressed)}.btn-feedback{background:var(--color-feedback);border-color:var(--color-feedback);color:var(--color-on-solid)}@media(hover:hover){.btn-feedback:hover:not(:disabled){background:var(--color-feedback-strong);border-color:var(--color-feedback-strong)}}.btn-feedback:active:not(:disabled){background:var(--color-feedback-pressed);border-color:var(--color-feedback-pressed)}.btn-ai-soft{background:var(--color-claude-subtle);border-color:var(--color-claude-border);color:var(--color-claude-text)}@media(hover:hover){.btn-ai-soft:hover:not(:disabled){border-color:var(--color-claude-text)}}.btn-ai-soft:active:not(:disabled){background:var(--color-claude-border)}.btn-ai .btn-label,.btn-ai-soft .btn-label{display:inline-flex;align-items:center;gap:var(--space-2)}.btn-tone-danger{color:var(--color-danger)}.btn-secondary.btn-tone-danger{border-color:var(--color-danger-border)}@media(hover:hover){.btn-secondary.btn-tone-danger:hover:not(:disabled),.btn-ghost.btn-tone-danger:hover:not(:disabled){background:var(--color-danger-subtle)}}.btn-tone-danger:focus-visible{box-shadow:var(--ring-danger)}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--control-h-md);padding:0 var(--space-3);font:inherit;font-size:var(--text-base);line-height:var(--leading-snug);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:var(--transition-control)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}textarea{display:block;width:100%;padding:var(--space-2) var(--space-3);resize:vertical;line-height:var(--leading-normal)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-6);cursor:pointer;background-image:var(--icon-chevron);background-repeat:no-repeat;background-position:right var(--space-2) center;background-size:var(--space-4)}@media(hover:hover){input:not([type=checkbox]):hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--color-text-muted)}}input:not([type=checkbox]):focus,input:not([type=checkbox]):focus-within,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--ring-focus)}input::-webkit-calendar-picker-indicator{border-radius:var(--radius-sm);cursor:pointer}input::-webkit-calendar-picker-indicator:focus-visible{outline:var(--focus-outline);outline-offset:1px}input:not([type=checkbox])[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger)}input:not([type=checkbox])[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--color-danger);box-shadow:var(--ring-danger)}input:disabled,select:disabled,textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background-color:var(--color-surface-subtle)}.control-sm:not([type=checkbox]){min-height:var(--control-h-sm);padding:0 var(--space-2);font-size:var(--text-sm)}select.control-sm{padding-right:var(--space-5);background-position:right var(--space-1) center}input[type=checkbox]:not(.switch){-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:var(--control-check);height:var(--control-check);margin:0;vertical-align:middle;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface);cursor:pointer;transition:var(--transition-control)}@media(hover:hover){input[type=checkbox]:not(.switch):hover:not(:disabled){border-color:var(--color-accent)}}input[type=checkbox]:not(.switch):checked{border-color:var(--color-accent);background:var(--color-accent) var(--icon-check) center / 75% no-repeat}input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--ring-focus)}input[type=checkbox]:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;margin:0;vertical-align:middle;cursor:pointer;width:var(--switch-w);height:var(--switch-h);border-radius:var(--radius-full);border:none;background-color:var(--color-border-strong);background-image:radial-gradient(circle,var(--color-on-solid) 0 calc(var(--switch-h) / 2 - 3px),transparent calc(var(--switch-h) / 2 - 2.5px));background-size:var(--switch-h) var(--switch-h);background-repeat:no-repeat;background-position:left center;transition:var(--transition-control)}@media(hover:hover){.switch:hover:not(:disabled){background-color:var(--color-text-muted)}}.switch:checked{background-color:var(--color-accent);background-position:right center}@media(hover:hover){.switch:checked:hover:not(:disabled){background-color:var(--color-accent-strong)}}.field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.field-message{display:flex;align-items:center;gap:var(--space-1);margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-snug)}.field-message.is-error{color:var(--color-danger)}.field-message svg{flex:none}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:calc(var(--text-sm) * var(--leading-snug) + var(--space-1))}.segmented{display:inline-flex}.segmented button{position:relative;min-height:var(--control-h-md);padding:0 var(--space-3);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:0;transition:var(--transition-control)}.segmented button+button{margin-left:-1px}.segmented button:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.segmented button:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}@media(hover:hover){.segmented button:hover:not(.active){background:var(--color-surface-subtle)}}.segmented button:focus-visible{outline:none;z-index:1;box-shadow:var(--ring-focus)}.segmented button.active{z-index:1}.segmented button:disabled,button.suit:disabled,.template-item:disabled,.accordion-trigger:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.segmented button.active.unavailable{background:var(--color-surface-pressed)}.segmented button.active.available{background:var(--color-success-solid);border-color:var(--color-success-solid);color:var(--color-on-solid)}.segmented button.active.preferred,.segmented.view-switch button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-solid)}@media(hover:hover){.segmented.view-switch button.active:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}}.segmented.view-switch button:active:not(.active){background:var(--color-surface-pressed)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.toolbar-group{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%}.toolbar-group>button{flex:1 1 auto}@media(min-width:768px){.toolbar-group{width:auto}.toolbar-group>button{flex:0 0 auto}}.spacer{flex:1}.stat,.hint{color:var(--color-text-muted)}.week-toolbar{align-items:flex-start}.week-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.week-block .stat{font-size:var(--text-sm)}.block-switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.block-switch .segmented button{min-width:var(--control-h-md);justify-content:center;font-variant-numeric:tabular-nums}.week-stats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3)}.block-indicator{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent-text);font-variant-numeric:tabular-nums}.block-segments{display:inline-flex;gap:var(--space-1)}.block-segments span{width:var(--space-3);height:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-accent-border);background:var(--color-surface)}.block-segments span.on{background:var(--color-accent);border-color:var(--color-accent)}.block-deviates{font-weight:var(--weight-regular);color:var(--color-warning)}.fill-expected{margin-left:var(--space-2)}.fill-choices{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-3)}.fill-choice{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.fill-choice .hint{margin:0}.hint{line-height:var(--leading-normal)}.hint.small{font-size:var(--text-sm)}.week-picker{display:flex;align-items:center;gap:var(--space-2)}.week-picker .week-label{min-width:8rem;text-align:center;font-weight:var(--weight-semibold)}table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border)}th,td{text-align:left;padding:var(--cell-pad);border-bottom:1px solid var(--color-border);line-height:var(--leading-snug)}th{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap}tbody tr:last-child td{border-bottom:none}.table-wrap,.matrix-wrap{position:relative;overflow-x:auto}.table-wrap>table,.matrix-wrap>table{border:none}table.overview td:first-child,table.matrix td:first-child,table.people td:first-child,table.templates td:nth-child(2),table.matrix td:last-child{white-space:nowrap}table.overview th:first-child,table.overview td:first-child,table.matrix th:first-child,table.matrix td:first-child{position:sticky;left:0;z-index:1;background:var(--color-surface);box-shadow:inset -1px 0 0 var(--color-border)}tr.muted td{color:var(--color-text-muted)}.vehicle-select{width:var(--control-w-md)}.number-cell input{width:var(--control-w-sm);font-variant-numeric:tabular-nums}.schedule-layout{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:start}.schedule-days{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.day-band{overflow:hidden}.day-band-header{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--space-2);row-gap:var(--space-1);padding:var(--row-pad) var(--card-padding);border-bottom:1px solid var(--color-border)}.day-band-header>*{white-space:nowrap}.day-toggle{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1);margin:calc(-1 * var(--space-1)) 0 calc(-1 * var(--space-1)) calc(-1 * var(--space-1));background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text);text-align:left;transition:var(--transition-control)}.day-toggle .accordion-chevron{align-self:center;color:var(--color-text-muted)}.day-toggle[aria-expanded=true] .accordion-chevron{transform:rotate(90deg)}@media(hover:hover){.day-toggle:hover{background:var(--color-surface-subtle)}}@media(hover:hover){.day-toggle:hover .accordion-chevron{color:var(--color-text)}}.day-toggle:focus-visible{outline:none;box-shadow:var(--ring-focus)}.day-toggle:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day-date{color:var(--color-text-muted)}.day-band.is-collapsed .day-band-header{border-bottom-color:transparent}.schedule-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.schedule-meta .shift-legend{margin-bottom:0}.day-band-header .hint{font-size:var(--text-md)}.day-band-header .day-reset{align-self:center}.day-band-body{padding:var(--space-2) var(--space-2) var(--space-3) 0}.drop-bar{position:fixed;left:50%;bottom:calc(var(--tabbar-space) + var(--space-4));z-index:45;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);max-width:calc(100vw - 2 * var(--space-4));overflow-x:auto}.drop-row{display:flex;align-items:center;gap:var(--space-1)}.drop-label{width:8.5rem;flex-shrink:0;font-weight:var(--weight-semibold);font-size:var(--text-md)}.drop-target{padding:var(--space-2);border:2px dashed var(--color-accent);border-radius:var(--radius-md);white-space:nowrap;color:var(--color-accent-text);background:var(--color-accent-subtle);font-size:var(--text-md)}.drop-target.over{background:var(--color-accent);color:var(--color-on-solid)}.drop-target.disabled{border-color:var(--color-border);color:var(--color-text-muted);background:none}.drop-hint{padding:var(--space-3);color:var(--color-text-muted);text-align:center;font-size:var(--text-md)}.day-band-scroll{display:flex;overflow-x:auto;padding:var(--space-2) 0 var(--space-3)}.time-gutter{position:sticky;left:0;z-index:2;flex:0 0 3.25rem;background:var(--color-surface)}.time-gutter span{position:absolute;right:var(--space-2);transform:translateY(-50%);font-size:var(--text-xs);color:var(--color-text-muted)}.shift-columns{display:flex;flex:1 0 auto;gap:var(--space-1);background-image:linear-gradient(to bottom,var(--color-border) 1px,transparent 1px)}.shift-col{position:relative;flex:0 0 auto}.shift-group{display:flex;flex:none;gap:var(--space-1)}.shift-group.is-car{position:relative;padding-right:var(--space-1);background:color-mix(in srgb,var(--color-car) 6%,transparent);border-radius:var(--radius-md)}.shift-divider{position:relative;flex:0 0 var(--space-5);margin-left:var(--space-2)}.shift-divider:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--color-car-border)}.shift-divider span{position:sticky;top:var(--space-2);display:block;margin:var(--space-2) 0 0 var(--space-1);writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-car-text)}.shift-block{position:absolute;left:0;right:0;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid;border-top-width:3px;border-radius:var(--radius-md);font-size:var(--text-sm);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.kind-standard{background:var(--color-success-subtle);border-color:var(--color-success-border);border-top-color:var(--color-success)}.kind-changed{background:var(--color-changed-subtle);border-color:var(--color-changed-border);border-top-color:var(--color-changed)}.kind-oneoff{background:var(--color-accent-subtle);border-color:var(--color-accent-border);border-top-color:var(--color-accent)}.kind-car{background:var(--color-car-subtle);border-color:var(--color-car-border);border-top-color:var(--color-car)}.shift-block.is-open,.legend-swatch.is-open{border-top-color:var(--color-danger)}.shift-block.resizing{box-shadow:0 0 0 2px var(--color-accent),var(--shadow-lg);z-index:3;cursor:grabbing}@media(hover:hover){.shift-block.resizing:hover{box-shadow:0 0 0 2px var(--color-accent),var(--shadow-lg);z-index:3;cursor:grabbing}}.shift-block select,.shift-block button{cursor:pointer}.shift-block .rename{cursor:text;-webkit-user-select:text;user-select:text;width:100%}.shift-block select{width:100%}.shift-block .btn-icon{width:var(--control-h-xs);min-height:var(--control-h-xs);font-size:var(--text-xs)}.shift-block .btn-icon.remove{color:var(--color-text-muted)}.shift-block-head{display:flex;justify-content:space-between;gap:var(--space-1)}.shift-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.shift-block-head strong{flex:1;min-width:0;white-space:normal;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;line-height:var(--leading-tight)}.shift-block.view-block>strong{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;line-height:var(--leading-tight)}.grip{flex:0 0 auto;cursor:grab;color:var(--color-accent-text);font-weight:var(--weight-semibold);padding:0 var(--space-1);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--color-accent-subtle);font-size:var(--text-xs);line-height:var(--leading-tight)}@media(hover:hover){.grip:hover{border-color:var(--color-accent)}}.grip:active{cursor:grabbing}.shift-time{color:var(--color-text-muted);font-size:var(--text-xs);display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.shift-time .time{white-space:nowrap}.tag{background:var(--color-surface-subtle);color:var(--color-text-muted);border-radius:var(--radius-sm);padding:0 var(--space-1);font-size:var(--text-xs)}.tag-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.vehicle-tag{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.assignee{display:flex;justify-content:space-between;font-weight:var(--weight-semibold)}.assignee-name{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0}.same-day-marker{display:inline-flex;flex:none;color:var(--color-warning);border-radius:var(--radius-sm);cursor:help}.same-day-marker.is-error{color:var(--color-danger)}@media(hover:hover){.same-day-marker:hover{background:var(--color-warning-subtle)}}@media(hover:hover){.same-day-marker.is-error:hover{background:var(--color-danger-subtle)}}.resize-handle{position:absolute;left:0;right:0;height:7px;cursor:ns-resize;z-index:1;touch-action:none}.resize-handle.top{top:-3px}.resize-handle.bottom{bottom:-3px}@media(hover:hover){.resize-handle:hover{background:color-mix(in srgb,var(--color-accent) 35%,transparent)}}.accordion-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-1);margin:0 calc(-1 * var(--space-1));box-sizing:content-box;background:none;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);text-align:left;transition:var(--transition-control)}@media(hover:hover){.accordion-trigger:hover{color:var(--color-text);background:var(--color-surface-subtle)}}.accordion-trigger:focus-visible{outline:none;box-shadow:var(--ring-focus)}.accordion-chevron{display:inline-flex;transition:transform var(--duration-normal) var(--ease-out)}.accordion-trigger[aria-expanded=true] .accordion-chevron{transform:rotate(90deg)}.accordion-title{flex:1}.accordion-meta{font-weight:var(--weight-regular);letter-spacing:normal}.template-group-items{padding-top:var(--space-1)}.template-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-md);text-align:left;background:var(--color-surface);color:var(--color-text-muted)}@media(hover:hover){.template-item:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-accent)}}.template-item:focus-visible{outline:none;box-shadow:var(--ring-focus)}.template-item.on{color:var(--color-text);background:var(--color-accent-subtle)}@media(hover:hover){.template-item.on:hover:not(:disabled){color:var(--color-text);background:var(--color-accent-subtle)}}.template-item.on{border-color:var(--color-accent-border)}.template-item .box{flex:0 0 1rem;height:1rem;line-height:1rem;text-align:center;font-size:var(--text-xs);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-accent-text)}.template-item.on .box{border-color:var(--color-accent)}.template-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-item .time{font-size:var(--text-xs);white-space:nowrap}.count-badge{display:inline-block;margin-left:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.standard-dialog{width:min(30rem,100%);display:flex;flex-direction:column;max-height:var(--dialog-max-h)}.standard-dialog:focus{outline:none}.standard-list{overflow-y:auto;margin:var(--space-3) calc(-1 * var(--space-2)) 0;padding:var(--space-1) var(--space-2)}.standard-list .template-item{padding:var(--space-2) var(--space-3)}.standard-dialog a{color:var(--color-accent-text)}.new-shift-dialog{width:min(34rem,100%)}.new-shift-mode{display:flex;margin-top:var(--space-3)}.new-shift-mode button{flex:1;padding-block:var(--space-1);white-space:normal;text-align:center}.new-shift-form{display:flex;flex-direction:column;min-height:0;margin-top:var(--space-3)}.new-shift-form>.hint{margin:0}.new-shift-form>.hint a{color:var(--color-accent-text)}.new-shift-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.new-shift-fields .new-shift-name{grid-column:1 / -1}.new-shift-fields input{width:100%}.new-shift-form .standard-list{margin-top:0}.copy-week-dialog{width:min(36rem,100%)}.copy-week-box{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);min-height:0}.copy-week-bar,.copy-week-pages{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.copy-week-year{font-size:var(--text-md);font-variant-numeric:tabular-nums}.copy-week-pages .hint{margin:0;font-variant-numeric:tabular-nums}.copy-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);min-height:0;overflow-y:auto;padding:var(--space-1);margin:calc(-1 * var(--space-1))}@media(min-width:768px){.copy-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.template-item.week-tile{flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:var(--space-2) var(--space-3);line-height:var(--leading-snug)}.week-tile-name{font-weight:var(--weight-semibold);color:var(--color-text)}.week-tile-dates,.week-tile-count{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.template-item.week-tile:disabled .week-tile-name{color:inherit;font-weight:var(--weight-regular)}.day-list{display:flex;flex-direction:column;gap:var(--space-2)}.day-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-4);padding:var(--row-pad) var(--card-padding)}.day-label{width:9rem;flex-shrink:0}.day-label span{color:var(--color-text-muted)}.section-gap{margin-top:var(--section-gap)}table.overview td,table.overview th{text-align:center}table.overview td:first-child,table.overview th:first-child{text-align:left}tr.clickable{cursor:pointer}.row-select{padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;border-radius:var(--radius-sm);transition:var(--transition-control)}@media(hover:hover){.row-select:hover{color:var(--color-accent-text)}}.row-select:focus-visible{outline:none;box-shadow:var(--ring-focus)}@media(hover:hover){tr.clickable:hover td{background:var(--color-surface-subtle)}}@media(hover:hover){table.overview tr.clickable:hover td:first-child{background:var(--color-surface-subtle)}}.avail-cell{font-size:var(--text-md);white-space:nowrap}.avail-cell.yes{color:var(--color-success)}.avail-cell.no{color:var(--color-text-muted)}.avail-cell.unknown{color:var(--color-danger)}.time-window{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.time-window label{display:flex;align-items:center;gap:var(--space-1)}td.actions{white-space:nowrap;text-align:right}table.matrix th.group{text-align:center;border-left:1px solid var(--color-border)}table.matrix th.sub{text-align:center;text-transform:none;font-size:var(--text-sm);color:var(--color-text);border-left:1px solid var(--color-border)}table.matrix th.sub small{display:block;color:var(--color-text-muted);font-weight:var(--weight-regular)}table.matrix td.cell{text-align:center;padding:var(--space-1);border-left:1px solid var(--color-border)}table.matrix td.cell.off-type{background:var(--color-surface-subtle)}.matrix-wrap{overflow:auto;max-height:calc(100dvh - var(--header-h) - var(--tabbar-space) - var(--space-6))}table.matrix thead{position:sticky;top:0;z-index:3}table.matrix thead th,table.matrix thead td{background:var(--color-surface);border-bottom:none;box-shadow:inset 0 -1px 0 var(--color-border)}table.matrix thead th:first-child,table.matrix thead td:first-child{z-index:4;box-shadow:inset -1px -1px 0 var(--color-border)}table.matrix th:first-child,table.matrix td:first-child{min-width:var(--matrix-name-w)}table.matrix th.group span{position:sticky;left:calc(var(--matrix-name-w) + var(--space-3))}table.matrix th.group{text-align:left;text-transform:none;font-size:var(--text-sm);color:var(--color-text)}table.matrix th.group span{display:inline-flex;align-items:center;gap:var(--space-2)}table.matrix tr.group-row th{position:static;box-shadow:none;text-align:left;background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-sm);text-transform:none;letter-spacing:normal}table.matrix tr.group-row th span{position:sticky;left:var(--space-3)}button.suit{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-md);height:var(--control-h-sm);padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:var(--transition-control)}button.suit:focus-visible{outline:none;box-shadow:var(--ring-focus)}button.suit.no{background:var(--color-surface);color:var(--color-text-muted)}@media(hover:hover){button.suit.no:hover{background:var(--color-surface-subtle)}}button.suit.yes{background:var(--color-success-subtle);color:var(--color-success);border-color:var(--color-success-border)}@media(hover:hover){button.suit.yes:hover{border-color:var(--color-success)}}button.suit.preferred{background:var(--color-accent);color:var(--color-on-solid);border-color:var(--color-accent)}@media(hover:hover){button.suit.preferred:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}}.nowrap{white-space:nowrap}table.templates td,table.templates th{vertical-align:middle}table.templates th,table.templates td{padding-left:var(--space-2);padding-right:var(--space-2)}table.templates th.day,table.templates td.day{text-align:center}.day-off{color:var(--color-border-strong)}.day-on{color:var(--color-success);font-weight:var(--weight-semibold)}.deviates{background:var(--color-warning-subtle);color:var(--color-warning);border-radius:var(--radius-sm);padding:0 var(--space-1);font-size:var(--text-xs);white-space:nowrap}table.templates tr.group-row th{padding-top:var(--space-2);padding-bottom:var(--space-2);text-align:left;text-transform:none;letter-spacing:normal;background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-sm)}table.templates .group-label{display:inline-flex;align-items:center;gap:var(--space-2)}table.templates .handle-col{width:1.75rem;padding-left:var(--space-2);padding-right:0}.drag-handle{display:inline-block;cursor:grab;color:var(--color-text-muted);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-none);padding:0 var(--space-1);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none}@media(hover:hover){.drag-handle:hover{background:var(--color-surface-subtle);color:var(--color-text)}}.drag-handle:active{cursor:grabbing}table.templates tr.dragging td{opacity:.4}table.templates tr.drop-before td{box-shadow:inset 0 3px 0 var(--color-accent)}table.templates tr.drop-after td{box-shadow:inset 0 -3px 0 var(--color-accent)}tr.clickable:active td{background:var(--color-surface-pressed)}table.templates td.day{line-height:var(--leading-snug)}.fixed-chip{display:block;width:max-content;margin:var(--space-1) auto 0;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-accent-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.fixed-chip:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.dialog-backdrop.confirm-backdrop{z-index:110}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay)}.dialog{width:min(28rem,100%);padding:var(--space-5) var(--space-5) var(--space-4)}.dialog h2{font-size:var(--text-lg);margin:0 0 var(--space-2)}.dialog-message{color:var(--color-text-muted);line-height:var(--leading-normal)}.dialog-list{margin:0;padding-left:var(--space-4)}.dialog-list li{margin-bottom:var(--space-1)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.home-intro{max-width:var(--measure)}.module-grid{list-style:none;margin:var(--section-gap) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:768px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.module-tile{display:flex;align-items:center;gap:var(--space-4);height:100%;padding:var(--card-padding);color:var(--color-text);text-decoration:none;transition:var(--transition-elevation),border-color var(--duration-fast) var(--ease-out)}@media(hover:hover){.module-tile:hover{border-color:var(--color-accent-border)}}.module-tile:active{box-shadow:var(--shadow-sm)}.module-tile:focus-visible{outline:none;box-shadow:var(--ring-focus),var(--shadow-sm)}.module-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--space-8);height:var(--space-8);border-radius:var(--radius-lg);background:var(--color-accent-subtle);color:var(--color-accent-text);font-size:var(--text-xl)}.module-text{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.module-title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.module-description{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.module-arrow{color:var(--color-text-muted);font-size:var(--text-lg);transition:transform var(--duration-fast) var(--ease-out)}@media(hover:hover){.module-tile:hover .module-arrow{color:var(--color-accent-text);transform:translate(var(--space-1))}}.module-soon{display:flex;align-items:center;justify-content:center;min-height:calc(var(--space-8) + 2 * var(--card-padding));padding:var(--card-padding);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.auth-page{display:flex;justify-content:center;padding-top:var(--space-6)}.auth-card{width:min(var(--auth-card-w),100%);padding:var(--card-padding)}.auth-card h1{margin-top:0}.auth-form{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);margin-top:var(--space-4)}.auth-form input:not([type=checkbox]):not([type=radio]){width:100%}.auth-form .btn{align-self:flex-start}.auth-footer{margin:var(--space-4) 0 0;font-size:var(--text-sm)}.auth-footer a,.account-card a:not(.btn){color:var(--color-accent-text)}.account-card{max-width:var(--measure);padding:var(--card-padding);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.account-card.auth-form{margin-top:0;align-items:stretch;max-width:var(--auth-card-w)}.account-card.auth-form .form-actions{align-items:center}.password-rules{list-style:none;margin:calc(-1 * var(--space-2)) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.password-rules li{display:flex;align-items:center;gap:var(--space-2)}.rule-mark{display:inline-flex;width:1em;justify-content:center;font-size:var(--text-base)}.rule-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);border:1px solid currentColor}.password-rules li.is-ok{color:var(--color-success)}.password-rules li.is-missing{color:var(--color-danger)}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);color:var(--color-accent-text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:var(--transition-control)}@media(hover:hover){.back-link:hover{background:var(--color-surface-subtle)}}.back-link:active{background:var(--color-surface-pressed)}.back-link:focus-visible{outline:none;box-shadow:var(--ring-focus)}.account-details{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-5);margin:0}.account-details dt{color:var(--color-text-muted)}.account-details dd{margin:0;font-weight:var(--weight-medium)}.status-tags{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.status-tag{display:inline-block;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid;font-size:var(--text-xs);line-height:var(--leading-normal);white-space:nowrap}.status-tag.is-submitted{color:var(--color-success);background:var(--color-success-subtle);border-color:var(--color-success-border)}.status-tag.is-planner{color:var(--color-accent-text);background:var(--color-accent-subtle);border-color:var(--color-accent-border)}.status-tag.is-draft{color:var(--color-warning);background:var(--color-warning-subtle);border-color:var(--color-warning-border)}.status-tag.is-none{color:var(--color-text-muted);background:var(--color-surface-subtle);border-color:var(--color-border)}.deadline-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-4);margin-bottom:var(--section-gap);padding:var(--row-pad) var(--card-padding);border-left:3px solid var(--color-accent)}.deadline-bar.is-locked{border-left-color:var(--color-text-muted)}.deadline-text{flex:1 1 0;min-width:0}.deadline-bar>:last-child:not(.btn){flex-basis:100%}.deadline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding-top:var(--space-2)}.note-marker{display:inline-flex;margin-left:var(--space-2);vertical-align:middle;color:var(--color-accent-text);border-radius:var(--radius-sm);cursor:help}@media(hover:hover){.note-marker:hover{background:var(--color-accent-subtle)}}.note-marker:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.availability-dialog{width:min(46rem,100%)}.availability-dialog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.availability-view{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border)}.availability-view li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums}.availability-day strong{font-weight:var(--weight-semibold)}.availability-quick{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.availability-edit .day-row{box-shadow:none}.availability-dialog .dialog-actions{position:sticky;bottom:calc(-1 * var(--space-4));z-index:2;margin:var(--space-4) calc(-1 * var(--space-5)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-5) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border)}.wish-summary{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);margin:0 0 var(--space-3)}.wish-summary dt{color:var(--color-text-muted)}.wish-summary dd{margin:0;white-space:pre-wrap}td.num{text-align:center;font-variant-numeric:tabular-nums}ul.shift-columns{list-style:none;margin:0;padding:0}.day-band-scroll:focus-visible{outline:var(--focus-outline);outline-offset:calc(-1 * var(--focus-offset))}.day-title{display:inline-flex;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--text-base);font-weight:var(--weight-regular)}.shift-block.view-block{cursor:default;touch-action:auto;-webkit-user-select:text;user-select:text;background:var(--color-surface-subtle);border-color:var(--color-border);border-top-color:var(--color-border-strong)}@media(hover:hover){.shift-block.view-block:hover{box-shadow:var(--shadow-sm)}}.shift-block.view-block.is-mine{background:var(--color-accent-subtle);border-color:var(--color-accent-border);border-top-color:var(--color-accent)}.view-day .shift-group.is-car{background:none}.view-days-bar{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.view-day .day-title .day-toggle{font-size:inherit}.view-day .shift-divider:before{background:var(--color-border-strong)}.view-day .shift-divider span{color:var(--color-text-muted)}.view-assignee{font-weight:var(--weight-semibold)}ul.shift-group{list-style:none;margin:0;padding:0}.my-shift-kind{grid-column:1 / -1}.view-block.is-mine .view-assignee,.mine-count{color:var(--color-accent-text)}.my-shift-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:var(--measure)}.my-shift-card{display:grid;grid-template-columns:1fr auto;gap:0 var(--space-3);padding:var(--row-pad) var(--card-padding);border-left:3px solid var(--color-accent)}.my-shift-day{grid-column:1 / -1;color:var(--color-text-muted);font-size:var(--text-sm)}.my-shift-time{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.my-week-card{max-width:var(--measure);margin-bottom:var(--section-gap);padding:var(--row-pad) var(--card-padding);border-left:3px solid var(--color-accent)}.my-week-card.is-locked{border-left-color:var(--color-text-muted)}.my-week-card p{margin:var(--space-2) 0 0}.my-week-status{display:flex;flex-wrap:wrap;gap:var(--space-2)}.my-wishes{display:grid;gap:var(--space-4);max-width:var(--measure)}.my-wishes input[type=number]{width:var(--control-w-sm)}textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background-color:var(--color-surface-subtle)}.form-dialog{width:min(40rem,100%);max-height:var(--dialog-max-h);overflow-x:hidden;overflow-y:auto}.form-dialog:focus{outline:none}.form-dialog>.hint{margin:0 0 var(--space-4)}.dialog-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.dialog-form .field input,.dialog-form .field select{width:100%}.dialog-form .dialog-actions{margin-top:var(--space-2);flex-direction:column-reverse;align-items:stretch}.template-dialog{width:min(46rem,100%)}.template-dialog fieldset{margin:0;padding:0;border:none;min-width:0}.template-dialog legend{padding:0;margin-bottom:var(--space-1)}.template-dialog .template-days>.hint{margin:0 0 var(--space-2)}.time-range{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.time-range input{width:auto;min-width:max-content;font-variant-numeric:tabular-nums}.time-range input.deviates:not([aria-invalid=true]){border-color:var(--color-warning-border);background-color:var(--color-warning-subtle)}.template-day-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border)}.template-day{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.template-day-name{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);cursor:pointer}.template-day:not(.is-on) .template-day-name{color:var(--color-text-muted);font-weight:var(--weight-regular)}.template-day-fixed select{width:100%}.template-days-copy{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.template-days-copy .hint{margin:0}.time-reset-slot{display:inline-flex;flex:none;width:var(--control-h-sm)}@media(min-width:768px){.dialog-form .dialog-actions{flex-direction:row;align-items:center}.dialog-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-form .span-2{grid-column:1 / -1}.template-day{grid-template-columns:7rem auto minmax(0,1fr);align-items:center;column-gap:var(--space-4)}.template-day-name{align-self:center}.dialog-form .dialog-action-start{margin-right:auto}}.shift-edit-dialog .hint .tag{vertical-align:baseline}.shift-edit-messenger{display:flex;flex-direction:column;gap:var(--space-1)}.shift-edit-messenger-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.shift-edit-name{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);margin-right:auto}.shift-edit-messenger-row>.hint{margin:0 auto 0 0}.shift-edit-note{margin:0}.shift-edit-dialog .info-heading{margin-top:0}.shift-edit-dialog a{color:var(--color-accent-text)}.shift-edit-dialog .dialog-form{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-edit-dialog .dialog-form .span-2{grid-column:1 / -1}.required-mark{color:var(--color-danger)}.info-dialog{width:min(32rem,100%);max-height:var(--dialog-max-h);overflow-y:auto}.info-dialog:focus{outline:none}.info-dialog h2{margin-bottom:var(--space-1)}.info-when{margin:0 0 var(--space-3);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.info-heading{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.info-dialog textarea{width:100%}.info-dialog .field{margin-top:var(--space-4)}.info-dialog a{color:var(--color-accent-text)}.info-text{margin:0;white-space:pre-wrap;line-height:var(--leading-normal)}.info-extra{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-subtle);border-left:3px solid var(--color-accent)}.shift-title{flex:1;min-width:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;font-weight:var(--weight-semibold);text-align:left;color:inherit;white-space:normal;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;line-height:var(--leading-tight);border-radius:var(--radius-sm)}@media(hover:hover){.shift-title:hover{text-decoration:underline}}.shift-title:active{color:var(--color-text-muted)}.shift-title:focus-visible{outline:none;box-shadow:var(--ring-focus)}.title-note-mark{display:inline-flex;margin-left:var(--space-1);vertical-align:-.125em;color:var(--color-accent-text)}.extra-info-btn{color:var(--color-text-muted)}.extra-info-btn.has-note{color:var(--color-accent-text);background:var(--color-accent-subtle)}.note-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--color-accent)}button.shift-block.view-block{font:inherit;font-size:var(--text-sm);text-align:left;color:var(--color-text);cursor:pointer}@media(hover:hover){button.shift-block.view-block:hover{box-shadow:var(--shadow-md)}}button.shift-block.view-block:active{box-shadow:var(--shadow-sm)}button.shift-block.view-block:focus-visible{outline:none;box-shadow:var(--ring-focus);z-index:2}.view-block.has-note{border-color:var(--color-accent)}.view-note-mark{display:inline-flex;margin-left:var(--space-1);vertical-align:-.125em;color:var(--color-accent-text)}button.my-shift-card{width:100%;font:inherit;text-align:left;color:var(--color-text);cursor:pointer;transition:var(--transition-elevation)}@media(hover:hover){button.my-shift-card:hover{box-shadow:var(--shadow-md)}}button.my-shift-card:active{box-shadow:var(--shadow-sm)}button.my-shift-card:focus-visible{outline:none;box-shadow:var(--ring-focus)}.my-shift-kind{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tag-info{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-accent-text);background:var(--color-accent-subtle)}.account-cell{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.status-tag.is-account-active{color:var(--color-success);background:var(--color-success-subtle);border-color:var(--color-success-border)}.status-tag.is-account-invited{color:var(--color-warning);background:var(--color-warning-subtle);border-color:var(--color-warning-border)}.status-tag.is-account-inactive{color:var(--color-text-muted);background:var(--color-surface-subtle);border-color:var(--color-border)}.planner-accounts{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:var(--measure)}.planner-accounts li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.account-dialog{width:min(32rem,100%);display:flex;flex-direction:column;gap:var(--space-4)}.account-dialog:focus{outline:none}.account-dialog h2{margin-bottom:0}.account-dialog .dialog-actions{margin-top:0}.account-switches{display:flex;flex-direction:column;gap:var(--space-3)}.switch-row{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;align-self:flex-start}.switch-row .switch{flex:none}.link-box{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-subtle);border:1px solid var(--color-accent-border)}.link-box p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal)}.link-row{display:flex;gap:var(--space-2)}.link-row input{flex:1;min-width:0;font-size:var(--text-sm)}.publish-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);padding:var(--row-pad) var(--card-padding);border-left:3px solid}.publish-bar.is-draft{border-left-color:var(--color-text-muted)}.publish-bar.is-changed{border-left-color:var(--color-warning-border)}.publish-bar.is-published{border-left-color:var(--color-success)}.publish-text{flex:1 1 16rem;min-width:0;display:flex;flex-direction:column}.publish-bar.is-changed .publish-text strong{color:var(--color-warning)}.publish-dialog{width:min(36rem,100%);display:flex;flex-direction:column;max-height:var(--dialog-max-h)}.publish-dialog:focus{outline:none}.publish-body{overflow-y:auto;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2)}.publish-body:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.publish-day h3{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-sm)}.publish-day ul{margin:0;padding-left:var(--space-4);line-height:var(--leading-normal)}.publish-warning{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--text-sm)}.publish-question{margin:var(--space-4) 0 0;font-weight:var(--weight-semibold)}.schedule-check{padding:var(--row-pad) var(--card-padding);margin-bottom:var(--space-4)}.schedule-check-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-3)}.check-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex-basis:100%}@media(min-width:768px){.schedule-check-head{flex-wrap:nowrap}.check-actions{flex-basis:auto;flex-wrap:nowrap}}.schedule-check-head.is-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-md);margin:calc(-1 * var(--space-2));padding:var(--space-2);transition:var(--transition-control)}@media(hover:hover){.schedule-check-head.is-clickable:hover{background:var(--color-surface-subtle)}}.schedule-check-head.is-clickable:active{background:var(--color-surface-pressed)}.check-icon{display:inline-flex;font-size:var(--text-lg);margin-top:var(--space-1)}.schedule-check.is-ok .check-icon{color:var(--color-success)}.schedule-check.is-warning .check-icon{color:var(--color-warning)}.schedule-check.is-error .check-icon{color:var(--color-danger)}.check-summary{flex:1;min-width:0}.check-summary h2{font-size:var(--text-base);margin:0}.check-summary p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.schedule-check-details{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.schedule-check-details h3{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.schedule-check-details ul{margin:0 0 var(--space-3);padding-left:var(--space-4);font-size:var(--text-sm)}.schedule-check-details li{margin-bottom:var(--space-1)}.check-day{font-weight:var(--weight-semibold);margin-right:var(--space-2);font-variant-numeric:tabular-nums}.quick-advice{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-claude-subtle);border:1px solid var(--color-claude-border)}.quick-advice-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.quick-advice-head .btn{margin-left:auto}.quick-advice-reopen{margin-bottom:var(--space-3)}.quick-advice-mark{display:inline-flex;color:var(--color-claude-text);font-size:var(--text-lg)}.quick-advice-text{margin:0 0 var(--space-1);font-size:var(--text-sm);line-height:var(--leading-normal)}.quick-advice-list{list-style:none;margin:var(--space-2) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.quick-advice-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal)}.suggest-dialog{width:min(40rem,100%);display:flex;flex-direction:column;max-height:var(--dialog-max-h)}.suggest-dialog:focus{outline:none}.suggest-body{overflow-y:auto;margin:var(--space-3) calc(-1 * var(--space-2)) 0;padding:0 var(--space-2) var(--space-1)}.suggest-body:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.advice-summary{margin:0 0 var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-subtle);line-height:var(--leading-normal)}.fix-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.fix-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.fix-card.is-applied{border-color:var(--color-success-border);background:var(--color-success-subtle)}.fix-card.is-taken{opacity:var(--opacity-disabled)}.fix-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2)}.fix-when{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.fix-explanation{margin:0;line-height:var(--leading-normal)}.fix-changes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.fix-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.fix-done{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-success);font-weight:var(--weight-semibold)}.advice-extra{margin:0 0 var(--space-2);padding-left:var(--space-4);line-height:var(--leading-normal)}.advice-extra li{margin-bottom:var(--space-1)}.assign-dialog{width:min(32rem,100%);display:flex;flex-direction:column;max-height:var(--dialog-max-h)}.assign-dialog:focus{outline:none}.assign-body{overflow-y:auto;margin:var(--space-3) calc(-1 * var(--space-2)) 0;padding:0 var(--space-2)}.assign-body:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.assign-heading{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.assign-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.btn.assign-option{width:100%;justify-content:space-between;flex-wrap:wrap;text-align:left}.assign-name{font-weight:var(--weight-semibold)}.assign-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}.assign-unavailable{display:flex;flex-direction:column;gap:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text-muted)}.assign-unavailable .assign-name{font-weight:var(--weight-regular)}.assign-reasons{font-size:var(--text-sm)}.btn.assign-option{white-space:normal}.btn.assign-option .btn-label{flex-wrap:wrap;width:100%;column-gap:var(--space-2)}.btn.assign-override .btn-label{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.btn.choose-courier{width:100%;white-space:normal;text-align:center;line-height:var(--leading-snug);padding-top:var(--space-1);padding-bottom:var(--space-1)}.skeleton{display:block;height:var(--text-base);border-radius:var(--radius-sm);background:var(--color-surface-subtle);animation:skeleton-pulse 1.6s ease-in-out infinite}@keyframes skeleton-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-table{padding:var(--space-1) 0}.skeleton-row{display:grid;grid-template-columns:9rem repeat(auto-fit,minmax(3rem,1fr));align-items:center;gap:var(--space-4);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.skeleton-row:last-child{border-bottom:none}.skeleton-row.is-head .skeleton{height:var(--text-xs)}.skeleton-day-body{display:flex;align-items:flex-end;gap:var(--space-1);height:calc(var(--space-8) * 4);padding:var(--row-pad) var(--card-padding)}.skeleton-shift{flex:0 0 var(--space-8);border-radius:var(--radius-md)}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-2)}.toast-region{position:fixed;z-index:80;left:var(--space-4);right:var(--space-4);bottom:calc(var(--tabbar-space) + var(--space-4));display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}.toast{pointer-events:auto;width:min(24rem,100%);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.toast.is-success{border-left-color:var(--color-success)}.toast.is-error{border-left-color:var(--color-danger)}.toast-icon{display:flex;align-items:center;height:calc(var(--text-base) * var(--leading-snug));font-size:var(--text-lg)}.toast.is-success .toast-icon{color:var(--color-success)}.toast.is-error .toast-icon{color:var(--color-danger)}.toast-body{flex:1;min-width:0}.toast-title{margin:0;font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.toast-description{margin:var(--space-1) 0 0;font-size:var(--text-md);color:var(--color-text-muted);line-height:var(--leading-snug)}@media(min-width:768px){.toast-region{left:auto;right:var(--page-gutter);align-items:flex-end}}.tooltip-anchor{display:contents}.tooltip{position:fixed;z-index:90;max-width:18rem;pointer-events:auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);box-shadow:var(--shadow-md)}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);margin-bottom:var(--space-5);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.error-state{border-style:solid;border-color:var(--color-danger-border)}.empty-state.is-compact{padding:var(--space-5) var(--space-3);margin-bottom:0;border:none;background:none}.empty-state-icon,.error-state-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-1);width:var(--space-7);height:var(--space-7);border-radius:var(--radius-full);font-size:var(--text-xl);background:var(--color-accent-subtle);color:var(--color-accent-text)}.error-state-icon{background:var(--color-danger-subtle);color:var(--color-danger)}.empty-state-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.empty-state-message{margin:0;max-width:34rem;color:var(--color-text-muted)}.error-state-detail{display:block;margin-top:var(--space-1);font-size:var(--text-sm)}.empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shift-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-4);padding:0;list-style:none;font-size:var(--text-sm);color:var(--color-text-muted)}.shift-legend li{display:flex;align-items:center;gap:var(--space-2)}.shift-legend li .legend-swatch.kind-car{margin-left:var(--space-2)}@media(min-width:768px){.shift-legend li.legend-standard:after{content:"";width:1px;height:var(--space-4);margin-left:var(--space-3);background:var(--color-border-strong)}}.legend-swatch{flex:none;width:var(--space-5);height:var(--space-4);border-style:solid;border-width:3px 1px 1px;border-radius:var(--radius-sm)}.legend-swatch.is-open{background:var(--color-surface);border-color:var(--color-danger) var(--color-border-strong) var(--color-border-strong)}.data-period{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-3);margin:var(--space-4) 0}.data-period .field input{width:auto}.data-presets{display:flex;flex-wrap:wrap;gap:var(--space-1);align-self:center}.data-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--row-pad) var(--card-padding)}@media(min-width:768px){.data-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.data-stats div{display:flex;flex-direction:column;gap:var(--space-1)}.data-stats dt{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.data-stats dd{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.data-views{display:flex;margin-bottom:var(--space-3);max-width:36rem}.data-views button{flex:1 1 0;min-width:0;padding-inline:var(--space-1);font-size:var(--text-sm)}@media(min-width:768px){.data-views button{padding-inline:var(--space-3);font-size:inherit}}.data-table td{white-space:nowrap}.data-note{margin:0 0 var(--space-3);max-width:var(--measure)}.table-wrap[tabindex]:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table td .tag{margin-left:var(--space-2)}.data-table td .hint{font-size:var(--text-sm);white-space:nowrap}.publication-dialog{width:min(40rem,100%)}.publication-days{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-3)}.publication-shifts{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.publication-shifts li{display:grid;grid-template-columns:6.5rem minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.publication-time{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.publication-who{font-weight:var(--weight-semibold)}.publication-who.is-open{color:var(--color-danger);font-weight:var(--weight-regular)}.nav-dot{display:inline-block;width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--color-feedback);box-shadow:0 0 0 2px var(--color-surface);vertical-align:top}.main-nav a.has-dot{position:relative}.main-nav a.has-dot .nav-dot{position:absolute;top:var(--space-1);right:0}.tab-icon{position:relative}.tab-icon .nav-dot{position:absolute;top:0;right:calc(50% - var(--space-4))}.nav-menu-list a .nav-dot{margin-left:auto;align-self:center}.feedback-dialog{width:min(32rem,100%)}.feedback-form{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-form .dialog-actions{margin-top:0}.grade-picker{display:flex;width:100%}.grade-picker button{flex:1 1 0;min-width:0;padding-inline:0;font-variant-numeric:tabular-nums}.segmented.grade-picker button.active{background:var(--color-feedback);border-color:var(--color-feedback);color:var(--color-on-solid);z-index:1}@media(hover:hover){.segmented.grade-picker button.active:hover{background:var(--color-feedback-strong);border-color:var(--color-feedback-strong)}}.feedback-intro{max-width:var(--measure)}.feedback-views{display:flex;margin:var(--space-4) 0;max-width:24rem}.feedback-views button{flex:1 1 0}.feedback-other-weeks{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin:0 0 var(--space-4)}.feedback-days{display:flex;flex-direction:column}.feedback-day+.feedback-day{margin-top:var(--space-4)}.feedback-list{list-style:none;margin:var(--space-2) 0 0;padding:0;overflow:hidden}.feedback-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);align-items:center;padding:var(--row-pad) var(--card-padding);border-bottom:1px solid var(--color-border)}.feedback-row:last-child{border-bottom:none}.feedback-time{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:var(--text-sm);grid-column:1}.feedback-shift{font-weight:var(--weight-semibold);grid-column:1}.feedback-who{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);grid-column:1}.feedback-actions{grid-column:2;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1)}@media(min-width:768px){.feedback-row{grid-template-columns:7rem minmax(0,1fr) minmax(0,1fr) auto}.feedback-time,.feedback-shift,.feedback-who{grid-column:auto}.feedback-actions{grid-column:auto;grid-row:auto;flex-direction:row;align-items:center}}.feedback-given{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:48rem}.feedback-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--row-pad) var(--card-padding)}.feedback-grade{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--space-7);height:var(--space-7);border-radius:50%;background:var(--color-feedback-subtle);border:1px solid var(--color-feedback-border);color:var(--color-feedback-text);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.feedback-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.feedback-card-body p{margin:0}.feedback-card-text{white-space:pre-wrap}.week-picker-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.versions-dialog{width:min(36rem,100%);max-height:var(--dialog-max-h);overflow-y:auto}.versions-dialog.is-wide{width:min(var(--content-max),100%)}.versions-dialog:focus{outline:none}.versions-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.versions-list li{display:flex;align-items:stretch;gap:var(--space-2)}.template-item.version-item{flex:1;min-width:0;margin:0;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3)}.version-item .name{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text)}.version-meta{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.versions-list .btn{align-self:center}.version-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.version-days{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.version-days .day-band{box-shadow:none}.email-cell{display:inline-flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.email-dialog{width:min(28rem,100%)}
