@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_94b152{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_94b152{--font-manrope:"Manrope","Manrope Fallback"}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e546cf32c9d4702c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d76fe899475ae4d7-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8048a25e80cc4179-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/87bc17f7c8b98e48-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29b98dbfba401fa9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Unbounded;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e546cf32c9d4702c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Unbounded;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/d76fe899475ae4d7-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8048a25e80cc4179-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Unbounded;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/87bc17f7c8b98e48-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Unbounded;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/29b98dbfba401fa9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Unbounded Fallback;src:local("Arial");ascent-override:73.93%;descent-override:18.20%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9aad27{font-family:Unbounded,Unbounded Fallback;font-style:normal}.__variable_9aad27{--font-unbounded:"Unbounded","Unbounded Fallback"}:root{--ink:#1b2430;--muted:#67727f;--line:#e3e7ec;--paper:#e9edf0;--card:#fff;--teal:#0e7c86;--teal-d:#0b5f67;--indigo:#233a86;--saffron:#d9a227;--saffron-soft:#fdf4de;--warn:#c2410c;--warn-soft:#fff2ea;--danger:#c0554b;--font:var(--font-manrope,"Manrope"),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:var(--font-unbounded,"Unbounded"),var(--font-manrope,"Manrope"),system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0}body{background:radial-gradient(1200px 400px at 100% -10%,rgba(14,124,134,.1),transparent 60%),var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;padding:18px 18px 70px;-webkit-print-color-adjust:exact;print-color-adjust:exact}button{font-family:inherit}.sched.daymode .weekonly,.sched:not(.daymode) .dayonly,.sched:not(.editing) .edit-only,.sched:not(.owner) .owner-only{display:none!important}.sched.daymode #sheet{min-width:0;width:auto}.sched.daymode td.cell,.sched.daymode th.day{min-width:170px}.appbar{max-width:none;margin:0 auto 16px;position:relative;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px 20px;box-shadow:0 1px 2px rgba(20,32,48,.04),0 14px 34px rgba(20,32,48,.06)}.appbar:before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#0e7c86,#2a4a9c,#b4552d,#2e8b6b,#d9a227,#4b3b7a);opacity:.9}.brand{gap:14px;min-width:0}.brand,.mark{display:flex;align-items:center}.mark{width:56px;height:56px;border-radius:15px;flex:none;object-fit:cover;background:#000;box-shadow:0 3px 10px rgba(0,0,0,.22);justify-content:center;color:#fff;font-size:22px}.brand-title,.mark{font-family:var(--display);font-weight:800}.brand-title{font-size:24px;line-height:1.02;letter-spacing:-.4px;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}.brand-sub{font-size:14px;color:var(--muted);font-weight:600;margin-top:2px}.weeknav{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.nav{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:16px;color:var(--teal-d);font-weight:800}.nav:hover{background:#f2f6f6;border-color:#cdd6d7}input[type=date]{font:inherit;font-weight:700;font-size:15px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff}.range{font-weight:800;font-size:15px;color:var(--teal-d);padding-left:4px;white-space:nowrap}.modeswitch{display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}.branchbar{display:inline-flex;align-items:center;gap:8px;background:#f4f6f7;border:1px solid var(--line);border-radius:12px;padding:5px 6px 5px 12px}.branchlab{font-size:13px;font-weight:800;color:var(--muted);white-space:nowrap}.branchsel{font:inherit;font-weight:800;font-size:15px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;color:var(--teal-d)}.branchsel,.modeswitch button{background:#fff;cursor:pointer}.modeswitch button{font:inherit;font-weight:800;font-size:13px;padding:9px 13px;border:0;color:#7a828b}.modeswitch button.on{background:var(--teal);color:#fff}.tlab{font-size:13px;font-weight:800;color:var(--muted)}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{font:inherit;font-weight:800;font-size:14px;cursor:pointer;padding:10px 15px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;display:inline-block}.btn:hover{background:#f4f6f7;box-shadow:0 2px 8px rgba(20,32,48,.07)}.btn.ghost{color:var(--muted)}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--teal-d));color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(14,124,134,.28)}.btn.primary:hover{filter:brightness(1.06);box-shadow:0 6px 18px rgba(14,124,134,.34)}.btn.owner{border-color:#e7cf95;background:#fdf6e4;color:#8a6a15}.btn:disabled{opacity:.5;cursor:not-allowed}.iconbtn{padding:10px 14px;font-size:18px;letter-spacing:1px;line-height:1}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 8px);right:0;z-index:35;min-width:214px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 48px rgba(20,32,48,.2);padding:8px;display:none;flex-direction:column;gap:3px}.menu.open{display:flex}.menu .btn{width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px;font-weight:700}.menu .btn:hover{background:#f2f5f7;box-shadow:none}.menu-lab{font-size:11px;font-weight:800;color:#98a2ac;text-transform:uppercase;letter-spacing:.6px;padding:6px 12px 2px}.menu-sep{height:1px;background:var(--line);margin:5px 6px}.saved{font-size:13px;font-weight:800;color:var(--teal);min-width:74px;text-align:right}.pubmsg{color:var(--ink);background:var(--warn-soft);border:1px solid #f4d3bd;padding:6px 12px;white-space:nowrap}.pubmsg,.rolebadge{font-size:13px;font-weight:800;border-radius:999px}.rolebadge{padding:7px 12px;background:#eef6f6;color:var(--teal-d);border:1px solid #cfe6e6}.rolebadge.owner{background:#fdf6e4;color:#8a6a15;border-color:#e7cf95}.warnbar{max-width:none;margin:14px auto 0;background:var(--warn-soft);border:1px solid #f4d3bd;border-left:5px solid var(--warn);border-radius:14px;padding:12px 16px;display:none}.warnbar.show{display:block}.warnbar h4{margin:0 0 6px;font-size:14px;font-weight:800;color:var(--warn)}.warnbar ul{margin:0;padding-left:18px}.warnbar li{font-size:14px;font-weight:600;color:#7a3312;margin:2px 0}.availbar{max-width:none;margin:14px auto 0;background:#eef3fb;border:1px solid #cdd9ef;border-left:5px solid var(--indigo);border-radius:14px;padding:12px 16px}.availbar h4{margin:0 0 6px;font-size:14px;font-weight:800;color:var(--indigo)}.availbar ul{margin:0;padding-left:18px;column-count:2;column-gap:28px}.availbar li{font-size:14px;font-weight:600;color:#2b3a63;margin:2px 0;break-inside:avoid}.availbar li.conflict{color:var(--danger)}.availbar li.declined{opacity:.55}.av-st,.availbar .cf{font-weight:800}.av-st{margin-left:8px;font-size:11px;padding:1px 8px;border-radius:999px;white-space:nowrap}.av-st.pend{background:var(--warn-soft);color:var(--warn)}.av-st.ok{background:#e6f3ec;color:#256b52}.av-st.no{background:#fdeceb;color:#a5271b}.av-actions{margin-left:10px;display:inline-flex;gap:6px}.av-btn{font:inherit;font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:#fff}.av-btn.ok{color:#256b52;border-color:#bcdccd}.av-btn.ok:hover{background:#e6f3ec}.av-btn.no{color:#a5271b;border-color:#f2cdc8}.av-btn.no:hover{background:#fdeceb}@media (max-width:720px){.availbar ul{column-count:1}}.clipnote{max-width:none;margin:0 auto 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eaf5f5;border:1px solid #cfe6e6;color:var(--teal-d);font-weight:700;font-size:14px;border-radius:14px;padding:11px 16px}.clipnote .kbd{background:#fff;border:1px solid #cfe6e6;border-radius:7px;padding:2px 8px;font-weight:800}.clipnote button{margin-left:auto;font:inherit;font-weight:800;font-size:13px;padding:7px 14px;border:1px solid #cfe6e6;background:#fff;color:var(--muted);border-radius:9px;cursor:pointer}.scroll{max-width:none;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(20,32,48,.04),0 14px 34px rgba(20,32,48,.06);overflow:auto;max-height:76vh;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (hover:none){.row-ctl{opacity:1}}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1160px}thead th{z-index:3;border-bottom:1px solid var(--line)}th.corner,thead th{position:sticky;top:0;background:#fbfcfd}th.corner{left:0;z-index:4;width:210px;text-align:left;padding:15px 18px;font-family:var(--display);font-weight:600;font-size:14px;color:var(--muted);letter-spacing:.3px;border-right:1px solid var(--line)}th.day{padding:13px 10px;text-align:center;min-width:150px}th.day .dname{font-weight:800;font-size:19px}th.day .ddate{font-weight:700;font-size:13px;color:var(--muted);margin-top:2px}th.day .dcov{font-weight:800;font-size:12px;color:var(--teal-d);margin-top:5px;background:#eaf5f5;border:1px solid #d3e8e8;border-radius:999px;padding:2px 9px;display:inline-block}th.day .dcov.zero{color:#b0473c;background:#fdeceb;border-color:#f2cdc8}th.day .wflag{color:var(--warn);font-weight:800;font-size:13px;margin-top:2px;display:none}th.day.warn .wflag{display:block}th.corner .cornerTot{font-family:var(--font);font-weight:800;font-size:12px;color:var(--teal-d);margin-top:4px}tr.section td{padding:0}.band{display:flex;align-items:center;gap:11px;padding:11px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band .dot{width:13px;height:13px;border-radius:4px;flex:none;box-shadow:0 0 0 3px rgba(0,0,0,.04)}.sched.editing .band .dot{cursor:pointer}.band .sname{font-weight:800;font-size:17px;letter-spacing:.2px;outline:none}.band .sdesc{font-weight:600;font-size:13px;opacity:.75;outline:none}.band .sp{flex:1}.ctl{font:inherit;font-weight:800;cursor:pointer;border:0;background:transparent;opacity:.55;padding:2px 5px;font-size:15px;color:inherit}.ctl:hover{opacity:1}.band .add{font:inherit;font-size:13px;font-weight:800;cursor:pointer;padding:6px 12px;border-radius:999px;border:1px dashed;background:transparent;opacity:.85;color:inherit}.band .add:hover{opacity:1;background:rgba(255,255,255,.5)}tr.emp td{border-bottom:1px solid var(--line)}td.emp-name{position:sticky;left:0;z-index:2;padding:12px 18px;border-right:1px solid var(--line);white-space:nowrap;font-weight:800;font-size:17px;background:#fff}td.emp-name .nm{outline:none}td.emp-name.isslot .nm{opacity:.68;font-style:italic}td.emp-name .hrs{font-weight:700;font-size:12px;color:var(--muted);margin-top:3px}.nm-row{display:flex;align-items:center;gap:4px}.nm{overflow:hidden;text-overflow:ellipsis}.role-edit{font-weight:700;font-size:12px;color:var(--muted);margin-top:2px}.role-edit::placeholder{color:#c2cad2}.row-ctl{position:absolute;top:8px;right:6px;z-index:3;display:inline-flex;gap:2px;opacity:0;background:#fff;box-shadow:-12px 0 10px 3px #fff;border-radius:8px;padding-left:4px}.sched.pasting tr.emp .row-ctl,tr.emp:hover .row-ctl{opacity:1}.ctl.pst{color:#fff;background:var(--teal);border-color:transparent;font-weight:800;padding:2px 8px;white-space:nowrap;border-radius:7px}.ctl.pst:hover{background:var(--teal-d)}td.emp-name .rd{color:var(--danger)}tr.emp:last-child td{border-bottom:0}td.cell{padding:7px;text-align:center;border-right:1px solid #f1f3f5}td.cell:last-child{border-right:0}.sched.editing td.cell{cursor:pointer}.sched.editing td.cell:hover .cin{outline:2px solid var(--teal);outline-offset:1px}.cin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:48px;border-radius:12px;padding:7px 5px}.cin .t{font-weight:800;font-size:18px;letter-spacing:.1px;font-variant-numeric:tabular-nums;white-space:nowrap}.pill{font-weight:800;font-size:13px;letter-spacing:.5px;padding:3px 11px;border-radius:999px}.cin.off{background:#eef1f4}.cin.off .t{color:#95a0ac;letter-spacing:2px;font-size:16px}.cin.night{background:#111318}.cin.night .t{color:#f2f5ff}.cin .seg-div{width:58%;height:1px;background:currentColor;opacity:.22;margin:2px auto}.cin.empty{opacity:0}.sched.editing td.cell:hover .cin.empty{opacity:1}.cin.empty .t{color:#c3cbd3;font-weight:700;font-size:20px}.cin.over12{background:#fdeceb;box-shadow:inset 0 0 0 2px var(--danger)}.cin.over12 .t{color:#a5271b}.cin.night.over12{background:#2a0f0d}.cin.night.over12 .t{color:#ffd9d4}.over12-tag{font-size:10px;font-weight:800;color:#fff;background:var(--danger);padding:1px 7px;border-radius:999px;letter-spacing:.3px;line-height:1.5}.cin.conflict{background:var(--warn-soft);box-shadow:inset 0 0 0 2px var(--warn)}.cin.conflict .t{color:#9a5a12}.cin.night.conflict{background:#3a2410}.cin.night.conflict .t{color:#ffe1bf}.conflict-tag{font-size:10px;font-weight:800;color:#fff;background:var(--warn);padding:1px 7px;border-radius:999px;letter-spacing:.3px;line-height:1.5}.cin.conflict-hard{background:#fdeceb;box-shadow:inset 0 0 0 2px var(--danger)}.cin.conflict-hard .t{color:#a5271b}.cin.night.conflict-hard{background:#2a0f0d}.cin.night.conflict-hard .t{color:#ffd9d4}.conflict-tag.hard{background:var(--danger)}.addsec{max-width:none;margin:10px auto 0}.addsec .mini{font:inherit;font-size:14px;font-weight:800;cursor:pointer;padding:10px 17px;border-radius:12px;border:1px dashed #b9c3cc;background:#fff;color:var(--teal-d)}.addsec .mini:hover{background:#f2f6f6}.notes{background:var(--saffron-soft);border:1px solid #f0e0b8;border-left:5px solid var(--saffron);border-radius:14px;font-weight:600;font-size:16px;line-height:1.55;color:#5c4b1e;white-space:pre-wrap;outline:none}.notes,.policy{max-width:none;margin:14px auto 0;padding:16px 18px}.policy{background:#eef6f6;border:1px solid #cfe6e6;border-left:5px solid var(--teal);border-radius:14px}.policy .ptitle{font-family:var(--display);font-weight:600;font-size:15px;color:var(--teal-d);margin-bottom:8px}.policy .ptext{font-weight:600;font-size:16px;line-height:1.6;color:#0d4b50;white-space:pre-wrap;outline:none}.backdrop{position:fixed;inset:0;background:rgba(16,24,34,.5);backdrop-filter:blur(2px);display:none;z-index:40}.backdrop.show{display:block}.modal{position:fixed;z-index:50;display:none;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 26px));max-height:calc(100vh - 34px);overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.4);padding:20px}.modal.show{display:block}.modal.sm{width:min(430px,calc(100vw - 26px))}.m-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.m-title{font-family:var(--display);font-weight:600;font-size:18px}.m-title small{display:block;font-family:var(--font);font-weight:700;color:var(--muted);font-size:13px;margin-top:3px}.m-x{border:0;background:#f0f2f4;width:34px;height:34px;border-radius:11px;font-size:20px;cursor:pointer;color:#556}.m-x:hover{background:#e6e9ec}.seg{display:flex;gap:9px;margin-bottom:16px}.seg-btn{flex:1;font:inherit;font-weight:800;font-size:15px;cursor:pointer;padding:13px 8px;border:2px solid var(--line);border-radius:13px;background:#fff;color:#5a6470;display:flex;align-items:center;justify-content:center;gap:8px}.seg-btn .d{width:9px;height:9px;border-radius:50%}.seg-btn.work .d{background:var(--teal)}.seg-btn.off .d{background:#a9b2bc}.seg-btn.work.on{border-color:var(--teal);background:#e8f5f5;color:var(--teal-d)}.seg-btn.off.on{border-color:#8c99a6;background:#eef1f4}.field{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.field>label{width:80px;font-weight:800;font-size:14px}.field.col{flex-direction:column;align-items:stretch;gap:9px}.field.col>label{width:auto}.inp,select{font:inherit;font-weight:800;font-size:15px;padding:11px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:66px;color:var(--ink)}.inp{font-weight:700;width:100%}.colon{font-weight:800;color:#9aa4ad}.ampm{display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}.ampm button{font:inherit;font-weight:800;font-size:14px;padding:10px 13px;border:0;background:#fff;color:#7a828b;cursor:pointer}.ampm button.on{background:var(--teal);color:#fff}.daybtns{display:flex;gap:8px;flex-wrap:wrap}.daybtns button{font:inherit;font-weight:800;font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fa;color:var(--teal-d);cursor:pointer}.daybtns button:hover{background:#eef4f5}.cg{margin-bottom:10px}.cg-lab{font-size:12px;font-weight:800;color:#98a2ac;text-transform:uppercase;letter-spacing:.6px;margin:0 0 6px 2px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font:inherit;font-weight:800;font-size:14px;cursor:pointer;padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:#333}.chip:hover{border-color:#aeb7bf}.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}.addcode{display:flex;gap:8px;margin-top:3px}.addcode .inp{flex:1}.addcode button{font:inherit;font-weight:800;padding:10px 14px;border:1px solid var(--teal);background:#e8f5f5;color:var(--teal-d);border-radius:12px;cursor:pointer}.m-foot{display:flex;align-items:center;gap:9px;margin-top:18px}.m-foot .sp{flex:1}.err{color:var(--danger);font-weight:700;font-size:14px;min-height:18px;margin-top:6px}.rule{border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:12px;background:#fafbfc}.rule .rrow{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:9px}.rule .rlab{font-weight:800;font-size:13px;color:var(--muted)}.hintline{font-size:13px;font-weight:600;line-height:1.5}.auth-wrap{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.auth-alt,.auth-foot{color:var(--muted);font-weight:600;font-size:13px}.auth-alt{margin-top:14px;text-align:center}.auth-alt a{color:var(--teal-d);font-weight:800;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.sub-status{margin:6px 0 14px;padding:10px 14px;border-radius:12px;font-weight:800;font-size:14px}.sub-status.ok{background:#e6f3ec;color:#256b52}.sub-status.bad{background:var(--warn-soft);color:var(--warn)}.sub-price{font-weight:700;font-size:15px;margin:0 0 4px;color:var(--ink)}.trialbar{display:block;max-width:1680px;margin:0 auto 12px;text-align:center;text-decoration:none;background:#eef3fb;border:1px solid #cdd9ef;color:var(--indigo);font-weight:700;font-size:13px;padding:8px 14px;border-radius:12px}.trialbar:hover{background:#e3ecfa}.trialbar.urgent{background:var(--warn-soft);border-color:#f4d3bd;color:var(--warn)}.trialbar b{font-weight:800}.task-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:8px;max-width:1100px}.task-row.done{background:#f6f8fa;opacity:.75}.task-row.done .task-title{text-decoration:line-through;color:var(--muted)}.task-title{flex:1;min-width:0;font-weight:700;font-size:15px;overflow-wrap:anywhere}.task-check{flex:none;width:26px;height:26px;border-radius:9px;border:2px solid #b9c3cc;background:#fff;cursor:pointer;font-size:15px;font-weight:800;color:#fff;line-height:1;padding:0}.task-check.on,.task-check:hover{border-color:var(--teal)}.task-check.on{background:var(--teal)}.task-by{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.auth-card{width:min(400px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 14px 34px rgba(20,32,48,.1)}.auth-card h1{font-family:var(--display);font-weight:800;font-size:24px;margin:0 0 4px}.auth-card .sub{color:var(--muted);font-weight:600;font-size:14px;margin:0 0 20px}.auth-card label{display:block;font-weight:800;font-size:13px;margin:0 0 6px}.auth-card .inp{margin-bottom:14px}.hint{margin:0 auto 14px;font-size:13px;color:var(--muted);font-weight:600}.hint,.page{max-width:none}.page{margin:0 auto}.pagehead{display:flex;align-items:center;gap:12px;margin:0 auto 18px;max-width:none}.pagehead h1{font-family:var(--display);font-weight:800;font-size:24px;margin:0;flex:1}.utable{width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;border-collapse:separate;border-spacing:0;min-width:0}.utable td,.utable th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}.utable th{background:#fbfcfd;font-weight:800;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;position:static}.utable tr:last-child td{border-bottom:0}.tag{display:inline-block;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;background:#eef6f6;color:var(--teal-d);border:1px solid #cfe6e6}.tag.OWNER{background:#fdf6e4;color:#8a6a15;border-color:#e7cf95}.tag.ADMIN{background:#e9eefb;color:#26418f;border-color:#c9d5f5}.tag.off{background:#f3f4f6;color:#8a94a0;border-color:#e0e4e8}.rowactions{display:flex;gap:6px;flex-wrap:wrap}@media print{@page{size:landscape;margin:8mm}body{background:#fff;padding:0}.appnav,.backdrop,.modal,.no-print,.warnbar{display:none!important}.scroll{border:0;box-shadow:none;overflow:visible;max-height:none;max-width:none;border-radius:0}td.emp-name,th.corner,thead th{position:static}.notes{max-width:none;margin:10px 0 0}table{min-width:0}}@media (max-width:640px){body{padding:10px 10px 60px}.appbar{padding:12px;border-radius:16px;gap:10px}.brand-title{max-width:70vw;font-size:20px}.range{display:none}.weeknav{width:100%;justify-content:space-between}.weeknav input[type=date]{flex:1}.actions{width:100%;justify-content:flex-start}.actions .btn{flex:1 1 auto;text-align:center}.saved{width:100%;text-align:left;order:-1}.scroll{max-height:70vh;border-radius:12px}th.corner{width:158px;padding:12px}td.emp-name{padding:11px 12px;font-size:16px}th.day{min-width:118px;padding:10px 6px}th.day .dname{font-size:16px}.cin .t{font-size:15px}.band{padding:11px 12px}.modal{border-radius:18px 18px 0 0;top:auto;bottom:0;left:0;transform:none;width:100%;max-height:88vh}.notes,.policy{border-radius:12px;padding:14px}}@media (max-width:720px){.appbar{gap:8px 10px}.actions{gap:7px}.actions .btn{padding:9px 12px}.actions .btn,.brand-sub{font-size:13px}.sched.daymode table#sheet{table-layout:fixed;width:100%;min-width:0}.sched.daymode td.cell,.sched.daymode th.day{min-width:0}.sched.daymode .scroll{max-height:none;overflow-x:hidden}.sched.daymode th.corner{width:46%}.sched.daymode td.emp-name{white-space:normal;overflow:hidden}.sched.daymode .nm{white-space:nowrap}.sched.daymode th.day .dname{font-size:21px}.sched.daymode th.day .ddate{font-size:14px}.sched.daymode td.cell{padding:12px 10px}.sched.daymode td.emp-name{font-size:17px}.sched.daymode .cin{min-height:58px}.sched.daymode .cin .t{font-size:20px}.sched.daymode .cin.off .t{font-size:17px}.sched.daymode .pill{font-size:14px;padding:4px 13px}.weeknav.dayonly{gap:8px;width:100%}.weeknav.dayonly select{flex:1;padding:12px 10px;font-size:16px}.weeknav.dayonly .nav{width:46px;height:46px;font-size:18px}.weeknav.dayonly .tlab{display:none}.modeswitch button{padding:10px 14px}.band .ctl{display:none}.band .add{padding:6px 11px;font-size:12px;white-space:nowrap}}@keyframes kfade{0%{opacity:0}to{opacity:1}}.kiosk{position:fixed;inset:0;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(1000px 500px at 50% -10%,rgba(14,124,134,.1),transparent 60%),var(--paper)}.kiosk-top{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;padding:min(16px,2vh) 24px;gap:12px}.kiosk-brand{font-size:min(24px,3vh);color:var(--ink)}.kiosk-brand,.kiosk-clock{font-family:var(--display);font-weight:800}.kiosk-clock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;white-space:nowrap;pointer-events:none;font-size:min(38px,4.6vh);color:var(--teal-d);font-variant-numeric:tabular-nums}.kiosk-change{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer;color:var(--muted)}.kiosk-branches{flex:1;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;padding:24px}.kiosk-branchbtn{width:min(420px,90vw);padding:26px;font-family:var(--display);font-weight:800;font-size:26px;border-radius:22px;border:1px solid var(--line);background:#fff;color:var(--teal-d);cursor:pointer;box-shadow:0 8px 24px rgba(20,32,48,.08)}.kiosk-branchbtn:hover{background:#f2f6f6}.kiosk-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:min(16px,2vh);padding:10px}.kiosk-title{font-family:var(--display);font-weight:800;font-size:min(26px,3.4vh)}.kiosk-sub{color:var(--warn);font-weight:700;font-size:16px;text-align:center;max-width:440px}.kiosk-dots{font-size:min(40px,4.6vh);letter-spacing:14px;color:var(--teal);min-height:0;line-height:1}.kiosk-pad{display:grid;grid-template-columns:repeat(3,var(--kkey));gap:min(16px,1.8vh)}.kiosk-key{--kkey:min(104px,21vw,13.5vh);width:var(--kkey);height:var(--kkey);border-radius:calc(var(--kkey) * .26);border:1px solid var(--line);background:#fff;font-weight:800;font-size:calc(var(--kkey) * .4);color:var(--ink);cursor:pointer;box-shadow:0 6px 18px rgba(20,32,48,.07);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .07s ease,box-shadow .1s ease}.kiosk-key:active{transform:scale(.92);box-shadow:0 2px 8px rgba(20,32,48,.12)}.kiosk-key.ghost{color:var(--muted);background:transparent;border-color:transparent;box-shadow:none}.kiosk-pad{--kkey:min(104px,21vw,13.5vh)}.kiosk-key-spacer{width:var(--kkey);height:var(--kkey)}.kiosk-key:disabled{opacity:.45}.kiosk-hint{color:var(--muted);font-weight:700;font-size:15px}.kiosk-result{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:60;cursor:pointer;animation:kfade .2s ease}.kiosk-result.in{background:rgba(12,107,115,.97)}.kiosk-result.out{background:rgba(35,58,134,.97)}.kiosk-result.error,.kiosk-result.invalid,.kiosk-result.too_early{background:rgba(178,74,58,.97)}.kiosk-card{text-align:center;color:#fff;padding:24px}.kiosk-emoji{font-size:84px;line-height:1}.kiosk-name{font-family:var(--display);font-weight:800;font-size:42px;margin-top:8px}.kiosk-msg{font-weight:800;font-size:23px;margin-top:10px}.kiosk-note{font-weight:700;font-size:18px;margin-top:8px;opacity:.92}.kiosk-result.brk{background:rgba(178,90,45,.97)}.kiosk-dev{color:var(--muted);font-weight:700;font-size:16px}.pair-input{font-size:38px;letter-spacing:10px;text-align:center;border:2px solid var(--line);border-radius:16px;padding:16px 20px;width:min(420px,90vw);text-transform:uppercase;background:#fff}.pair-btn,.pair-input{font-family:var(--display);font-weight:800}.pair-btn{margin-top:6px;border:none;border-radius:16px;padding:18px 28px;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-d));cursor:pointer}.pair-btn:disabled{opacity:.5}.kiosk-menu{display:grid;grid-template-columns:1fr 1fr;gap:min(16px,1.8vh);width:min(560px,92vw);margin-top:6px}.menu-btn{border:1px solid var(--line);border-radius:20px;padding:min(26px,3vh) 14px;font-family:var(--display);font-weight:800;font-size:min(22px,2.7vh);background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 4px 14px rgba(20,32,48,.06);touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .07s ease}.menu-btn:active{transform:scale(.96)}.menu-btn.full{grid-column:1/-1}.menu-btn.danger{background:linear-gradient(135deg,#d8544a,#c0463c);color:#fff;border-color:transparent}.menu-btn.warn{background:linear-gradient(135deg,#eab13a,#dd9c22);color:#3a2a06;border-color:transparent}.menu-btn.end{background:linear-gradient(135deg,var(--teal),var(--teal-d));color:#fff;border-color:transparent}.menu-btn:disabled{opacity:.5}.linkbtn{background:none;border:none;cursor:pointer}.kiosk-result.unpair{background:rgba(20,30,45,.97)}.unpair-box{background:#fff;border-radius:22px;padding:26px;width:min(400px,92vw);display:flex;flex-direction:column;gap:12px;cursor:default}.unpair-title{font-family:var(--display);font-weight:800;font-size:23px;color:var(--ink)}.unpair-sub{color:var(--muted);font-weight:700;font-size:14px;margin-top:-4px}.unpair-inp{border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit;font-size:16px;background:#fff}.unpair-err{color:var(--warn);font-weight:700;font-size:14px}.unpair-actions{display:flex;gap:10px;margin-top:6px}.unpair-cancel{border:1px solid var(--line);background:#fff;border-radius:12px}.unpair-cancel,.unpair-go{flex:1;padding:14px;font:inherit;font-weight:800;cursor:pointer}.unpair-go{border:none;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-d))}.unpair-go:disabled{opacity:.5}.pin-cell{display:inline-flex;align-items:center;gap:6px}.pin-dot{font-size:11px;color:#c9d0d7}.pin-dot.on{color:var(--teal)}.pin-inp{width:64px;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit;font-weight:700;font-size:13px;letter-spacing:2px;text-align:center}.pin-inp::placeholder{letter-spacing:normal;font-weight:600;color:#b8c0c8}.phone-cell{display:inline-flex;align-items:center;gap:6px}.tg-dot{font-size:12px;color:#c9d0d7}.tg-dot.on{color:var(--teal)}.phone-inp{width:120px;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit;font-weight:700;font-size:13px}.phone-inp::placeholder{font-weight:600;color:#b8c0c8}.mgr-pin-row{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.mgr-lab{font-weight:700;font-size:13px;color:var(--muted)}.device-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fafbfc}.paircode{margin-top:8px;font-size:13px;color:var(--muted)}.paircode .code{display:inline-block;margin-top:5px;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:6px;color:var(--teal-d);background:#eef6f6;padding:6px 14px;border-radius:10px}.hintline{color:var(--muted);padding:10px 2px}.appnav{max-width:none;margin:0 auto 16px;position:relative;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:12px 18px;box-shadow:0 1px 2px rgba(20,32,48,.04),0 14px 34px rgba(20,32,48,.06)}.appnav:before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#0e7c86,#2a4a9c,#b4552d,#2e8b6b,#d9a227,#4b3b7a);opacity:.9}.appnav-brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit}.wm-accent{color:var(--teal)}.appnav-brand .mark{width:40px;height:40px;border-radius:11px}.appnav-brand .wordmark{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw;color:var(--ink)}.navtabs{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.navtabs::-webkit-scrollbar{display:none}.navtab{font:inherit;font-weight:800;font-size:14px;cursor:pointer;padding:9px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted);text-decoration:none;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.navtab:hover{background:#f2f6f6;color:var(--ink)}.navtab.on{background:var(--teal);border-color:var(--teal);color:#fff}.navtab.soon{opacity:.5;cursor:default;border:1px dashed var(--line)}.navtab.soon,.navtab.soon:hover{color:var(--muted);background:transparent}.appnav-ctx{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.appnav-bottom{display:none}@media (max-width:720px){.appnav{gap:8px 10px;padding:9px 12px;border-radius:16px;margin-bottom:12px}.appnav:before{left:14px;right:14px}.appnav-brand .mark{width:32px;height:32px}.appnav-brand .wordmark{font-size:17px}.navtabs{display:none}.appnav-ctx{margin-left:auto;gap:7px}.appnav-ctx .branchlab,.appnav-ctx .rolebadge,.navhide-sm{display:none}.appnav-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 22px rgba(20,32,48,.1);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.btab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--muted);font-weight:800;font-size:10px;letter-spacing:-.2px;padding:5px 1px;border-radius:12px;-webkit-tap-highlight-color:transparent}.btab .bi{font-size:19px;line-height:1}.btab .bl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.btab.on{color:var(--teal-d)}.btab.on .bi{transform:translateY(-1px)}body{padding-bottom:78px}}.dash{max-width:none;margin:0 auto}.dash-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:2px 0 16px}.dash-head h1{font-family:var(--display);font-weight:800;font-size:26px;color:var(--ink)}.dash-head .sub{color:var(--muted);font-weight:700}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:start}.dcard{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(20,32,48,.04),0 14px 34px rgba(20,32,48,.06)}.dcard.wide{grid-column:1/-1}.dcard-head{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#fff;font-family:var(--display);font-weight:600;font-size:15px;background:var(--teal)}.dcard-head.indigo{background:var(--indigo)}.dcard-head.saffron{background:#9a7016}.dcard-head.warn{background:var(--warn)}.dcard-head.ok{background:#2c7d60}.dcard-head .sp{flex:1}.dcard-head a{color:#fff;opacity:.9;font:inherit;font-size:13px;text-decoration:none}.dcard-head a:hover{opacity:1;text-decoration:underline}.dcard-body{padding:14px 16px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stat{border-radius:14px;padding:12px 14px;background:#fafbfc;text-decoration:none;border:1px solid var(--line);border-left:4px solid var(--teal);display:block;color:inherit}.stat:hover{background:#f2f6f6}.stat.onbreak{border-left-color:#b25a2d}.stat.danger{border-left-color:var(--danger)}.stat.done{border-left-color:#8a94a0}.stat.warn{border-left-color:var(--warn)}.stat .n{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;color:var(--ink)}.stat .lab{font-weight:700;font-size:12px;color:var(--muted);margin-top:5px}.alert-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fafbfc;margin-bottom:8px;text-decoration:none;color:inherit;font-weight:700;font-size:14px}.alert-row:hover{background:#f2f6f6}.alert-row.sev-high{background:var(--warn-soft);border-color:#f4d3bd;color:#7a3312}.alert-row.sev-danger{background:#fdeceb;border-color:#f2cdc8;color:#b0473c}.alert-row .sp{flex:1}.covstrip{display:flex;gap:6px;margin-top:4px}.covdot{flex:1;text-align:center;padding:8px 4px;border-radius:10px;background:#eaf5f5;border:1px solid #d3e8e8;font-weight:800;font-size:13px;color:var(--teal-d)}.covdot .d{display:block;font-size:10px;color:var(--muted);font-weight:700;margin-bottom:2px}.covdot.zero{background:#fdeceb;border-color:#f2cdc8;color:#b0473c}.covdot.warn{background:var(--warn-soft);border-color:#f4d3bd;color:var(--warn)}.dash-actions{display:flex;flex-wrap:wrap;gap:10px}@media (max-width:720px){.dash-head{margin:0 0 12px}.dash-head h1{font-size:21px}.dash-grid{grid-template-columns:1fr;gap:12px}.dcard-head{font-size:14px}.dcard-head a{font-size:12px}.stat .n{font-size:26px}.dash-actions .btn{flex:1 1 44%;text-align:center}.dcard-body .utable td{padding:9px 10px;font-size:13px}.dcard-body .utable .btn{padding:7px 10px;font-size:12px}.pagehead{flex-wrap:wrap;gap:8px 10px;margin-bottom:14px}.pagehead h1{font-size:20px;flex:1 1 100%}.utable td,.utable th{padding:10px;font-size:13px}}.de-dept{font-family:var(--display);font-weight:600;font-size:14px;color:var(--teal-d);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.rperson{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fafbfc;margin-bottom:8px}.rp-del{margin-left:auto;border:0;background:#f0f2f4;width:30px;height:30px;border-radius:9px;cursor:pointer;color:var(--danger);font-size:18px;font-weight:800;line-height:1}.rp-del:hover{background:#f7dedb}@media (max-width:720px){.de-dept{margin:12px 0 6px}.rperson{gap:5px 7px;padding:5px 7px;margin-bottom:5px}.rperson>input{padding:6px 9px!important;font-size:13px!important;border-radius:9px!important;flex-basis:74px!important}.rp-name{flex-basis:96px!important}.pin-cell{gap:4px}.pin-inp{padding:6px 8px;letter-spacing:1px}.rp-del{width:27px;height:27px;font-size:16px;border-radius:8px}}.pay-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;max-width:1100px}.pay-bar .sp{flex:1 1 auto}.pay-week{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pay-week b{font-weight:800;min-width:130px;text-align:center}.pay-cap{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--muted);font-size:14px}.pay-cap-inp{width:52px;border:1px solid var(--line);border-radius:9px;padding:7px 8px;font:inherit;font-weight:800;text-align:center;color:var(--ink)}.pay-table{max-width:1100px;margin:0}.pay-table td.num,.pay-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pay-table .muted{color:var(--muted)}.pay-name{background:transparent;border:0;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:7px;color:inherit;padding:0}.pay-name .tw{color:var(--muted);font-size:12px;width:10px}.pay-badge,.pay-name b{font-weight:800}.pay-badge{display:inline-block;margin-left:8px;font-size:11px;padding:2px 8px;border-radius:999px;background:#eef1f4;color:var(--muted);vertical-align:middle}.pay-badge.open{background:var(--warn-soft);color:var(--warn)}.pay-rate{display:inline-flex;align-items:center;gap:2px}.pay-rate .cur{color:var(--muted);font-weight:700}.pay-rate-inp{width:66px;border:1px solid var(--line);border-radius:9px;padding:7px 8px;font:inherit;font-weight:700;color:var(--ink)}.pay-gross{font-weight:800}.pay-total td{border-top:2px solid var(--line);background:#fbfcfd;font-size:15px}.pay-detail td{background:#f7f9fb;padding-top:8px!important;padding-bottom:10px!important}.pay-days{display:flex;flex-direction:column;gap:5px}.pay-day{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;align-items:baseline}.pay-day .dd{font-weight:800;min-width:74px}.pay-day .tt{color:var(--muted);min-width:150px}.pay-day .hh{font-weight:700}.pay-day.open{color:var(--warn)}.dim{opacity:.55;transition:opacity .15s}.tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;max-width:1100px}.pay-table td.neg{color:var(--danger);font-weight:700}.pay-table td.pos{color:var(--teal-d);font-weight:700}.neg{color:var(--danger)}.neg,.pos{font-weight:700}.pos{color:var(--teal-d)}@media (max-width:720px){.pay-week b{min-width:0}.pay-table td,.pay-table th{padding:9px 8px;font-size:13px}.pay-badge{display:block;margin:3px 0 0;width:max-content}}.set-group{max-width:none;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.set-title{font-family:var(--display);font-weight:800;font-size:15px;padding:14px 18px;background:#fbfcfd}.set-row,.set-title{border-bottom:1px solid var(--line)}.set-row{display:flex;align-items:center;gap:16px;padding:16px 18px}.set-row:last-child{border-bottom:0}.set-info{flex:1;min-width:0}.set-name{font-weight:800;font-size:15px;color:var(--ink)}.set-info .hint{margin-top:3px}.set-cap{display:inline-flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.set-cap select{font:inherit;font-weight:700;border:1px solid var(--line);border-radius:9px;padding:7px 8px;background:#fff;color:var(--ink)}.bot-msg{margin:10px 18px 0;padding:9px 14px;background:var(--warn-soft);border:1px solid #f4d3bd;border-radius:10px;font-weight:700;font-size:13px;overflow-wrap:anywhere}.toggle{flex:none;display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:#eef1f4;border-radius:999px;padding:5px 12px 5px 6px;cursor:pointer;font:inherit;font-weight:800;font-size:13px;color:var(--muted)}.toggle .knob{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(20,32,48,.25);transition:transform .16s}.toggle.on{background:var(--teal);border-color:var(--teal);color:#fff}.toggle.on .knob{transform:translateX(18px)}.toggle:disabled{opacity:.6}@media (max-width:600px){.set-row{flex-wrap:wrap}}.today-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.today-h{font-weight:800;font-size:13px;margin-bottom:6px}.today-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:5px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;font-weight:700;font-size:14px}.today-row:hover .nm{color:var(--teal-d);text-decoration:underline}.today-row .nm{overflow:hidden;text-overflow:ellipsis}.today-row .nm,.today-row b{white-space:nowrap}@media (max-width:560px){.today-split{grid-template-columns:1fr;gap:10px}}.pv-head{max-width:none;margin:0 auto 12px;gap:10px 18px}.pv-head,.pv-tags{display:flex;flex-wrap:wrap;align-items:center}.pv-tags{gap:8px}.pv-role{font-weight:700;color:var(--muted)}.pv-meta{display:flex;gap:16px;flex-wrap:wrap;font-weight:700;font-size:14px;margin-left:auto}.pv-breaks{display:inline-flex;flex-wrap:wrap;gap:5px}.pv-break{font-size:12px;font-weight:700;background:#eef1f4;border-radius:999px;padding:2px 9px;white-space:nowrap}.pv-empty td{opacity:.7}.warn-tx{color:var(--warn);font-weight:800}.pv-link{color:inherit;text-decoration:none}.pv-link:hover{color:var(--teal-d);text-decoration:underline}.pv-link.sm{margin-left:8px;font-size:13px;color:var(--muted);font-weight:800}.pv-link.sm:hover{color:var(--teal-d)}@media (max-width:600px){.pv-meta{margin-left:0;gap:12px;font-size:13px}}.rep-card{max-width:1100px;margin:0 0 18px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:0 1px 2px rgba(20,32,48,.04)}.rep-card>h2{font-family:var(--display);font-weight:800;font-size:16px;color:var(--ink);margin:0 0 10px}.rep-card .utable{border-radius:12px}.rep-print-head{max-width:1100px;margin:0 0 12px;font-size:15px}.only-print{display:none}.rep-highlights{max-width:1100px;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.rep-hi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.rep-hi-h{font-weight:800;font-size:13px;margin-bottom:8px}.rep-hi-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-weight:700;font-size:14px;border-top:1px solid var(--line)}.rep-hi-row:first-of-type{border-top:0}.rep-hi-row b{color:var(--danger);white-space:nowrap}.rep-chips{display:flex;flex-wrap:wrap;gap:8px}.rep-over-chip{background:#fdeceb;color:#a5271b;border:1px solid #f2cdc8;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;white-space:nowrap}@media (max-width:600px){.rep-highlights{grid-template-columns:1fr}}@media (max-width:720px){.rep-card{padding:12px;border-radius:14px}}@media print{.rep-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.only-print{display:block}}