@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-vietnamese-700-normal-DCH5bIkD.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-700-normal-D5dmK5Ek.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-ext-700-normal-C8xZtiKd.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-700-normal-D98SaizC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-700-normal-CMi6UoP4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-vietnamese-800-normal-TfqTMNKp.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-800-normal-zHzF0To4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-ext-800-normal-fpv_pHPA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-800-normal-BQnXNQRw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#faf9f6;--surface:#fff;--surface-2:#f1efe9;--ink:#20232b;--muted:#6f6a63;--border:#e3dfd6;--accent:#0e7c86;--accent-ink:#fff;--accent-soft:#dceeef;--danger:#b3403a;--danger-soft:#f7e3e1;--warn:#8a5a0f;--warn-soft:#f7ecd6;--good:#2e6b4f;--good-soft:#dfeee5;--verify:#3730a3;--verify-soft:#e4e3f7;--shift-F-bg:#a9d1f2;--shift-F-fg:#0f3f63;--shift-M-bg:#a6db98;--shift-M-fg:#1d5616;--shift-S-bg:#f2a65a;--shift-S-fg:#6b3208;--shift-N-bg:#f29b9b;--shift-N-fg:#6e1414;--shift-0-bg:#fcebd0;--shift-0-fg:#7a4e12;--shift-1-bg:#dfdcf0;--shift-1-fg:#332b6b;--shift-2-bg:#dce6f2;--shift-2-fg:#1f3a5c;--shift-3-bg:#dcefe4;--shift-3-fg:#215038;--shift-4-bg:#f6dce0;--shift-4-fg:#7a2230;--shift-5-bg:#dff0ef;--shift-5-fg:#1e5c58;--shift-6-bg:#ede6d8;--shift-6-fg:#5c4c2a;--shift-7-bg:#fbe0cb;--shift-7-fg:#8a431b;--code-X-bg:#e3e0d8;--code-X-fg:#67635b;--code-U-bg:#fbe68a;--code-U-fg:#7a5e08;--code-B-bg:#e8d6a8;--code-B-fg:#6b5424;--code-K-bg:#d9c4f0;--code-K-fg:#4f2f80;--code-KU-bg:#b9dff0;--code-KU-fg:#154760;--weekend-tint:#ffd98a;--holiday-tint:#ffb300;--holiday-ring:#d23f3f;--weekend-empty:#e4e1da;--holiday-empty:#fbdcdc;--weekend-head-bg:var(--we-band);--holiday-head-bg:#ffe9b3;--holiday-head-fg:#6b4a05;--we-band:#c9c5bd;--we-band-fg:#2a2722;--we-band-empty:#eceae5;--hol-band:#c34a47;--hol-band-fg:#fff;--hol-band-empty:#f9dad8;--time-bg:#fff;--time-fg:#000;--stripe-appointment:#ffd98f;--stripe-appointment-fg:#6b4a05;--stripe-holiday:#b8ddb2;--stripe-holiday-fg:#245c1e;--stripe-fair:#b5d0f0;--stripe-fair-fg:#1f4a7a;--stripe-event:#d4bfec;--stripe-event-fg:#4e2f7a;--stripe-promotion:#f3bacf;--stripe-promotion-fg:#7a1f45;--stripe-holiday-alt:#8cc983;--stripe-holiday-alt-fg:#173f12;--stripe-fair-alt:#85b2e6;--stripe-fair-alt-fg:#123459;--stripe-event-alt:#b394de;--stripe-event-alt-fg:#36195c;--stripe-promotion-alt:#de7fa3;--stripe-promotion-alt-fg:#4b1528;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-size:15px}.page{max-width:1640px;margin-inline:auto;padding-block:20px 48px;padding-inline:clamp(12px,2vw,28px)}h1,h2,h3{text-transform:uppercase;letter-spacing:.02em;text-wrap:balance;margin:0;font-family:Big Shoulders Display,sans-serif}h1{font-size:clamp(28px,6vw,40px);font-weight:800}h2{margin-bottom:12px;font-size:22px;font-weight:700}h3{color:var(--muted);letter-spacing:.06em;margin-bottom:8px;font-size:15px;font-weight:700}p{line-height:1.5}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}.muted{color:var(--muted)}.small{font-size:13px}button,select,input{font-family:inherit;font-size:14px}a{color:var(--accent)}header.top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:6px;display:flex}.userbox{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;display:flex}nav.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}nav.tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-right:16px;padding:10px 4px;font-weight:600;text-decoration:none}nav.tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}nav.tabs a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;padding:18px 20px}.grid2{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:600}.field input,.field select,select.inline{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:7px;min-width:0;padding:8px 10px}.field input:focus-visible,.field select:focus-visible,select.inline:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.checkbox{align-items:center;gap:8px;font-size:14px;display:flex}.checkbox input{width:16px;height:16px}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.danger{color:var(--danger)}.btn.small{padding:4px 10px;font-size:13px}.btn.link{color:var(--accent);background:0 0;border:none;padding:4px 0}.notice{border-radius:8px;margin:10px 0;padding:10px 14px;font-size:14px;line-height:1.45}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.good{background:var(--good-soft);color:var(--good)}.notice.info{background:var(--accent-soft);color:var(--ink)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad,.badge.danger{background:var(--danger-soft);color:var(--danger)}.table-scroll{overflow-x:auto}table.list{border-collapse:collapse;width:100%;font-size:14px}table.list th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600}table.list td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px}table.list tr.archived td{color:var(--muted)}table.list td.right,table.list th.right{text-align:right}table.list td.center,table.list th.center{text-align:center}table.matrix td{vertical-align:top}table.matrix .cell{flex-direction:column;gap:4px;min-width:150px;display:flex}.temp-password{letter-spacing:.08em;background:var(--surface);border:1px dashed var(--accent);-webkit-user-select:all;user-select:all;border-radius:8px;padding:8px 14px;font-family:IBM Plex Mono,monospace;font-size:20px;display:inline-block}.login-wrap{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{width:100%;max-width:380px}.login-card h1{margin-bottom:4px}.diff{font-size:13px;line-height:1.5}.diff .old{color:var(--danger);text-decoration:line-through}.diff .new{color:var(--good)}table.list.clickable tbody tr{cursor:pointer}table.list.clickable tbody tr:hover td{background:var(--surface-2)}.weekday-inputs{flex-wrap:wrap;gap:8px;display:flex}.weekday-input{color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:12px;display:flex}.weekday-input input,.coverage-input{text-align:center;border:1px solid var(--border);background:var(--surface);width:44px;color:var(--ink);border-radius:7px;padding:6px 4px;font-family:IBM Plex Mono,monospace}.coverage-input:disabled{background:0 0;border-color:#0000}fieldset:disabled input,fieldset:disabled select{background:var(--surface-2)}.plan-scroll{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow-x:auto}table.plan{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:12px}table.plan th.total{width:52px}table.plan th.total.hours{width:48px}table.plan th,table.plan td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}table.plan thead th{background:var(--surface-2);color:var(--muted);font-weight:600}table.plan th.day{text-align:center;padding:4px 0;font-size:11px;line-height:1.25;position:relative;overflow:hidden}table.plan th.day.weekend{background:var(--weekend-head-bg);color:var(--ink);font-weight:700}table.plan th.day.holiday{color:#6e1616;background:#f1a7a7;font-weight:700}table.plan:not(.cal) tbody tr.emp>td:has(>.pc){border-bottom:1px solid var(--surface);border-right:1px solid var(--surface);height:48px;position:relative}table.plan:not(.cal) tbody tr.emp>td>.pc{border-radius:5px;width:auto;height:auto;position:absolute;inset:2px}table.plan :is(th,td).day-we{--band:var(--we-band);--band-fg:var(--we-band-fg);--band-empty:var(--we-band-empty)}table.plan :is(th,td).day-hol{--band:var(--hol-band);--band-fg:var(--hol-band-fg);--band-empty:var(--hol-band-empty)}table.plan th.day:is(.day-we,.day-hol){background:var(--band);color:var(--band-fg);border-bottom-color:var(--band)}table.plan tbody tr.emp>td:is(.day-we,.day-hol):has(>:is(.pc,.cal-cell)){background:var(--band)}table.plan tbody tr.emp:has(+tr.emp)>td:is(.day-we,.day-hol):has(>:is(.pc,.cal-cell)){border-bottom-color:var(--band)}table.plan :is(th.day,tbody tr.emp>td).day-we:not(.day-hol):has(+.day-we:not(.day-hol)){border-right-color:var(--band)}table.plan :is(th.day,tbody tr.emp>td).day-hol:has(+.day-hol){border-right-color:var(--band)}table.plan :is(tr.appointments,tr.gaps)>td:is(.day-we,.day-hol),table.plan.cal td:is(.day-we,.day-hol) .cal-cell:not(.cal-course):not(.cal-school):not(.cal-vacation):not(.cal-vacation-free):not(.cal-sick){background:var(--band-empty)}body.printing table.plan:not(.cal) tbody tr.emp>td:has(>.pc){border-bottom-width:1px;height:31px}body.printing table.plan:not(.cal) tbody tr.emp>td>.pc{border-radius:3px;height:auto;inset:1px}body.printing table.plan:not(.cal) .pc-band{border-width:1.5px}body.printing table.plan:not(.cal) .pc-band .pc-time{flex:none;height:8px;line-height:8px}body.printing table.plan:not(.cal) .pc-band .pc-bandcode{min-height:0;line-height:1}table.plan .name{z-index:2;background:var(--surface);text-align:left;white-space:nowrap;text-overflow:ellipsis;width:150px;padding:4px 8px;position:sticky;left:0;overflow:hidden}table.plan thead .name{background:var(--surface-2);z-index:3}table.plan tr.group td{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;font-size:11px;font-weight:700}table.plan tr.group td.name{background:var(--surface-2)}table.plan tbody tr.emp>td{border-bottom:3px solid var(--surface)}table.plan td.total{text-align:right;white-space:nowrap;padding:2px 4px;font-family:IBM Plex Mono,monospace;overflow:hidden}table.plan td.total.under{color:var(--danger)}table.plan td.total.over{color:var(--warn)}table.plan .sub{color:var(--muted);text-overflow:ellipsis;font-size:10px;font-weight:400;display:block;overflow:hidden}.pc{cursor:pointer;width:100%;min-width:0;height:46px;color:var(--ink);background:0 0;border:none;flex-direction:column;margin:0;padding:0;font-family:IBM Plex Mono,monospace;display:flex;position:relative;overflow:hidden;container-type:inline-size}.pc:disabled{cursor:default}.pc:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.pc.selected{outline:2px solid var(--accent);outline-offset:-2px}.pc.highlighted{box-shadow:inset 0 0 0 2px var(--danger)}.pc-full{justify-content:center;align-items:center}.pc-code{font-size:clamp(10px,40cqw,14px);font-weight:700}.pc-band{border:2px solid var(--pc-frame,var(--border))}.pc-band .pc-time{background:var(--time-bg);color:var(--time-fg);text-align:center;white-space:nowrap;letter-spacing:-.03em;font-size:clamp(9px,40cqw,12px);line-height:12px;overflow:hidden}.pc-band .pc-time sup{vertical-align:.55em;margin-left:.05em;font-size:.62em;line-height:0}.pc-clock{border:2px solid var(--pc-frame,var(--border))}.pc-clock-mark{font-size:clamp(8px,34cqw,11px);line-height:1;position:absolute;top:2px;left:3px}.pc-band .pc-bandcode{flex:1;justify-content:center;align-items:center;font-size:clamp(10px,40cqw,14px);font-weight:700;display:flex}.pc-band.pc-adjusted .pc-time{font-weight:700}.pc-empty:hover:not(:disabled){background:var(--surface-2)!important}.pc-inactive{background:repeating-linear-gradient(45deg, var(--surface-2) 0 3px, transparent 3px 6px)}.pc.foreign:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#80808047 0 2px,#0000 2px 6px);position:absolute;inset:0}.pc-lock{color:var(--ink);opacity:.7;font-size:7px;line-height:1;position:absolute;top:1px;right:2px}.pc.pc-pending{outline:1.5px dashed var(--warn);outline-offset:-2px}.pc-pending-mark{color:var(--warn);font-size:8px;font-weight:700;line-height:1.1;position:absolute;top:0;left:2px}.pc-vlock{width:6px;height:7px;color:var(--ink);opacity:.55;display:flex;position:absolute;top:1px;right:2px}.pc-vlock svg{width:100%;height:100%}body.printing .pc-vlock{display:none}@media print{.pc-vlock{display:none}}.vacation-box{background:var(--surface-2);border-radius:6px;flex-direction:column;gap:2px;margin:6px 0 2px;padding:6px 8px;display:flex}.vacation-box .pending-text{color:var(--warn)}.pc-verify{background:var(--verify);color:#fff;pointer-events:none;border-radius:2px;padding:0 2px;font-size:7px;font-weight:700;line-height:9px;position:absolute;top:1px;left:1px}body.printing .pc-verify{display:none}@media print{.pc-verify{display:none}}.pc-wish{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:2px;left:2px}.pc-foreign{background:var(--surface);color:var(--muted);z-index:1;padding:0 2px;font-size:8px;line-height:10px;position:absolute;bottom:0;right:0}.plan-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0;font-size:12px;display:flex}.plan-legend .sw{vertical-align:-3px;border:1px solid var(--border);border-radius:3px;width:14px;height:14px;margin-right:4px;display:inline-block}.cell-editor{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:300px;max-width:calc(100vw - 16px);padding:14px;position:fixed;box-shadow:0 12px 32px #0000002e}.cell-editor h3{margin-bottom:6px}.code-buttons{flex-wrap:wrap;gap:6px;display:flex}.code-btn{cursor:pointer;border:2px solid #0000;border-radius:7px;min-width:40px;height:32px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.code-btn.active{border-color:var(--ink)}.code-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-ktoggle]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.time-row{align-items:end;gap:8px;margin-top:10px;display:flex}.quarter-time{align-items:center;gap:2px;display:inline-flex}.field .quarter-time select,.quarter-time select{flex:none;width:auto;min-width:48px;padding:5px 2px 5px 5px;font-size:13px}.time-row .field{flex:none}.time-row .btn-reset{margin-bottom:2px;padding:4px 8px}.issues{flex-direction:column;gap:4px;font-size:13px;display:flex}.issue{background:var(--danger-soft);color:var(--danger);cursor:pointer;text-align:left;font:inherit;border:none;border-radius:6px;padding:4px 10px}.issue.warn{background:var(--warn-soft);color:var(--warn)}div.issue{cursor:default;justify-content:space-between;align-items:center;gap:10px;display:flex}div.issue input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--good);flex:none;margin:0}.issue.done{background:var(--surface-2);color:var(--muted)}.issues-done{margin-top:10px}.issues-done summary{cursor:pointer;margin-bottom:6px}.status-pill{border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.status-pill.ok{background:var(--good-soft);color:var(--good)}.status-pill.bad{background:var(--danger-soft);color:var(--danger)}.month-nav{align-items:center;gap:6px;display:inline-flex}.month-nav strong{text-align:center;min-width:130px}.tile-list{margin:4px 0 0;padding-left:18px}.plan-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 16px;margin-bottom:12px;display:grid}.plan-head .plan-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;display:flex}.plan-head .plan-view{justify-content:flex-end}.plan-head .store-name{font-size:15px}.plan-head .month-nav select.inline{min-width:220px}@media (width<=1100px){.plan-head{flex-wrap:wrap;justify-content:space-between;display:flex}.plan-head .plan-nav{justify-content:flex-start}}.rules-editor{flex-direction:column;gap:6px;display:flex}.rules-head,ol.rule-list li{grid-template-columns:1fr 76px 64px;align-items:start;gap:12px;display:grid}.rules-head{border-bottom:1px solid var(--border);padding:0 8px 4px}.rules-head span:not(:first-child){text-align:center}.rules-section{color:var(--ink);margin:8px 0 0;font-weight:600}ol.rule-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}ol.rule-list li{background:var(--surface-2);border-radius:6px;padding:6px 8px}ol.rule-list li.off{opacity:.6}ol.rule-list .checkbox{align-items:flex-start}ol.rule-list .checkbox input{margin-top:3px}.rule-rank{min-width:26px;color:var(--muted);font-weight:600;display:inline-block}.rule-details{margin:6px 0 2px 26px}.rule-move{justify-content:center;gap:4px;display:inline-flex}.rule-hard{justify-content:center;font-size:13px}.rule-weight{color:var(--muted);margin-left:8px;font-size:11px;font-weight:400}ol.rule-list li.rule-danger{box-shadow:inset 3px 0 0 var(--danger)}ol.rule-list li.rule-warn{box-shadow:inset 3px 0 0 var(--warn)}ol.rule-list li.rule-info{box-shadow:inset 3px 0 0 var(--muted)}.rule-warnings{flex-direction:column;gap:2px;margin:4px 0 0 26px;display:flex}.rule-warning{font-size:12px;line-height:1.35}.rule-warning.danger{color:var(--danger)}.rule-warning.warn{color:color-mix(in srgb, var(--warn) 75%, var(--ink))}.rule-warning.info{color:var(--muted)}details.rules-guide{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 10px}details.rules-guide>summary{cursor:pointer;font-size:13px;font-weight:600}details.rules-guide p,details.rules-guide ul,details.rules-guide ol{max-width:90ch;margin:6px 0}details.rules-guide ul,details.rules-guide ol{padding-left:20px}@media (width<=640px){.rules-head,ol.rule-list li{grid-template-columns:1fr auto}.rules-head span:nth-child(2),.rule-move:empty{display:none}}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.chip input{width:14px;height:14px}kbd{border:1px solid var(--border);background:var(--surface-2);min-width:16px;color:var(--ink);text-align:center;border-bottom-width:2px;border-radius:4px;margin:0 1px;padding:0 4px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:16px;display:inline-block}.pc-band .pc-time.pc-fill{background:0 0}.modal-backdrop{z-index:60;background:#14161b59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:440px;margin:0;box-shadow:0 12px 32px #0000002e}.summary-modal{max-width:520px;max-height:calc(100vh - 32px);overflow:auto}.summary-list{flex-direction:column;gap:3px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.summary-list li{border-radius:6px;justify-content:space-between;gap:12px;padding:5px 10px;display:flex}.summary-list li.ok{background:var(--good-soft)}.summary-list li.ok strong{color:var(--good)}.summary-list li.warn{background:var(--warn-soft)}.summary-list li.warn strong{color:var(--warn)}.summary-list li.bad{background:var(--danger-soft)}.summary-list li.bad strong{color:var(--danger)}.radio-list{flex-direction:column;gap:10px;margin:8px 0;display:flex}.radio-option{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.radio-option input{margin-top:4px}.print-only{display:none}@media print{@page{size:A4 landscape;margin:6mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}body.printing main{flex-direction:column;justify-content:center;min-height:197mm;display:flex}}body.printing .plan-scroll{margin-inline:auto}body.printing{background:#fff}body.printing .page{max-width:none;padding:0}body.printing header.top,body.printing nav.tabs,body.printing .plan-head,body.printing .plan-status,body.printing .edit-history,body.printing .toolbar,body.printing .notice,body.printing .card,body.printing .cell-editor,body.printing .modal-backdrop,body.printing .no-print{display:none!important}body.printing .print-only{display:block}body.printing .print-head{justify-content:space-between;gap:16px;margin-bottom:4px;font-size:11px;display:flex}body.printing .print-head strong{font-size:14px}body.printing .plan-scroll{border:none;border-radius:0;overflow:visible}body.printing table.plan{font-size:10px}body.printing table.plan .name{padding:2px 6px;position:static}body.printing table.plan col.col-name{width:120px}body.printing table.plan col.col-days{width:30px}body.printing table.plan col.col-count{width:19px}body.printing table.plan .total.count{font-size:9px}body.printing .print-hide{display:none!important}body.printing table.plan col.print-hide,body.printing table.plan col.no-print{width:0!important;display:table-column!important}body.printing table.plan tr.stripe th,body.printing table.plan tr.stripe td{height:10px;padding:0 2px;font-size:7px;font-weight:600;line-height:9px}body.printing table.plan tr.stripe th.name{letter-spacing:0;font-size:6.5px}body.printing{--shift-F-bg:#8fc2ec;--shift-M-bg:#8fd07e;--shift-S-bg:#ee9442;--shift-N-bg:#ee8383;--code-X-bg:#d6d2c8;--code-U-bg:#f8dc5e;--code-B-bg:#dfc68c;--code-K-bg:#cbb0ea;--code-KU-bg:#9fd2ea;--stripe-appointment:#ffcf70;--stripe-holiday:#9fd197;--stripe-fair:#9bbfea;--stripe-event:#c3a6e3;--stripe-promotion:#ee9dbb;--stripe-holiday-alt:#7dbf72;--stripe-fair-alt:#7aa8e0;--stripe-event-alt:#a583d6;--stripe-promotion-alt:#d96c96;--stripe-appointment-fg:#4f3500;--weekend-empty:#d6d3cd;--holiday-empty:#f7c4c4;--weekend-head-bg:var(--we-band)}body.printing .plan-scroll,body.printing table.plan{break-inside:avoid}body.printing table.plan th.day{padding:2px 0;font-size:9px;line-height:1.15}body.printing table.plan tr.appointments th,body.printing table.plan tr.appointments td{height:200px}body.printing .appt-text{height:196px;font-size:8px}body.printing table.plan tr.group td{padding:2px 6px;font-size:9px}body.printing table.plan tbody tr.emp>td{border-bottom-width:2px}body.printing table.plan td.total{padding:1px 3px;font-size:9px}body.printing table.plan .sub{font-size:8px}body.printing .pc{cursor:default;height:30px}body.printing .pc-band .pc-time{letter-spacing:-.02em;font-size:clamp(6px,24cqw,8px);line-height:8.5px}body.printing .pc-band.pc-short .pc-time{letter-spacing:-.03em;font-size:clamp(7.5px,34cqw,8px)}body.printing .pc-band .pc-bandcode{line-height:1}body.printing .pc.selected,body.printing .pc.highlighted{outline:none}body.printing .plan-legend{gap:3px 10px;margin:4px 0 0;font-size:8.5px}body.printing .plan-legend .sw{vertical-align:-1px;width:10px;height:10px}.pc.pc-changed:before,.pc.pc-changed-sick:before{content:"";pointer-events:none;z-index:2;border-radius:inherit;border:2px dashed #c7780a;position:absolute;inset:0}.pc.pc-changed-sick:before{border-color:var(--muted)}.pc-remark{z-index:3;pointer-events:none;border-top:12px solid var(--danger);border-right:12px solid #0000;width:0;height:0;position:absolute;top:0;left:0}.status-pill.warn{background:var(--warn-soft);color:var(--warn)}.approval-bar{padding:12px 16px}.approval-head .toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}.approval-head .actions{justify-content:flex-end}table.list.changes{margin-top:6px;font-size:13px}.field textarea{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;resize:vertical;border-radius:7px;padding:8px 10px;font-size:14px}.money-input{text-align:right;width:110px;font-family:IBM Plex Mono,monospace}.version-history .btn.link{font-size:inherit;padding:0}.version-history .btn.link.active{font-weight:700;text-decoration:underline}.view-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}td.neg,td.neg strong{color:var(--danger)}.hours-table input.inline:not(.money-input){width:100%;min-width:120px}.neg-text{color:var(--danger)}table.plan tr.gaps td{background:var(--surface);border-top:2px solid var(--border)}table.plan tr.day-head th.group-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;font-size:11px;font-weight:700}table.plan tr.gaps td.name{color:var(--muted);white-space:normal;font-size:11px;font-weight:700;line-height:1.2}.gap-cell{flex-wrap:wrap;place-content:center;gap:0 2px;min-height:30px;font-family:IBM Plex Mono,monospace;font-size:clamp(9px,34cqw,12px);font-weight:700;display:flex;container-type:inline-size}.gap-first{color:var(--danger)}.gap-more{color:#d39a4a}.forecast{opacity:.8;font-style:italic}.settings-menu{position:relative}.btn.icon{justify-content:center;align-items:center;padding:5px 7px;display:inline-flex}.btn.icon.active{color:var(--accent);border-color:var(--accent)}.settings-dropdown{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #00000024}.settings-dropdown a{color:var(--ink);border-radius:6px;padding:8px 10px;font-size:14px;font-weight:600;text-decoration:none}.settings-dropdown a:hover,.settings-dropdown a:focus-visible{background:var(--surface-2);outline:none}.settings-dropdown a.active{color:var(--accent)}nav.subtabs{flex-wrap:wrap;gap:6px;margin:-8px 0 18px;display:flex}nav.subtabs a{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;text-decoration:none}nav.subtabs a.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.dashboard{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-bottom:14px;display:grid}.dashboard .card{margin:0}.dashboard-cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.dashboard-col{flex-direction:column;gap:14px;min-width:0;display:flex}.dashboard-col>.card{margin:0}.dashboard-head{margin:4px 0 0;font-size:1.05rem}.tile-line{align-items:baseline;gap:10px;margin:4px 0;display:flex}.tile-line .tile-number{margin:0}@media (width<=1000px){.dashboard-cols{grid-template-columns:1fr}}.tile h3{margin-bottom:6px}.tile p{margin:4px 0 10px}.tile-number{font-family:Big Shoulders Display,sans-serif;font-size:40px;font-weight:800;line-height:1}.tile-bad{border-color:var(--danger);background:var(--danger-soft)}.tile-warn{background:var(--warn-soft);border-color:#e0b45c}table.plan tr.stripe th,table.plan tr.stripe td{white-space:nowrap;text-overflow:ellipsis;background:var(--surface);height:17px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:16px;overflow:hidden}table.plan tr.stripe th.name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:9px}table.plan tr.stripe td.stripe-holiday,.stripe-badge.stripe-holiday{background:var(--stripe-holiday);color:var(--stripe-holiday-fg)}table.plan tr.stripe td.stripe-fair,.stripe-badge.stripe-fair{background:var(--stripe-fair);color:var(--stripe-fair-fg)}table.plan tr.stripe td.stripe-event,.stripe-badge.stripe-event{background:var(--stripe-event);color:var(--stripe-event-fg)}table.plan tr.stripe td.stripe-promotion,.stripe-badge.stripe-promotion{background:var(--stripe-promotion);color:var(--stripe-promotion-fg)}table.plan tr.stripe td.stripe-holiday.stripe-alt{background:var(--stripe-holiday-alt);color:var(--stripe-holiday-alt-fg)}table.plan tr.stripe td.stripe-fair.stripe-alt{background:var(--stripe-fair-alt);color:var(--stripe-fair-alt-fg)}table.plan tr.stripe td.stripe-event.stripe-alt{background:var(--stripe-event-alt);color:var(--stripe-event-alt-fg)}table.plan tr.stripe td.stripe-promotion.stripe-alt{background:var(--stripe-promotion-alt);color:var(--stripe-promotion-alt-fg)}.stripe-badge{border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}table.plan col.col-name{width:150px}table.plan col.col-days{width:40px}table.plan col.col-count{width:24px}table.plan td.total.days-diff{text-align:center}table.plan td.tail-empty{border-bottom:none;border-right:none;background:0 0!important}table.plan th.logo-cell{vertical-align:middle;text-align:center;padding:6px 8px}table.plan th.logo-cell img{object-fit:contain;max-width:100%;max-height:110px;margin:0 auto;display:block}body.printing table.plan th.logo-cell img{max-height:110px}body.printing .print-store{text-transform:none;letter-spacing:0;color:var(--ink);flex-direction:column;align-items:center;margin-top:6px;display:flex}body.printing .print-store-nr{font-size:13px;font-weight:700;line-height:1.2}body.printing .print-store-name{white-space:normal;text-align:center;font-size:11px;font-weight:600;line-height:1.2}body.printing .print-month{white-space:nowrap;margin-bottom:4px;font-size:17px;font-weight:700;line-height:1.15}body.printing .print-draft{border:2px solid var(--danger);color:var(--danger);text-transform:uppercase;letter-spacing:.06em;border-radius:4px;margin-top:4px;padding:1px 6px;font-size:11px;font-weight:700}body.printing .pc.foreign{background:#fff!important}body.printing .pc.foreign>:not(.pc-foreign){visibility:hidden}body.printing .pc.foreign.pc-band{border-color:#0000}body.printing .print-stand{color:var(--ink);white-space:nowrap;margin-top:6px;font-size:7.5px;line-height:10px}table.plan tr.appointments td.legend-cell{vertical-align:top;padding:2px 0 0 4px}.legend-print{color:var(--muted);font-size:10px;line-height:13px}.legend-print .lg-block{min-width:0}.legend-print .lg-open{border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:5px}.legend-print .lg-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:1px;font-size:9px;font-weight:600}.legend-print .lg-row{white-space:nowrap;grid-template-columns:max-content max-content;gap:0 10px;display:grid}.legend-print .lg-key{color:var(--ink);min-width:46px}.legend-print .lg-shifts .lg-row>:first-child{min-width:64px}.legend-print .lg-shifts .lg-sub>:first-child{min-width:52px}body.printing .legend-print .lg-shifts .lg-row>:first-child{min-width:48px}body.printing .legend-print .lg-shifts .lg-sub>:first-child{min-width:39px}.legend-print .lg-special{white-space:normal;grid-template-columns:max-content minmax(0,1fr)}.legend-print .lg-special .lg-key{font-variant-numeric:tabular-nums}.legend-print .lg-sub{padding-left:12px;font-size:9px}.legend-print .lg-item{white-space:nowrap}.legend-print .lg-mark{text-align:center;width:8px;color:var(--ink);margin-right:3px;display:inline-block}.legend-print b{color:var(--ink);font-weight:600}.legend-print .lg-cols{flex-wrap:wrap;align-items:flex-start;gap:4px 16px;display:flex}body.printing .legend-print{font-size:7.5px;line-height:9.5px;overflow:hidden}body.printing .legend-print .lg-title{font-size:7px}body.printing .legend-print .lg-sub{padding-left:9px;font-size:7px}body.printing .legend-print .lg-open{margin-bottom:3px;padding-bottom:3px}body.printing .legend-print .lg-cols{gap:2px 10px}.legend-print .sw{vertical-align:-1px;border:1px solid var(--border);border-radius:2px;width:8px;height:8px;margin-right:3px;display:inline-block}.legend-print .sw-foreign{background:repeating-linear-gradient(45deg,#80808073 0 2px,#0000 2px 4px)}table.plan .total.count{text-align:center;color:var(--ink-2,var(--ink));padding:2px 0;font-size:11px}table.plan th.total.count{font-family:IBM Plex Mono,monospace}table.plan .count-first{border-left:2px solid var(--border)}table.plan col.col-hours{width:48px}table.plan tr.appointments th,table.plan tr.appointments td{background:var(--surface);vertical-align:bottom;height:124px;padding:2px 0}table.plan tr.appointments th.name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;padding:0 8px;font-size:10px}.appt-text{writing-mode:vertical-rl;overflow-wrap:anywhere;max-width:100%;height:120px;color:var(--stripe-appointment-fg);margin:0 auto;font-size:9.5px;font-weight:600;line-height:1.05;overflow:hidden;transform:rotate(180deg);container-type:normal}.stripe-badge.stripe-appointment{background:var(--stripe-appointment);color:var(--stripe-appointment-fg)}h4.subhead{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 6px;font-size:12px;font-weight:700}table.plan.cal td{padding:0}.cal-cell{background:var(--surface-2);width:100%;height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;padding:0;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700;display:flex;overflow:hidden}.cal-cell:disabled{cursor:default}.cal-cell:hover:not(:disabled){filter:brightness(.95)}.cal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cal-course,.cal-course-sw{color:var(--code-KU-fg);background:var(--code-KU-bg)!important}.cal-school,.cal-school-sw{background:var(--code-B-bg);color:var(--code-B-fg)}.cal-school-off{color:var(--code-B-fg);opacity:.55;background:repeating-linear-gradient(135deg, transparent 0 4px, color-mix(in srgb, var(--code-B-bg) 60%, transparent) 4px 6px);text-decoration:line-through}.cal-vacation,.cal-vacation-sw{background:var(--code-U-bg);color:var(--code-U-fg)}.cal-vacation-free{background:color-mix(in srgb, var(--code-U-bg) 45%, #fff);color:var(--code-U-fg);font-weight:700}.cal-vacation-free.pending{outline:1px dotted var(--code-U-fg);outline-offset:-4px;background:#fff}.cal-sick,.cal-sick-sw{background:var(--code-K-bg);color:var(--code-K-fg)}.cal-verify,.cal-verify-sw{color:#fff;background:var(--verify)!important}.cal-outside{background:repeating-linear-gradient(45deg, var(--surface-2) 0 3px, transparent 3px 6px)}table.plan.cal tbody tr.emp>td:has(>.cal-cell){border-bottom:1px solid var(--surface);border-right:1px solid var(--surface);height:38px;position:relative}table.plan.cal tbody tr.emp>td>.cal-cell{border-radius:5px;width:auto;height:auto;position:absolute;inset:2px}.card.tile-bad-card{border-color:var(--danger);background:color-mix(in srgb, var(--danger-soft) 45%, var(--surface))}.modal.course-modal{max-width:520px;max-height:calc(100vh - 32px);overflow:auto}table.list.days-editor td{border:none;padding:3px 4px}table.list.days-editor input.inline{width:auto}.cal-requested,.cal-requested-sw{color:var(--code-U-fg);outline:1px dashed var(--code-U-fg);outline-offset:-3px;background:repeating-linear-gradient(45deg, var(--code-U-bg) 0 4px, #fff 4px 7px)!important}.segmented{display:inline-flex}.segmented .btn{border-radius:0}.segmented .btn:first-child{border-radius:8px 0 0 8px}.segmented .btn:last-child{border-radius:0 8px 8px 0;margin-left:-1px}.segmented .btn.active{background:var(--accent);border-color:var(--accent);color:#fff}table.plan.cal-year col.col-acc{width:64px}table.plan.cal-year th.month-head{padding:4px 0}table.plan.cal-year td.year-month{padding:3px 2px}.year-strip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:3px;width:100%;height:26px;padding:0;display:flex;overflow:hidden}.year-strip:hover{border-color:var(--accent)}.year-strip .ys{border-right:1px solid color-mix(in srgb, var(--border) 50%, transparent);flex:1;min-width:0}.year-strip .ys.ys-we:not(.cal-course):not(.cal-vacation):not(.cal-vacation-free):not(.cal-requested):not(.cal-school):not(.cal-sick){background:var(--weekend-empty)}.year-strip .ys.cal-requested{outline:none;background:repeating-linear-gradient(0deg, var(--code-U-fg) 0 2px, var(--code-U-bg) 2px 5px)!important}.year-strip .ys.cal-vacation{background:#e8b923}.year-strip .ys.cal-course{background:#5aa9c8!important}.year-strip .ys.cal-school{background:#c9ae72}.year-strip .ys.cal-sick{background:#a98bd1}.year-strip .ys.cal-verify{background:var(--verify)!important}.card.tile-warn-card{border-color:var(--warn);background:color-mix(in srgb, var(--warn-soft) 45%, var(--surface))}.cal-draft,.cal-draft-sw{color:var(--code-U-fg);outline:2px dotted var(--code-U-fg);outline-offset:-4px;background:#fff!important}.year-strip .ys.cal-draft{outline:none;background:repeating-linear-gradient(0deg, var(--code-U-fg) 0 1px, #fff 1px 4px)!important}table.plan th.center-col,table.plan td.center-col{text-align:center}table.plan th.center-col .sub{text-transform:none;font-weight:400}table.plan td.center-col{padding-inline:2px}.log-filters{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 16px;display:flex}.log-filters .field{min-width:140px}.log-filters .log-search{flex:1;min-width:200px}table.list.log tr.group-row td{background:var(--surface-2)}table.list.log tr.nested td{background:color-mix(in srgb, var(--surface-2) 40%, var(--surface));font-size:12px}table.list.log tr.nested td:first-child{padding-left:22px}.burger-modal{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:380px;display:flex}.burger-modal img{image-rendering:pixelated;width:320px;height:280px}.burger-modal p{color:var(--muted);margin:0;font-size:14px}.confirm-modal{max-width:440px}.confirm-modal .confirm-text{white-space:pre-line;font-size:14px}.confirm-modal .confirm-text p{margin:0 0 8px}.school-times{flex-wrap:wrap;gap:6px 14px;margin-top:6px;display:flex}.school-time{align-items:center;gap:6px;display:inline-flex}.plan-progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;width:320px;max-width:100%;height:10px;margin:4px auto 0;overflow:hidden}.plan-progress>div{background:var(--accent);border-radius:999px;height:100%;transition:width .45s linear}.plan-progress-text{font-variant-numeric:tabular-nums;margin:6px 0 0}.plan-progress-source{color:var(--muted)}.plan-checklist{text-align:left;gap:3px;max-width:380px;margin:10px auto 0;padding:0;font-size:13px;list-style:none;display:grid}.plan-checklist li{color:var(--muted);grid-template-columns:18px 1fr auto;align-items:center;gap:6px;display:grid}.plan-checklist li.done{color:var(--ink)}.plan-checklist li.done .plan-check-icon{color:var(--good);font-weight:700}.plan-checklist li.active{color:var(--ink);font-weight:600}.plan-checklist li.active .plan-check-icon{color:var(--accent)}.plan-check-proof{color:var(--good);font-size:11px}.summary-all-ok{color:var(--good);margin:8px 0 12px;font-weight:600}.solver-proof{color:var(--good);margin:0 0 6px}.pc-warn{z-index:3;cursor:pointer;width:11px;height:10px;color:var(--warn);padding:0 1px 1px 0;display:flex;position:absolute;bottom:0;right:0}.pc-warn.error{color:var(--danger)}.pc-warn svg{filter:drop-shadow(0 0 1px #fff);width:100%;height:100%}.pc-warn:hover{transform-origin:100% 100%;transform:scale(1.25)}body.printing .pc-warn{display:none}.warn-pop{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:320px;max-width:calc(100vw - 16px);padding:10px;position:fixed;box-shadow:0 12px 32px #0000002e}.warn-pop .issues{font-size:12.5px}table.plan th.day.cov-override{box-shadow:inset 0 3px 0 var(--accent)}.archive-note{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-filters{flex-wrap:wrap;margin:8px 0 4px}.staff-legend{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-left:10px;display:inline-flex}.staff-scroll{max-height:calc(100vh - 230px);padding:0;overflow:auto}table.staff-grid{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}table.staff-grid th,table.staff-grid td{border:1px solid var(--border);text-align:center;min-width:26px;height:28px;padding:0}table.staff-grid thead th{z-index:2;background:var(--surface-2);padding:2px 0;font-weight:600;line-height:1.15;position:sticky;top:0}table.staff-grid th.who{z-index:1;background:var(--surface);text-align:left;min-width:210px;max-width:240px;padding:2px 8px;font-weight:400;position:sticky;left:0}table.staff-grid thead th.who{z-index:3;background:var(--surface-2);font-weight:600}table.staff-grid th.who .name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}table.staff-grid th.who .small{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}table.staff-grid .we{background:var(--weekend-empty)}table.staff-grid .hol{background:var(--holiday-empty)}table.staff-grid td{cursor:default}.sc{border-radius:4px;justify-content:center;align-items:center;width:24px;height:22px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700;display:inline-flex}.sc.pending{background:repeating-linear-gradient(45deg, var(--code-U-bg) 0 3px, #fff 3px 6px);border:1.5px dashed}.sc.foreign{background-image:repeating-linear-gradient(45deg,#0000002e 0 2px,#0000 2px 5px)!important}.sc.vac-pending{outline:2px dashed var(--code-U-fg);outline-offset:1px}table.list tr.group-row th{background:var(--surface-2);text-align:left;font-weight:600}.sc{position:relative}.sc-verify{background:var(--verify);color:#fff;border-radius:2px;padding:0 2px;font-size:7px;line-height:9px;position:absolute;top:-3px;left:-3px}.multi-select{display:inline-block;position:relative}.multi-select-btn{justify-content:space-between;min-width:140px;font-weight:400}.multi-select-pop{z-index:20;min-width:260px;max-height:60vh;margin:0;padding:8px 10px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 12px 32px #00000029}.multi-select-pop label.checkbox{white-space:nowrap;align-items:center;gap:6px;padding:3px 0;font-weight:400;display:flex}.multi-select-pop .multi-select-head{margin-top:4px;font-weight:600}.multi-select-pop .multi-select-sub{padding-left:18px}header.top h1 a.brand-link{color:inherit;text-decoration:none}.toolbar.subhead{margin:16px 0 6px}table.list.matrix tr.matrix-group th{background:var(--surface-2);text-align:left;text-transform:uppercase;letter-spacing:.05em;padding-top:10px;font-size:12px}.demo-banner{z-index:30;text-align:center;color:#3a2c00;letter-spacing:.08em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:repeating-linear-gradient(-45deg,#f2c230 0 14px,#f7d561 14px 28px);margin:0 -12px 8px;padding:4px 12px;font-size:12px;font-weight:700;position:sticky;top:0}body.printing .demo-banner{display:none}.demo-switch{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12px;font-weight:600;display:inline-flex}.demo-switch-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;width:28px;height:16px;transition:background .15s;position:relative}.demo-switch-knob{background:#fff;border-radius:50%;width:12px;height:12px;transition:left .15s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #0000004d}.demo-switch.on .demo-switch-track{background:#e0a800;border-color:#b88a00}.demo-switch.on .demo-switch-knob{left:13px}.cal-gap,.cal-gap-sw{color:var(--code-U-fg);outline:2px dashed var(--code-U-fg);outline-offset:-4px;background:#fff!important}.cal-blackout,.cal-blackout-sw{background:repeating-linear-gradient(-45deg, var(--danger-soft) 0 4px, #fff 4px 8px)!important}.gap-why{margin-top:10px}.gap-why summary{cursor:pointer;color:var(--muted)}.gap-why-list{flex-direction:column;gap:3px;margin:4px 0 0;padding-left:18px;display:flex}.gap-why-list li.bad{color:var(--danger)}.gap-why-list li.warn{color:var(--warn)}.status-pill.clickable{cursor:pointer;font:inherit}.status-pill.clickable:hover{filter:brightness(.96);box-shadow:0 0 0 2px color-mix(in srgb, currentColor 25%, transparent)}.issue-panel section+section{margin-top:14px}.issue-head{text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:13px;font-weight:700}.issue-head.bad{color:var(--danger)}.issue-head.warn{color:var(--warn)}table.issue-table{border-collapse:collapse;width:100%;font-size:13px}table.issue-table th{text-align:left;border-bottom:1px solid var(--border);padding:2px 6px;font-weight:600}table.issue-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);vertical-align:top;padding:4px 6px}table.issue-table tr:hover td{background:var(--surface-2)}table.issue-table tr.done td{color:var(--muted)}.issue-person{white-space:nowrap;font-weight:600}.issue-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.issue-chip{border:1px solid var(--warn);background:var(--warn-soft);color:var(--warn);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 8px;font-size:12px;line-height:20px}.issue-chip.bad{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.issue-chip:hover{filter:brightness(.95)}.issue-text{display:block}.issue-note{color:var(--accent);margin-top:2px;font-size:12px;display:block}.issue-note-input{width:100%;margin-top:4px;font-size:12px;display:block}.issue-group{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:6px 0}.issue-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.issue-group[open]>summary{border-bottom:1px solid var(--border)}.issue-group>table{margin:4px 0}.issue-count{background:var(--warn-soft);min-width:20px;color:var(--warn);text-align:center;border-radius:999px;padding:0 6px;font-size:12px;display:inline-block}table.plan th.day.day-focus{box-shadow:inset 0 0 0 3px var(--accent)}.day-times{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.day-times-row td{border-top:none;padding-top:0}.special-day-form{padding:8px 4px}table.plan td.name{position:sticky}table.plan .name-btn{all:unset;cursor:pointer;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}table.plan .name-btn:hover{color:var(--accent)}table.plan .name-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}table.plan .name-adjusted{width:13px;height:13px;color:var(--accent);cursor:help;position:absolute;top:2px;right:3px}table.plan .name-adjusted svg{fill:currentColor;width:100%;height:100%;display:block}body.printing table.plan .name-adjusted{display:none}@media print{table.plan .name-adjusted{display:none}}.modal.emp-plan-modal{max-width:520px;max-height:calc(100vh - 32px);overflow:auto}.emp-plan-section{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.emp-plan-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 6px;font-size:13px}.emp-plan-balance{margin:0 0 6px;font-size:20px}.emp-plan-balance .pos{color:var(--warn)}.emp-plan-balance .neg{color:var(--danger)}.emp-plan-target{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:6px;display:flex}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper .btn{text-align:center;width:34px;padding:6px 0;font-weight:700}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:2.2em;font-size:16px;font-weight:700}.emp-plan-bars{gap:5px;margin:6px 0;display:grid}.emp-plan-bar{grid-template-columns:34px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.emp-plan-bar .code{text-align:center;border-radius:4px;padding:2px 0;font-weight:700}.emp-plan-bar .track{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.emp-plan-bar .track span{height:100%;display:block}.emp-plan-bar .num{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:70px}.chip.toggle{cursor:pointer;font-weight:700}.chip.toggle:disabled{cursor:default;opacity:.7}.vacation-box .vacation-link{color:var(--accent);margin-top:4px;display:block}.issue-strip{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;padding:8px 10px;display:flex;position:sticky;top:0;box-shadow:0 4px 14px #00000014}.issue-strip .strip-nav{align-items:center;gap:6px;display:inline-flex}.issue-strip .strip-count{font-variant-numeric:tabular-nums;text-align:center;min-width:4.5em;font-weight:600}.issue-strip .strip-msg{border-left:3px solid var(--warn);flex-direction:column;flex:320px;gap:1px;min-width:0;padding-left:8px;font-size:13px;display:flex}.issue-strip .strip-msg.error{border-left-color:var(--danger)}.issue-strip .strip-meta{color:var(--muted);font-size:11px}.issue-strip .strip-actions{gap:6px;display:inline-flex}.issue-strip .strip-close{margin-left:auto}body.printing .issue-strip{display:none}@media print{.issue-strip{display:none}}.pc .pc-sickfree{color:var(--code-K-fg);font-size:8px;font-weight:700;line-height:1;position:absolute;top:1px;left:2px}body.printing .pc .pc-sickfree{display:none}@media print{.pc .pc-sickfree{display:none}}.logo-setting{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:8px;width:120px;height:80px;padding:6px}label.btn.disabled{opacity:.5;pointer-events:none}.mobile-only{display:none}.menu-user{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:4px;padding:6px 10px 8px}.menu-logout{border:0;border-top:1px solid var(--border);text-align:left;color:var(--danger);cursor:pointer;background:0 0;border-radius:0 0 6px 6px;margin-top:4px;padding:8px 10px;font-size:14px;font-weight:600}@media (width<=699px){.mobile-only{display:revert}.menu-user.mobile-only{display:flex}.desktop-only{display:none!important}.page{padding-block:10px 32px}header.top{flex-wrap:nowrap;align-items:center;margin-bottom:0}header.top h1{font-size:26px}nav.tabs{scrollbar-width:none;flex-wrap:nowrap;gap:0;margin:8px 0 14px;overflow-x:auto}nav.tabs::-webkit-scrollbar{display:none}nav.tabs a{white-space:nowrap;margin-right:14px;padding:8px 2px}}.m-tiles{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.m-tiles .card{margin:0;padding:10px 12px}.m-tiles h3{margin-bottom:4px;font-size:12px}.m-tiles .tile-number{font-size:32px}.m-tiles .tile-line{gap:6px;margin:0}.m-card{margin:0 0 10px;padding:10px 12px}.m-card h3{margin:0;font-size:12px}.m-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.m-switch{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.m-switch button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;width:28px;height:28px}.m-switch button:disabled{opacity:.35;cursor:default}.m-list{margin:0;padding:0;list-style:none}.m-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.m-list li:first-child{border-top:0}.m-list a{color:inherit;text-decoration:none}.m-sub{color:var(--muted);font-size:12px;display:block}.m-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.m-todo-title{margin:14px 2px 6px;font-size:13px}details.m-todo{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}details.m-todo>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:11px 12px;font-weight:600;list-style:none;display:flex}details.m-todo>summary::-webkit-details-marker{display:none}details.m-todo>summary:after{content:"›";color:var(--muted);margin-left:8px;transition:transform .15s}details.m-todo[open]>summary:after{transform:rotate(90deg)}details.m-todo>summary .m-count{background:var(--warn-soft);color:var(--warn);border-radius:999px;margin-left:auto;padding:1px 9px;font-size:13px}details.m-todo.bad>summary .m-count{background:var(--danger-soft);color:var(--danger)}details.m-todo .m-list{padding:0 12px 6px}.m-note{text-align:center;color:var(--muted);margin:14px 0 0;font-size:12px}.m-plan-bar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.m-seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.m-seg button{background:var(--surface);color:var(--muted);cursor:pointer;border:0;padding:6px 14px;font-size:13px;font-weight:600}.m-seg button.on{background:var(--accent);color:var(--accent-ink)}.m-plan-scroll{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}table.plan.m-grid{table-layout:fixed;width:100%}table.plan.m-grid th.name,table.plan.m-grid td.name{z-index:2;background:var(--surface);text-overflow:ellipsis;white-space:nowrap;width:72px;padding:0 4px;font-size:12px;position:sticky;left:0;overflow:hidden}.m-plan-scroll.month table.plan.m-grid{width:max-content}.m-plan-scroll.month table.plan.m-grid th.day,.m-plan-scroll.month table.plan.m-grid td:not(.name){width:38px}table.plan.m-grid .pc{height:38px}table.plan.m-grid tbody tr.emp>td{height:42px}table.plan.m-grid .m-pad{background:repeating-linear-gradient(135deg, transparent 0 4px, var(--surface-2) 4px 8px)}table.plan.m-grid th.day{padding:3px 0;font-size:10px}@media (width<=699px){.approval-head .toolbar>.actions+.actions{display:none}.plan-head{gap:6px;margin-bottom:8px}.plan-head .month-nav select.inline{min-width:0;max-width:200px}.plan-status .status-pill{pointer-events:none}}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-verify{top:3px;left:3px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-lock,body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-vlock{top:3px;right:4px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-pending-mark{top:2px;left:4px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-sickfree{top:3px;left:4px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-wish{bottom:4px;left:4px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc:has(>.pc-warn){overflow:visible}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc.pc-band .pc-time-start{border-radius:3px 3px 0 0}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc.pc-band .pc-time-end{border-radius:0 0 3px 3px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-warn{padding:0;bottom:-4px;right:-5px}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-warn:hover{transform-origin:50%}body:not(.printing) table.plan:not(.cal) tbody tr.emp>td>.pc .pc-foreign{border-radius:3px;bottom:2px;right:2px}table.plan.cal.m-grid{width:100%}.m-plan-scroll.month table.plan.cal.m-grid{width:max-content}table.plan.cal.m-grid tbody tr.emp>td:has(>.cal-cell){height:42px}.m-year-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:0 12px}.m-year-card>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-weight:600;list-style:none;display:flex}.m-year-card>summary::-webkit-details-marker{display:none}.m-year-bar{background:var(--surface-2);border-radius:4px;height:8px;margin:0 0 8px;overflow:hidden}.m-year-bar span{background:#e8b923;height:100%;display:block}.m-chips{flex-wrap:wrap;gap:4px;padding-bottom:10px;display:flex}.m-chip{cursor:pointer;background:var(--code-U-bg);color:var(--code-U-fg);border:0;border-radius:6px;padding:2px 7px;font-family:inherit;font-size:12px}.m-chip.course{background:var(--code-KU-bg);color:var(--code-KU-fg)}.m-chip.requested,.m-chip.draft{border:1px dashed var(--code-U-fg);background:#fff}details.m-legend>summary{cursor:pointer;margin:10px 0 0}table.plan.m-grid td.m-out>.pc,table.plan.m-grid td.m-out>.cal-cell{opacity:.55}table.plan.m-grid th.m-out{opacity:.6}.m-events-head .actions{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.m-events-head .actions select.inline{width:100%;min-width:0}.m-events-head .actions .month-nav{justify-content:flex-start}.m-events-head .actions .btn.primary{justify-self:end;min-width:40px;padding:2px 12px;font-size:18px}.m-events-month{margin:14px 2px 6px;font-size:13px}.m-event{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;flex-direction:column;gap:3px;margin-bottom:6px;padding:9px 12px;font-family:inherit;font-size:14px;display:flex}.m-event:disabled{cursor:default}.m-event-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.m-event-top strong{font-weight:600}.m-events-head~form.card,form.card{scroll-margin-top:48px}.m-approval{flex-direction:column;gap:3px;margin:0 0 8px;padding:10px 12px;display:flex}.m-approvals.with-bar{padding-bottom:64px}.m-bulk-bar{z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #00000014}.m-search{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;margin:0 0 10px;padding:9px 12px;font-size:15px}.m-list li.archived{opacity:.6}.m-sec h3{cursor:pointer}.m-sec>.card h3:after,.card.m-sec h3:after{content:" ▾";color:var(--muted)}.m-collapsed>.card h3:after,.card.m-collapsed h3:after{content:" ▸"}.card.m-collapsed>:not(:first-child),.m-collapsed>.card>:not(:first-child),.card.m-collapsed>.toolbar>:not(h3){display:none}.m-collapsed>.card,.card.m-collapsed{padding-bottom:10px}.m-save-bar{z-index:30;background:var(--bg);padding:10px 0 calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);position:sticky;bottom:0;margin:0!important}.m-collapsed>.card>.toolbar>:not(h3){display:none}@media (width<=699px){main .card{overflow-x:auto}.card[data-minit]>:first-child{cursor:pointer}.card[data-minit]>h3:first-child:after,.card[data-minit]>:first-child h3:after{content:" ▾";color:var(--muted)}.card[data-mcol]>h3:first-child:after,.card[data-mcol]>:first-child h3:after{content:" ▸"}.card[data-mcol]>:not(:first-child),.card[data-mcol]>:first-child :is(button,a,select,label,input){display:none}.card[data-mcol]{padding-bottom:10px}.staff-legend{gap:4px 12px;margin:6px 0 0;display:flex}.staff-legend>span{align-items:center;gap:4px;display:inline-flex}}
