/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root,:root[data-theme=dark]{--bg:#0b0e13;--surface:#11151b;--surface-raised:#171c24;--surface-soft:#1d232d;--grid:#29313c;--grid-soft:#222933;--text:#f2f5f8;--muted:#8f99a7;--muted-strong:#b8c0ca;--work:#74a8ff;--work-strong:#4285f4;--work-soft:#74a8ff2b;--personal:#ff8d72;--personal-strong:#f2674a;--personal-soft:#ff8d722b;--header-accent:#7047eb;--header-icon:#cbb9ff;--header-accent-shadow:#7047eb4d;--shift-early-ink:#ffd166;--shift-early-bg:#3a2d16;--shift-late-ink:#67d4f2;--shift-late-bg:#123645;--shift-night-ink:#c4b5fd;--shift-night-bg:#292149;--shift-rest-ink:#71e1a2;--shift-rest-bg:#17372b;--remark-dot:#ffc247;--selected-pulse:#a78bfa;--danger:#ff6b78;--menu-import-ink:#a78bfa;--menu-import-bg:#a78bfa1f;--menu-file-ink:#67d4f2;--menu-file-bg:#67d4f21a;--menu-file-sub-bg:#67d4f20b;--menu-local-ink:#71e1a2;--menu-local-bg:#71e1a21a;--menu-external-ink:#ffd166;--menu-external-bg:#ffd1661a;--menu-settings-ink:#c4b5fd;--menu-settings-bg:#c4b5fd1a;--shadow:0 26px 80px #0000006b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eff3f7;--surface:#fff;--surface-raised:#fff;--surface-soft:#eef2f6;--grid:#d7dde5;--grid-soft:#e5e9ef;--text:#18202b;--muted:#737e8b;--muted-strong:#53606e;--work:#2f73df;--work-strong:#1f63d0;--work-soft:#2f73df1f;--personal:#d9583f;--personal-strong:#c94a32;--personal-soft:#d9583f1f;--header-accent:#7047eb;--header-icon:#6241dc;--header-accent-shadow:#7047eb38;--shift-early-ink:#7a4a00;--shift-early-bg:#fff0c7;--shift-late-ink:#075c73;--shift-late-bg:#ddf5fb;--shift-night-ink:#5636a5;--shift-night-bg:#e9e2ff;--shift-rest-ink:#17663a;--shift-rest-bg:#dcf4e4;--remark-dot:#e6a20d;--selected-pulse:#7c3aed;--danger:#c92e3e;--menu-import-ink:#6842b8;--menu-import-bg:#6842b81a;--menu-file-ink:#087b93;--menu-file-bg:#087b9317;--menu-file-sub-bg:#087b930a;--menu-local-ink:#227447;--menu-local-bg:#22744717;--menu-external-ink:#9a5d00;--menu-external-bg:#9a5d0017;--menu-settings-ink:#6842b8;--menu-settings-bg:#6842b817;--shadow:0 24px 70px #252d3933;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}body{color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button,input,select,textarea{color:inherit;font:inherit}button{border:0}button,select,input[type=date],input[type=time],input[type=month]{cursor:pointer}:is(button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.calendar-app{--accent:var(--work);--accent-strong:var(--work-strong);--accent-soft:var(--work-soft);background:radial-gradient(circle at 83% -12%, var(--accent), transparent 28rem), var(--bg);grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;display:grid}@supports (color:color-mix(in lab, red, red)){.calendar-app{background:radial-gradient(circle at 83% -12%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 28rem), var(--bg)}}.calendar-app{color:var(--text);overscroll-behavior-y:contain;overflow:hidden auto}.calendar-app[data-calendar=personal]{--accent:var(--personal);--accent-strong:var(--personal-strong);--accent-soft:var(--personal-soft)}@media (max-width:899px){.calendar-app{scrollbar-width:none;-ms-overflow-style:none}.calendar-app::-webkit-scrollbar{width:0;height:0;display:none}}.app-loading{min-height:100dvh;color:var(--muted);align-content:center;place-items:center;gap:8px;display:grid}.app-loading strong{color:var(--text);margin-top:8px;font-size:1rem}.app-loading>span:last-child{font-size:.76rem}.loading-mark{border:1px solid var(--grid);background:var(--surface-raised);border-radius:17px;place-items:center;width:54px;height:54px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000038}.loading-mark:before{content:"";background:linear-gradient(90deg, var(--work), var(--personal));height:10px;position:absolute;top:0;left:0;right:0}.loading-mark i{color:var(--text);padding-top:5px;font-size:1.25rem;font-style:normal;font-weight:800}.topbar{z-index:20;isolation:isolate;margin:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));border:1px solid var(--header-accent);padding:16px 12px 14px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.topbar{border:1px solid color-mix(in srgb, var(--header-accent) 22%, var(--grid-soft))}}.topbar{background:radial-gradient(ellipse at 2% 115%, var(--header-accent), transparent 34%), radial-gradient(ellipse at 100% 122%, var(--header-accent), transparent 36%), var(--surface);border-radius:24px}@supports (color:color-mix(in lab, red, red)){.topbar{background:radial-gradient(ellipse at 2% 115%, color-mix(in srgb, var(--header-accent) 18%, transparent), transparent 34%), radial-gradient(ellipse at 100% 122%, color-mix(in srgb, var(--header-accent) 16%, transparent), transparent 36%), color-mix(in srgb, var(--surface) 94%, transparent)}}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar:before,.topbar:after{z-index:-1;border:1px solid var(--header-accent);width:46%;height:108px;position:absolute;bottom:-64px}@supports (color:color-mix(in lab, red, red)){.topbar:before,.topbar:after{border:1px solid color-mix(in srgb, var(--header-accent) 50%, transparent)}}.topbar:before,.topbar:after{content:"";opacity:.72;pointer-events:none;border-radius:50%}.topbar:before{left:-16%;transform:rotate(12deg)}.topbar:after{right:-16%;transform:rotate(-12deg)}.topbar-main{grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;gap:8px;width:100%;display:grid}.calendar-toolbar{place-items:center;width:100%;margin-top:18px;display:grid}.calendar-control-stack{justify-items:center;width:min(100%,520px);margin-inline:auto;display:grid}.icon-button,.close-button{border:1px solid var(--grid);background:var(--surface-raised);width:44px;height:44px;color:var(--text);border-radius:15px;flex:0 0 44px;place-items:center;transition:background .16s,border-color .16s,transform .16s;display:inline-grid}.icon-button:active,.close-button:active{transform:scale(.96)}.menu-glyph{gap:4px;width:18px;display:grid}.menu-glyph i{background:currentColor;border-radius:2px;width:18px;height:1.5px;display:block}.menu-button,.search-button{border-color:var(--grid);margin-top:2px}@supports (color:color-mix(in lab, red, red)){.menu-button,.search-button{border-color:color-mix(in srgb, var(--grid) 75%, transparent)}}.menu-button,.search-button{background:var(--surface-raised);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.menu-button,.search-button{background:color-mix(in srgb, var(--surface-raised) 82%, transparent)}}.menu-button,.search-button{color:var(--text)}.menu-button{justify-self:start}.month-heading{text-align:center;align-content:start;justify-items:center;gap:8px;min-width:0;padding-top:8px;display:grid}.month-title{width:100%;min-width:0;min-height:32px;color:var(--text);cursor:pointer;letter-spacing:-.055em;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border-radius:10px;justify-content:center;justify-self:center;align-items:center;padding:0;font-size:clamp(1.08rem,5.8vw,1.8rem);font-weight:700;display:flex;position:relative}.month-title-copy{justify-content:center;align-items:baseline;gap:7px;min-width:0;display:inline-flex}.month-title-year{color:var(--text)}.month-title:focus-within{outline:2px solid var(--accent);outline-offset:2px}.month-title-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.month-title-input:focus-visible{outline:0}.search-button{justify-self:end}.search-glyph{border:2px solid;border-radius:50%;width:16px;height:16px;display:block;position:relative}.search-glyph:after{content:"";transform-origin:0;background:currentColor;border-radius:2px;width:7px;height:2px;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}.calendar-switcher{border:1px solid var(--grid);grid-template-columns:minmax(0,1.22fr) minmax(0,1fr) minmax(0,1.08fr);gap:2px;width:100%;padding:4px;display:grid}@supports (color:color-mix(in lab, red, red)){.calendar-switcher{border:1px solid color-mix(in srgb, var(--grid) 82%, transparent)}}.calendar-switcher{background:var(--surface-soft);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.calendar-switcher{background:color-mix(in srgb, var(--surface-soft) 88%, transparent)}}.calendar-switcher[data-has-calculator=false]{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-switcher button{min-width:0;min-height:40px;color:var(--muted-strong);white-space:nowrap;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:clamp(.66rem,2.35vw,.78rem);font-weight:700;transition:background .17s,color .17s,box-shadow .17s;display:flex}.calendar-switcher button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:0 0 17px;width:17px;height:17px}.calendar-switcher button.active{background:var(--header-accent);background-image:linear-gradient(135deg, var(--header-accent), var(--header-accent))}@supports (color:color-mix(in lab, red, red)){.calendar-switcher button.active{background-image:linear-gradient(135deg, color-mix(in srgb, var(--header-accent) 78%, #fff), var(--header-accent))}}.calendar-switcher button.active{color:#fff;box-shadow:0 5px 16px var(--header-accent-shadow)}.salary-calculator-trigger{width:100%;min-height:40px;color:var(--muted-strong);background:0 0;border:0;border-radius:999px;padding:0 9px;font-size:clamp(.66rem,2.35vw,.78rem);font-weight:700;transition:background .17s,color .17s,transform .16s}.salary-calculator-trigger:hover{background:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.salary-calculator-trigger:hover{background:color-mix(in srgb, var(--header-accent) 15%, transparent)}}.salary-calculator-trigger:hover{color:var(--text)}.salary-calculator-trigger:active{transform:scale(.97)}.main-content{width:100%;min-width:0;min-height:0;display:block;overflow:visible}.month-card{background:var(--surface);grid-template-rows:36px minmax(0,1fr);min-width:0;min-height:100%;display:grid}.shift-legend{display:none}.month-swipe-viewport{touch-action:pan-y;min-width:0;height:100%;min-height:100%;position:relative;overflow:hidden}.month-swipe-track{will-change:transform;width:300%;height:100%;min-height:100%;display:flex;transform:translate(-33.3333%)}.month-swipe-panel{flex:0 0 33.3333%;width:33.3333%;min-width:0;height:100%;min-height:100%}.month-swipe-panel>.month-card{height:100%}.monthly-shift-summary{border:1px solid var(--grid);background:var(--surface-raised);border-radius:18px;min-width:0;padding:18px;box-shadow:0 16px 42px #0000002e}.summary-mobile{width:calc(100% - 24px);max-width:440px;margin:0 auto calc(24px + env(safe-area-inset-bottom))}.summary-desktop{display:none}.salary-received-panel{border:1px solid var(--grid);background:var(--surface-raised);border-radius:18px;min-width:0;padding:18px;box-shadow:0 16px 42px #0000002e}.salary-received-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.salary-received-heading h2{margin:8px 0 5px;font-size:1.25rem;font-weight:600}.salary-received-heading p:not(.eyebrow),.salary-received-note,.salary-received-sync{color:var(--muted);margin:8px 0;font-size:.72rem;line-height:1.5}.salary-received-form .field{margin-bottom:12px}.salary-received-input{border:1px solid var(--grid);background:var(--surface-soft);min-width:0;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.salary-received-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.field .salary-received-input input{width:100%;min-width:0;min-height:46px;box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;padding:10px 0;font-size:16px}.salary-received-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px;display:grid}.salary-received-values dt{color:var(--muted);font-size:.72rem}.salary-received-values dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:1rem;font-weight:700}.salary-comparison{border:1px solid;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-size:.75rem;display:flex}.salary-comparison strong{font-size:.9rem}.salary-comparison-short{color:var(--shift-early-ink);background:var(--shift-early-bg)}.salary-comparison-match{color:var(--shift-rest-ink);background:var(--shift-rest-bg)}.salary-comparison-exceed{color:var(--shift-late-ink);background:var(--shift-late-bg)}.salary-received-error{color:var(--danger);font-size:.78rem}.salary-received-sync{color:var(--muted-strong)}.monthly-summary-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.monthly-summary-heading h2{letter-spacing:-.025em;margin:4px 0 0;font-size:1.05rem}.monthly-summary-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.monthly-summary-stat{border:1px solid var(--summary-ink);min-width:0;min-height:112px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.monthly-summary-stat{border:1px solid color-mix(in srgb, var(--summary-ink) 36%, var(--grid))}}.monthly-summary-stat{background:var(--summary-fill);color:var(--summary-ink);border-radius:13px}.monthly-summary-stat dt{align-content:start;gap:6px;font-size:.65rem;font-weight:800;display:grid}.summary-stat-label{gap:3px;display:grid}.monthly-summary-stat dd{align-self:end;margin:8px 0 0;font-size:1.65rem;font-weight:850;line-height:1}.monthly-summary-stat small{color:var(--summary-ink);margin-top:5px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.monthly-summary-stat small{color:color-mix(in srgb, var(--summary-ink) 76%, var(--muted))}}.monthly-summary-stat small{text-overflow:ellipsis;font-size:.56rem;line-height:1.25}.summary-night{--summary-ink:var(--shift-night-ink);--summary-fill:var(--shift-night-bg)}.summary-extension{--summary-ink:var(--shift-early-ink);--summary-fill:var(--shift-early-bg)}.summary-rdot{--summary-ink:var(--shift-rest-ink);--summary-fill:var(--shift-rest-bg)}.monthly-salary-card{border:1px solid var(--work);grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;margin-top:10px;padding:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.monthly-salary-card{border:1px solid color-mix(in srgb, var(--work) 42%, var(--grid))}}.monthly-salary-card{background:linear-gradient(135deg, var(--work-soft), var(--surface-soft));border-radius:14px}.monthly-salary-title{min-width:0;color:var(--text);align-items:center;gap:9px;font-size:.72rem;font-weight:800;display:flex}.monthly-salary-title>span:last-child{gap:2px;display:grid}.monthly-salary-title small{color:var(--muted);font-size:.58rem;font-weight:650}.monthly-salary-amount{color:var(--text);white-space:nowrap;align-self:center;font-size:1.35rem;line-height:1}.monthly-salary-value{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.salary-visibility-toggle{border:1px solid var(--work);flex:none;width:32px;height:32px;padding:0;display:grid}@supports (color:color-mix(in lab, red, red)){.salary-visibility-toggle{border:1px solid color-mix(in srgb, var(--work) 25%, var(--grid))}}.salary-visibility-toggle{background:var(--surface-raised);border-radius:50%;outline:0}@supports (color:color-mix(in lab, red, red)){.salary-visibility-toggle{background:color-mix(in srgb, var(--surface-raised) 76%, transparent)}}.salary-visibility-toggle{color:var(--muted-strong);place-items:center}.salary-visibility-toggle:hover{border-color:var(--work)}@supports (color:color-mix(in lab, red, red)){.salary-visibility-toggle:hover{border-color:color-mix(in srgb, var(--work) 52%, var(--grid))}}.salary-visibility-toggle:hover{color:var(--text)}.salary-visibility-toggle:focus-visible{box-shadow:0 0 0 3px var(--work)}@supports (color:color-mix(in lab, red, red)){.salary-visibility-toggle:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--work) 28%, transparent)}}.salary-visibility-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.salary-amount-hidden{letter-spacing:.1em}.monthly-salary-breakdown{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.monthly-salary-breakdown>span{border-top:1px solid var(--work);gap:3px;min-width:0;padding-top:8px;display:grid}@supports (color:color-mix(in lab, red, red)){.monthly-salary-breakdown>span{border-top:1px solid color-mix(in srgb, var(--work) 22%, var(--grid))}}.monthly-salary-breakdown>span{color:var(--muted);font-size:.56rem;line-height:1.25}.monthly-salary-breakdown strong{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.salary-breakdown-copy{gap:3px;min-width:0;display:grid}.summary-mobile.monthly-shift-summary{border:1px solid var(--grid);border-radius:16px;padding:18px}.personal-day-details{display:none}.personal-day-details-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.personal-day-details-header h2{letter-spacing:-.025em;margin:6px 0 0;font-size:1.05rem;line-height:1.2}.personal-day-add{background:var(--accent-strong);color:#fff;white-space:nowrap;border-radius:12px;min-height:38px;padding:0 13px;font-size:.72rem;font-weight:800}.personal-day-events{gap:8px;margin-top:14px;display:grid}.personal-day-event{border:1px solid var(--accent);grid-template-columns:68px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:64px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.personal-day-event{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--grid))}}.personal-day-event{background:var(--surface-soft);text-align:left;border-radius:13px}.personal-day-time{color:var(--accent);font-size:.7rem;font-weight:750;line-height:1.3}.personal-day-event-body{gap:6px;min-width:0;display:grid}.personal-day-event-body>strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.personal-day-remark{border:1px solid var(--remark-dot);gap:3px;padding:7px 8px;display:grid}@supports (color:color-mix(in lab, red, red)){.personal-day-remark{border:1px solid color-mix(in srgb, var(--remark-dot) 30%, var(--grid))}}.personal-day-remark{background:var(--remark-dot);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.personal-day-remark{background:color-mix(in srgb, var(--remark-dot) 8%, var(--surface-raised))}}.personal-day-remark>span{color:var(--remark-dot);letter-spacing:.09em;text-transform:uppercase;font-size:.56rem;font-weight:850;line-height:1}.personal-day-remark small{color:var(--muted-strong);overflow-wrap:anywhere;font-size:.71rem;line-height:1.35}.personal-day-empty{border:1px dashed var(--accent);place-content:center;gap:5px;min-height:82px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.personal-day-empty{border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--grid))}}.personal-day-empty{background:var(--surface-soft);text-align:center;border-radius:13px}.personal-day-empty strong{font-size:.82rem}.personal-day-empty span{color:var(--muted);font-size:.7rem;line-height:1.4}.summary-mobile .monthly-summary-heading{align-items:center;margin-bottom:16px}.summary-mobile .monthly-summary-heading h2,.salary-calculator-dialog .dialog-header h2,.roster-archive-dialog .dialog-header h2{letter-spacing:-.025em;margin-top:7px;font-size:1.45rem;font-weight:500;line-height:1.2}.summary-mobile .monthly-summary-counts{gap:0}.summary-mobile .monthly-summary-stat{border:0;border-right:1px solid var(--grid-soft);background:0 0;border-radius:0;grid-template-rows:auto auto;align-content:start;min-height:82px;padding:0 10px}.summary-mobile .monthly-summary-stat:first-child{padding-left:7px}.summary-mobile .monthly-summary-stat:last-child{border-right:0;padding-right:7px}.summary-mobile .monthly-summary-stat dt{gap:4px;font-size:.72rem}.summary-mobile .summary-stat-label{gap:6px}.summary-mobile .monthly-summary-stat small{margin-top:0;font-size:.58rem;font-weight:550}.summary-mobile .monthly-summary-stat dd{align-self:start;margin-top:8px;font-size:1.8rem}.summary-mobile .monthly-salary-card{border:0;border-top:1px solid var(--grid-soft);background:0 0;border-radius:0;gap:13px 14px;margin-top:16px;padding:16px 0 0}.summary-mobile .monthly-salary-title{gap:0;font-size:.86rem}.summary-mobile .monthly-salary-title small{margin-top:2px;font-size:.68rem}.summary-mobile .monthly-salary-amount{letter-spacing:-.035em;font-size:clamp(1.35rem,6vw,1.75rem)}.summary-mobile .monthly-salary-breakdown{border:1px solid var(--work);gap:0;padding:13px 8px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-salary-breakdown{border:1px solid color-mix(in srgb, var(--work) 10%, var(--grid-soft))}}.summary-mobile .monthly-salary-breakdown{background:var(--surface-soft);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-salary-breakdown{background:color-mix(in srgb, var(--surface-soft) 88%, var(--work-soft))}}.summary-mobile .monthly-salary-breakdown>span{border-top:0;border-right:1px solid var(--grid-soft);align-items:start;gap:4px;padding:0 8px;font-size:.58rem}.summary-mobile .monthly-salary-breakdown>span:last-child{border-right:0}.summary-mobile .monthly-salary-breakdown strong{font-size:.7rem}.weekday-strip,.week-row{grid-template-columns:36px repeat(7,minmax(0,1fr));display:grid}.weekday-strip{z-index:3;border-bottom:1px solid var(--grid);background:var(--surface);position:relative}.week-gutter-title,.weekday{min-width:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;place-items:center;font-size:.64rem;font-weight:700;display:grid}.week-gutter-title{border-right:1px solid var(--grid);background:var(--surface-soft);color:var(--muted-strong);font-size:.57rem}.weekday:nth-child(2),.weekday:nth-child(8){color:var(--accent)}.weekday-full{display:none}.month-grid{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(6,minmax(62px,1fr));min-height:0;display:grid}.week-row{min-height:0;overflow:hidden}.week-number{border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);background:var(--surface-soft);color:var(--muted-strong);font-variant-numeric:tabular-nums;justify-content:center;align-items:flex-start;padding-top:11px;font-size:.65rem;display:flex}.week-row:last-child .week-number{border-bottom:0}.day-cell{background:0 0;border:1px solid #0000;border-radius:9px;min-width:0;min-height:0;margin:2px;transition:background .14s,border-color .14s,box-shadow .14s;position:relative;overflow:hidden}.day-cell:last-child{margin-right:3px}.day-cell.selected{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-cell.selected{border-color:color-mix(in srgb, var(--accent) 76%, var(--grid))}}.day-cell.selected{box-shadow:none}.day-cell.selected:not(.shift-event){background:var(--accent-soft)}.day-cell.outside{opacity:.48;background:0 0;border-color:#0000}.day-cell.shift-event{border-color:var(--event-ink)}@supports (color:color-mix(in lab, red, red)){.day-cell.shift-event{border-color:color-mix(in srgb, var(--event-ink) 34%, transparent)}}.day-cell.shift-event{background:var(--event-fill)}.day-cell.shift-event.selected{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-cell.shift-event.selected{border-color:color-mix(in srgb, var(--accent) 76%, var(--grid))}}.day-cell.shift-event.selected{box-shadow:none}.day-cell.shift-run-continues-previous,.day-cell.shift-run-continues-next{border-color:#0000}.day-cell.shift-run-continues-previous{border-top-left-radius:0;border-bottom-left-radius:0}.day-cell.shift-run-continues-next{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-2px}.day-hit{z-index:1;text-align:left;background:0 0;width:100%;padding:7px 4px;position:absolute;inset:0}.day-number{width:23px;height:23px;color:var(--muted-strong);font-variant-numeric:tabular-nums;border:0;border-radius:0;place-items:center;font-size:.68rem;display:grid;position:absolute;top:7px;left:7px}.outside .day-number{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.outside .day-number{color:color-mix(in srgb, var(--muted) 50%, transparent)}}.day-cell.today .day-number{color:var(--accent);background:0 0;font-weight:850}.day-cell.today .day-number:after{background:var(--accent);content:"";border-radius:999px;height:2px;position:absolute;bottom:0;left:2px;right:2px}.day-cell.today{--date-pulse-color:var(--accent);will-change:box-shadow;animation:1.65s ease-in-out infinite date-tile-pulse}.day-cell.selected:not(.today){--date-pulse-color:var(--selected-pulse);will-change:box-shadow;animation:1.65s ease-in-out infinite date-tile-pulse}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next){box-shadow:none;will-change:auto;border-color:#0000;animation:none}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{border:1px solid var(--date-pulse-color);position:absolute;inset:1px}@supports (color:color-mix(in lab, red, red)){.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{border:1px solid color-mix(in srgb, var(--date-pulse-color) 68%, transparent)}}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{content:"";pointer-events:none;will-change:border-color, box-shadow, opacity;border-radius:9px;animation:1.65s ease-in-out infinite joined-date-tile-pulse}@keyframes joined-date-tile-pulse{0%,to{border-color:color-mix(in srgb, var(--date-pulse-color) 68%, transparent);box-shadow:inset 0 0 0 0 color-mix(in srgb, var(--date-pulse-color) 36%, transparent), inset 0 0 18px color-mix(in srgb, var(--date-pulse-color) 22%, transparent);opacity:.84}50%{border-color:var(--date-pulse-color);box-shadow:inset 0 0 0 1px var(--date-pulse-color), inset 0 0 30px color-mix(in srgb, var(--date-pulse-color) 48%, transparent);opacity:1}}@keyframes date-tile-pulse{0%,to{box-shadow:0 0 0 1px color-mix(in srgb, var(--date-pulse-color) 68%, transparent), 0 0 18px color-mix(in srgb, var(--date-pulse-color) 42%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text) 9%, transparent)}50%{box-shadow:0 0 0 2px var(--date-pulse-color), 0 0 30px color-mix(in srgb, var(--date-pulse-color) 78%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text) 14%, transparent)}}.day-cell.selected:not(.today) .day-number{color:var(--text)}.day-cell.shift-event .day-number{color:var(--text);font-weight:750}.day-remark-dot{background:var(--remark-dot);width:6px;height:6px;box-shadow:0 0 0 2px var(--remark-dot), 0 2px 7px var(--remark-dot);border-radius:50%;position:absolute;top:8px;right:7px}@supports (color:color-mix(in lab, red, red)){.day-remark-dot{box-shadow:0 0 0 2px color-mix(in srgb, var(--remark-dot) 22%, transparent), 0 2px 7px color-mix(in srgb, var(--remark-dot) 42%, transparent)}}.cell-events{--event-gutter:7px;z-index:2;top:35px;right:var(--event-gutter);left:var(--event-gutter);pointer-events:none;gap:3px;display:grid;position:absolute}.event-chip,.more-events,.mobile-more-events{pointer-events:auto;min-width:0}.event-chip{width:100%;height:22px;color:var(--accent);text-align:left;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0 2px;font-size:0;display:flex}.mobile-event-summary{border:1px solid;justify-content:center;align-items:center;gap:2px;min-width:31px;min-height:19px;padding:2px 5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mobile-event-summary{border:1px solid color-mix(in srgb, currentColor 58%, transparent)}}.mobile-event-summary{background:var(--accent-soft);border-radius:6px;box-shadow:0 3px 9px}@supports (color:color-mix(in lab, red, red)){.mobile-event-summary{box-shadow:0 3px 9px color-mix(in srgb, currentColor 16%, transparent)}}.event-chip:not(.shift-event) .mobile-event-summary{width:100%;min-width:0;padding-inline:4px}.mobile-event-title{color:currentColor;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.5rem;font-weight:750;line-height:1.1;display:block;overflow:hidden}.event-chip.shift-event .mobile-event-summary{width:100%;min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;padding:0}.mobile-event-code{color:currentColor;letter-spacing:.02em;white-space:nowrap;font-size:.58rem;font-weight:850;line-height:1}.mobile-event-code-modified{letter-spacing:-.025em}.event-title{display:none}.shift-early{--event-ink:var(--shift-early-ink);--event-fill:var(--shift-early-bg)}.shift-late{--event-ink:var(--shift-late-ink);--event-fill:var(--shift-late-bg)}.shift-night{--event-ink:var(--shift-night-ink);--event-fill:var(--shift-night-bg)}.shift-rest{--event-ink:var(--shift-rest-ink);--event-fill:var(--shift-rest-bg)}.event-chip.shift-event{color:var(--event-ink);background:0 0;border:0;justify-content:flex-start;padding:0}.event-chip.shift-event .mobile-event-code,.event-chip.shift-event .event-title{text-align:left}.event-chip:nth-child(n+2){display:none}.mobile-more-events{background:var(--accent-soft);min-width:17px;height:17px;color:var(--accent);border-radius:6px;place-items:center;padding:0 3px;font-size:.56rem;font-weight:800;display:grid;position:absolute;top:-1px;right:1px}.more-events{color:var(--muted);background:0 0;display:none}.agenda-panel{z-index:70;max-height:min(70dvh,610px);padding:8px 18px max(18px, env(safe-area-inset-bottom));border:1px solid var(--grid);background:var(--surface-raised);box-shadow:var(--shadow);visibility:hidden;border-radius:24px 24px 0 0;flex-direction:column;transition:transform .22s,visibility .22s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.agenda-panel.open{visibility:visible;transform:translateY(0)}.sheet-handle{background:var(--grid);border-radius:8px;width:36px;height:4px;margin:0 auto 14px}.agenda-header,.dialog-header,.menu-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.agenda-header h2,.dialog-header h2{letter-spacing:-.035em;margin:3px 0 0;font-size:clamp(1.22rem,5vw,1.55rem);line-height:1.15}.eyebrow,.menu-label,.result-label{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:800}.close-button{background:var(--surface-soft);width:40px;height:40px;color:var(--muted-strong);border-color:#0000;flex-basis:40px;font-size:1.4rem;font-weight:300}.agenda-list{min-height:130px;margin-top:18px;overflow-y:auto}.agenda-event{border:1px solid var(--grid);background:var(--surface-soft);text-align:left;border-radius:12px;grid-template-columns:70px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:65px;margin-bottom:8px;padding:11px 10px;display:grid;box-shadow:0 5px 14px #0000001f}.agenda-event:last-child{margin-bottom:0}.agenda-event.shift-event{border-color:var(--event-ink)}@supports (color:color-mix(in lab, red, red)){.agenda-event.shift-event{border-color:color-mix(in srgb, var(--event-ink) 46%, var(--grid))}}.agenda-event.shift-event{background:var(--event-fill);box-shadow:inset 4px 0 var(--event-ink), 0 6px 16px var(--event-ink)}@supports (color:color-mix(in lab, red, red)){.agenda-event.shift-event{box-shadow:inset 4px 0 var(--event-ink), 0 6px 16px color-mix(in srgb, var(--event-ink) 14%, transparent)}}.agenda-time{color:var(--accent);font-size:.74rem;font-weight:700}.agenda-event.shift-event .agenda-time,.agenda-event.shift-event .agenda-event-body strong{color:var(--event-ink)}.agenda-event-body{gap:4px;min-width:0;display:grid}.agenda-event-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.agenda-event-body>.agenda-note{border:1px solid var(--accent);gap:3px;margin-top:2px;padding:7px 8px;display:grid}@supports (color:color-mix(in lab, red, red)){.agenda-event-body>.agenda-note{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--grid))}}.agenda-event-body>.agenda-note{background:var(--accent-soft);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.agenda-event-body>.agenda-note{background:color-mix(in srgb, var(--accent-soft) 78%, var(--surface-raised))}}.agenda-event-body>.agenda-note{white-space:normal}.agenda-note-label{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-size:.59rem;font-weight:850;line-height:1}.agenda-note-text{color:var(--muted-strong);overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.agenda-event.shift-event .agenda-note{border-color:var(--event-ink)}@supports (color:color-mix(in lab, red, red)){.agenda-event.shift-event .agenda-note{border-color:color-mix(in srgb, var(--event-ink) 38%, var(--grid))}}.agenda-event.shift-event .agenda-note{background:var(--event-fill)}@supports (color:color-mix(in lab, red, red)){.agenda-event.shift-event .agenda-note{background:color-mix(in srgb, var(--event-fill) 80%, var(--surface-raised))}}.agenda-event.shift-event .agenda-note-label{color:var(--event-ink)}.event-arrow{color:var(--muted);font-size:1.4rem}.empty-agenda,.empty-results{text-align:center;place-items:center;min-height:168px;padding:16px;display:grid}.empty-agenda h3,.empty-agenda p,.empty-results p,.empty-results span{margin:0}.empty-agenda h3{margin-top:11px;font-size:1rem}.empty-agenda p,.empty-results span{max-width:250px;color:var(--muted);margin-top:5px;font-size:.78rem;line-height:1.5}.empty-orbit{border:1px solid var(--grid);border-radius:50%;width:45px;height:45px;display:block;position:relative}.empty-orbit:before,.empty-orbit:after{content:"";border:1px solid var(--accent);border-radius:50%;position:absolute}.empty-orbit:before{inset:9px}.empty-orbit:after{background:var(--accent);border:0;width:7px;height:7px;top:5px;right:7px}.agenda-add,.primary-button,.secondary-button,.delete-button{border-radius:14px;min-height:46px;font-size:.82rem;font-weight:750}.agenda-add,.primary-button{background:var(--accent-strong);color:#fff}.agenda-add{width:100%;margin-top:14px}.mobile-scrim{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#03060a8a;position:fixed;inset:0}.overlay{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03060aa3;position:fixed;inset:0}.overlay-dismiss{z-index:0;cursor:default;background:0 0;width:100%;height:100%;position:absolute;inset:0}.menu-drawer{z-index:1;width:min(68vw,300px);height:100%;padding:max(26px, env(safe-area-inset-top)) 22px max(24px, env(safe-area-inset-bottom));border-right:1px solid var(--grid);position:relative;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.menu-drawer{border-right:1px solid color-mix(in srgb, var(--grid) 48%, transparent)}}.menu-drawer{background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.menu-drawer{background:color-mix(in srgb, var(--surface-raised) 88%, var(--bg))}}.menu-drawer{box-shadow:var(--shadow);animation:.18s both drawer-in}@keyframes drawer-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.menu-header{border-bottom:1px solid var(--grid-soft);align-items:center;gap:13px;min-height:62px;padding-bottom:24px}@supports (color:color-mix(in lab, red, red)){.menu-header{border-bottom:1px solid color-mix(in srgb, var(--grid-soft) 78%, transparent)}}.brand-mark{background:url(/icons/pika-calendar-192.png) 50%/contain no-repeat;flex:0 0 48px;width:48px;height:48px;display:block}.menu-header>div:nth-child(2){gap:3px;min-width:0;margin-right:auto;display:grid}.menu-header strong{color:var(--text);letter-spacing:-.035em;font-size:1.08rem}.menu-header span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.menu-section{border-bottom:1px solid var(--grid-soft);padding:22px 0}.menu-label{color:var(--muted);letter-spacing:.15em;margin-bottom:12px}.theme-toggle{background:var(--surface-soft);border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.theme-toggle button{min-height:38px;color:var(--muted);background:0 0;border-radius:10px;font-size:.8rem;font-weight:700}.theme-toggle button.active{background:var(--surface-raised);color:var(--text);box-shadow:0 2px 9px #0000001f}.menu-row{border-bottom:1px solid var(--grid-soft);width:100%;min-height:48px;color:var(--muted-strong);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0 5px;font-size:.82rem;display:flex}.menu-link,.menu-link:visited{color:var(--muted-strong);text-decoration:none}.menu-row.danger{color:var(--danger)}.menu-row:disabled{opacity:.48;cursor:not-allowed}.settings-section{padding:14px 0}.settings-toggle{border:1px solid var(--grid);background:var(--surface-soft);min-height:62px;color:var(--text);border-radius:12px;padding:0 12px}.settings-toggle>span:first-child{gap:4px;display:grid}.settings-toggle strong{font-size:.86rem}.settings-toggle small{color:var(--muted);font-size:.68rem}.settings-chevron{color:var(--muted-strong);font-size:1.35rem;transition:transform .16s}.settings-toggle.open .settings-chevron{transform:rotate(90deg)}.settings-panel{padding-top:14px}.settings-group{border-top:1px solid var(--grid-soft);padding:16px 0}.layout-setting{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:64px;padding:0 5px;display:grid}.layout-setting-copy{gap:4px;min-width:0;display:grid}.layout-setting-copy strong{color:var(--text);font-size:.82rem}.layout-setting-copy small{color:var(--muted);font-size:.68rem;line-height:1.35}.layout-setting input{-webkit-appearance:none;appearance:none;border:1px solid var(--grid);background:var(--surface-soft);cursor:pointer;border-radius:999px;outline:0;width:42px;height:24px;margin:0;transition:border-color .15s,background .15s;position:relative}.layout-setting input:after{background:var(--muted-strong);content:"";border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.layout-setting input:checked{border-color:var(--accent);background:var(--accent)}.layout-setting input:checked:after{background:#fff;transform:translate(18px)}.layout-setting input:focus-visible{box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.layout-setting input:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent)}}.salary-setting{grid-template-columns:minmax(0,1fr) minmax(130px,44%);align-items:center;gap:14px;min-height:64px;padding:0 5px;display:grid}.salary-setting-copy{gap:4px;min-width:0;display:grid}.salary-setting-copy strong{color:var(--text);font-size:.82rem}.salary-setting-copy small{color:var(--muted);font-size:.68rem;line-height:1.35}.salary-setting-control{border:1px solid var(--grid);background:var(--surface-soft);min-width:0;min-height:42px;color:var(--muted);border-radius:11px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:0 9px;font-size:.65rem;font-weight:750;display:grid}.salary-setting-control input{width:100%;min-width:0;color:var(--text);text-align:right;background:0 0;border:0;outline:0;font-size:1rem;font-weight:750}.settings-panel .device-note{margin:18px 4px 4px}.roster-menu-row{min-height:60px}.menu-import-row,.menu-ivu-row{border:1px solid;border-radius:12px;min-height:64px;padding:0 12px}.menu-import-row{border-color:var(--menu-import-ink)}@supports (color:color-mix(in lab, red, red)){.menu-import-row{border-color:color-mix(in srgb, var(--menu-import-ink) 38%, var(--grid))}}.menu-import-row{background:var(--menu-import-bg)}.roster-menu-row.menu-import-row strong{color:var(--menu-import-ink)}.menu-import-row>span:last-child,.menu-ivu-row>span:last-child{border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:1rem;font-weight:750;display:grid}.menu-import-row>span:last-child{background:var(--menu-import-ink)}@supports (color:color-mix(in lab, red, red)){.menu-import-row>span:last-child{background:color-mix(in srgb, var(--menu-import-ink) 18%, transparent)}}.menu-import-row>span:last-child{color:var(--menu-import-ink)}.roster-menu-row>span:first-child{gap:4px;min-width:0;padding-right:12px;display:grid}.roster-menu-row strong{color:var(--text);font-size:.82rem}.roster-menu-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.saved-roster-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:18px 5px 6px;font-size:.65rem;font-weight:800}.shared-roster-action{border:1px solid var(--menu-file-ink);min-height:62px;margin-top:8px;padding:0 12px}@supports (color:color-mix(in lab, red, red)){.shared-roster-action{border:1px solid color-mix(in srgb, var(--menu-file-ink) 38%, var(--grid))}}.shared-roster-action{background:var(--menu-file-bg);color:var(--text);border-radius:12px}.shared-roster-action>span:first-child{gap:4px;min-width:0;display:grid}.shared-roster-action strong,.shared-roster-chevron{color:var(--menu-file-ink)}.shared-roster-action strong{font-size:.86rem}.shared-roster-action small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.shared-roster-chevron{font-size:1.35rem}.device-roster-label{color:var(--menu-local-ink)}.saved-roster-row{min-height:58px}.shared-roster-row,.device-roster-row{border:1px solid;border-left-width:3px;border-radius:12px;margin:6px 0;padding:0 6px 0 8px}.shared-roster-row{border-color:var(--menu-file-ink)}@supports (color:color-mix(in lab, red, red)){.shared-roster-row{border-color:color-mix(in srgb, var(--menu-file-ink) 28%, var(--grid))}}.shared-roster-row{background:var(--menu-file-sub-bg)}.shared-roster-row .saved-roster-download strong,.shared-roster-row .saved-roster-download>span:last-child{color:var(--menu-file-ink)}.shared-roster-row .saved-roster-action{border-color:var(--menu-file-ink)}@supports (color:color-mix(in lab, red, red)){.shared-roster-row .saved-roster-action{border-color:color-mix(in srgb, var(--menu-file-ink) 30%, var(--grid))}}.shared-roster-row .saved-roster-action{background:var(--menu-file-ink)}@supports (color:color-mix(in lab, red, red)){.shared-roster-row .saved-roster-action{background:color-mix(in srgb, var(--menu-file-ink) 10%, var(--surface-soft))}}.shared-roster-row .saved-roster-action:not(.delete){color:var(--menu-file-ink)}.device-roster-row{border-color:var(--menu-local-ink)}@supports (color:color-mix(in lab, red, red)){.device-roster-row{border-color:color-mix(in srgb, var(--menu-local-ink) 36%, var(--grid))}}.device-roster-row{background:var(--menu-local-bg)}.device-roster-row strong,.device-roster-row>span:last-child{color:var(--menu-local-ink)}.saved-roster-download{min-width:0;min-height:57px;color:var(--muted-strong);text-align:left;background:0 0;flex:1;justify-content:space-between;align-items:center;padding:0 10px 0 0;display:flex}.saved-roster-download>span:first-child{gap:4px;min-width:0;padding-right:12px;display:grid}.saved-roster-actions{flex:none;gap:4px;display:flex}.saved-roster-action{border:1px solid var(--grid);background:var(--surface-soft);width:34px;height:34px;color:var(--muted-strong);border-radius:9px;place-items:center;font-size:1rem;display:grid}.saved-roster-action.delete{color:var(--danger)}.menu-ivu-row{border-color:var(--menu-external-ink);margin-top:12px}@supports (color:color-mix(in lab, red, red)){.menu-ivu-row{border-color:color-mix(in srgb, var(--menu-external-ink) 38%, var(--grid))}}.menu-ivu-row{background:var(--menu-external-bg)}.menu-ivu-row strong,.menu-ivu-row>span:last-child{color:var(--menu-external-ink)}.menu-ivu-row>span:last-child{background:var(--menu-external-ink)}@supports (color:color-mix(in lab, red, red)){.menu-ivu-row>span:last-child{background:color-mix(in srgb, var(--menu-external-ink) 17%, transparent)}}.settings-toggle{border-color:var(--menu-settings-ink)}@supports (color:color-mix(in lab, red, red)){.settings-toggle{border-color:color-mix(in srgb, var(--menu-settings-ink) 38%, var(--grid))}}.settings-toggle{background:var(--menu-settings-bg)}.settings-toggle strong,.settings-toggle .settings-chevron{color:var(--menu-settings-ink)}.menu-drawer .menu-import-row,.menu-drawer .shared-roster-action,.menu-drawer .menu-ivu-row,.menu-drawer .settings-toggle{background:0 0;border:0;border-radius:0;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:14px;min-height:76px;margin:0;padding:0 2px;display:grid}.menu-drawer .menu-action-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:27px;height:27px}.menu-drawer .menu-action-copy{gap:4px;min-width:0;display:grid}.menu-drawer .menu-action-copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;font-weight:650;overflow:hidden}.menu-drawer .menu-action-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.menu-drawer .menu-action-icon-import,.menu-drawer .menu-import-row>span:last-child{color:var(--menu-import-ink)}.menu-drawer .menu-action-icon-shared,.menu-drawer .shared-roster-chevron{color:var(--menu-file-ink)}.menu-drawer .menu-action-icon-external,.menu-drawer .menu-ivu-row>span:last-child{color:var(--menu-external-ink)}.menu-drawer .menu-action-icon-settings,.menu-drawer .settings-chevron{color:var(--menu-settings-ink)}.menu-drawer .menu-import-row>span:last-child,.menu-drawer .menu-ivu-row>span:last-child{background:0 0;width:auto;height:auto;font-size:1.15rem}.menu-drawer .shared-roster-chevron,.menu-drawer .settings-chevron{justify-self:center;font-size:1.55rem}.menu-drawer .settings-section{border-bottom:0;padding-top:12px}.saved-roster-empty{border-bottom:1px solid var(--grid-soft);color:var(--muted);padding:12px 5px 16px;font-size:.68rem}.sync-menu-row{min-height:64px}.sync-menu-row>span:first-child{gap:4px;padding-right:12px;display:grid}.sync-menu-row strong{color:var(--text);font-size:.82rem}.sync-menu-row small{color:var(--muted);font-size:.68rem;line-height:1.35}.sync-dot{background:var(--muted);width:10px;height:10px;box-shadow:0 0 0 4px var(--muted);border-radius:50%;flex:0 0 10px}@supports (color:color-mix(in lab, red, red)){.sync-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--muted) 14%, transparent)}}.sync-dot.synced{background:#4ecb8d;box-shadow:0 0 0 4px #4ecb8d24}.sync-dot.connecting{background:var(--work);box-shadow:0 0 0 4px var(--work)}@supports (color:color-mix(in lab, red, red)){.sync-dot.connecting{box-shadow:0 0 0 4px color-mix(in srgb, var(--work) 16%, transparent)}}.sync-dot.offline{background:#e9a95d;box-shadow:0 0 0 4px #e9a95d24}.device-note{color:var(--muted);margin:20px 4px 0;font-size:.71rem;line-height:1.55}.centered-overlay{align-items:end;display:grid}.salary-calculator-overlay{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));place-items:center}.dialog.salary-calculator-dialog{border-radius:24px;width:min(100%,460px);max-height:min(92dvh,720px)}.salary-calculator-intro{color:var(--muted);margin:14px 0 0;font-size:.76rem;line-height:1.5}.salary-calculator-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;display:grid}.salary-calculator-salary-field{grid-column:1/-1}.salary-calculator-input{border:1px solid var(--grid);background:var(--surface-soft);border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:47px;padding:0 13px;display:grid}.salary-calculator-input:focus-within{outline:2px solid var(--accent);outline-offset:2px}.salary-calculator-input b{color:var(--muted);letter-spacing:.04em;font-size:.68rem}.field .salary-calculator-input input{text-align:right;background:0 0;border:0;border-radius:0;outline:0;min-height:45px;padding:0;font-weight:750}.salary-calculator-result{border:1px solid var(--work);gap:5px;margin-top:18px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.salary-calculator-result{border:1px solid color-mix(in srgb, var(--work) 42%, var(--grid))}}.salary-calculator-result{background:linear-gradient(135deg, var(--work-soft), var(--surface-soft));border-radius:17px}.salary-calculator-result>span{color:var(--muted-strong);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:750}.salary-calculator-result>strong{color:var(--text);letter-spacing:-.045em;font-size:clamp(1.65rem,8vw,2.15rem);line-height:1.15}.salary-calculator-breakdown{border-top:1px solid var(--work);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;padding-top:11px;display:grid}@supports (color:color-mix(in lab, red, red)){.salary-calculator-breakdown{border-top:1px solid color-mix(in srgb, var(--work) 24%, var(--grid))}}.salary-calculator-breakdown span{color:var(--muted);gap:4px;font-size:.62rem;display:grid}.salary-calculator-breakdown b{color:var(--muted-strong);font-size:.75rem}.salary-calculator-note{color:var(--muted);margin:12px 2px 0;font-size:.65rem;line-height:1.5}.salary-calculator-actions{margin-top:15px}.salary-calculator-actions .primary-button{min-width:110px}.roster-archive-overlay{z-index:130;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));place-items:center}.dialog.roster-archive-dialog{border-radius:24px;flex-direction:column;width:min(100%,460px);max-height:min(92dvh,720px);padding:0;display:flex;overflow:hidden}.roster-archive-header{border-bottom:0;flex:none;padding:22px 18px 16px}.roster-archive-header .eyebrow,.roster-archive-year h3{color:var(--menu-file-ink)}.roster-archive-summary{border:1px solid var(--work);flex:none;justify-content:space-between;align-items:center;gap:12px;margin:0 18px;padding:12px 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.roster-archive-summary{border:1px solid color-mix(in srgb, var(--work) 28%, var(--grid))}}.roster-archive-summary{background:linear-gradient(135deg, var(--work-soft), var(--surface-soft));border-radius:14px}.roster-archive-summary strong{font-size:.76rem}.roster-archive-summary span{color:var(--muted);text-align:right;font-size:.66rem}.roster-archive-list{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 18px 18px;overflow-y:auto}.roster-archive-year+.roster-archive-year{margin-top:12px}.roster-archive-year h3{z-index:1;background:var(--surface-raised);color:var(--menu-file-ink);letter-spacing:.1em;text-transform:uppercase;margin:0;padding:10px 2px 7px;font-size:.64rem;font-weight:850;position:sticky;top:-8px}.roster-archive-year .saved-roster-row{padding:0 4px}.dialog{z-index:1;width:100%;max-height:92dvh;padding:22px 18px max(20px, env(safe-area-inset-bottom));border:1px solid var(--grid);background:var(--surface-raised);box-shadow:var(--shadow);border-radius:24px 24px 0 0;animation:.18s both sheet-in;position:relative;overflow-y:auto}.summary-mobile.monthly-shift-summary,.dialog.salary-calculator-dialog,.dialog.roster-archive-dialog{border:1px solid var(--grid);background-color:var(--surface);background-image:radial-gradient(circle at 92% 8%, var(--work), transparent 32%)}@supports (color:color-mix(in lab, red, red)){.summary-mobile.monthly-shift-summary,.dialog.salary-calculator-dialog,.dialog.roster-archive-dialog{background-image:radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--work) 8%, transparent), transparent 32%)}}.summary-mobile.monthly-shift-summary,.dialog.salary-calculator-dialog,.dialog.roster-archive-dialog{box-shadow:0 12px 32px var(--text)}@supports (color:color-mix(in lab, red, red)){.summary-mobile.monthly-shift-summary,.dialog.salary-calculator-dialog,.dialog.roster-archive-dialog{box-shadow:0 12px 32px color-mix(in srgb, var(--text) 8%, transparent)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.roster-overlay{z-index:130}.roster-dialog{height:min(94dvh,860px);max-height:calc(100dvh - max(8px, env(safe-area-inset-top)));flex-direction:column;padding:0;display:flex;overflow:hidden}.roster-dialog-header{border-bottom:1px solid var(--grid-soft);flex:none;padding:20px 18px 16px}.roster-dialog-body{overscroll-behavior:contain;flex:1;min-height:0;padding:16px 18px 20px;overflow-y:auto}.roster-preview-card{gap:7px;margin-bottom:16px;display:grid}.roster-preview-card img{object-fit:contain;border:1px solid var(--grid-soft);background:var(--surface-soft);border-radius:14px;width:100%;height:98px}@supports (color:color-mix(in lab, red, red)){.roster-preview-card img{background:color-mix(in srgb, var(--surface-soft) 75%, #fff)}}.roster-pdf-preview{border:1px solid var(--grid-soft);background:var(--surface-soft);border-radius:14px;align-content:center;place-items:center;gap:8px;width:100%;height:98px;display:grid}@supports (color:color-mix(in lab, red, red)){.roster-pdf-preview{background:color-mix(in srgb, var(--surface-soft) 75%, #fff)}}.roster-pdf-preview span{background:var(--danger);color:#fff;letter-spacing:.08em;border-radius:6px;padding:5px 8px;font-size:.62rem;font-weight:800}.roster-pdf-preview strong{font-size:.78rem}.roster-preview-card>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.roster-reading,.roster-error{text-align:center;place-items:center;gap:12px;min-height:250px;padding:24px 12px;display:grid}.roster-reading strong,.roster-error strong{font-size:1rem}.roster-reading p,.roster-error p{max-width:420px;color:var(--muted);margin:0;font-size:.75rem;line-height:1.55}.roster-reading progress{width:min(100%,360px);height:9px;accent-color:var(--work);border:0;border-radius:999px;overflow:hidden}.roster-reading progress::-webkit-progress-bar{background:var(--surface-soft);border-radius:999px}.roster-reading progress::-webkit-progress-value{background:var(--work);border-radius:999px}.roster-scan-mark{border:1px solid var(--grid);background:var(--work-soft);border-radius:18px;place-items:center;width:56px;height:56px;display:grid;position:relative}.roster-scan-mark:before,.roster-scan-mark:after{content:"";border:solid var(--work);border-width:2px 0;width:25px;height:18px;position:absolute}.roster-scan-mark:after{border-width:0 2px;width:18px;height:25px}.roster-scan-mark i{background:var(--work);width:28px;height:2px;box-shadow:0 0 14px var(--work);border-radius:99px;animation:1.4s ease-in-out infinite alternate roster-scan}@keyframes roster-scan{0%{transform:translateY(-8px)}to{transform:translateY(8px)}}.roster-error .primary-button{margin-top:8px;padding:0 18px}.roster-review{gap:14px;display:grid}.roster-review-intro{border:1px solid var(--work);justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}@supports (color:color-mix(in lab, red, red)){.roster-review-intro{border:1px solid color-mix(in srgb, var(--work) 32%, var(--grid))}}.roster-review-intro{background:var(--work-soft);border-radius:15px}.roster-review-intro>div{align-items:center;gap:10px;display:flex}.review-check{background:var(--work);color:#fff;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:900;display:grid}.roster-review-intro p{gap:2px;margin:0;display:grid}.roster-review-intro strong{font-size:.82rem}.roster-review-intro p span{color:var(--muted-strong);font-size:.68rem}.local-badge{background:var(--surface-raised);color:var(--work);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 8px;font-size:.6rem;font-weight:800}.roster-summary{flex-wrap:wrap;gap:7px;display:flex}.roster-summary>span{border:1px solid var(--grid-soft);background:var(--surface-soft);color:var(--muted-strong);border-radius:10px;padding:7px 9px;font-size:.68rem}.roster-summary strong{color:var(--text)}.roster-summary>.shift-event{border-color:var(--event-ink)}@supports (color:color-mix(in lab, red, red)){.roster-summary>.shift-event{border-color:color-mix(in srgb, var(--event-ink) 42%, var(--grid-soft))}}.roster-summary>.shift-event{background:var(--event-fill);color:var(--event-ink)}.roster-summary>.shift-event strong{color:var(--event-ink)}.roster-impact,.roster-warning{color:var(--muted);border-radius:11px;margin:0;padding:10px 12px;font-size:.7rem;line-height:1.5}.roster-impact{background:var(--surface-soft)}.roster-warning{border:1px solid var(--danger)}@supports (color:color-mix(in lab, red, red)){.roster-warning{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--grid))}}.roster-warning{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.roster-warning{background:color-mix(in srgb, var(--danger) 9%, transparent)}}.roster-warning{color:var(--danger);font-weight:700}.roster-review-list{gap:7px;display:grid}.roster-review-row{border:1px solid var(--grid-soft);background:var(--surface-soft);border-radius:13px;grid-template-columns:50px minmax(62px,.65fr) minmax(135px,1.35fr);align-items:center;gap:9px;min-height:68px;padding:8px 9px;display:grid}@supports (color:color-mix(in lab, red, red)){.roster-review-row{background:color-mix(in srgb, var(--surface-soft) 54%, transparent)}}.roster-review-row.unresolved{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.roster-review-row.unresolved{border-color:color-mix(in srgb, var(--danger) 54%, var(--grid))}}.roster-review-row.shift-event{box-shadow:inset 3px 0 var(--event-ink)}.roster-review-row.shift-event .roster-date strong{color:var(--event-ink)}.roster-date,.roster-detection,.roster-choice-field{min-width:0;display:grid}.roster-date{place-items:center;gap:3px}.roster-date strong{font-size:1rem}.roster-date span,.roster-detection small,.roster-choice-field small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.roster-detection{gap:4px}.roster-detection>span{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:750;overflow:hidden}.roster-choice-field{gap:4px}.roster-choice-field select{border:1px solid var(--grid);background:var(--surface-raised);width:100%;min-height:42px;color:var(--text);border-radius:10px;outline:0;padding:7px 28px 7px 9px;font-size:1rem}.row-warning{color:var(--danger);grid-column:2/-1;font-size:.63rem;line-height:1.4}.roster-actions{padding:12px 18px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--grid-soft);background:var(--surface-raised);flex:none;justify-content:flex-end;gap:9px;display:flex}.roster-actions button{min-width:105px;padding:0 16px}.primary-button:disabled{opacity:.48;cursor:not-allowed}.search-field{border:1px solid var(--grid);background:var(--surface-soft);min-height:52px;color:var(--muted);border-radius:15px;align-items:center;gap:12px;margin:20px 0 18px;padding:0 16px;display:flex}.search-field .search-glyph{flex:0 0 15px;width:15px;height:15px}.search-field input{cursor:text;background:0 0;border:0;outline:0;width:100%;height:48px}.search-field input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.search-field input::placeholder,.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb, var(--muted) 76%, transparent)}}.result-label{color:var(--muted);margin-bottom:7px}.search-results{min-height:170px;display:grid}.search-result{border-bottom:1px solid var(--grid-soft);text-align:left;background:0 0;grid-template-columns:46px minmax(0,1fr) 15px;align-items:center;gap:12px;min-height:64px;display:grid}.search-result.shift-event .result-date{background:var(--event-fill);color:var(--event-ink)}.search-result.shift-event .result-copy strong{color:var(--event-ink)}.result-date{background:var(--accent-soft);width:42px;height:46px;color:var(--accent);border-radius:11px;align-content:center;place-items:center;display:grid}.result-date strong{font-size:1rem;line-height:1}.result-date span{letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:.56rem;font-weight:800}.result-copy{gap:4px;min-width:0;display:grid}.result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.result-copy span{color:var(--muted);font-size:.71rem}.field{gap:7px;min-width:0;margin-top:15px;display:grid}.field>span{color:var(--muted-strong);font-size:.7rem;font-weight:700}.field em{color:var(--muted);font-style:normal;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--grid);background:var(--surface-soft);width:100%;min-height:47px;color:var(--text);border-radius:13px;outline:0;padding:11px 13px;font-size:1rem}.field textarea{resize:vertical;cursor:text;min-height:82px}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.event-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.date-input-shell{border:1px solid var(--grid);background:var(--surface-soft);border-radius:13px;align-items:center;width:100%;min-width:0;min-height:47px;padding:11px 13px;display:flex;position:relative;overflow:hidden}.date-input-shell:focus-within{outline:2px solid var(--accent);outline-offset:2px}.date-input-value{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.field .date-input-control{z-index:1;opacity:0;-webkit-appearance:none;appearance:none;cursor:pointer;border:0;border-radius:0;outline:0;width:100%;min-width:0;max-width:none;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.title-field input{font-size:.95rem}.all-day-toggle{min-height:46px;color:var(--muted-strong);align-items:center;gap:10px;margin-top:12px;font-size:.78rem;font-weight:650;display:flex}.all-day-toggle input{width:18px;height:18px;accent-color:var(--accent-strong)}.form-error{color:var(--danger);margin:12px 0 0;font-size:.76rem}.editor-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;display:flex}.editor-actions button{padding:0 16px}.secondary-button,.delete-button{background:var(--surface-soft);color:var(--muted-strong)}.delete-button{color:var(--danger);margin-right:auto}.toast{z-index:200;right:50%;bottom:max(24px, env(safe-area-inset-bottom));border:1px solid var(--grid);background:var(--text);color:var(--bg);box-shadow:var(--shadow);text-align:center;border-radius:13px;max-width:calc(100vw - 24px);padding:12px 17px;font-size:.78rem;font-weight:750;animation:.18s both toast-in;position:fixed;transform:translate(50%)}@keyframes toast-in{0%{opacity:0;transform:translate(50%,8px)}to{opacity:1;transform:translate(50%)}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (min-width:540px){.topbar{padding-left:22px;padding-right:22px}.weekday-strip,.week-row{grid-template-columns:42px repeat(7,minmax(0,1fr))}.weekday-full{display:inline}.weekday-short{display:none}.week-gutter-title,.weekday,.week-number{font-size:.68rem}.day-hit{text-align:left}.day-number{left:8px;transform:none}.cell-events{--event-gutter:8px;top:36px;right:var(--event-gutter);left:var(--event-gutter);gap:4px}.event-chip{background:var(--accent-soft);border-radius:5px;justify-content:flex-start;height:19px;padding:0 6px;font-size:.63rem;font-weight:650}.event-chip.shift-event{color:var(--event-ink);box-shadow:none;background:0 0;border:0;padding:0}.mobile-event-summary{display:none}.event-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.event-chip:nth-child(n+2){display:flex}.mobile-more-events{display:none}.more-events{text-align:left;padding:0 5px;font-size:.6rem;display:block}.centered-overlay{place-items:center;padding:24px}.dialog{border-radius:24px;width:min(100%,500px);padding:25px}.search-dialog{width:min(100%,540px)}.roster-dialog{width:min(100%,780px);height:min(88dvh,820px);padding:0}.roster-preview-card img,.roster-pdf-preview{height:130px}.roster-review-row{grid-template-columns:62px minmax(90px,.7fr) minmax(190px,1.3fr);padding:9px 12px}}@media (min-width:900px){body{overflow:hidden}.calendar-app{overscroll-behavior:none;grid-template-rows:auto minmax(0,1fr);height:100dvh;padding:18px;display:grid;overflow:hidden}.topbar{border:1px solid var(--grid-soft);border-radius:19px 19px 0 0;width:100%;max-width:1480px;margin:0 auto;padding:20px 22px 18px;display:block}.month-title{font-size:1.85rem}.calendar-toolbar{margin-top:18px}.main-content{border:1px solid var(--grid-soft);border-top:0;border-radius:0 0 19px 19px;grid-template-columns:minmax(0,1fr) 310px;width:100%;max-width:1480px;min-height:0;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 25px 80px #00000038}.month-card{min-height:0}.summary-mobile{display:none}.summary-desktop{box-shadow:none;border-radius:14px;margin:16px 0 12px;padding:13px 11px;display:block}.summary-desktop .monthly-summary-heading{margin-bottom:9px}.summary-desktop .monthly-summary-heading h2{font-size:.9rem}.summary-desktop .monthly-summary-stat small{display:none}.summary-desktop .monthly-summary-counts{gap:6px}.summary-desktop .monthly-summary-stat{border-radius:10px;min-height:82px;padding:8px}.summary-desktop .monthly-summary-stat dt{gap:4px;font-size:.58rem}.summary-desktop .monthly-summary-stat dd{margin-top:5px;font-size:1.25rem}.summary-desktop .monthly-salary-card{border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px}.summary-desktop .monthly-salary-title{gap:6px;font-size:.62rem}.summary-desktop .monthly-salary-title small{font-size:.5rem}.summary-desktop .monthly-salary-amount{font-size:1.02rem}.summary-desktop .salary-visibility-toggle{width:28px;height:28px}.summary-desktop .monthly-salary-breakdown{gap:5px}.summary-desktop .monthly-salary-breakdown>span{padding-top:6px;font-size:.48rem}.summary-desktop .monthly-salary-breakdown strong{font-size:.55rem}.month-grid{grid-template-rows:repeat(6,minmax(76px,1fr))}.agenda-panel,.agenda-panel.open{z-index:1;border:0;border-left:1px solid var(--grid);max-height:none;box-shadow:none;visibility:visible;border-radius:0;padding:24px 18px;position:relative;overflow-y:auto;transform:none}.agenda-panel>*{flex-shrink:0}.sheet-handle,.agenda-close,.mobile-scrim{display:none}.agenda-list{flex:1}}@media (min-width:1180px){.main-content{grid-template-columns:minmax(0,1fr) 340px}.weekday-strip,.week-row{grid-template-columns:48px repeat(7,minmax(0,1fr))}.day-number{width:26px;height:26px;font-size:.74rem;top:9px;left:10px}.cell-events{--event-gutter:8px;top:42px;right:var(--event-gutter);left:var(--event-gutter)}.event-chip{height:22px;font-size:.67rem}}@media (max-width:360px){.topbar{padding-left:10px;padding-right:10px}.menu-button,.search-button{flex-basis:40px;width:40px;height:40px}.month-title{font-size:1.03rem}.calendar-switcher button{gap:4px;padding:0 5px;font-size:.63rem}.calendar-switcher button svg{flex-basis:14px;width:14px;height:14px}.weekday-strip,.week-row{grid-template-columns:32px repeat(7,minmax(0,1fr))}.day-number{width:21px;height:21px;font-size:.64rem}.week-number{font-size:.59rem}.field-row{grid-template-columns:1fr;gap:0}.roster-review-row{grid-template-columns:42px 52px minmax(120px,1fr);gap:6px;padding-left:7px;padding-right:7px}.roster-dialog-body,.roster-dialog-header{padding-left:14px;padding-right:14px}.local-badge{display:none}}@media (max-width:899px){.month-swipe-viewport{width:100%;height:auto;min-height:0;margin:10px 0 0}.month-swipe-track,.month-swipe-panel{height:auto;min-height:0}.month-swipe-track{align-items:flex-start}.month-swipe-panel{flex-direction:column;gap:14px;padding:0 12px;display:flex}.month-swipe-panel>.month-card{border:1px solid var(--grid);background:var(--surface);height:auto;box-shadow:0 12px 32px var(--text);border-radius:16px;grid-template-rows:32px auto auto;gap:6px;padding:8px 8px 10px}@supports (color:color-mix(in lab, red, red)){.month-swipe-panel>.month-card{box-shadow:0 12px 32px color-mix(in srgb, var(--text) 8%, transparent)}}.month-swipe-panel>.summary-mobile{width:100%;max-width:none;margin:0}.month-swipe-panel>.summary-mobile:last-child{margin-bottom:calc(24px + env(safe-area-inset-bottom))}.month-swipe-panel>.personal-day-details{width:100%;margin:0 0 calc(24px + env(safe-area-inset-bottom));border:1px solid var(--grid);background-color:var(--surface);background-image:radial-gradient(circle at 92% 8%, var(--accent), transparent 34%);border-radius:16px;padding:16px;display:block}@supports (color:color-mix(in lab, red, red)){.month-swipe-panel>.personal-day-details{background-image:radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 34%)}}.month-swipe-panel>.personal-day-details{box-shadow:0 12px 32px var(--text)}@supports (color:color-mix(in lab, red, red)){.month-swipe-panel>.personal-day-details{box-shadow:0 12px 32px color-mix(in srgb, var(--text) 8%, transparent)}}.weekday-strip,.week-row{grid-template-columns:24px repeat(7,minmax(0,1fr));gap:4px}.weekday-strip{background:0 0;border-bottom:0}.week-gutter-title{background:0 0;border-right:0}.month-grid{grid-template-rows:repeat(6,clamp(42px,11.2vw,48px));gap:4px}.week-row{overflow:visible}.week-number{background:0 0;border:0;padding-top:7px;font-size:.58rem}.day-cell{border-radius:8px;margin:0}.day-cell:last-child{margin-right:0}.day-cell.shift-run-continues-next{margin-right:-4px}.day-number{width:19px;height:19px;font-size:.62rem;top:3px;left:4px}.day-remark-dot{width:5px;height:5px;top:5px;right:5px}.cell-events{--event-gutter:5px;top:25px;right:var(--event-gutter);left:var(--event-gutter)}.event-chip{height:14px}.mobile-event-code{font-size:.52rem}.mobile-event-code-modified{font-size:.44rem}.shift-legend{min-height:22px;color:var(--muted-strong);flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 11px;padding:2px 4px 0;font-size:.56rem;font-weight:650;display:flex}.shift-legend span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.shift-legend-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:block}.legend-late{color:var(--shift-late-ink)}.legend-night{color:var(--shift-night-ink)}.legend-rest{color:var(--shift-rest-ink)}.legend-remark{color:var(--remark-dot)}:root,:root[data-theme=dark]{--bg:#12281f;--surface:#1b382d;--surface-raised:#234337;--surface-soft:#294b3a;--grid:#49624f;--grid-soft:#324e3d;--text:#faf8e9;--muted:#b5c3ac;--muted-strong:#e7eadc;--work:#9acf94;--work-strong:#6fb574;--work-soft:#9acf9429;--personal:#d7a8d8;--personal-strong:#b57bb8;--personal-soft:#d7a8d826;--header-accent:#9acf94;--header-icon:#d7a8d8;--header-accent-shadow:#6fb57447;--shift-early-ink:#ffc95c;--shift-early-bg:#4a321d;--shift-late-ink:#6fdaed;--shift-late-bg:#153c4a;--shift-night-ink:#d7a9ff;--shift-night-bg:#39244d;--shift-rest-ink:#7be0b0;--shift-rest-bg:#1d4436;--remark-dot:#ffad36;--selected-pulse:#d58cff;--danger:#ff7891;--shadow:0 24px 70px #05110c80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef7e8;--surface:#fffdf5;--surface-raised:#fffdf9;--surface-soft:#e5f0dd;--grid:#c7d5bf;--grid-soft:#dce8d5;--text:#1b3045;--muted:#5c6a59;--muted-strong:#3c4f49;--work:#287444;--work-strong:#205c38;--work-soft:#2874441c;--personal:#813378;--personal-strong:#60235f;--personal-soft:#8133781a;--header-accent:#287444;--header-icon:#813378;--header-accent-shadow:#28744433;--shift-early-ink:#945a00;--shift-early-bg:#fff1bd;--shift-late-ink:#096277;--shift-late-bg:#daf6fb;--shift-night-ink:#713da7;--shift-night-bg:#eee0ff;--shift-rest-ink:#1b6c48;--shift-rest-bg:#dcf5e8;--remark-dot:#e8940d;--selected-pulse:#a74ed1;--danger:#c92f54;--shadow:0 24px 64px #205c3829;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg)}.calendar-app{background:radial-gradient(circle at 10% 4%, #6fb57429, transparent 18rem), radial-gradient(circle at 94% 20%, #81337817, transparent 22rem), radial-gradient(circle at 45% 108%, #d9ad7014, transparent 26rem), var(--bg)}.topbar{margin:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));border:1px solid var(--header-accent);padding:17px 13px 15px}@supports (color:color-mix(in lab, red, red)){.topbar{border:1px solid color-mix(in srgb, var(--header-accent) 46%, var(--grid))}}.topbar{background:radial-gradient(circle at 14% 5%, #9acf942b, transparent 11rem), radial-gradient(circle at 90% 100%, #d7a8d81c, transparent 13rem), var(--surface);border-radius:29px}@supports (color:color-mix(in lab, red, red)){.topbar{background:radial-gradient(circle at 14% 5%, #9acf942b, transparent 11rem), radial-gradient(circle at 90% 100%, #d7a8d81c, transparent 13rem), color-mix(in srgb, var(--surface) 94%, transparent)}}.topbar{box-shadow:0 18px 42px var(--header-accent), inset 0 1px 0 #ffffff1f}@supports (color:color-mix(in lab, red, red)){.topbar{box-shadow:0 18px 42px color-mix(in srgb, var(--header-accent) 16%, transparent), inset 0 1px 0 #ffffff1f}}.topbar:before,.topbar:after{border-color:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.topbar:before,.topbar:after{border-color:color-mix(in srgb, var(--header-accent) 46%, transparent)}}.topbar:before,.topbar:after{opacity:.38}.month-title{text-shadow:0 3px 16px var(--header-accent);font-weight:850}@supports (color:color-mix(in lab, red, red)){.month-title{text-shadow:0 3px 16px color-mix(in srgb, var(--header-accent) 28%, transparent)}}.menu-button,.search-button,.close-button{border-color:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.menu-button,.search-button,.close-button{border-color:color-mix(in srgb, var(--header-accent) 36%, var(--grid))}}.menu-button,.search-button,.close-button{background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.menu-button,.search-button,.close-button{background:color-mix(in srgb, var(--surface-raised) 84%, var(--work-soft))}}.menu-button,.search-button,.close-button{box-shadow:0 7px 18px var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.menu-button,.search-button,.close-button{box-shadow:0 7px 18px color-mix(in srgb, var(--header-accent) 17%, transparent)}}.calendar-switcher{border-color:var(--header-accent);padding:5px}@supports (color:color-mix(in lab, red, red)){.calendar-switcher{border-color:color-mix(in srgb, var(--header-accent) 38%, var(--grid))}}.calendar-switcher{background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.calendar-switcher{background:color-mix(in srgb, var(--surface-soft) 88%, var(--work-soft))}}.calendar-switcher{box-shadow:inset 0 1px #ffffff1a}.calendar-switcher button.active{background:linear-gradient(135deg,#287444,#205c38);box-shadow:0 7px 20px #205c384d}.month-swipe-panel>.month-card{border-color:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.month-swipe-panel>.month-card{border-color:color-mix(in srgb, var(--header-accent) 34%, var(--grid))}}.month-swipe-panel>.month-card{background-color:var(--surface);box-shadow:0 17px 38px var(--header-accent), inset 0 1px 0 #ffffff17;background-image:radial-gradient(circle at 100% 0,#d7a8d817,#0000 13rem),radial-gradient(circle at 0 100%,#9acf941a,#0000 15rem);border-radius:23px}@supports (color:color-mix(in lab, red, red)){.month-swipe-panel>.month-card{box-shadow:0 17px 38px color-mix(in srgb, var(--header-accent) 13%, transparent), inset 0 1px 0 #ffffff17}}.day-cell:not(.shift-event):not(.outside){border-color:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.day-cell:not(.shift-event):not(.outside){border-color:color-mix(in srgb, var(--header-accent) 12%, transparent)}}.day-cell:not(.shift-event):not(.outside){background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.day-cell:not(.shift-event):not(.outside){background:color-mix(in srgb, var(--surface-soft) 46%, transparent)}}.day-cell.selected,.day-cell.shift-event.selected{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-cell.selected,.day-cell.shift-event.selected{border-color:color-mix(in srgb, var(--accent) 82%, var(--grid))}}.summary-mobile.monthly-shift-summary,.salary-received-panel.summary-mobile,.personal-day-details.summary-mobile{border:1px solid var(--header-accent);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.summary-mobile.monthly-shift-summary,.salary-received-panel.summary-mobile,.personal-day-details.summary-mobile{border:1px solid color-mix(in srgb, var(--header-accent) 38%, var(--grid))}}.summary-mobile.monthly-shift-summary,.salary-received-panel.summary-mobile,.personal-day-details.summary-mobile{box-shadow:0 17px 38px var(--header-accent), inset 0 1px 0 #ffffff1a;border-radius:23px}@supports (color:color-mix(in lab, red, red)){.summary-mobile.monthly-shift-summary,.salary-received-panel.summary-mobile,.personal-day-details.summary-mobile{box-shadow:0 17px 38px color-mix(in srgb, var(--header-accent) 13%, transparent), inset 0 1px 0 #ffffff1a}}.summary-mobile.monthly-shift-summary{background:radial-gradient(circle at 94% 7%, #d7a8d821, transparent 12rem), var(--surface)}.salary-received-panel.summary-mobile{background:radial-gradient(circle at 94% 5%, #9acf9429, transparent 12rem), var(--surface)}.summary-mobile .monthly-summary-counts{gap:8px}.summary-mobile .monthly-summary-stat{border:1px solid var(--summary-ink);min-height:98px;padding:10px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-summary-stat{border:1px solid color-mix(in srgb, var(--summary-ink) 32%, var(--grid))}}.summary-mobile .monthly-summary-stat{background:var(--summary-fill);border-radius:15px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-summary-stat{background:color-mix(in srgb, var(--summary-fill) 82%, var(--surface))}}.summary-mobile .monthly-summary-stat:first-child{padding-left:10px}.summary-mobile .monthly-summary-stat:last-child{border-right:1px solid var(--summary-ink);padding-right:10px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-summary-stat:last-child{border-right:1px solid color-mix(in srgb, var(--summary-ink) 32%, var(--grid))}}.summary-mobile .monthly-salary-card{border:1px solid #d9ad70;padding:14px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-salary-card{border:1px solid color-mix(in srgb, #d9ad70 28%, var(--grid))}}.summary-mobile .monthly-salary-card{background:linear-gradient(135deg, #d9ad70, var(--surface-soft));border-radius:17px}@supports (color:color-mix(in lab, red, red)){.summary-mobile .monthly-salary-card{background:linear-gradient(135deg, color-mix(in srgb, #d9ad70 14%, var(--surface)), var(--surface-soft))}}.salary-received-input,.salary-received-values>div,.field input,.field select,.field textarea,.date-input-shell,.salary-calculator-input{border-color:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.salary-received-input,.salary-received-values>div,.field input,.field select,.field textarea,.date-input-shell,.salary-calculator-input{border-color:color-mix(in srgb, var(--header-accent) 24%, var(--grid))}}.salary-received-input,.salary-received-values>div,.field input,.field select,.field textarea,.date-input-shell,.salary-calculator-input{background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.salary-received-input,.salary-received-values>div,.field input,.field select,.field textarea,.date-input-shell,.salary-calculator-input{background:color-mix(in srgb, var(--surface-soft) 88%, var(--work-soft))}}.salary-received-values>div{border:1px solid var(--header-accent);min-width:0;padding:11px}@supports (color:color-mix(in lab, red, red)){.salary-received-values>div{border:1px solid color-mix(in srgb, var(--header-accent) 22%, var(--grid))}}.salary-received-values>div{border-radius:13px}.agenda-panel,.dialog,.menu-drawer{border-color:var(--header-accent)}@supports (color:color-mix(in lab, red, red)){.agenda-panel,.dialog,.menu-drawer{border-color:color-mix(in srgb, var(--header-accent) 34%, var(--grid))}}.agenda-panel,.dialog,.menu-drawer{background-color:var(--surface-raised);background-image:radial-gradient(circle at 100% 0,#d7a8d817,#0000 17rem),radial-gradient(circle at 0 100%,#9acf9417,#0000 19rem)}.menu-drawer{width:min(86vw,340px)}.menu-drawer .menu-import-row,.menu-drawer .shared-roster-action,.menu-drawer .menu-ivu-row,.menu-drawer .settings-toggle{border:1px solid;margin-bottom:8px;padding:0 10px}@supports (color:color-mix(in lab, red, red)){.menu-drawer .menu-import-row,.menu-drawer .shared-roster-action,.menu-drawer .menu-ivu-row,.menu-drawer .settings-toggle{border:1px solid color-mix(in srgb, currentColor 17%, var(--grid-soft))}}.menu-drawer .menu-import-row,.menu-drawer .shared-roster-action,.menu-drawer .menu-ivu-row,.menu-drawer .settings-toggle{background:var(--surface-soft);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.menu-drawer .menu-import-row,.menu-drawer .shared-roster-action,.menu-drawer .menu-ivu-row,.menu-drawer .settings-toggle{background:color-mix(in srgb, var(--surface-soft) 74%, transparent)}}.agenda-add,.primary-button,.personal-day-add{background:linear-gradient(135deg,#287444,#205c38);box-shadow:0 9px 24px #205c383d}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.day-cell.today,.day-cell.selected:not(.today){box-shadow:0 0 0 1px var(--date-pulse-color), 0 0 20px var(--date-pulse-color);animation:none!important}@supports (color:color-mix(in lab, red, red)){.day-cell.today,.day-cell.selected:not(.today){box-shadow:0 0 0 1px color-mix(in srgb, var(--date-pulse-color) 76%, transparent), 0 0 20px color-mix(in srgb, var(--date-pulse-color) 48%, transparent)}}.day-cell.today,.day-cell.selected:not(.today){will-change:auto}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next){box-shadow:none}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{border-color:var(--date-pulse-color);animation:none!important}@supports (color:color-mix(in lab, red, red)){.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{border-color:color-mix(in srgb, var(--date-pulse-color) 76%, transparent)}}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{box-shadow:inset 0 0 0 1px var(--date-pulse-color), inset 0 0 20px var(--date-pulse-color)}@supports (color:color-mix(in lab, red, red)){.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--date-pulse-color) 76%, transparent), inset 0 0 20px color-mix(in srgb, var(--date-pulse-color) 36%, transparent)}}.day-cell.shift-event:is(.today,.selected):is(.shift-run-continues-previous,.shift-run-continues-next) .day-hit:before{opacity:1;will-change:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.personal-checklist{--checklist-accent:#afa5ff;--checklist-button:#7464e7;border:1px solid var(--grid);background:radial-gradient(ellipse at 0 0, #8ccded17, transparent 60%), radial-gradient(ellipse at 100% 30%, #b5a1ef1a, transparent 65%), var(--surface);width:100%;min-width:0;color:var(--text);border-radius:20px;padding:20px}:root[data-theme=light] .personal-checklist{--checklist-accent:#6254d5;--checklist-button:#6558dc;background:radial-gradient(at 0 0,#eaf5ff,#0000 60%),radial-gradient(at 100% 30%,#f3edff,#0000 65%),#fafaff}.checklist-heading,.checklist-summary,.checklist-group-heading,.checklist-task-actions,.checklist-editor-actions,.checklist-undo{align-items:center;gap:10px;display:flex}.checklist-heading,.checklist-summary,.checklist-undo{justify-content:space-between}.checklist-heading h2{margin:4px 0 0;font-size:1.2rem;line-height:1.2}.checklist-eyebrow{color:var(--checklist-accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:800}.personal-checklist button{cursor:pointer;font:inherit}:is(.personal-checklist button:focus-visible,.personal-checklist input:focus-visible,.personal-checklist textarea:focus-visible,.personal-checklist select:focus-visible){outline:3px solid var(--checklist-accent);outline-offset:3px}.personal-checklist .checklist-primary{background:var(--checklist-button);color:#fff;border:0;border-radius:12px;font-weight:700}.checklist-add{flex-shrink:0;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:0 12px;display:inline-flex;font-size:.8rem!important}.personal-checklist svg{flex-shrink:0;width:19px;height:19px}.checklist-summary{color:var(--muted-strong);flex-wrap:wrap;margin:16px 0 8px;font-size:.72rem}.checklist-save-status{font-size:.66rem}.checklist-progress{background:color-mix(in srgb, var(--checklist-accent) 13%, transparent);border-radius:10px;height:4px;overflow:hidden}.checklist-progress>span{border-radius:inherit;background:var(--checklist-accent);height:100%;transition:width .15s;display:block}.checklist-filters{gap:6px;margin:16px 0 22px;display:flex}.checklist-filters button{min-height:40px;color:var(--muted-strong);background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:5px 11px;font-size:.76rem;display:flex}.checklist-filters button[aria-pressed=true]{border-color:color-mix(in srgb, var(--checklist-accent) 20%, transparent);background:color-mix(in srgb, var(--checklist-accent) 12%, transparent);color:var(--checklist-accent);font-weight:750}.checklist-filters button span{opacity:.85;font-size:.65rem}.checklist-groups{gap:22px;display:grid}.checklist-group{min-width:0}.checklist-group-heading{margin-bottom:10px;padding:0 3px}.checklist-category-icon{border:1px solid var(--grid-soft);background:var(--surface-raised);width:36px;height:36px;color:var(--checklist-accent);border-radius:13px;place-items:center;display:grid;box-shadow:0 2px 4px #00000005}.checklist-group-heading h3{margin:0;font-size:.9rem;font-weight:700}.checklist-group-heading p{color:var(--muted);margin:3px 0 0;font-size:.7rem}.checklist-tasks{gap:7px;margin:0;padding:0;list-style:none;display:grid}.checklist-task{border:1px solid var(--grid-soft);background:var(--surface-raised);border-radius:16px;grid-template-columns:30px minmax(0,1fr) auto 72px;align-items:start;gap:8px;min-width:0;padding:12px 10px;display:grid;box-shadow:0 2px 5px #00000003}.checklist-checkbox{-webkit-appearance:none;appearance:none;border:2px solid var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:28px;height:28px;margin:3px 0 0;display:grid}.checklist-checkbox:checked{border-color:var(--checklist-button);background:var(--checklist-button)}.checklist-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:7px;height:12px;margin-top:-3px;transform:rotate(45deg)}.checklist-task-copy{min-width:0;padding-top:4px}.checklist-task-copy strong{overflow-wrap:anywhere;font-size:.86rem;font-weight:700;line-height:1.4;display:block}.checklist-task-copy p{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font-size:.76rem;line-height:1.5}.checklist-task.is-done .checklist-task-copy strong{color:var(--muted);text-decoration:line-through}.checklist-task-status{background:var(--surface-soft);color:var(--muted-strong);white-space:nowrap;border-radius:999px;margin-top:5px;padding:4px 7px;font-size:.65rem;font-weight:750}.checklist-task.is-done .checklist-task-status{background:color-mix(in srgb, var(--checklist-accent) 13%, transparent);color:var(--checklist-accent)}.checklist-task-actions{gap:0;margin-top:-4px}.checklist-task-actions button{width:36px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.checklist-task-actions button:hover{background:var(--surface-soft)}.checklist-task-actions .checklist-delete{color:var(--danger)}.checklist-task-actions svg{width:16px;height:16px}.checklist-empty,.checklist-group-empty{color:var(--muted-strong);margin:0 0 18px;font-size:.8rem;line-height:1.6}.checklist-group-empty{border:1px dashed var(--grid);color:var(--muted);border-radius:14px;margin:0;padding:12px 14px;font-size:.75rem}.checklist-editor{border:1px solid color-mix(in srgb, var(--checklist-accent) 35%, transparent);background:var(--surface-raised);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(110px,.65fr);gap:14px;margin:0 0 22px;padding:16px;display:grid}.checklist-editor h3{grid-column:1/-1;margin:0;font-size:1rem}.checklist-editor label{min-width:0;color:var(--text);font-size:.78rem;font-weight:650;display:block}.checklist-editor label>span{color:var(--muted);font-weight:400}.checklist-editor input,.checklist-editor textarea,.checklist-editor select{border:1px solid var(--grid);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:9px;margin-top:7px;padding:10px;font-size:16px;display:block}.checklist-editor textarea{resize:vertical}.checklist-editor-notes,.checklist-editor-actions,.checklist-error{grid-column:1/-1}.checklist-editor-actions{justify-content:flex-end}.checklist-editor-actions button{border:1px solid var(--grid);min-height:44px;color:var(--text);background:0 0;border-radius:12px;padding:0 15px;font-size:.8rem}.checklist-error{color:var(--danger);font-size:.8rem}.checklist-undo{background:color-mix(in srgb, var(--checklist-accent) 10%, transparent);border-radius:12px;margin:0 0 16px;padding:10px 12px;font-size:.75rem}.checklist-undo span{overflow-wrap:anywhere;min-width:0}.checklist-undo button{min-height:36px;color:var(--checklist-accent);background:0 0;border:0;flex-shrink:0;font-weight:750}@media (min-width:900px){.calendar-app[data-calendar=personal] .month-swipe-panel{overflow-y:auto}.calendar-app[data-calendar=personal] .month-swipe-panel>.month-card{height:min(65vh,620px);min-height:460px}.month-swipe-panel>.personal-checklist{width:calc(100% - 36px);margin:18px 18px 30px}}@media (max-width:599px){.personal-checklist{padding:16px 12px}.checklist-editor{grid-template-columns:minmax(0,1fr)}.checklist-task{gap:6px;padding:10px 8px}}@media (max-width:380px){.checklist-task{grid-template-columns:30px minmax(0,1fr) 72px}.checklist-task-status{grid-area:2/2;justify-self:start;margin-top:0}.checklist-task-actions{grid-area:1/3/3}.checklist-filters button{padding:5px 8px}}@media (prefers-reduced-motion:reduce){.checklist-progress>span{transition:none}}
