.billing-root{--bg:#f6f6f4;--surface:#fff;--surface-2:#fbfbf9;--ink:#1b1b1d;--muted:#6c6c72;--dim:#9a9aa0;--line:#ececea;--line-2:#e3e3e0;--accent:#1c6b4b;--accent-soft:#e8f2ec;--brand:#e8b23a;--danger:#c0492f;--danger-soft:#faece7;--warn:#8a6d00;--warn-soft:#fbf3e4;--blue:#2f6ea5;--radius:12px;--radius-sm:8px;--shadow-card:0 1px 2px hsla(0,0%,8%,.04),0 6px 20px hsla(0,0%,8%,.05);--shadow-pop:0 20px 60px rgba(0,0,0,.18);--bg-base:var(--bg);--bg-nav:var(--surface);--bg-surface:var(--surface);--bg-secondary:var(--surface-2);--bg-tertiary:#f1f1ef;--border:var(--line);--border-emphasis:var(--line-2);--border-subtle:#f2f2f0;--text-primary:var(--ink);--text-secondary:var(--muted);--text-muted:#7d7d84;--text-dim:var(--dim);--text-faint:#b6b6ba;--skeleton-bg:#eee;--sidebar-hover-bg:var(--surface-2);--icon-btn-hover:var(--surface-2);--primary:var(--ink);--on-primary:#fff;--accent-soft-bg:var(--accent-soft);--accent-ring:0 0 0 3px rgba(28,107,75,.16);--success:var(--accent);--warning:var(--warn);--pill-paid-bg:var(--accent-soft);--pill-paid-fg:var(--accent);--pill-pending-bg:var(--warn-soft);--pill-pending-fg:var(--warn);--pill-overdue-bg:var(--danger-soft);--pill-overdue-fg:var(--danger);--pill-neutral-bg:var(--surface-2);--pill-neutral-fg:var(--muted);--alert-success-bg:var(--accent-soft);--alert-success-fg:var(--accent);--alert-warning-bg:var(--warn-soft);--alert-warning-fg:var(--warn);--alert-danger-bg:var(--danger-soft);--alert-danger-fg:var(--danger);--b-radius:var(--radius);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink)}[data-theme=dark] .billing-root{--bg:#151517;--surface:#1e1e21;--surface-2:#242427;--ink:#f2f2f0;--muted:#a0a0a6;--dim:#75757c;--line:#2c2c30;--line-2:#35353a;--accent:#4cae87;--accent-soft:#1b3730;--brand:#e8b23a;--danger:#e0745c;--danger-soft:#3a231d;--warn:#e8c877;--warn-soft:#332b16;--blue:#6ba3d6;--shadow-card:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);--shadow-pop:0 20px 60px rgba(0,0,0,.5);--bg-tertiary:#2b2b2f;--border-subtle:#26262a;--text-muted:#93939a;--text-faint:#55555b;--accent-ring:0 0 0 3px rgba(76,174,135,.22)}.billing-root a{color:var(--accent);text-decoration:none}.bx-topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);gap:12px;padding:12px 26px}.bx-search,.bx-topbar{display:flex;align-items:center}.bx-search{flex:1;max-width:440px;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;padding:7px 11px;color:var(--dim);font-size:13px}.bx-search input{border:none;background:none;outline:none;color:var(--ink);font:inherit;flex:1}.bx-iconbtn{width:34px;height:34px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;cursor:pointer;color:var(--muted);font-size:15px}.bx-iconbtn:hover{border-color:var(--dim)}.bx-side{width:236px;flex:none;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);padding:14px 12px;overflow:auto}.bx-brand{display:flex;align-items:center;gap:9px;padding:6px 8px 14px;cursor:pointer}.bx-brand .dot{width:22px;height:22px;border-radius:6px;background:var(--ink);position:relative;flex:none}.bx-brand .dot:after{content:"";position:absolute;inset:6px;border-radius:2px;background:var(--brand)}.bx-navgroup{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);padding:14px 10px 6px;font-weight:600}.bx-nav{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-weight:500;font-size:13.5px;text-decoration:none}.bx-nav:hover{background:var(--surface-2);color:var(--ink)}.bx-nav.active{background:var(--ink);color:var(--surface)}.bx-nav .badge{margin-left:auto;font-size:11px;background:var(--danger-soft);color:var(--danger);padding:0 7px;border-radius:20px;font-weight:600}.bx-nav.active .badge{background:hsla(0,0%,50%,.25);color:inherit}.bx-nav.soon{color:var(--text-faint);cursor:default}.bx-nav.soon:hover{background:transparent}.bx-nav .soontag{margin-left:auto;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.billing-root .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px}.bx-h1{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 3px}.bx-sub{font-size:13px;margin-bottom:22px}.bx-crumb,.bx-sub{color:var(--muted)}.bx-crumb{font-size:12.5px;cursor:pointer;margin-bottom:10px;display:inline-block;background:none;border:none;font-family:inherit;padding:0}.bx-crumb:hover{color:var(--accent)}.bx-cardhead{display:flex;align-items:center;gap:10px;margin-bottom:14px}.bx-cardhead h3{font-size:14.5px;font-weight:600;margin:0}.bx-link{margin-left:auto;font-size:12.5px;color:var(--accent);font-weight:500;background:none}.billing-root .btn,.bx-btn,.bx-link{cursor:pointer;border:none;font-family:inherit}.billing-root .btn,.bx-btn{background:var(--ink);color:var(--surface);border-radius:9px;padding:8px 15px;font-size:13px;font-weight:600;transition:filter .12s,transform .06s}.billing-root .btn:hover,.bx-btn:hover{filter:brightness(1.12)}.billing-root .btn:active,.bx-btn:active{transform:scale(.98)}.bx-btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-2)}.bx-btn.accent{background:var(--accent);color:#fff}.bx-btn.danger{background:var(--surface);color:var(--danger);border:1px solid var(--danger)}.bx-btn.sm{padding:6px 12px;font-size:12.5px}.billing-root .btn-primary{background:var(--primary);color:var(--on-primary);border-radius:9px;font-weight:600;transition:filter .12s,transform .06s}.billing-root .btn-primary:hover{filter:brightness(1.12)}.billing-root .btn-primary:active{transform:scale(.98)}.bx-pill{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;padding:7px 12px;font-size:13px;color:var(--muted);cursor:pointer;font-weight:500}.bx-pill:hover{border-color:var(--dim)}.bx-pill.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.billing-root table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.billing-root th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);font-weight:600;padding:9px 10px;background:transparent}.billing-root td,.billing-root th{border-bottom:1px solid var(--line)}.billing-root td{padding:11px 10px;font-size:13px}.billing-root tbody tr:last-child td{border-bottom:none}.bx-rowlink{cursor:pointer}.billing-root .bx-rowlink:hover td{background:var(--surface-2)}.num{text-align:right}.mono{font-variant-numeric:tabular-nums}.money{font-weight:600;font-variant-numeric:tabular-nums}.tag{display:inline-block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:20px;white-space:nowrap}.t-green{background:var(--accent-soft);color:var(--accent)}.t-red{background:var(--danger-soft);color:var(--danger)}.t-amber{background:var(--warn-soft);color:var(--warn)}.t-blue{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)}.t-gray{color:var(--muted)}.chip,.t-gray{background:var(--surface-2);border:1px solid var(--line)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:500;margin:0 6px 6px 0}.chip b{font-variant-numeric:tabular-nums}.avatar{border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;font-size:12px;flex:none}.kpis{display:grid;gap:16px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;cursor:pointer;transition:transform .12s;box-shadow:var(--shadow-card)}.kpi:hover{transform:translateY(-2px)}.kpi .lbl{font-size:12px;color:var(--muted);font-weight:500}.kpi .val{font-size:25px;font-weight:600;letter-spacing:-.02em;margin-top:7px;font-variant-numeric:tabular-nums}.kpi .delta{font-size:11.5px;font-weight:600;margin-top:5px}.up{color:var(--accent)}.down{color:var(--danger)}.kpi .kbar{height:4px;border-radius:3px;background:var(--line);margin-top:12px;overflow:hidden}.kpi .kbar>i{display:block;height:100%;background:var(--accent);border-radius:3px}.bx-chart{display:flex;align-items:flex-end;gap:10px;height:120px;padding-top:8px}.bx-chart .col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.bx-chart .col>i{width:60%;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 60%,#000));border-radius:4px 4px 0 0;display:block;min-height:2px}.bx-chart .col small{font-size:10.5px;color:var(--dim)}.bx-f{background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--ink);outline:none;font-family:inherit}.bx-f:focus{border-color:var(--accent);box-shadow:var(--accent-ring)}.bx-lbl{display:block;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-weight:600}.billing-root input:focus,.billing-root select:focus,.billing-root textarea:focus{border-color:var(--accent)!important;box-shadow:var(--accent-ring)}.billing-root .bx-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none' stroke='%239a9aa0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 9px center;padding-right:30px!important;cursor:pointer}.billing-root .bx-switch{position:relative;flex:none;width:38px;height:22px;padding:0;border-radius:999px;border:1px solid var(--line-2);background:var(--line-2);cursor:pointer;transition:background .18s,border-color .18s}.billing-root .bx-switch:after{content:"";position:absolute;top:50%;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transform:translateY(-50%);transition:transform .18s cubic-bezier(.34,1.3,.64,1);box-shadow:0 1px 2px rgba(0,0,0,.35)}.billing-root .bx-switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.billing-root .bx-switch[aria-checked=true]:after{transform:translate(16px,-50%)}.billing-root .bx-switch:focus-visible{outline:none;box-shadow:var(--accent-ring)}.bx-toggle{width:38px;height:22px;border-radius:20px;background:var(--line-2);position:relative;cursor:pointer;flex:none;transition:background .15s}.bx-toggle.on{background:var(--accent)}.bx-toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}.bx-toggle.on:after{left:18px}.bx-note{border-radius:var(--radius-sm);padding:11px 13px;font-size:12.5px;margin-bottom:14px}.bx-note.amber{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);color:var(--warn)}.bx-note.green{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}.bx-empty{color:var(--dim);font-size:13px;padding:14px 2px}.bx-board{overflow-x:auto}.bx-week{--bx-drv-w:128px;--bx-day-min:80px;display:grid;grid-template-columns:var(--bx-drv-w) repeat(7,minmax(var(--bx-day-min),1fr));min-width:calc(var(--bx-drv-w) + 7 * var(--bx-day-min))}.bx-week .hcell{padding:11px 8px;font-size:11.5px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bx-week .hcell:first-child{padding-left:10px}.bx-week .drv{padding:10px 8px 10px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;font-weight:500;font-size:12.5px;min-width:0}.bx-week .drv-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bx-week .dcell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:84px;padding:6px;transition:background .1s;display:flex;flex-direction:column;min-width:0}.bx-week .dcell.over,.bx-week .tk{background:var(--accent-soft)}.bx-week .tk{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-left:3px solid var(--accent);border-radius:7px;padding:6px 8px;font-size:11.5px;margin-bottom:6px;cursor:grab;min-width:0;overflow-wrap:anywhere;hyphens:auto}.bx-week .tk:active{cursor:grabbing;opacity:.6}.bx-week .tk.blue{background:color-mix(in srgb,var(--blue) 12%,transparent);border-left-color:var(--blue)}.bx-week .tk.amber{background:var(--warn-soft);border-left-color:var(--brand)}.bx-week .tk b{display:block;font-weight:600}.bx-week .tk small{color:var(--muted)}.bx-week .tk .tk-actions small{white-space:nowrap;overflow-wrap:normal}.bx-caltrans{display:inline-block;box-sizing:border-box;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--brand) 60%,transparent);border-radius:5px;padding:1px 6px}.bx-week .tk .bx-caltrans{margin:3px 0 1px}.bx-odmp{display:inline-block;box-sizing:border-box;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.3;color:var(--muted);background:var(--surface-2,transparent);border:1px solid var(--line);border-radius:5px;padding:1px 6px;margin-left:4px}.bx-week .tk .bx-odmp{margin:3px 0 1px 4px}.bx-dispatch-layout{display:flex;gap:14px;align-items:flex-start}.bx-dispatch-layout>.bx-deskgrid{flex:1;min-width:0}.bx-roster{margin-top:14px;width:236px;flex-shrink:0;padding:12px!important;box-sizing:border-box;position:sticky;top:0;max-height:calc(100dvh - 150px);overflow-y:auto;display:flex;flex-direction:column;gap:8px}.bx-roster.month{width:280px}.bx-roster-head{display:flex;align-items:center;gap:8px;font-size:13px}.bx-roster-head .bx-iconbtn{width:26px;height:26px;margin-left:auto;font-size:11px}.bx-roster-legend{display:flex;gap:7px;font-size:10.5px;color:var(--muted)}.bx-roster-legend span{display:inline-flex;align-items:center;gap:3px}.bx-load-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.bx-load-dot.free{background:var(--accent)}.bx-load-dot.scheduled{background:var(--brand)}.bx-load-dot.busy{background:var(--danger)}.bx-roster-hint{font-size:11.5px;color:var(--dim);line-height:1.35}.bx-roster-armed{font-size:12px;line-height:1.4;background:var(--accent-soft);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;padding:6px 8px}.bx-linkbtn{background:none;border:none;padding:0;margin-left:4px;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline}.bx-roster-list{display:flex;flex-direction:column;gap:2px}.bx-roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 7px;border-radius:8px;font-size:12.5px}.bx-roster.month .bx-roster-row,.bx-roster[data-roster-range=week] .bx-roster-row{grid-template-columns:minmax(0,1fr)}.bx-roster-tech{border:1px solid transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none}.bx-roster-tech.can{cursor:grab}.bx-roster-tech.can:hover{background:var(--surface-2);border-color:var(--line)}.bx-roster-tech.can:active{cursor:grabbing}.bx-roster-tech:focus-visible{outline:none;box-shadow:var(--accent-ring)}.bx-roster-tech.armed{background:var(--accent-soft);border-color:var(--accent)}.bx-roster-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bx-load{font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;line-height:17px;border:1px solid transparent;min-width:12px;text-align:center}.bx-heat.free,.bx-load.free{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.bx-heat.scheduled,.bx-load.scheduled{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--brand) 70%,transparent)}.bx-heat.busy,.bx-load.busy{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.bx-strip{display:grid;gap:2px;min-width:0}.bx-strip.week .bx-heat{height:20px;font-size:10.5px;font-weight:700;display:grid;place-items:center;border-radius:5px;border:1px solid}.bx-strip.month .bx-heat{height:13px;border-radius:2px;border:none}.bx-strip.month .bx-heat.free{background:color-mix(in srgb,var(--accent) 22%,transparent)}.bx-strip.month .bx-heat.scheduled{background:var(--brand)}.bx-strip.month .bx-heat.busy{background:var(--danger)}.bx-strip.week .bx-heat.today{box-shadow:inset 0 0 0 1.5px var(--ink)}.bx-strip.month .bx-heat.today{box-shadow:0 2px 0 0 var(--ink)}.bx-roster-axis{padding-top:0;padding-bottom:0}.bx-roster-axis .bx-strip span{font-size:9.5px;color:var(--dim);text-align:center;font-weight:600;overflow:visible;white-space:nowrap}.bx-roster-axis .bx-strip span.today{color:var(--ink)}.bx-week .tk.tech-over,.tech-drop.tech-over{outline:2px dashed var(--accent);outline-offset:1px;background:var(--accent-soft)}.bx-addtech{display:inline-block;margin-top:4px;background:var(--surface);border:1px dashed var(--accent);color:var(--accent);border-radius:6px;font:inherit;font-size:11px;font-weight:600;padding:2px 8px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bx-addtech:hover{background:var(--accent-soft)}.bx-roster-compact{padding:10px 12px;border-bottom:1px solid var(--line)}.bx-roster-chips{display:flex;flex-wrap:wrap;gap:6px}.bx-roster-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;font:inherit;font-size:12.5px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bx-roster-chip .n{font-size:11px;font-weight:700;color:var(--muted)}.bx-roster-chip.armed{border-color:var(--accent);background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){.bx-roster-tech,.bx-week .dcell,.bx-week .tk,.tech-drop{transition:none!important}}@media (max-width:860px){.bx-roster{display:none}}.bx-week .nlabel{padding:8px 8px 8px 10px;border-bottom:2px solid color-mix(in srgb,var(--brand) 55%,transparent);background:var(--warn-soft);display:flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;color:var(--warn);min-width:0}.bx-week .nlabel-name{min-width:0;line-height:1.25;overflow-wrap:anywhere}.bx-week .ncell{border-bottom:2px solid color-mix(in srgb,var(--brand) 55%,transparent);border-left:1px solid var(--line);background:color-mix(in srgb,var(--warn-soft) 55%,transparent);min-height:44px;padding:5px;display:flex;flex-direction:column;gap:5px;min-width:0}.bx-week .ncell.has{background:var(--warn-soft)}.ns-count{display:inline-block;font-size:10.5px;font-weight:700;line-height:16px;padding:0 6px;border-radius:999px;background:var(--brand);color:#1b1b1b;flex-shrink:0}.ns-card{display:flex;flex-direction:column;gap:2px;min-width:0;background:var(--surface);border:1px dashed color-mix(in srgb,var(--brand) 80%,transparent);border-left:3px solid var(--brand);border-radius:7px;padding:6px 8px;font-size:12px;color:var(--ink);overflow-wrap:anywhere;text-align:left}.ns-card[role=button]{cursor:pointer}.ns-card[role=button]:hover{border-color:var(--brand)}.ncell-add:focus-visible,.ns-actions small:focus-visible,.ns-card:focus-visible{outline:none;box-shadow:var(--accent-ring)}.ns-card.compact{font-size:11.5px;padding:5px 7px}.ns-cust{font-weight:600;display:block}.ns-when{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums}.ns-when.none{color:var(--dim);font-style:italic}.ns-type{align-self:flex-start;max-width:100%;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);border-radius:5px;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-prof,.ns-snip{color:var(--muted);font-size:11px}.ns-prof{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-actions{display:flex;flex-wrap:wrap;-moz-column-gap:8px;column-gap:8px;row-gap:2px;margin-top:2px}.ns-actions small{cursor:pointer;white-space:nowrap;color:var(--muted);font-size:11px}.ns-actions small:hover{text-decoration:underline}.ns-actions .ns-convert{color:var(--accent);font-weight:700}.ns-actions .ns-cancel{color:var(--danger)}.ncell-add{align-self:center;margin-top:auto;background:transparent;border:1px dashed color-mix(in srgb,var(--brand) 70%,transparent);border-radius:6px;color:var(--warn);font:inherit;font-size:11px;font-weight:600;padding:2px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;opacity:.75}.ncell-add:focus-visible,.ncell-add:hover{opacity:1;background:var(--surface)}.ns-section{border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);background:var(--warn-soft);border-radius:10px;padding:10px}.ns-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--warn);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.ns-month{display:flex;flex-direction:column;gap:2px;min-width:0}.ns-chip{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--warn-soft);border:1px dashed color-mix(in srgb,var(--brand) 80%,transparent);border-left:3px solid var(--brand);border-radius:4px;padding:1px 5px}.ns-chip,.ns-more{font-size:10.5px}.ns-chip,.ns-more,.ns-summary{font-weight:600;color:var(--warn)}.ns-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);border-radius:8px;padding:7px 10px;margin:14px 18px 0}@media (prefers-reduced-motion:reduce){.ncell-add,.ns-card{transition:none!important}}.bx-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-card);z-index:60}.bx-shell{display:flex;height:100dvh;overflow:hidden;background:var(--bg)}@supports not (height:100dvh){.bx-shell{height:100vh}}.bx-main{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.bx-content{padding:24px 26px 70px;max-width:1800px;width:100%}.bx-agenda,.bx-hamburger,.bx-nav-backdrop{display:none}.bx-agenda-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:10px 12px;cursor:pointer;font-family:inherit;color:var(--ink)}.bx-agenda-card:active{opacity:.7}@media (max-width:860px){.bx-hamburger{display:grid}.bx-side{position:fixed;top:0;left:0;height:100dvh;width:min(84vw,300px);z-index:200;transform:translateX(-100%);transition:transform .22s ease;box-shadow:0 0 44px rgba(0,0,0,.35);padding-top:max(14px,env(safe-area-inset-top))}.bx-side.open{transform:none}.bx-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:150}.bx-nav{padding:11px 10px;font-size:14.5px}.bx-topbar{padding:max(10px,env(safe-area-inset-top)) 12px 10px;gap:8px}.bx-search{max-width:none}.bx-search input{font-size:16px}.bx-content{padding:16px 14px calc(90px + env(safe-area-inset-bottom))}.kpis{grid-template-columns:1fr 1fr!important}.billing-root .card{padding:14px}.billing-root table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.bx-deskgrid{display:none}.bx-deskctl{display:none!important}.bx-agenda{display:block}}@media (max-width:640px){.billing-root table.bx-list,.billing-root table.bx-list tbody{display:block;white-space:normal}.billing-root table.bx-list thead{display:none}.billing-root table.bx-list tbody tr{display:block;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 13px;margin-bottom:11px;box-shadow:var(--shadow-card)}.billing-root table.bx-list tbody tr td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0!important;border:none!important;border-bottom:1px solid var(--line)!important;text-align:right!important;white-space:normal!important;font-size:13px}.billing-root table.bx-list tbody tr td:last-child{border-bottom:none!important}.billing-root table.bx-list tbody tr td:before{content:attr(data-label);flex:none;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);font-weight:600}.billing-root table.bx-list tbody tr td[data-label=""]{display:none}}@media (max-width:520px){.kpis{grid-template-columns:1fr!important}}.bx-content:has(>.bx-ws){flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:14px}.bx-ws{flex:1;min-height:520px;display:flex;flex-direction:column;gap:10px;min-width:0}.bx-ws-area{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 0) 0 0/18px 18px,var(--bg-tertiary);border:1px solid var(--line)}.bx-win{position:absolute;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 2px 4px rgba(0,0,0,.05),0 10px 28px rgba(0,0,0,.09);overflow:hidden;transition:left .18s cubic-bezier(0,0,.2,1),top .18s cubic-bezier(0,0,.2,1),width .18s cubic-bezier(0,0,.2,1),height .18s cubic-bezier(0,0,.2,1),box-shadow .15s,border-color .15s;animation:bx-win-in .2s ease-out both}.bx-win[hidden]{display:none}.bx-win.focused{border-color:color-mix(in srgb,var(--accent) 45%,var(--line-2));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),0 14px 40px rgba(0,0,0,.14)}.bx-win.dragging{transition:none;opacity:.94;box-shadow:var(--shadow-pop);cursor:grabbing}.bx-win.m-tiled.dragging{opacity:.82}.bx-win.leaving{animation:bx-win-out .16s ease-in both;pointer-events:none}.bx-win.m-tab{border-radius:12px;animation-name:bx-tab-in}@keyframes bx-win-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes bx-tab-in{0%{opacity:0}to{opacity:1}}@keyframes bx-win-out{to{opacity:0;transform:translateY(28px) scale(.94)}}.bx-win-bar{display:flex;align-items:center;gap:8px;height:40px;flex:none;padding:0 6px 0 12px;border-bottom:1px solid var(--line);background:var(--surface-2);cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none}.bx-win.m-tab .bx-win-bar{cursor:default;touch-action:auto}.bx-win.focused .bx-win-bar{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}.bx-win-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:13px;flex:none}.bx-win-title{flex:1;min-width:0;font-weight:600;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bx-win-btn{width:30px;height:30px;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;flex:none}.bx-win-btn:hover{background:var(--surface);color:var(--ink)}.bx-win-btn.close:hover{background:var(--danger-soft);color:var(--danger)}.bx-win-btn:focus-visible{outline:none;box-shadow:var(--accent-ring)}.bx-win-body{flex:1;min-height:0;overflow:auto;padding:14px 16px 18px;overscroll-behavior:contain}.bx-win-rz{position:absolute;z-index:2}.bx-win-rz.rz-n,.bx-win-rz.rz-s{left:10px;right:10px;height:7px;cursor:ns-resize}.bx-win-rz.rz-n{top:-3px}.bx-win-rz.rz-s{bottom:-3px}.bx-win-rz.rz-e,.bx-win-rz.rz-w{top:10px;bottom:10px;width:7px;cursor:ew-resize}.bx-win-rz.rz-e{right:-3px}.bx-win-rz.rz-w{left:-3px}.bx-win-rz.rz-ne,.bx-win-rz.rz-nw,.bx-win-rz.rz-se,.bx-win-rz.rz-sw{width:14px;height:14px}.bx-win-rz.rz-ne{top:-3px;right:-3px;cursor:nesw-resize}.bx-win-rz.rz-sw{bottom:-3px;left:-3px;cursor:nesw-resize}.bx-win-rz.rz-nw{top:-3px;left:-3px;cursor:nwse-resize}.bx-win-rz.rz-se{bottom:-3px;right:-3px;cursor:nwse-resize}.bx-ws-view{min-width:0}.bx-ws-viewbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.bx-ws-branch{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}.bx-ws-branch .bx-f{text-transform:none;letter-spacing:0;font-weight:500;font-size:12.5px;padding:5px 9px;max-width:220px}.bx-ws-slot{position:absolute;border-radius:14px;transition:background .12s,border-color .12s}.bx-ws-slot.empty{border:1.5px dashed color-mix(in srgb,var(--ink) 18%,transparent);display:grid;place-items:center;padding:16px}.bx-ws-slot.drop{border:2px dashed transparent;pointer-events:none;z-index:800}.bx-ws-slot.target{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.bx-ws-slot-inner{text-align:center;max-width:300px}.bx-ws-slot-title{font-weight:600;font-size:14px;margin-bottom:12px}.bx-ws-slot-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.bx-ws-slot-hint{font-size:12px;color:var(--dim);margin-top:10px}.bx-ws-snap{position:absolute;border-radius:14px;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);pointer-events:none;z-index:850;animation:bx-tab-in .12s ease-out both}.bx-ws-empty{position:absolute;inset:0;display:grid;place-items:center;padding:16px}.bx-ws-empty-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:26px 28px;text-align:center;max-width:380px;width:100%}.bx-ws-empty-card h2{font-size:17px;font-weight:600;margin:6px 0;letter-spacing:-.01em}.bx-ws-empty-card p{color:var(--muted);font-size:13px;margin:0 0 16px;line-height:1.45}.bx-ws-empty-mark{font-size:20px;letter-spacing:2px;color:var(--accent)}.bx-ws-muted{color:var(--dim)!important;margin:0!important}.bx-ws-skel{height:14px;border-radius:7px;background:var(--skeleton-bg);margin:8px auto;width:70%}.bx-ws-skel.short{width:45%}.bx-ws-taskbar{flex:none;display:flex;align-items:center;gap:10px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:7px 8px}.bx-ws-pick{position:relative;flex:none}.bx-ws-plus{width:40px;height:40px;border-radius:11px;border:none;background:var(--ink);color:var(--surface);display:grid;place-items:center;cursor:pointer;transition:filter .12s,transform .06s}.bx-ws-plus:hover{filter:brightness(1.15)}.bx-ws-plus:active{transform:scale(.96)}.bx-ws-plus:focus-visible{outline:none;box-shadow:var(--accent-ring)}.bx-ws-menu{position:absolute;bottom:calc(100% + 10px);left:0;min-width:250px;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow-pop);padding:6px;z-index:1000;animation:bx-win-in .16s ease-out both}.bx-ws-menu-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);font-weight:600;padding:8px 10px 6px}.bx-ws-menu-empty{font-size:13px;color:var(--muted);padding:6px 10px 10px}.bx-ws-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:transparent;border-radius:10px;padding:9px 10px;cursor:pointer;color:var(--ink);font-family:inherit;min-height:44px}.bx-ws-menu-item:focus-visible,.bx-ws-menu-item:hover{background:var(--surface-2);outline:none}.bx-ws-menu-item .ic{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:15px;flex:none}.bx-ws-menu-item b{display:block;font-size:13.5px;font-weight:600}.bx-ws-menu-item small{display:block;font-size:11.5px;color:var(--muted)}.bx-ws-items{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:1px}.bx-ws-items-empty{font-size:12.5px;color:var(--dim);padding:0 6px;white-space:nowrap}.bx-ws-item{display:flex;align-items:center;flex:none;max-width:280px;border:1px solid var(--line-2);border-radius:11px;background:var(--surface-2);transition:background .12s,border-color .12s}.bx-ws-item:hover{border-color:var(--dim)}.bx-ws-item.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.bx-ws-item.active .t{color:var(--accent)}.bx-ws-item.min{background:transparent;border-style:dashed}.bx-ws-item.min .t{color:var(--muted)}.bx-ws-item-main{display:flex;align-items:center;gap:8px;min-width:0;border:none;background:transparent;cursor:pointer;padding:0 4px 0 9px;height:38px;font-family:inherit;color:var(--ink)}.bx-ws-item-main:focus-visible,.bx-ws-item-x:focus-visible{outline:none;box-shadow:var(--accent-ring);border-radius:9px}.bx-ws-item-main .ic{width:22px;height:22px;border-radius:7px;background:var(--surface);border:1px solid var(--line);color:var(--accent);display:grid;place-items:center;font-size:12px;flex:none}.bx-ws-item-main .t{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.bx-ws-minflag{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--dim);border:1px solid var(--line-2);border-radius:5px;padding:0 4px;flex:none}.bx-ws-item-x{width:30px;height:38px;display:grid;place-items:center;border:none;background:transparent;color:var(--dim);cursor:pointer;border-radius:0 11px 11px 0;flex:none}.bx-ws-item-x:hover{color:var(--danger);background:var(--danger-soft)}.bx-ws-templates{flex:none;display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:3px}.bx-ws-tpl{display:flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--muted);border-radius:9px;padding:0 10px;height:34px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s,color .12s}.bx-ws-tpl.on,.bx-ws-tpl:hover{color:var(--ink)}.bx-ws-tpl.on{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px var(--line-2)}.bx-ws-tpl:focus-visible{outline:none;box-shadow:var(--accent-ring)}.bx-ws-save{flex:none;font-size:11.5px;color:var(--dim);padding-right:6px;white-space:nowrap}.bx-ws-save.err{color:var(--danger)}@media (max-width:1180px){.bx-ws-tpl span{display:none}.bx-ws-tpl{padding:0 9px}.bx-ws-save{display:none}}@media (max-width:860px){.bx-content:has(>.bx-ws){padding-bottom:calc(10px + env(safe-area-inset-bottom))}}@media (max-width:767px){.bx-ws{min-height:420px;gap:8px}.bx-ws-area{background:var(--bg)}.bx-win.m-tab,.bx-ws-area{border-radius:12px}.bx-win-body{padding:12px 12px 16px}.bx-ws-taskbar{padding:6px;gap:6px;border-radius:14px}.bx-ws-item{max-width:200px}.bx-ws-item-main{height:40px}.bx-ws-item-x{height:40px;width:34px}.bx-ws-plus{width:42px;height:42px}.bx-ws-menu{min-width:220px}}@media (prefers-reduced-motion:reduce){.bx-win,.bx-win.leaving,.bx-ws-menu,.bx-ws-snap{animation:none!important;transition:none!important}}.vl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.vl-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px;padding:14px 16px}.vl-f{display:flex;flex-direction:column;min-width:0}.vl-f .bx-f{width:100%;box-sizing:border-box;height:34px}.vl-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.vl-count{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left;cursor:pointer;font-family:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;color:var(--muted);font-size:12px}.vl-count b{font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums}.vl-count.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.vl-count span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.vl-card{padding:0!important;overflow-x:auto}.vl-table{width:100%;border-collapse:collapse;font-size:13px}.vl-table th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.vl-table td,.vl-table th{padding:10px 12px;border-bottom:1px solid var(--line)}.vl-table td{vertical-align:top}.vl-table tr:last-child td{border-bottom:none}.vl-table tr.cleared td{opacity:.7}.vl-table .nowrap{white-space:nowrap}.vl-detail{max-width:360px;color:var(--muted);overflow-wrap:anywhere}.vl-type{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;background:var(--warn-soft);color:var(--warn)}.vl-type.skipped_lunch_writeup{background:var(--danger-soft);color:var(--danger)}.vl-type.rest{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.vl-note{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:160px}.vl-note small{color:var(--dim);font-size:11px}.vl-note-text{overflow-wrap:anywhere}.vl-note-edit{display:flex;flex-direction:column;gap:6px;min-width:200px}.vl-note-edit textarea{width:100%;box-sizing:border-box;resize:vertical}.vl-note-acts{display:flex;gap:6px}.vl-dim{color:var(--dim)}.vl-empty{padding:28px;text-align:center}.vl-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0;font-size:13px;color:var(--muted);flex-wrap:wrap}@media (max-width:1100px){.vl-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.vl-filters{grid-template-columns:1fr 1fr}.vl-f .bx-f{font-size:16px}.vl-counts{grid-template-columns:1fr 1fr}.vl-card{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible}.vl-table,.vl-table tbody,.vl-table td,.vl-table tr{display:block;width:100%;box-sizing:border-box}.vl-table thead{display:none}.vl-table tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:6px 4px}.vl-table td{border-bottom:none;padding:5px 10px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px}.vl-table td:before{content:attr(data-label);font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.vl-detail{max-width:none}.vl-note,.vl-note-edit{min-width:0}}.tm{container:tm/inline-size;min-width:0;--tm-cols:minmax(96px,1.05fr) 112px 70px minmax(110px,1.25fr) minmax(84px,.95fr) 76px 76px minmax(110px,1.35fr) 84px 108px}.tm .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tm .mono{font-variant-numeric:tabular-nums}.tm-dim{color:var(--dim)}.tm-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}.tm.embedded .tm-head{align-items:center;margin-bottom:12px}.tm-caption{flex:1 1 140px;min-width:0;font-weight:600;font-size:14px;letter-spacing:-.01em}.tm-seg{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px;flex:none}.tm-seg button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--muted);border-radius:8px;padding:0 12px;height:32px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s;white-space:nowrap}.tm-seg button:hover:not(:disabled){color:var(--ink)}.tm-seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px var(--line-2)}.tm-seg button:disabled{opacity:.42;cursor:not-allowed}.tm-att:focus-visible,.tm-dayhead:focus-visible,.tm-icon:focus-visible,.tm-seg button:focus-visible{outline:none;box-shadow:var(--accent-ring)}.tm-rangebar,.tm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.tm-toolbar{margin-bottom:10px}.tm-add{display:inline-flex;gap:7px}.tm-add,.tm-search{align-items:center;height:38px}.tm-search{flex:1 1 220px;min-width:0;max-width:420px;display:flex;gap:8px;padding:0 12px;background:var(--surface);border:1px solid var(--line-2);border-radius:999px;color:var(--dim);transition:border-color .12s,box-shadow .12s}.tm-search:focus-within{border-color:var(--accent);box-shadow:var(--accent-ring)}.tm-search input{flex:1;min-width:0;border:none!important;background:none;outline:none;box-shadow:none!important;font:inherit;font-size:13px;color:var(--ink)}.tm-search.in-form{flex:none;max-width:none;border-radius:9px;background:var(--surface-2)}.tm-rangebar{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);padding:8px 10px;margin-bottom:12px}.tm-nav{display:flex;align-items:center;gap:4px}.tm-date{height:34px;padding:0 9px}.tm-rangelabel{font-weight:600;font-size:14px;letter-spacing:-.01em;white-space:nowrap}.tm-total{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap;background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:7px 12px}.tm-total b{font-size:15px;font-variant-numeric:tabular-nums;color:var(--accent)}.tm-icon{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:9px;cursor:pointer;flex:none;transition:background .12s,color .12s,border-color .12s}.tm-icon:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-2)}.tm-link{background:none;border:none;color:var(--accent);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:0}.tm-bulk{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.tm-bulk-bar{align-items:center;gap:10px 14px;padding:9px 12px 9px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card)}.tm-bulk-bar,.tm-bulk-sum{display:flex;flex-wrap:wrap}.tm-bulk-sum{align-items:baseline;gap:6px 12px;font-size:13px;min-width:0}.tm-bulk-sum b{font-size:15px;font-variant-numeric:tabular-nums;color:var(--blue)}.tm-bulk-blocked{font-size:12px;color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:2px 9px}.tm-bulk-acts{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tm-bulk-toggle{display:inline-flex;align-items:center;gap:6px}.tm-bulk-toggle svg{transition:transform .16s cubic-bezier(0,0,.2,1)}.tm-bulk-toggle.on svg{transform:rotate(90deg)}.tm-bulk-techs{list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.tm-bulk-tech{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px}.tm-bulk-tech+.tm-bulk-tech{border-top:1px solid var(--border-subtle)}.tm-bulk-tech .avatar{width:30px;height:30px;font-size:11px}.tm-bulk-tech .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.tm-bulk-tech .who b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-bulk-counts{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.tm-bulk-counts .mono{font-weight:600;color:var(--ink);margin-right:3px}.tm-bulk-result{border-radius:12px;padding:10px 12px 10px 14px;font-size:13px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.tm-bulk-result.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.tm-bulk-result-h{display:flex;align-items:center;gap:8px;justify-content:space-between}.tm-bulk-result-h .tm-icon{width:28px;height:28px}.tm-bulk-result ul{margin:4px 0 2px;padding-left:18px;color:var(--muted);font-size:12.5px;line-height:1.55}.tm-bulk-result ul b{color:var(--ink);font-weight:600}.tm-xp-branch{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tm-xp-sum{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tm-xp-sum .bx-btn{margin-left:auto}.tm-xp-stats{display:flex;gap:6px;flex-wrap:wrap}.tm-pd .tm-xp-stats{margin-left:auto}.tm-xp-stat{display:inline-flex;align-items:baseline;gap:5px;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 11px}.tm-xp-stat b{font-size:14px;font-variant-numeric:tabular-nums}.tm-xp-stat.amber b{color:var(--warn)}.tm-xp-stat.blue b{color:var(--blue)}.tm-xp-stat.green b{color:var(--accent)}.tm-xp-stat.hot{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn);font-weight:600}.tm-xp-days{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}.tm-xp-day{display:grid;grid-template-columns:150px 200px minmax(0,1fr) 150px;align-items:center;gap:8px 14px;padding:11px 14px;border-left:3px solid transparent}.tm-xp-day+.tm-xp-day{border-top:1px solid var(--line)}.tm-xp-day.s-none,.tm-xp-day.s-waiting{color:var(--muted)}.tm-xp-day.s-needs_resend{background:color-mix(in srgb,var(--warn-soft) 80%,var(--surface));border-left-color:var(--warn)}.tm-xp-day.s-ready{border-left-color:var(--blue)}.tm-xp-date{display:flex;flex-direction:column;gap:1px;min-width:0}.tm-xp-date b{font-size:13.5px;color:var(--ink)}.tm-xp-date .mono{font-size:12px;color:var(--muted)}.tm-xp-status{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.tm-xp-why{font-size:11.5px;color:var(--muted)}.tm-xp-day.s-needs_resend .tm-xp-why:first-of-type{color:var(--warn);font-weight:600}.tm-xp-techs{list-style:none;margin:0;padding:0;display:flex;gap:5px;flex-wrap:wrap;min-width:0}.tm-xp-tech{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px 9px 2px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-xp-tech i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--dim)}.tm-xp-tech.t-ready i{background:var(--blue)}.tm-xp-tech.t-sent i{background:var(--accent)}.tm-xp-tech.t-needs_resend i{background:var(--warn)}.tm-xp-tech.t-needs_resend{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.tm-xp-tech.t-nothing,.tm-xp-tech.t-waiting{color:var(--muted)}.tm-xp-act{display:flex;justify-content:flex-end}.tm-xp-none{font-size:12px}.tm-xp-scope{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.tm-qbf{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:14px;margin-bottom:12px;min-width:0}.tm-qbf-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tm-qbf-head>div{flex:1 1 260px;min-width:0}.tm-qbf-h{font-size:14px;font-weight:650;margin:0 0 2px;color:var(--ink)}.tm-qbf-sub{font-size:12px;color:var(--muted);line-height:1.45}.tm-qbf-sub b{color:var(--ink);font-weight:600}.tm-qbf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tm-qbf-card{display:flex;flex-direction:column;gap:9px;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface-2)}.tm-qbf-card.is-blocked{border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger-soft) 55%,var(--surface))}.tm-qbf-ch{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tm-qbf-code{display:flex;flex-direction:column;min-width:0}.tm-qbf-code b{font-size:16px;letter-spacing:.02em;color:var(--ink)}.tm-qbf-code span{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-qbf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.tm-qbf-stats div{min-width:0}.tm-qbf-stats dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tm-qbf-stats dd{margin:1px 0 0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.tm-qbf-stats dd em{font-style:normal;font-size:11px;font-weight:600;color:var(--warn)}.tm-qbf-jc{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-qbf-jc .mono{color:var(--ink)}.tm-qbf-unset{color:var(--danger);font-weight:600}.tm-qbf-blockers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.tm-qbf-blockers li{font-size:12px;line-height:1.4;color:var(--danger);padding-left:12px;position:relative;overflow-wrap:anywhere}.tm-qbf-blockers li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--danger)}.tm-qbf-blockers b{color:var(--ink)}.tm-qbf-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.tm-qbf-act .bx-btn{flex:1 1 auto}.tm-qbf .bx-btn:disabled{opacity:.45;cursor:not-allowed}.tm-qbf-block.global{font-size:12.5px;line-height:1.45;color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:9px 12px;margin-bottom:10px}.tm-qbf-block.global ul{margin:5px 0 0;padding-left:18px;color:var(--ink)}.tm-qbf-msg{font-size:12.5px;color:var(--muted);padding:6px 0}.tm-qbf-log{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.tm-qbf-logbtn{background:none;border:none;padding:4px 0;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.tm-qbf-logbtn:focus-visible,.tm-qbf-logbtn:hover{color:var(--ink)}.tm-qbf-logrows{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}.tm-qbf-logrows li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;padding:6px 0;border-top:1px solid var(--line)}.tm-qbf-logrows li:first-child{border-top:none}@media (max-width:900px){.tm-qbf-grid{grid-template-columns:minmax(0,1fr)}}@container tm (max-width: 899px){.tm-qbf-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.tm-qbf{padding:12px}.tm-qbf-head .bx-btn{width:100%}.tm-xp-scope{margin-left:0}.tm-xp-sum .tm-xp-scope .bx-btn{width:auto}}.bx-btn.tm-resend{background:var(--warn);color:#fff}[data-theme=dark] .bx-btn.tm-resend{color:#1a1608}@container tm (max-width: 899px){.tm-xp-day{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date act" "status status" "techs techs";padding:11px 12px}.tm-xp-date{grid-area:date;flex-direction:row;align-items:baseline;gap:8px}.tm-xp-status{grid-area:status;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 8px}.tm-xp-techs{grid-area:techs}.tm-xp-act{grid-area:act}}.tm-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:16px 18px 18px;margin-bottom:14px;min-width:0}.tm-card-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.tm-card-head h2{margin:0;font-size:15px;font-weight:650;letter-spacing:-.01em}.tm-card-head p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45;max-width:640px}.tm-card-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent);font-weight:700}.tm-card-ic.blue{background:var(--blue);color:#fff;--tm-lock-hole:var(--blue)}.tm-card-ic svg{width:17px;height:17px}.tm-card-empty{font-size:13px;color:var(--muted);background:var(--surface-2);border-radius:10px;padding:12px 14px}.tm-grant-form{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:12px;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.tm-grant-form>.bx-btn{height:38px;margin-top:21px}.tm-upick{flex:1 1 260px;min-width:0;max-width:420px;display:flex;flex-direction:column}.tm-upick .tm-search{max-width:none;background:var(--surface)}.tm-upick .tm-picklist{margin-top:6px;max-height:190px}.tm-upick .tm-pick.on{display:flex;align-items:center;min-height:38px}.tm-grant-branch{display:flex;flex-direction:column;flex:0 1 200px;min-width:0}.tm-grant-branch .bx-f{height:38px;width:100%}.tm-grants{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tm-grant{display:flex;align-items:center;gap:11px;padding:10px 4px}.tm-grant+.tm-grant{border-top:1px solid var(--border-subtle)}.tm-grant .avatar{width:32px;height:32px;font-size:11.5px}.tm-grant .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tm-grant .who b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-grant .who>span{font-size:12px;color:var(--muted)}.tm-chips{display:flex;gap:5px;flex-wrap:wrap}.tm-chip{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:1px 2px 1px 10px}.tm-chip button{width:24px;height:24px;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);border-radius:50%;cursor:pointer}.tm-chip button:hover{background:var(--danger-soft);color:var(--danger)}.tm-chip button svg{width:12px;height:12px}.tm-pd-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}.tm-pd-row{display:grid;grid-template-columns:120px minmax(0,1.4fr) minmax(0,1fr) 90px 130px;align-items:center;gap:8px 14px;padding:9px 14px;font-size:13px}.tm-pd-row+.tm-pd-row{border-top:1px solid var(--line)}.tm-pd-date{font-weight:600}.tm-pd-who{display:flex;align-items:center;gap:9px;min-width:0}.tm-pd-who .avatar{width:28px;height:28px;font-size:11px}.tm-pd-branch,.tm-pd-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-pd-act{display:flex;justify-content:flex-end}@container tm (max-width: 699px){.tm-pd-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who status" "date act" "branch act";padding:11px 12px;row-gap:4px}.tm-pd-who{grid-area:who}.tm-pd-status{grid-area:status;justify-self:end}.tm-pd-date{grid-area:date;font-size:12.5px}.tm-pd-branch{grid-area:branch;font-size:12.5px}.tm-pd-act{grid-area:act;align-self:center}}.tm-table{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}.tm-row{display:grid;grid-template-columns:var(--tm-cols);align-items:center;-moz-column-gap:8px;column-gap:8px;padding:0 14px}.tm-colhead{min-height:38px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);font-weight:600;border-bottom:1px solid var(--line);background:var(--surface)}.tm-colhead .num,.tm-entry .num{text-align:right}@container tm (min-width: 1200px){.tm-row{-moz-column-gap:14px;column-gap:14px}}.tm-day+.tm-day{border-top:1px solid var(--line)}.tm-dayhead{display:flex;align-items:center;gap:10px;width:100%;border:none;cursor:pointer;font:inherit;color:var(--ink);text-align:left;padding:0 14px;min-height:44px;background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));transition:background .12s}.tm-dayhead:hover{background:var(--accent-soft)}.tm-dayhead .chev{display:grid;place-items:center;color:var(--accent);transition:transform .18s cubic-bezier(0,0,.2,1)}.tm-day.open .tm-dayhead .chev{transform:rotate(90deg)}.tm-dayhead .d{font-weight:700;font-size:13.5px;letter-spacing:-.01em}.tm-dayhead .sep{color:var(--dim)}.tm-dayhead .h{font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--accent)}.tm-dayhead .n{margin-left:auto;font-size:12px;color:var(--muted)}.tm-batch{gap:10px 14px;flex-wrap:wrap;padding:9px 14px;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tm-batch,.tm-batch .who{display:flex;align-items:center}.tm-batch .who{gap:9px;min-width:0}.tm-batch .who .avatar{width:28px;height:28px;font-size:11px}.tm-batch .who b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-batch .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.tm-batch .meta .mono{font-weight:600;color:var(--ink)}.tm-batch .acts{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tm-batch .acts .bx-btn:disabled{opacity:.45;cursor:not-allowed}.tm-return{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tm-return .bx-f{min-width:0;width:240px;max-width:100%}.tm-returned{flex-basis:100%;font-size:12.5px;color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:6px 10px}.tm-entry{min-height:46px;font-size:13px;border-bottom:1px solid var(--border-subtle);transition:background .1s}.tm-entry:last-child{border-bottom:none}.tm-entry:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.tm-entry>div{min-width:0;padding:8px 0}.tm-entry .c-tech{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-entry .c-time{font-weight:600;white-space:nowrap}.tm-entry .c-dur{font-weight:600}.tm-entry .c-cust{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.tm-entry .c-cust .t{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-entry .c-cust small{font-size:11.5px;color:var(--dim)}.tm-entry .c-act{display:flex;align-items:center;gap:6px;min-width:0}.tm-entry .c-notes{color:var(--muted);font-size:12.5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;word-break:break-word}.tm-entry .c-actions{display:flex;justify-content:flex-end;gap:2px}.tm-plus1{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;color:var(--blue);background:color-mix(in srgb,var(--blue) 13%,transparent);border-radius:5px;padding:1px 5px;vertical-align:1px}.tm-entry.split{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 55%,transparent)}.tm-entry.split .c-time{white-space:normal}.tm-cont{display:block;width:-moz-max-content;width:max-content;max-width:100%;font-family:inherit;font-size:10.5px;font-weight:600;line-height:1.3;color:var(--blue);white-space:nowrap}.tm-cont.next{margin-top:2px}.tm-cont.prev{margin-bottom:2px}.tm-batch.carry{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));border-top-style:dashed}.tm-pw{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#7a4b00;background:color-mix(in srgb,var(--brand) 30%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);border-radius:6px;padding:1px 7px}[data-theme=dark] .tm-pw{color:var(--brand)}.tm-daytot{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.tm-cls{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.02em;border-radius:6px;padding:1px 6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.tm-cls.rt{color:var(--ink)}.tm-cls.ot{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.tm-cls.dt{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.tm-ent{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:5px;padding:1px 5px;margin-left:6px;color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 40%,transparent);white-space:nowrap}.tm-batch .meta .tm-ent{margin-left:0}.tm-ent.none{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.tm-breaktag{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px dashed var(--line);border-radius:5px;padding:0 5px}.tm-billdot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.tm-yard{display:inline-block;font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 7px}.tm-att{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 3px;border:1px solid var(--line-2);background:var(--surface);border-radius:9px;cursor:pointer;color:var(--ink);font:inherit;font-size:12px;font-weight:600}.tm-att:hover{border-color:var(--accent)}.tm-att img{width:26px;height:26px;border-radius:6px;-o-object-fit:cover;object-fit:cover;display:block}.tm-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}.tm-pill.green{background:var(--accent-soft);color:var(--accent)}.tm-pill.amber{background:var(--warn-soft);color:var(--warn)}.tm-pill.red{background:var(--danger-soft);color:var(--danger)}.tm-pill.blue{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.tm-pill.gray{background:var(--surface);color:var(--muted);border:1px solid var(--line)}.tm-lockchip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px 3px 7px;white-space:nowrap}.tm-lockchip svg{width:13px;height:13px}.tm-lockchip.editable{color:var(--muted);background:var(--surface-2)}.tm-lockchip.locked{color:var(--ink);background:var(--surface);border:1px solid var(--line-2)}.tm-lockchip.exported_locked{color:#fff;background:var(--blue);--tm-lock-hole:var(--blue)}.tm-icon.lock.locked{color:var(--ink)}.tm-icon.lock.exported_locked{color:#fff;background:var(--blue);border-color:var(--blue);--tm-lock-hole:var(--blue)}.tm-icon.lock.exported_locked:hover{filter:brightness(1.1)}.tm-empty{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:36px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.tm-empty b{font-size:15px}.tm-empty p{margin:0 0 8px;color:var(--muted);font-size:13px;max-width:300px}.tm-empty-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;margin-bottom:6px}.tm-empty-ic svg{width:24px;height:24px}.tm-skelrow{padding:14px}.tm-skel{height:13px;border-radius:7px;margin:8px 0;width:82%;background:linear-gradient(90deg,var(--skeleton-bg) 25%,color-mix(in srgb,var(--skeleton-bg) 55%,var(--surface)) 50%,var(--skeleton-bg) 75%);background-size:200% 100%;animation:tm-shimmer 1.4s linear infinite}.tm-skel.short{width:46%}@keyframes tm-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tm-toast{z-index:2100;max-width:calc(100vw - 32px);text-align:center}.tm-toast.err{background:var(--danger);color:#fff}.tm-incomplete{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:12px;padding:10px 14px;font-size:13px;margin:0 0 12px}.tm-incomplete b{font-weight:700}.tm-incomplete .bx-btn{margin-left:auto}.tm-inline-err{background:var(--danger-soft);color:var(--danger);border-radius:9px;padding:9px 11px;font-size:12.5px}@container tm (min-width: 900px) and (max-width: 1060px){.tm-row{grid-template-columns:112px 70px minmax(100px,1.25fr) minmax(80px,.95fr) 76px 76px minmax(100px,1.35fr) 84px 108px}.tm-row>:first-child{display:none}}@container tm (max-width: 899px){.tm-colhead{display:none}.tm-table{background:transparent;border:none;box-shadow:none;overflow:visible;display:flex;flex-direction:column;gap:12px}.tm-day{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);overflow:hidden}.tm-day+.tm-day{border-top:1px solid var(--line)}.tm-entry{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time dur" "cust job" "act pay" "notes notes" "att actions";-moz-column-gap:12px;column-gap:12px;padding:8px 14px 6px;border-bottom:1px solid var(--line)}.tm-entry>div{padding:2px 0}.tm-entry .c-tech{display:none}.tm-entry .c-time{grid-area:time;font-size:14px}.tm-entry .c-dur{grid-area:dur;font-size:14px}.tm-entry .c-cust{grid-area:cust}.tm-entry .c-job{grid-area:job;text-align:right;color:var(--muted);font-size:12.5px}.tm-entry .c-act{grid-area:act;color:var(--muted)}.tm-entry .c-pay{grid-area:pay;text-align:right}.tm-entry .c-notes{grid-area:notes;background:var(--surface-2);border-radius:8px;padding:6px 9px!important;margin:4px 0 2px}.tm-entry .c-notes:empty{display:none}.tm-entry .c-att{grid-area:att;align-self:center}.tm-entry .c-actions{grid-area:actions;align-self:center}.tm-total{margin-left:0}}@container tm (max-width: 560px){.tm-head{gap:10px}.tm-head>.tm-seg{width:100%}.tm-head>.tm-seg button{flex:1;justify-content:center;padding:0 6px}.tm-toolbar .tm-search{flex-basis:100%;max-width:none;order:-1}.tm-toolbar .tm-add{flex:1;justify-content:center}.tm-rangebar{gap:8px}.tm-rangebar>.tm-seg{flex:1}.tm-rangebar>.tm-seg button{flex:1;justify-content:center;padding:0 6px}.tm-rangelabel{order:3;flex:1;font-size:13px}.tm-total{order:4}.tm-date{width:150px;padding:0 6px}.tm-dayhead .n{display:none}.tm-batch .acts{margin-left:0;width:100%}.tm-batch .acts .bx-btn{flex:1}.tm-return{width:100%}.tm-return .bx-f{flex-basis:100%;width:auto}.tm-head>.tm-seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.tm-bulk-acts{margin-left:0;width:100%}.tm-bulk-acts .bx-btn{flex:1;justify-content:center}.tm-bulk-tech{flex-wrap:wrap}.tm-bulk-tech>.bx-btn{width:100%}.tm-xp-branch{margin-left:0}.tm-xp-sum .bx-btn{margin-left:0;width:100%}.tm-pd .tm-xp-stats{margin-left:0;order:4}.tm-grant-form>.bx-btn{margin-top:0}.tm-grant-form{flex-direction:column;align-items:stretch}.tm-grant-branch,.tm-upick{flex:none;max-width:none}.tm-card{padding:14px}}@media (max-width:860px){.tm .bx-f,.tm-modal .bx-f,.tm-panel .bx-f,.tm-search input{font-size:16px}.tm-icon{width:40px;height:40px}}.tm-panel-wrap{position:fixed;inset:0;z-index:2000;display:flex;justify-content:flex-end}.tm-panel-wrap.center{justify-content:center;align-items:center;padding:16px}.tm-panel-scrim{position:absolute;inset:0;background:rgba(10,10,12,.38);animation:tm-fade .16s ease-out both}.tm-modal,.tm-panel{position:relative;background:var(--surface);color:var(--ink);display:flex;flex-direction:column;outline:none;box-shadow:var(--shadow-pop)}.tm-panel{width:min(460px,100%);height:100%;border-left:1px solid var(--line);animation:tm-slide-in .2s cubic-bezier(0,0,.2,1) both}.tm-modal{width:min(520px,100%);max-height:calc(100dvh - 32px);border-radius:18px;border:1px solid var(--line);animation:tm-pop-in .18s cubic-bezier(0,0,.2,1) both}.tm-panel-grip{display:none}.tm-panel-head{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 10px 20px}.tm-panel-head>div{flex:1;min-width:0}.tm-panel-title{font-size:17px;font-weight:650;letter-spacing:-.015em}.tm-panel-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.tm-panel-tabs{margin:0 20px 6px;display:flex}.tm-panel-tabs button{flex:1;justify-content:center}.tm-panel-body{flex:1;min-height:0;overflow:auto;padding:12px 20px 22px;overscroll-behavior:contain}.tm-dl{display:grid;grid-template-columns:104px minmax(0,1fr);gap:9px 12px;margin:4px 0 18px;font-size:13px}.tm-dl dt{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding-top:2px}.tm-dl dd{margin:0;word-break:break-word}.tm-billable{color:var(--accent);font-size:12px}.tm-photos-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);font-weight:600;margin:6px 0 8px;scroll-margin-top:10px}.tm-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.tm-thumb{aspect-ratio:1/1;border-radius:10px;border:1px solid var(--line);overflow:hidden;padding:0;background:var(--surface-2);cursor:pointer;color:var(--dim);font-size:11px}.tm-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .18s}.tm-thumb:hover img{transform:scale(1.04)}.tm-viewer{margin:12px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2)}.tm-viewer img{display:block;width:100%;max-height:60dvh;-o-object-fit:contain;object-fit:contain;background:#000}.tm-viewer figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;font-size:12px;color:var(--muted)}.tm-timeline{list-style:none;margin:6px 0 0;padding:0 0 0 4px;position:relative}.tm-timeline li{position:relative;padding:0 0 16px 22px}.tm-timeline li:before{content:"";position:absolute;left:5px;top:14px;bottom:-2px;width:2px;background:var(--line)}.tm-timeline li:last-child:before{display:none}.tm-timeline .dot{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--dim)}.tm-timeline .ev-approved .dot{border-color:var(--accent);background:var(--accent-soft)}.tm-timeline .ev-returned .dot,.tm-timeline .ev-unapproved .dot{border-color:var(--warn);background:var(--warn-soft)}.tm-timeline .ev-exported .dot{border-color:var(--blue);background:var(--blue)}.tm-timeline .ev-unlocked .dot{border-color:var(--danger);background:var(--danger-soft)}.tm-timeline .ev-main{font-size:13.5px}.tm-timeline .ev-when{font-size:12px;color:var(--muted);margin-top:1px}.tm-timeline .ev-note{font-size:12.5px;color:var(--muted);margin-top:4px;background:var(--surface-2);border-radius:8px;padding:6px 9px}.tm-lockpane{display:flex;flex-direction:column;gap:14px}.tm-lockbanner{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:12px 14px;font-size:13px;border:1px solid var(--line);background:var(--surface-2)}.tm-lockbanner .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface);border:1px solid var(--line-2);color:var(--muted)}.tm-lockbanner b{display:block;font-size:14px;margin-bottom:2px}.tm-lockbanner>div{color:var(--muted)}.tm-lockbanner.locked .ic,.tm-lockbanner>div b{color:var(--ink)}.tm-lockbanner.exported_locked{background:color-mix(in srgb,var(--blue) 10%,var(--surface));border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.tm-lockbanner.exported_locked .ic{background:var(--blue);border-color:var(--blue);color:#fff;--tm-lock-hole:var(--blue)}.tm-lockbanner.exported_locked b{color:var(--blue)}.tm-form{gap:12px}.tm-form,.tm-form label{display:flex;flex-direction:column}.tm-form label{gap:5px;min-width:0}.tm-flabel,.tm-form label>span{display:block;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-bottom:5px}.tm-form label>span{margin-bottom:0}.tm-form .bx-f{height:38px;padding:0 10px;width:100%}.tm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tm-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tm-hint{font-size:12.5px;color:var(--muted);line-height:1.45}.tm-picklist{display:flex;flex-direction:column;gap:4px;max-height:230px;overflow:auto}.tm-pick{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;font-size:13px;color:var(--ink)}.tm-pick span{color:var(--muted);font-size:12px}.tm-pick.on,.tm-pick:hover{border-color:var(--accent)}.tm-pick.on{background:var(--accent-soft);cursor:default}.tm-pick.on .tm-link{margin-left:auto}@keyframes tm-fade{0%{opacity:0}to{opacity:1}}@keyframes tm-slide-in{0%{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}@keyframes tm-pop-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}@keyframes tm-sheet-in{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}@media (max-width:640px){.tm-panel-wrap{align-items:flex-end}.tm-panel{width:100%;height:auto;max-height:88dvh;border-left:none;border-radius:18px 18px 0 0;animation-name:tm-sheet-in;padding-bottom:env(safe-area-inset-bottom)}.tm-panel-grip{display:block;width:40px;height:4px;border-radius:2px;background:var(--line-2);margin:8px auto 0}.tm-panel-wrap.center{padding:0;align-items:flex-end}.tm-modal{width:100%;border-radius:18px 18px 0 0;max-height:92dvh;animation-name:tm-sheet-in}.tm-dl{grid-template-columns:92px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.tm *,.tm-modal,.tm-panel,.tm-panel-scrim{animation:none!important;transition:none!important}}.pp-root{min-width:0}.pp-head{align-items:flex-end;gap:12px}.pp-count,.pp-head{display:flex;flex-wrap:wrap}.pp-count{align-items:baseline;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px}.pp-count b{font-size:22px;font-weight:600;color:var(--warn)}.pp-count span{font-size:13px;color:var(--ink)}.pp-count small{font-size:12px;color:var(--dim)}.pp-count[data-done=true] b{color:var(--accent)}.pp-filters{margin-top:14px;display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;gap:12px;align-items:end}.pp-filter{min-width:0}.pp-filter .bx-f{box-sizing:border-box}.pp-toggles{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding-bottom:4px}.pp-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.pp-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.pp-row[data-complete=true]{opacity:.85}.pp-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pp-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.pp-meta{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.pp-dim{color:var(--dim)}.pp-flags{display:flex;gap:4px;flex-wrap:wrap}.pp-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.4);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto}.pp-editor{width:100%;max-width:620px;display:flex;flex-direction:column;gap:12px;min-width:0}.pp-editor .bx-cardhead h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-section{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px 12px;margin:0;min-width:0;display:flex;flex-direction:column;gap:8px}.pp-section legend{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);padding:0 4px}.pp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.pp-grid .bx-f{width:100%;box-sizing:border-box}.pp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-suggest{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pp-chip{border:1px solid var(--line-2);background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-chip small{color:var(--muted);font-weight:400}.pp-chip:focus-visible{outline:none;box-shadow:var(--accent-ring)}.pp-use{display:block;margin:4px 0 0;font-size:12px;text-align:left}.pp-legal{font-size:11px;color:var(--dim);margin-top:2px;overflow-wrap:anywhere}.pp-warn{font-size:12px;color:var(--warn);background:var(--warn-soft);padding:6px 8px}.pp-err,.pp-warn{border-radius:6px}.pp-err{font-size:12.5px;color:var(--danger);background:var(--danger-soft);padding:8px 10px}.pp-actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:640px){.pp-filters,.pp-grid,.pp-grid-3{grid-template-columns:minmax(0,1fr)}.pp-row{align-items:flex-start}.pp-overlay{padding:0}.pp-editor{max-width:none;min-height:100%;border-radius:0}.pp-count{width:100%}}.ts-card{margin-top:18px;min-width:0}.ts-h{font-size:15px;margin:0 0 4px}.ts-h,.ts-h3{font-weight:600}.ts-h3{font-size:13.5px;margin:16px 0 2px}.ts-msg{margin-top:10px;font-size:12.5px;border-radius:8px;padding:7px 10px}.ts-msg.ok{background:var(--accent-soft);color:var(--accent)}.ts-msg.err{background:var(--danger-soft);color:var(--danger)}.ts-acts,.ts-branches{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.ts-branch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,140px) minmax(0,170px) minmax(0,170px) auto;gap:10px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}.ts-branch:first-child{border-top:none}.ts-bname{font-size:13.5px;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-field{display:flex;flex-direction:column;gap:4px;min-width:0}.ts-field .bx-f{width:100%;box-sizing:border-box}.ts-ename{display:block;font-size:11.5px;font-weight:400;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.ts-entity{grid-template-columns:minmax(0,1fr) minmax(0,320px) auto auto}.ts-unset{align-self:center;justify-self:start}.ts-act{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-top:1px solid var(--line)}.ts-act:first-child{border-top:none}.ts-act-flags{display:inline-flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:flex-end}@media (max-width:640px){.ts-branch{grid-template-columns:1fr 1fr}.ts-bname,.ts-branch>.bx-btn,.ts-entity .ts-field,.ts-entity .ts-unset{grid-column:1/-1}.ts-field .bx-f{font-size:16px}}.ro-root{min-width:0}.ro-tabs{flex-wrap:wrap;margin:14px 0 4px}.ro-tabs,.ro-upload{display:flex;gap:8px}.ro-upload{margin-top:12px;flex-direction:column;min-width:0}.ro-upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.ro-upload-row input[type=file]{max-width:100%;font-size:13px;color:var(--ink)}.ro-result,.ro-summary{margin-top:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.ro-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ro-stats>div{display:flex;flex-direction:column;gap:2px;min-width:0}.ro-stats b{font-size:22px;font-weight:600;color:var(--ink)}.ro-stats span{font-size:12px;color:var(--muted)}.ro-actions{gap:8px}.ro-actions,.ro-filters{display:flex;flex-wrap:wrap;align-items:center}.ro-filters{margin-top:12px;gap:10px;justify-content:space-between}.ro-seg{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.ro-n{font-variant-numeric:tabular-nums;opacity:.75;margin-left:2px}.ro-search{flex:1 1 220px;max-width:340px;min-width:0;box-sizing:border-box}.ro-branch{flex:0 1 200px;min-width:0}.ro-row{align-items:flex-start}.ro-row[data-selected=false]{opacity:.8}.ro-check{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--accent)}.ro-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;margin:2px 0 0}.ro-facts>div{min-width:0}.ro-facts dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);font-weight:600}.ro-facts dd{margin:0;font-size:12.5px;color:var(--ink);overflow-wrap:anywhere}.ro-facts dd.ro-miss{color:var(--warn)}.ro-role{flex:0 0 auto;width:min(180px,100%)}.ro-issues{margin:6px 0 0;padding-left:18px;font-size:12.5px;color:var(--ink)}.ro-issues summary{cursor:pointer;color:var(--warn)}@media (max-width:640px){.ro-facts,.ro-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ro-row{flex-wrap:wrap}.ro-role{flex:1 1 100%;width:auto;min-width:0;padding-left:30px;box-sizing:border-box}.ro-search{max-width:none}.ro-branch{flex:1 1 100%}}