@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,.force-light{--brand-navy: #0f172a;--brand-blue: #2563eb;--brand-cyan: #06b6d4;--brand-teal: #14b8a6;--brand-amber: #f59e0b;--brand-gray: #f8fafc;--bg: #f4f6fa;--surface: #ffffff;--border: #e2e8f0;--text: var(--brand-navy);--text-muted: #475569;--status-requested: #8b5cf6;--status-scheduled: var(--brand-blue);--status-in-progress: var(--brand-amber);--status-completed: var(--brand-teal);--status-invoiced: #475569;--status-cancelled: var(--danger);--action: var(--brand-blue);--action-strong: #1e40af;--action-money: var(--brand-amber);--accent: var(--brand-cyan);--danger: #dc2626;--success: #15803d;--warn-bg: rgb(245 158 11 / .12);--on-navy: #ffffff;--on-navy-border: rgb(255 255 255 / .35);--on-navy-border-strong: rgb(255 255 255 / .6);--on-navy-hover: rgb(255 255 255 / .12);--on-navy-divider: rgb(255 255 255 / .3);--on-navy-soft: rgb(255 255 255 / .85);--on-action: #ffffff;--on-action-soft: rgb(255 255 255 / .85);--on-action-divider: rgb(255 255 255 / .3);--on-success: #ffffff;--on-danger: #ffffff;--action-hover: #1d4ed8;--money-hover: #d97706;--action-glow: rgb(37 99 235 / .35);--danger-text: #b91c1c;--danger-text-strong: #991b1b;--danger-border: rgb(220 38 38 / .35);--danger-tint: rgb(220 38 38 / .06);--success-text: #166534;--success-solid: #22c55e;--tint-success: #dcfce7;--chip-green-bg: rgb(22 163 74 / .14);--warn-orange-text: #9a3412;--tint-warn-orange: #ffedd5;--warn-text: #b45309;--chip-scheduled-text: #1d4ed8;--chip-scheduled-bg: rgb(37 99 235 / .12);--chip-completed-text: #0f766e;--chip-completed-bg: rgb(20 184 166 / .14);--chip-requested-text: #6d28d9;--chip-requested-bg: rgb(139 92 246 / .14);--portal-accent: #7c5cc4;--chip-cancelled-bg: rgb(220 38 38 / .1);--chip-invoiced-text: #475569;--chip-slate-bg: rgb(100 116 139 / .14);--chip-slate-bg-weak: rgb(100 116 139 / .08);--chip-slate-bg-strong: rgb(100 116 139 / .18);--chip-archived-text: #334155;--scrim: rgb(15 23 42 / .45);--hover-subtle: rgb(15 23 42 / .07);--hover-action: rgb(37 99 235 / .06);--row-hover: rgb(37 99 235 / .04);--glass-bg: rgb(255 255 255 / .82);--glass-border: rgb(255 255 255 / .6);--glass-input: #ffffff;--ambient-blue: var(--brand-blue);--ambient-cyan: var(--brand-cyan);--ambient-teal: var(--brand-teal);--ambient-alpha-base: .55;--ambient-flow-alpha-base: .28;--shadow-pub: 0 10px 30px rgb(15 23 42 / .1), 0 1px 3px rgb(15 23 42 / .06);--radius-pub: 18px;--success-tint: rgb(21 128 61 / .12);--surface-soft: rgb(255 255 255 / .65);--logo-plate: #ffffff;--chip-invoiced-bg: rgb(71 85 105 / .14);--badge-inverse: #ffffff;--shadow-pop: 0 2px 4px rgb(15 23 42 / .08), 0 8px 20px rgb(15 23 42 / .1);--shadow-modal: 0 8px 40px rgb(15 23 42 / .25);--shadow-block: 0 1px 2px rgb(15 23 42 / .06);--shadow-block-hover: 0 2px 6px rgb(15 23 42 / .1);--shadow-tabbar: 0 -2px 12px rgb(15 23 42 / .06);--watermark: rgb(100 116 139 / .25);--board-day-head: #f2f6fe;--board-day-head-strong: #eef3fd;--board-day-cell: #f4f7fe;--board-today-tint: #e9effd;--board-neutral-head: #f3f3f4;--board-neutral-cell: #f8f8f9;--board-neutral-strong: #ececee;--board-selection: rgb(37 99 235 / .08);--board-selection-weak: rgb(37 99 235 / .1);--board-unassigned-tint: rgb(15 23 42 / .05);--radius: 12px;--radius-sm: 8px;--radius-card: 12px;--shadow: 0 1px 2px rgb(15 23 42 / .06), 0 4px 12px rgb(15 23 42 / .08);--shadow-card: 0 1px 3px rgb(15 23 42 / .06);--font: "Nunito Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--chart-revenue: #2a78d6;--chart-payroll: #eb6834;--chart-materials: #1baf7a;--chart-expenses: #eda100;--chart-margin: #008300;--chart-cost-soft: #86b6ef}html.theme-dark{--bg: #0b1220;--portal-accent: #b39ddb;--surface: #121b2e;--border: #2a3650;--text: #e7ecf5;--text-muted: #9aa8bf;--action: #60a5fa;--on-action: #0f172a;--on-action-soft: rgb(15 23 42 / .85);--on-action-divider: rgb(15 23 42 / .35);--action-hover: #93c5fd;--action-strong: #93c5fd;--danger: #f87171;--on-danger: #0f172a;--danger-text: #fca5a5;--danger-text-strong: #fca5a5;--success: #4ade80;--success-text: #4ade80;--tint-success: #12291a;--warn-text: #fbbf24;--warn-orange-text: #fdba74;--tint-warn-orange: #33200e;--danger-tint: rgb(248 113 113 / .16);--chip-scheduled-text: #93c5fd;--chip-completed-text: #5eead4;--chip-requested-text: #c4b5fd;--chip-invoiced-text: #b6c2d4;--chip-archived-text: #cbd5e1;--glass-bg: rgb(18 27 46 / .88);--glass-border: rgb(255 255 255 / .12);--glass-input: #121b2e;--ambient-alpha-base: .38;--ambient-flow-alpha-base: .22;--shadow-pub: 0 14px 40px rgb(0 0 0 / .45), 0 1px 3px rgb(0 0 0 / .5);--success-tint: rgb(74 222 128 / .14);--surface-soft: rgb(255 255 255 / .06);--scrim: rgb(0 0 0 / .6);--hover-subtle: rgb(255 255 255 / .08);--board-day-head: #16223a;--board-day-head-strong: #182543;--board-day-cell: #141e33;--board-today-tint: #1b2a4a;--board-neutral-head: #161c28;--board-neutral-cell: #131a26;--board-neutral-strong: #1a2230;--badge-inverse: #0f172a;--shadow: 0 1px 2px rgb(0 0 0 / .5), 0 4px 12px rgb(0 0 0 / .45);--shadow-card: 0 1px 3px rgb(0 0 0 / .5);--shadow-pop: 0 2px 4px rgb(0 0 0 / .5), 0 8px 20px rgb(0 0 0 / .45);--shadow-modal: 0 8px 40px rgb(0 0 0 / .6);--shadow-tabbar: 0 -2px 12px rgb(0 0 0 / .5);--shadow-block: 0 1px 2px rgb(0 0 0 / .5);--shadow-block-hover: 0 2px 6px rgb(0 0 0 / .45);--action-glow: rgb(96 165 250 / .35);--warn-bg: rgb(245 158 11 / .16);--chart-revenue: #3987e5;--chart-payroll: #d95926;--chart-materials: #199e70;--chart-expenses: #c98500;--chart-margin: #008300;--chart-cost-soft: #3f6fb0}.force-light{color-scheme:light;background:var(--bg);color:var(--text)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:.9375rem}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}:focus-visible{outline:.1875rem solid var(--action);outline-offset:.125rem}.app-header{display:flex;align-items:center;justify-content:space-between;background:var(--brand-navy);color:var(--on-navy);padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px))}.app-wordmark{display:flex;align-items:center;gap:.55rem}.app-wordmark img{height:1.6rem;display:block}.app-wordmark .app-logo{height:28px;width:auto;max-width:10rem;object-fit:contain;border-radius:6px;background:var(--logo-plate);padding:2px 4px}.app-wordmark strong{font-size:1.25rem;font-weight:800;letter-spacing:.01em;color:var(--on-navy)}.app-header-right{display:flex;gap:.5rem;align-items:center}.app-main{padding:1rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px));max-width:87.5rem;margin:0 auto}.app-nav{display:flex;gap:.25rem;padding:.25rem 1rem 0;background:var(--brand-navy);overflow-x:auto}.app-nav a{color:var(--on-navy);text-decoration:none;padding:.4rem .7rem;border-radius:var(--radius-sm) var(--radius-sm) 0 0;opacity:.75;white-space:nowrap;border-bottom:3px solid transparent}.app-nav a.active{background:var(--bg);color:var(--text);opacity:1;border-bottom-color:var(--accent);font-weight:700}.btn{display:inline-block;border:1px solid transparent;border-radius:var(--radius-sm);padding:.5rem .9rem;font-weight:700;cursor:pointer;background:none;text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--action);color:var(--on-action)}.btn-primary:hover:not(:disabled){background:var(--action-hover)}.btn-ghost{border-color:var(--border);color:var(--text);background:var(--surface)}.btn-ghost:hover:not(:disabled){border-color:var(--text-muted)}.btn-danger{background:var(--danger);color:var(--on-danger)}.btn-money{background:var(--action-money);color:var(--brand-navy)}.btn-money:hover:not(:disabled){background:var(--money-hover)}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .55rem;background:var(--surface);color:var(--text)}.board-error,.form-error{color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:1rem}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal-head h3{margin:0;font-weight:800}.modal-close{border:none;background:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.login-hero{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:2.5rem auto 1.5rem;text-align:center}.login-hero img{height:72px}.login-hero h1{font-weight:800;font-size:2rem;letter-spacing:.01em}.login-tagline{color:var(--text-muted);font-weight:600}.login-footnote{margin:.25rem 0 0;font-size:.8rem;line-height:1.4;color:var(--text-muted);text-align:center}.login-sent-icon{width:52px;height:52px;margin:0 auto .25rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--action)}.login-sent-icon svg{width:26px;height:26px}.login-card{max-width:360px;margin:0 auto 3rem;display:grid;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.login-hero.login-hero--compact{gap:.25rem}.login-hero.login-hero--compact img{height:48px}.login-hero.login-hero--compact h1{font-size:1.5rem}.login-hero.login-hero--compact .login-tagline{display:none}.pub-card .login-hero.login-hero--compact{margin-bottom:.5rem}.login-pin{display:flex;flex-direction:column;gap:.875rem;min-width:0;text-align:center}.login-pin__title{margin:0;font-size:var(--ui-fs-headline);line-height:var(--ui-lh-headline);font-weight:600;color:var(--ui-text);overflow-wrap:anywhere}.login-pin .ui-keypad{width:100%;max-width:20rem;margin-inline:auto}.login-pin .login-footnote{margin:0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);color:var(--ui-text-2)}.setpin__main{box-sizing:border-box;min-width:0;max-width:30rem;margin-inline:auto;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 24px);display:flex;flex-direction:column;gap:16px}.setpin__sub{margin:0;min-width:0;font-size:var(--ui-fs-callout);line-height:var(--ui-lh-callout);color:var(--ui-text-2);overflow-wrap:anywhere}.setpin__pins{display:flex;flex-direction:column;gap:16px;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease,transform 80ms ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary:hover:not(:disabled){box-shadow:0 2px 8px var(--action-glow)}.btn-sm{padding:.32rem .65rem;font-size:.88rem}.btn-icon.is-portal{color:var(--portal-accent)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:inherit;padding:.3rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:background-color .13s ease}.btn-icon:hover:not(:disabled){background:var(--hover-subtle)}.btn-icon:disabled{opacity:.55;cursor:default}.btn-header{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--on-navy-border);background:transparent;color:var(--on-navy);padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color .13s ease,border-color .13s ease}.btn-header:hover{background:var(--on-navy-hover);border-color:var(--on-navy-border-strong)}.side-prefs .btn-header,.shell-topbar .btn-header,.access-lang .btn-header{color:var(--text);border-color:var(--border);padding:.2rem .5rem;font-size:.78rem}.side-prefs .btn-header:hover,.shell-topbar .btn-header:hover,.access-lang .btn-header:hover{background:var(--bg);border-color:var(--text-muted)}.app-nav a{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;transition:opacity .13s ease,background-color .13s ease}.modal{padding:1.4rem}.modal-head{margin-bottom:1.1rem}.modal-head h3{font-size:1.1rem}.form-field{gap:.35rem;margin-bottom:.9rem}.form-field>label,label>.field-name{font-weight:600}.form-actions{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--border);gap:.6rem}.confirm-message{margin:.25rem 0 1rem;line-height:1.5}.draft-chip{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--tint-success);color:var(--success-text);font-size:.9rem}.access-pin{display:block;width:100%;font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.2rem;text-align:center;margin:.4rem 0 .9rem}.access-pin-error{margin-top:.6rem}.empty-state{display:grid;justify-items:center;gap:.5rem;padding:2.2rem 1rem;color:var(--text-muted);text-align:center}.empty-state svg{width:1.875rem;height:1.875rem;opacity:.45}.payout-card{transition:box-shadow .15s ease}.payout-card:hover{box-shadow:var(--shadow-pop)}.modal-overlay{background:var(--scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal{background:var(--glass-bg);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--shadow-modal)}@supports not (backdrop-filter: blur(1px)){.modal{background:var(--glass-input)}}.modal input,.modal select,.modal textarea{background:var(--glass-input)}fieldset.form-field{border:none;padding:0;min-width:0}fieldset.form-field legend{padding:0;margin-bottom:.35rem;font-weight:600}.check-list{display:grid;gap:.35rem;max-height:220px;overflow-y:auto;padding:2px}.check-list .check-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .6rem;background:var(--surface-soft);transition:border-color .12s ease,background-color .12s ease;cursor:pointer}.check-list .check-row:hover{border-color:var(--accent);background:var(--surface)}input[type=checkbox],input[type=radio]{accent-color:var(--action);width:1rem;height:1rem}html.text-large{font-size:112.5%}html.text-xlarge{font-size:125%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1rem 1.25rem}.card+.card{margin-top:.85rem}.card.error-card{border-left:3px solid var(--danger);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.card.error-card p{margin:0;display:flex;align-items:center;gap:.4rem;color:var(--danger-text);font-weight:600}.table-foot .is-warning{color:var(--danger-text);font-weight:700;display:inline-flex;align-items:center;gap:.35rem}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius)}.data-table th,.data-table td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--border)}.data-table th{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.data-table tbody tr:nth-child(2n):not(:hover){background:color-mix(in srgb,var(--brand-navy) 3%,var(--surface))}.data-table tbody tr{transition:background-color .1s ease}.data-table tbody tr:hover{background:var(--row-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.is-right,.data-table th.is-right{text-align:right;font-variant-numeric:tabular-nums}.data-scroll{overflow-x:auto}.cell-sub{display:block;font-size:.8rem;color:var(--text-muted)}.row-actions{display:flex;gap:.25rem;align-items:center}.id-link{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--action);font-weight:600;text-align:left}.id-link:hover{text-decoration:underline}.table-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.status-chip{font-size:.78rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;color:var(--chip-invoiced-text);background:var(--chip-slate-bg)}.data-table .status-chip{display:inline-block}.status-chip.status-scheduled{color:var(--chip-scheduled-text);background:var(--chip-scheduled-bg)}.status-chip.status-in_progress{color:var(--warn-text);background:var(--warn-bg)}.status-chip.status-completed{color:var(--chip-completed-text);background:var(--chip-completed-bg)}.status-chip.status-invoiced{color:var(--chip-invoiced-text);background:var(--chip-invoiced-bg)}.status-chip.status-cancelled{color:var(--danger-text);text-decoration:line-through;background:var(--chip-cancelled-bg)}.status-chip.status-requested{color:var(--chip-requested-text);background:var(--chip-requested-bg)}.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:.15rem .55rem;border-radius:999px}.chip-warn{background:var(--warn-bg);color:var(--warn-text)}.status-chip.is-active{color:var(--success-text);background:var(--chip-green-bg)}.status-chip.is-inactive{color:var(--chip-invoiced-text);background:var(--chip-slate-bg)}.status-chip.is-archived{color:var(--chip-archived-text);background:var(--chip-slate-bg-strong)}.status-chip.is-neutral{color:var(--chip-scheduled-text);background:var(--chip-scheduled-bg)}.status-chip.is-paid{color:var(--on-navy);background:var(--brand-navy)}.status-chip.is-due,.status-chip.is-late{display:inline-flex;align-items:center;gap:.3rem}.status-chip.is-due{color:var(--warn-text);background:var(--warn-bg)}.status-chip.is-late{color:var(--on-danger);background:var(--danger)}.card-title{display:flex;align-items:center;justify-content:space-between;font-size:1rem;font-weight:700;margin:0 0 .6rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.page-title{font-size:1.6rem;font-weight:800;margin:0}.page-sub{color:var(--text-muted);margin:.15rem 0 0;font-size:.9rem}.page-action{display:flex;gap:.5rem;align-items:center}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-bottom:1rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem}.stat-label{font-size:.8rem;font-weight:600;color:var(--text-muted);display:flex;align-items:flex-start;gap:.4rem;min-height:2.25rem}.stat-icon{color:var(--action)}.stat-value{font-size:1.5rem;font-weight:800}.stat-value.is-deduction{color:var(--danger-text)}.app-shell{display:flex;min-height:100%;position:relative;isolation:isolate}@media(max-width:900px){.app-shell{flex-direction:column}}.side-bar{width:13.75rem;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem .75rem;gap:1rem;position:sticky;top:0;height:100vh;overflow-y:auto}.side-brand{display:flex;align-items:center;gap:.55rem;padding:0 .5rem}.side-brand img{height:1.9rem}.side-brand strong{font-size:1.25rem;font-weight:800;display:block}.side-tagline{font-size:.62rem;color:var(--text-muted);display:block}.side-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.side-nav a{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border-radius:999px;color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem;transition:background-color .13s ease}.side-nav a:hover{background:var(--hover-action)}.side-nav a.active{background:var(--action);color:var(--on-action)}.nav-badge{margin-left:auto;min-width:1.1rem;height:1.1rem;padding:0 .3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--action);color:var(--on-action);font-size:.7rem;font-weight:700;line-height:1}.side-nav a.active .nav-badge{background:var(--badge-inverse);color:var(--action)}.side-nav-group{display:flex;flex-direction:column;gap:.25rem}.side-nav-heading{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.6rem .7rem .2rem}.side-nav-sep{border-top:1px solid var(--border);margin:.4rem 0}.side-company{display:flex;align-items:center;gap:.5rem;padding:.6rem .7rem}.side-company .app-logo{height:1.75rem;width:auto;max-width:8rem;object-fit:contain;border-radius:6px;flex-shrink:0;background:var(--logo-plate);padding:2px 4px}.side-avatar{width:1.75rem;height:1.75rem;border-radius:999px;background:var(--brand-navy);color:var(--on-navy);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0}.side-company-meta{display:flex;flex-direction:column;min-width:0;flex:1}.side-company-meta strong{font-size:.85rem}.side-company-meta span{font-size:.75rem;color:var(--text-muted)}.side-prefs{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .7rem .7rem}.side-prefs>span{font-size:.75rem;color:var(--text-muted);font-weight:600}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.shell-content{padding:.5rem 1.5rem 1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px));max-width:87.5rem;width:100%;margin:0 auto}.shell-topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top,0px));background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.shell-topbar .app-wordmark strong{color:var(--text)}.shell-drawer{position:fixed;inset:0;z-index:30;display:flex}.shell-drawer-backdrop{position:absolute;inset:0;background:var(--scrim)}.shell-drawer .side-bar{position:relative;height:100%;z-index:1;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.trial-banner{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:var(--tint-warn-orange);color:var(--warn-orange-text);font-size:13px;font-weight:600}.trial-banner--alert{background:var(--danger-tint);color:var(--danger-text)}.access-blocked{position:relative;min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;padding:32px;text-align:center;background:var(--bg);color:var(--text)}.access-lang{position:absolute;top:16px;right:16px}.access-blocked>img{width:56px}.access-blocked h1{margin:8px 0 0;font-size:24px}.access-blocked>p{margin:0;max-width:46ch;color:var(--text-muted)}.access-hint{font-size:13px}.access-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;justify-content:center}.ui-v2{font-family:var(--ui-font);color:var(--ui-text)}.ui-v2.ui-root{background:var(--ui-bg);min-height:100dvh}.ui-v2{--ui-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Inter, "Segoe UI", Roboto, sans-serif;--ui-bg: #f2f2f7;--ui-surface: #ffffff;--ui-surface-2: #f1f3f8;--ui-fill: rgba(118, 118, 128, .12);--ui-text: #0f172a;--ui-text-2: #475569;--ui-text-3: #8a94a6;--ui-sep: rgba(60, 60, 67, .12);--ui-tint: #2563eb;--ui-tint-strong: #1d4ed8;--ui-tint-soft: rgba(37, 99, 235, .12);--ui-on-tint: #ffffff;--ui-ok: #15803d;--ui-ok-soft: rgba(21, 128, 61, .12);--ui-warn: #b45309;--ui-warn-soft: rgba(245, 158, 11, .16);--ui-danger: #dc2626;--ui-danger-soft: rgba(220, 38, 38, .1);--ui-danger-text: #b91c1c;--ui-info: #0e7490;--ui-info-soft: rgba(6, 182, 212, .14);--ui-money: #b45309;--ui-money-soft: rgba(245, 158, 11, .14);--ui-ok-text: #166534;--ui-info-text: #155e75;--ui-warn-text: #92400e;--ui-money-text: #92400e;--ui-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);--ui-shadow-float: 0 12px 40px rgba(15, 23, 42, .18);--ui-blur-bg: rgba(255, 255, 255, .82);--ui-scrim: rgb(15 23 42 / .45);--ui-r-cell: 16px;--ui-r-control: 12px;--ui-r-btn: 14px;--ui-r-chip: 999px;--ui-r-sheet: 22px;--ui-fs-large-title: 2.125rem;--ui-lh-large-title: 2.5625rem;--ui-fs-title-1: 1.75rem;--ui-lh-title-1: 2.125rem;--ui-fs-title-2: 1.375rem;--ui-lh-title-2: 1.75rem;--ui-fs-title-3: 1.25rem;--ui-lh-title-3: 1.5625rem;--ui-fs-headline: 1.0625rem;--ui-lh-headline: 1.375rem;--ui-fs-body: 1.0625rem;--ui-lh-body: 1.375rem;--ui-fs-callout: 1rem;--ui-lh-callout: 1.3125rem;--ui-fs-subhead: .9375rem;--ui-lh-subhead: 1.25rem;--ui-fs-footnote: .8125rem;--ui-lh-footnote: 1.125rem;--ui-fs-caption: .75rem;--ui-lh-caption: 1rem;--ui-sp-1: 4px;--ui-sp-2: 8px;--ui-sp-3: 12px;--ui-sp-4: 16px;--ui-sp-5: 20px;--ui-sp-6: 24px;--ui-sp-7: 28px;--ui-sp-8: 32px;--ui-tabbar-h: 3.0625rem}html.theme-dark .ui-v2{--ui-bg: #0b1220;--ui-surface: #141d30;--ui-surface-2: #1b2639;--ui-fill: rgba(148, 163, 184, .14);--ui-text: #f1f5f9;--ui-text-2: #a7b3c6;--ui-text-3: #6f7d94;--ui-sep: rgba(148, 163, 184, .14);--ui-tint: #60a5fa;--ui-tint-strong: #93c5fd;--ui-tint-soft: rgba(96, 165, 250, .16);--ui-on-tint: #0b1220;--ui-ok: #4ade80;--ui-ok-soft: rgba(74, 222, 128, .14);--ui-warn: #fbbf24;--ui-warn-soft: rgba(251, 191, 36, .14);--ui-danger: #f87171;--ui-danger-soft: rgba(248, 113, 113, .14);--ui-danger-text: #f87171;--ui-info: #22d3ee;--ui-info-soft: rgba(34, 211, 238, .14);--ui-money: #fbbf24;--ui-money-soft: rgba(251, 191, 36, .14);--ui-ok-text: #4ade80;--ui-info-text: #22d3ee;--ui-warn-text: #fbbf24;--ui-money-text: #fbbf24;--ui-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .35);--ui-shadow-float: 0 12px 40px rgba(0, 0, 0, .5);--ui-blur-bg: rgba(20, 29, 48, .86);--ui-scrim: rgb(0 0 0 / .6)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;max-width:100%;border:0;font-family:inherit;font-weight:600;letter-spacing:-.01em;text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease,background-color .15s ease}.ui-btn--lg{min-height:3.125rem;padding:.5rem 1.25rem;border-radius:var(--ui-r-btn);font-size:var(--ui-fs-body);line-height:var(--ui-lh-body)}.ui-btn--md{min-height:2.25rem;padding:.375rem .875rem;border-radius:.625rem;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead)}.ui-btn--sm{min-height:2rem;padding:.25rem .75rem;border-radius:.5625rem;font-size:.875rem;line-height:1.25rem}.ui-btn--xs{min-height:1.875rem;padding:.25rem .75rem;border-radius:.5rem;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote)}.ui-btn--primary{background:var(--ui-tint);color:var(--ui-on-tint)}.ui-btn--secondary{background:var(--ui-tint-soft);color:var(--ui-tint-strong)}.ui-btn--ghost{background:transparent;color:var(--ui-tint-strong)}.ui-btn--neutral{background:var(--ui-fill);color:var(--ui-text)}.ui-btn--danger{background:var(--ui-danger-soft);color:var(--ui-danger-text)}.ui-btn--success{background:var(--ui-ok);color:var(--ui-on-tint)}.ui-btn--block{width:100%}.ui-btn svg{flex:none;width:1.25rem;height:1.25rem}.ui-btn--md svg,.ui-btn--sm svg{width:1rem;height:1rem}.ui-btn--xs svg{width:.875rem;height:.875rem}.ui-btn:focus-visible{outline:.1875rem solid var(--ui-tint);outline-offset:.125rem}.ui-btn:active:not(:disabled,[aria-disabled=true]){opacity:.72}@media(hover:hover){.ui-btn--primary:hover:not(:disabled,[aria-disabled=true]){background:var(--ui-tint-strong)}.ui-btn--secondary:hover:not(:disabled,[aria-disabled=true]),.ui-btn--neutral:hover:not(:disabled,[aria-disabled=true]),.ui-btn--danger:hover:not(:disabled,[aria-disabled=true]),.ui-btn--success:hover:not(:disabled,[aria-disabled=true]){filter:brightness(.95)}.ui-btn--ghost:hover:not(:disabled,[aria-disabled=true]){background:var(--ui-tint-soft)}}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}@media(pointer:coarse){.ui-btn--md,.ui-btn--sm,.ui-btn--xs{position:relative}.ui-btn--md:after,.ui-btn--sm:after,.ui-btn--xs:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,2.75rem);height:2.75rem;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.ui-btn{transition:none}}.ui-badge{display:inline-flex;align-items:center;gap:.3125rem;padding:.1875rem .5625rem;border-radius:var(--ui-r-chip);background:var(--ui-fill);color:var(--ui-text-2);font-size:var(--ui-fs-caption);line-height:var(--ui-lh-caption);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ui-badge:before{content:"";flex:none;width:.375rem;height:.375rem;border-radius:50%;background:currentColor;opacity:.9}.ui-badge--scheduled{background:var(--ui-tint-soft);color:var(--ui-tint-strong)}.ui-badge--in_progress{background:var(--ui-info-soft);color:var(--ui-info-text)}.ui-badge--completed{background:var(--ui-ok-soft);color:var(--ui-ok-text)}.ui-badge--invoiced{background:var(--ui-money-soft);color:var(--ui-money-text)}.ui-badge--cancelled{background:var(--ui-fill);color:var(--ui-text-2)}.ui-badge--cancelled:before{background:transparent;box-shadow:inset 0 0 0 .09375rem currentColor}.ui-badge--overdue{background:var(--ui-danger-soft);color:var(--ui-danger-text)}.ui-badge--pending{background:var(--ui-warn-soft);color:var(--ui-warn-text)}.ui-tag{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:.375rem;background:var(--ui-fill);color:var(--ui-text-2);font-size:var(--ui-fs-caption);line-height:var(--ui-lh-caption);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ui-tag--tint{background:var(--ui-tint-soft);color:var(--ui-tint-strong)}.ui-tag--warn{background:var(--ui-warn-soft);color:var(--ui-warn-text)}.ui-avatar{display:inline-grid;place-items:center;flex:none;overflow:hidden;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--ui-tint-soft);color:var(--ui-tint);font-size:.875rem;line-height:1;font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.ui-avatar--sm{width:1.75rem;height:1.75rem;font-size:.6875rem}.ui-avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--ui-fs-title-2)}.ui-avatar--xl{width:4.5rem;height:4.5rem;font-size:var(--ui-fs-title-1)}.ui-avatar--square{border-radius:28%}.ui-avatar--brand{background:linear-gradient(135deg,var(--brand-blue),var(--brand-cyan) 55%,var(--brand-teal));color:var(--ui-on-tint)}.ui-avatar--neutral{background:var(--ui-fill);color:var(--ui-text-2)}.ui-avatar--dashed{background:transparent;color:var(--ui-text-2);border:.09375rem dashed var(--ui-text-3)}.ui-avatar--img{background:var(--ui-fill);border:0}.ui-avatar__img{display:block;width:100%;height:100%;object-fit:cover}.ui-ellipsis{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-clamp-2,.ui-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.ui-num{font-variant-numeric:tabular-nums}.ui-groupwrap{display:flex;flex-direction:column;gap:.5rem;min-width:0}.ui-section-title{margin:.375rem 1rem 0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-2);overflow-wrap:anywhere}.ui-section-footer{margin:0 1rem;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);color:var(--ui-text-2);overflow-wrap:anywhere}.ui-group{min-width:0;overflow:hidden;border-radius:var(--ui-r-cell);background:var(--ui-surface);box-shadow:var(--ui-shadow)}.ui-cellitem{position:relative;min-width:0}.ui-cellitem+.ui-cellitem:before{content:"";position:absolute;top:0;left:1rem;right:0;height:1px;background:var(--ui-sep)}.ui-cellitem--lead+.ui-cellitem--lead:before{left:3.5625rem}.ui-cell{display:flex;align-items:center;gap:.75rem;box-sizing:border-box;width:100%;min-width:0;min-height:3.25rem;margin:0;padding:.6875rem 1rem;border:0;background:none;font:inherit;color:var(--ui-text);text-align:left;text-decoration:none;-webkit-tap-highlight-color:transparent}.ui-cell--action{cursor:pointer}.ui-cell--action:active{background:var(--ui-fill)}@media(hover:hover){.ui-cell--action:hover{background:var(--ui-fill)}}.ui-cell:focus-visible{outline:.1875rem solid var(--ui-tint);outline-offset:-.1875rem}.ui-cell--danger{color:var(--ui-danger)}.ui-cell--center{justify-content:center;text-align:center}.ui-cell--center .ui-cell__main{flex:0 1 auto;align-items:center}.ui-cell--action.ui-cell--center:not(.ui-cell--danger){color:var(--ui-tint)}.ui-cell__lead{display:flex;align-items:center;justify-content:center;flex:none}.ui-cell__lead--icon{width:1.875rem;height:1.875rem;border-radius:.5rem;background:var(--ui-tint-soft);color:var(--ui-tint)}.ui-cell__lead--icon svg{width:1.125rem;height:1.125rem}.ui-cell__main{flex:1 1 6rem;min-width:0;display:flex;flex-direction:column;gap:.125rem}.ui-cell__title{min-width:0;font-size:var(--ui-fs-body);line-height:var(--ui-lh-body);font-weight:500}.ui-cell__sub{min-width:0;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);color:var(--ui-text-2)}.ui-cell__trail{flex:0 4 auto;min-width:min-content;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem .5rem;font-size:var(--ui-fs-body);line-height:var(--ui-lh-body);color:var(--ui-text-2);text-align:right;overflow-wrap:anywhere}.ui-cell__trail>svg{flex:none;color:var(--ui-text-3)}.ui-card{box-sizing:border-box;min-width:0;display:flex;flex-direction:column;gap:.625rem;padding:1rem;border-radius:var(--ui-r-cell);background:var(--ui-surface);box-shadow:var(--ui-shadow);overflow-wrap:anywhere}.ui-card--tint{background:var(--ui-tint);color:var(--ui-on-tint)}.ui-card--soft{background:var(--ui-tint-soft);box-shadow:none}.ui-card--flat{background:var(--ui-surface-2);box-shadow:none}.ui-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.ui-card__title{margin:0;min-width:0;font-size:var(--ui-fs-headline);line-height:var(--ui-lh-headline);font-weight:600}.ui-stat-strip{display:flex;margin:0;min-width:0;overflow:hidden;border-radius:var(--ui-r-cell);background:var(--ui-surface);box-shadow:var(--ui-shadow)}.ui-stat{position:relative;flex:1 1 0;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;gap:.125rem;padding:.75rem .875rem}.ui-stat+.ui-stat:before{content:"";position:absolute;left:0;top:.75rem;bottom:.75rem;width:1px;background:var(--ui-sep)}.ui-stat__value{order:-1;margin:0;min-width:0;font-size:var(--ui-fs-title-2);line-height:var(--ui-lh-title-2);font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.ui-stat__label{margin:0;min-width:0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);color:var(--ui-text-2);overflow-wrap:anywhere}.ui-stat--muted .ui-stat__value{color:var(--ui-text-2)}.ui-empty{min-width:0;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.25rem 1.5rem;text-align:center}.ui-empty__icon{display:grid;place-items:center;flex:none;width:4rem;height:4rem;margin-bottom:.375rem;border-radius:1.25rem;background:var(--ui-tint-soft);color:var(--ui-tint)}.ui-empty__icon svg{width:1.875rem;height:1.875rem}.ui-empty__title{margin:0;max-width:100%;min-width:0;font-size:var(--ui-fs-headline);line-height:var(--ui-lh-headline);font-weight:600;color:var(--ui-text);overflow-wrap:anywhere}.ui-empty__text{margin:0;max-width:100%;min-width:0;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);color:var(--ui-text-2);overflow-wrap:anywhere}.ui-empty__action{margin-top:.5rem;max-width:100%;min-width:0}.ui-banner{box-sizing:border-box;display:flex;align-items:center;gap:.625rem;min-width:0;padding:.75rem .875rem;border-radius:var(--ui-r-control);background:var(--ui-info-soft);color:var(--ui-text);font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead)}.ui-banner svg{flex:none;width:1.25rem;height:1.25rem;color:var(--ui-info)}.ui-banner__text{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.ui-banner--success{background:var(--ui-ok-soft)}.ui-banner--success svg{color:var(--ui-ok)}.ui-banner--warn{background:var(--ui-warn-soft)}.ui-banner--warn svg{color:var(--ui-warn)}.ui-banner--danger{background:var(--ui-danger-soft)}.ui-banner--danger svg{color:var(--ui-danger)}.ui-banner__text>*+*{margin-top:.25rem}.ui-banner__text>.ui-btn{margin-top:.5rem}.ui-toast{position:fixed;left:1rem;right:1rem;bottom:calc(var(--ui-tabbar-h) + 12px);z-index:60;box-sizing:border-box;max-width:30rem;margin:0 auto;margin-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;border-radius:.875rem;background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow-float);font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);font-weight:500;animation:ui-toast-in .2s ease-out}.ui-toast__icon{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:.625rem;background:var(--ui-tint-soft);color:var(--ui-tint)}.ui-toast__icon svg{width:1.125rem;height:1.125rem}.ui-toast__text{flex:1 1 0;min-width:0;overflow-wrap:anywhere}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.ui-toast{animation:none}}.ui-largetitle{margin:0;font-size:var(--ui-fs-large-title);line-height:var(--ui-lh-large-title);font-weight:700;letter-spacing:-.012em}.ui-largetitle__btn{display:block;box-sizing:border-box;max-width:100%;margin:0;padding:0;border:0;background:none;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-largetitle__btn:active{opacity:.6}.ui-largetitle__btn:focus-visible{outline:.125rem solid var(--ui-tint);outline-offset:-.125rem;border-radius:.5rem}.ui-pagehead{box-sizing:border-box;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;row-gap:.5rem;padding:0}.ui-pagehead__main{flex:1 1 auto;min-width:0}.ui-pagehead__meta{margin:.125rem 0 0;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);color:var(--ui-text-2);contain:inline-size}.ui-pagehead__trailing{flex:none;display:flex;align-items:center;gap:.5rem}.ui-navbar{box-sizing:border-box;min-width:0;min-height:2.75rem;padding:0 1rem;display:grid;grid-template-columns:minmax(4.5rem,1fr) auto minmax(min-content,1fr);align-items:center;column-gap:.5rem}.ui-navbar__back{grid-column:1;justify-self:start;min-width:0;max-width:100%;min-height:2.75rem;display:inline-flex;align-items:center;gap:.125rem;border-radius:.5rem;color:var(--ui-tint);text-decoration:none;font-size:var(--ui-fs-body);line-height:var(--ui-lh-body);font-weight:500;-webkit-tap-highlight-color:transparent}.ui-navbar__back svg{flex:none;width:1.5rem;height:1.5rem}.ui-navbar__back:active{opacity:.6}.ui-navbar__back:focus-visible{outline:.1875rem solid var(--ui-tint);outline-offset:.0625rem}.ui-navbar__title{grid-column:2;min-width:0;text-align:center;font-size:var(--ui-fs-headline);line-height:var(--ui-lh-headline);font-weight:600;letter-spacing:-.01em}.ui-navbar__trailing{grid-column:3;justify-self:end;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.ui-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;box-sizing:border-box;height:calc(var(--ui-tabbar-h) + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-around;align-items:flex-start;padding:.25rem .5rem env(safe-area-inset-bottom,0px);padding-inline:max(.5rem,env(safe-area-inset-left,0px)) max(.5rem,env(safe-area-inset-right,0px));background:var(--ui-blur-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--ui-sep)}.ui-tab{flex:0 1 4.5rem;min-width:0;box-sizing:border-box;min-height:2.75rem;padding:.125rem .125rem 0;display:flex;flex-direction:column;align-items:center;gap:.1875rem;border-radius:.5rem;color:var(--ui-text-2);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.ui-tab svg{flex:none;width:1.625rem;height:1.625rem}.ui-tab__label{min-width:0;max-width:100%;font-size:.625rem;line-height:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-tab.is-active{color:var(--ui-tint)}.ui-tab:active{opacity:.6}.ui-tab:focus-visible{outline:.125rem solid var(--ui-tint);outline-offset:-.125rem}@media(prefers-reduced-motion:reduce){.ui-tab{transition:none}}.ui-segmented{box-sizing:border-box;min-width:0;display:flex;gap:.125rem;padding:.125rem;border-radius:.625rem;background:var(--ui-fill)}.ui-segmented__item{position:relative;flex:1 1 0;min-width:0;box-sizing:border-box;margin:0;padding:.375rem .5rem;border:0;border-radius:.5rem;background:transparent;color:var(--ui-text);font-family:inherit;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:600;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease}.ui-segmented__label{display:block}.ui-segmented__item.is-active{background:var(--ui-surface);box-shadow:var(--ui-shadow),0 0 0 1px var(--ui-sep)}html.theme-dark .ui-segmented__item.is-active{background:var(--ui-surface-2)}.ui-segmented__item:focus-visible{z-index:1;outline:.1875rem solid var(--ui-tint);outline-offset:0}.ui-segmented--wrap{flex-wrap:wrap}.ui-segmented--wrap .ui-segmented__item{flex:1 1 auto}@media(pointer:coarse){.ui-segmented__item:after{content:"";position:absolute;left:0;right:0;top:50%;height:2.75rem;transform:translateY(-50%)}.ui-segmented--wrap .ui-segmented__item{min-height:2.75rem;display:flex;align-items:center;justify-content:center}.ui-segmented--wrap .ui-segmented__item:after{content:none}}@media(prefers-reduced-motion:reduce){.ui-segmented__item{transition:none}}.ui-title2{margin:0;font-size:var(--ui-fs-title-2);line-height:var(--ui-lh-title-2);font-weight:700;letter-spacing:-.01em}.ui-subhead{margin:0;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);font-weight:600}.ui-footnote{margin:0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote)}.ui-muted{color:var(--ui-text-2)}.ui-faint{color:var(--ui-text-3)}.ui-field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.ui-label{min-width:0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:600;color:var(--ui-text-2);overflow-wrap:anywhere}.ui-field__hint{min-width:0;margin:0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);color:var(--ui-text-2);overflow-wrap:anywhere}.ui-field__error{min-width:0;margin:0;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:500;color:var(--ui-danger-text);overflow-wrap:anywhere}.ui-input{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:3.125rem;margin:0;padding:.625rem .875rem;border:1px solid var(--ui-sep);border-radius:var(--ui-r-control);background:var(--ui-surface);color:var(--ui-text);font-family:inherit;font-size:var(--ui-fs-body);line-height:var(--ui-lh-body);-webkit-appearance:none;appearance:none}.ui-input::placeholder{color:var(--ui-text-3);opacity:1}.ui-input:disabled{opacity:.5;cursor:not-allowed}.ui-input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--ui-danger)}.ui-input:focus-within,.ui-select:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-tint);outline:2px solid transparent}.ui-sheet-root{position:fixed;inset:0;z-index:80}.ui-sheet__scrim{position:fixed;inset:0;background:var(--ui-scrim);animation:ui-sheet-fade .2s ease-out}.ui-sheet{position:fixed;left:0;right:0;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;max-height:90vh;max-height:90dvh;overflow:auto;padding:.5rem 1rem 1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));padding-inline:max(1rem,env(safe-area-inset-left,0px)) max(1rem,env(safe-area-inset-right,0px));border-radius:var(--ui-r-sheet) var(--ui-r-sheet) 0 0;background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow-float);animation:ui-sheet-in .28s cubic-bezier(.2,.8,.2,1)}.ui-sheet:focus{outline:0}.ui-sheet__grabber{flex:none;width:2.25rem;height:.3125rem;margin:0 auto .25rem;border-radius:.1875rem;background:var(--ui-text-3);opacity:.45}.ui-sheet__head{flex:none;display:flex;align-items:center;gap:.5rem}.ui-sheet__title{flex:1 1 auto;min-width:0;margin:0;padding:.25rem 0;font-size:var(--ui-fs-headline);line-height:var(--ui-lh-headline);font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.ui-sheet__close{flex:none;display:grid;place-items:center;min-width:2.75rem;min-height:2.75rem;margin:0 -.5rem 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ui-text-2);font-size:1.25rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-sheet__close:active{background:var(--ui-fill)}@media(hover:hover){.ui-sheet__close:hover{background:var(--ui-fill)}}.ui-sheet__body{flex:0 1 auto;min-height:0;margin:0 -.3125rem;padding:.3125rem;overflow:auto;overscroll-behavior:contain}.ui-sheet__footer{flex:none;display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem}@keyframes ui-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes ui-sheet-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes ui-sheet-fade{0%{opacity:0}to{opacity:1}}@media(min-width:768px){.ui-sheet-root{display:flex;align-items:center;justify-content:center}.ui-sheet__grabber{display:none}.ui-sheet{position:relative;left:auto;right:auto;bottom:auto;width:100%;max-width:480px;margin:auto;padding-bottom:1.25rem;border-radius:var(--ui-r-cell);animation-name:ui-sheet-pop}}@media(prefers-reduced-motion:reduce){.ui-sheet,.ui-sheet__scrim{animation:none}}.ui-select{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-select__value{flex:1 1 auto;min-width:0}.ui-select__value.is-placeholder{color:var(--ui-text-3)}.ui-select>svg{flex:none;width:1.125rem;height:1.125rem;color:var(--ui-text-3)}.ui-select__list{display:flex;flex-direction:column;gap:.125rem;min-width:0}.ui-select__list:focus-visible{outline:2px solid transparent}.ui-select__option{display:flex;align-items:center;gap:.75rem;min-width:0;min-height:2.75rem;padding:.5rem .875rem;border-radius:var(--ui-r-control);color:var(--ui-text);font-size:var(--ui-fs-body);line-height:var(--ui-lh-body);cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-select__option.is-active{background:var(--ui-fill)}.ui-select__option[aria-selected=true]{font-weight:600}.ui-select__list:focus-visible .ui-select__option.is-active{box-shadow:inset 0 0 0 2px var(--ui-tint)}.ui-select__label{flex:1 1 auto;min-width:0}.ui-select__option svg{flex:none;width:1.25rem;height:1.25rem;color:var(--ui-tint)}.ui-select__group{padding:.75rem .875rem .25rem;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-2);overflow-wrap:anywhere}.ui-pin{position:relative;display:flex;justify-content:center;gap:.625rem;min-width:0}.ui-pin__input{position:absolute;inset:0;z-index:1;box-sizing:border-box;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;font-size:1rem;cursor:pointer;caret-color:transparent}.ui-pin__box{flex:1 1 0;min-width:0;max-width:2.75rem;min-height:3.375rem;display:grid;place-items:center;box-sizing:border-box;border:1px solid var(--ui-sep);border-radius:var(--ui-r-control);background:var(--ui-surface);color:var(--ui-text);font-size:1.5rem;line-height:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}.ui-pin__box.is-active{box-shadow:inset 0 0 0 2px var(--ui-tint)}.ui-pin__dot{display:block;width:.625rem;height:.625rem;border-radius:999px;background:var(--ui-text)}.ui-pin:focus-within .ui-pin__box.is-active{box-shadow:inset 0 0 0 2px var(--ui-tint),0 0 0 3px var(--ui-tint-soft)}.ui-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem;min-width:0}.ui-keypad__key{box-sizing:border-box;display:grid;place-items:center;min-width:0;min-height:3.5rem;margin:0;padding:0;border:0;border-radius:var(--ui-r-btn);background:var(--ui-surface);box-shadow:var(--ui-shadow);color:var(--ui-text);font-family:inherit;font-size:var(--ui-fs-title-2);line-height:var(--ui-lh-title-2);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-keypad__key:active:not(:disabled){background:var(--ui-fill)}.ui-keypad__key:disabled{opacity:.4;cursor:not-allowed}.ui-keypad__key--plain{background:transparent;box-shadow:none;color:var(--ui-text-2)}.ui-keypad__key svg{width:1.5rem;height:1.5rem}.ui-keypad__spacer{min-height:3.5rem}:where(.ui-v2) :focus-visible{outline:2px solid var(--ui-tint);outline-offset:2px}.ui-daybox{box-sizing:border-box;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;min-width:3.25rem;padding:.375rem .25rem;border-radius:var(--ui-r-control);background:var(--ui-tint-soft);color:var(--ui-tint-strong);line-height:1;text-align:center}.ui-daybox__wd,.ui-daybox__mo{max-width:100%;font-size:.6875rem;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.ui-daybox__mo{font-weight:600}.ui-daybox__day{margin:.125rem 0;font-size:var(--ui-fs-title-2);line-height:1;font-weight:700;font-variant-numeric:tabular-nums}.ui-daybox.is-today{background:var(--ui-tint);color:var(--ui-on-tint)}.ui-timeline{display:flex;flex-direction:column;gap:.625rem;min-width:0;margin:0;padding:0;list-style:none}.ui-slot{display:flex;align-items:stretch;gap:.75rem;min-width:0}.ui-slot__time{flex:none;min-width:3rem;padding-top:.6875rem;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ui-slot__start{display:block;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);font-weight:600;color:var(--ui-text)}.ui-slot__end{display:block;margin-top:.125rem;font-size:var(--ui-fs-caption);line-height:var(--ui-lh-caption);font-weight:500;color:var(--ui-text-2)}.ui-slot--next .ui-slot__start{color:var(--ui-tint)}.ui-slot__rail{flex:none;width:.1875rem;margin:.625rem 0;border-radius:.125rem;background:var(--ui-fill)}.ui-slot--done .ui-slot__rail{background:var(--ui-ok)}.ui-slot--next .ui-slot__rail{background:var(--ui-tint)}.ui-slot--progress .ui-slot__rail{background:var(--ui-info)}.ui-slot__body{flex:1 1 0;min-width:0}.ui-progress{box-sizing:border-box;min-width:0;height:.375rem;border-radius:.1875rem;background:var(--ui-fill);overflow:hidden}.ui-progress__fill{display:block;height:100%;border-radius:inherit;background:var(--ui-tint);transition:width .2s ease-out}@media(prefers-reduced-motion:reduce){.ui-progress__fill{transition:none}}.ui-timer{display:block;max-width:100%;font-size:2.75rem;line-height:1;font-weight:700;letter-spacing:-.011em;font-variant-numeric:tabular-nums;white-space:nowrap}.ui-ptr{position:relative;min-width:0}.ui-ptr__indicator{position:absolute;top:0;left:0;right:0;box-sizing:border-box;min-width:0;height:0;padding:0 1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--ui-text-2);font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:500;pointer-events:none;transition:height .2s ease-out}.ui-ptr__content{min-width:0;transition:transform .2s ease-out}.ui-ptr--pulling .ui-ptr__content,.ui-ptr--pulling .ui-ptr__indicator{transition:none}.ui-ptr__text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-ptr--ready .ui-ptr__text{color:var(--ui-tint)}.ui-ptr__spinner{flex:none;box-sizing:border-box;width:1rem;height:1rem;border-radius:50%;border:2px solid var(--ui-fill);border-top-color:var(--ui-tint);animation:ui-ptr-spin .8s linear infinite}@keyframes ui-ptr-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-ptr__content,.ui-ptr__indicator{transition:none}.ui-ptr__spinner{animation:none}}.ui-actionbar{position:fixed;left:0;right:0;bottom:calc(var(--ui-tabbar-h) + env(safe-area-inset-bottom,0px));z-index:40;box-sizing:border-box;padding:12px 16px;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px));background:var(--ui-blur-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--ui-sep)}.ui-actionbar__inner{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;min-width:0;max-width:40rem;margin:0 auto}.ui-actionbar__note{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;color:var(--ui-text-2)}.ui-actionbar__reason{flex:1 1 auto;display:flex;align-items:flex-start;gap:8px;min-width:0}.ui-actionbar__note svg{flex:none;width:1rem;height:1rem;margin-top:1px;color:var(--ui-warn-text)}.ui-actionbar__note--busy svg{color:var(--ui-info-text)}.ui-actionbar__note p{flex:0 1 auto;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.ui-actionbar__note .ui-btn{flex:none;margin-left:auto}.ui-btnrow{display:flex;flex-wrap:wrap;gap:.625rem;min-width:0}.ui-btnrow>*{flex:1 1 auto;width:auto;min-width:0}.ui-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.ui-photo{box-sizing:border-box;aspect-ratio:1 / 1;min-width:0;overflow:hidden;display:grid;place-items:center;border-radius:var(--ui-r-control);background:var(--ui-fill);color:var(--ui-text-2)}.ui-photo svg{width:1.5rem;height:1.5rem}.ui-photo img{display:block;width:100%;height:100%;object-fit:cover}.ui-photo--pending{background:var(--ui-warn-soft);color:var(--ui-warn)}.ui-photo--add{margin:0;padding:.5rem;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:var(--ui-tint-soft);color:var(--ui-tint-strong);font-family:inherit;font-size:var(--ui-fs-footnote);line-height:var(--ui-lh-footnote);font-weight:600;text-align:center;overflow-wrap:anywhere;cursor:pointer;-webkit-tap-highlight-color:transparent}.ui-photo--add:active{opacity:.72}.ui-photo__label{min-width:0}.legal{max-width:42rem;margin:0 auto;display:grid;gap:1.1rem;line-height:1.6}.legal-head h1{font-size:1.5rem;font-weight:800;margin:0 0 .35rem;letter-spacing:-.01em;text-wrap:balance}.legal-version{margin:0;color:var(--text-muted);font-size:.88rem}.legal-prevails{margin:.25rem 0 0;color:var(--text-muted);font-size:.82rem}.legal-toc{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.8rem 1rem;font-size:.9rem}.legal-toc p{margin:0 0 .4rem;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.legal-toc ol{margin:0;padding-left:1.2rem;columns:2;column-gap:1.5rem}.legal-toc li{break-inside:avoid;margin:.15rem 0}.legal-body h2{font-size:1.1rem;font-weight:800;margin:1.4rem 0 .5rem;scroll-margin-top:1rem}.legal-body h3{font-size:.98rem;font-weight:700;margin:1rem 0 .4rem}.legal-body p{margin:0 0 .75rem}.legal-body ul{margin:0 0 .75rem;padding-left:1.25rem}.legal-body li{margin:.3rem 0}.legal a{color:var(--action);text-decoration:underline;text-underline-offset:2px}@media(max-width:560px){.legal-toc ol{columns:1}}.pricing-doc{max-height:65vh;overflow-y:auto;padding-right:.25rem}.pricing-doc[hidden]{display:none}.pricing-doc-nav{margin-bottom:.75rem}.pinv-doc{max-width:816px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.pinv-page{box-sizing:border-box;min-height:1056px;padding:56px 64px 48px;display:flex;flex-direction:column;gap:24px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.pinv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.pinv-brand{display:grid;gap:10px}.pinv-brand-row{display:flex;align-items:center;gap:10px}.pinv-mark{width:40px;height:40px}.pinv-brand-text{display:grid}.pinv-brand-text strong{font-size:26px;font-weight:800;line-height:1.1}.pinv-brand-text span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pinv-from{font-size:12.5px;line-height:1.5;color:var(--text-muted);overflow-wrap:anywhere}.pinv-title{display:grid;justify-items:end;gap:6px;text-align:right}.pinv-word{font-size:30px;font-weight:800;letter-spacing:.02em}.pinv-number{font-size:14px;font-weight:700;color:var(--text-muted)}.pinv-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.pinv-meta>div{display:grid;gap:4px;align-content:start;font-size:13px;overflow-wrap:anywhere}.pinv-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pinv-hint{font-size:12px;color:var(--text-muted)}.pinv-lines,.pinv-orders{width:100%;border-collapse:collapse}.pinv-lines th,.pinv-orders th{padding:0 12px 10px;border-bottom:2px solid var(--text);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:left}.pinv-lines td{padding:16px 12px;border-bottom:1px solid var(--border);vertical-align:top;font-size:14px}.pinv-orders td{padding:7px 10px;border-bottom:1px solid var(--border);font-size:12.5px;overflow-wrap:anywhere}.pinv-lines .is-right,.pinv-orders .is-right{text-align:right;white-space:nowrap}.pinv-sub{display:block;margin-top:3px;font-size:12.5px;color:var(--text-muted)}.pinv-orders tr.is-free td{color:var(--text-muted)}.pinv-orders tr.is-free .is-right{white-space:normal}.pinv-totals{display:grid;gap:8px;width:100%;max-width:320px;margin-left:auto;font-size:13.5px}.pinv-totals>div{display:flex;justify-content:space-between;gap:12px}.pinv-totals>div>span:last-child{white-space:nowrap}.pinv-total{padding-top:10px;border-top:2px solid var(--text);font-size:18px;font-weight:800}.pinv-totals .pinv-hint{text-align:right}.pinv-boxes{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.pinv-pay{display:grid;gap:8px;padding:18px 20px;border-radius:12px;background:var(--brand-navy);color:var(--on-navy)}.pinv-pay .pinv-label{color:var(--brand-cyan)}.pinv-pay p{margin:0;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}.pinv-manual{white-space:pre-wrap;overflow-wrap:anywhere}.pinv-ref{color:var(--on-navy-soft)}.pinv-late{display:grid;gap:8px;padding:18px 20px;border:1px solid var(--border);border-radius:12px}.pinv-late p{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted)}.pinv-foot{margin-top:auto;display:flex;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-muted)}.pinv-annex-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-muted);overflow-wrap:anywhere}.pinv-annex-title{margin:0;font-size:22px;font-weight:800}.pinv-annex-intro{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}.pinv-annex-sum{display:flex;justify-content:flex-end;gap:24px;margin:0;font-size:14px;font-weight:800}.pinv-annex-sum strong{white-space:nowrap}@media screen and (max-width:900px){.pinv-page{min-height:0;padding:20px 16px}.pinv-lines th,.pinv-lines td{padding-left:5px;padding-right:5px}.pinv-orders th,.pinv-orders td{padding-left:4px;padding-right:4px}.pinv-meta,.pinv-boxes{grid-template-columns:minmax(0,1fr)}.pinv-head{flex-direction:column}.pinv-title{justify-items:start;text-align:left}}@media print{.pinv-doc{gap:0}.pinv-page{min-height:0;border:none;box-shadow:none;border-radius:0;padding:0;gap:16px}.inv-doc.pinv-doc{padding:0}.pinv-lines td{padding-top:12px;padding-bottom:12px}.pinv-annex{break-before:page}.pinv-orders tr{break-inside:avoid}.pinv-pay,.pinv-doc .status-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.billing-plan-list{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.3rem;font-size:.95rem}.billing-accept{display:grid;gap:.5rem}.billing-subtitle{margin:1.25rem 0 .5rem;font-size:.95rem;font-weight:800}.billing-row-actions{display:flex;gap:.4rem;justify-content:flex-end}.billing-doc-version{align-self:center;font-size:.82rem;color:var(--text-muted)}.billing-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.billing-blocked{width:min(860px,100%);display:grid;gap:12px;text-align:left}.billing-blocked-invoice{margin:0;font-weight:700;text-align:center}.billing-blocked-pay{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.billing-blocked-pay p{margin:0}.invoice-group+.invoice-group{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.invoice-group-name{font-size:.95rem;font-weight:700;margin:0 0 .4rem}.invoice-group-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-top:.6rem;color:var(--text-muted);font-size:.85rem}.invoice-warning{color:var(--warn-text);font-weight:600;margin:0}.invoice-warning-hint{color:var(--text-muted);margin:.15rem 0 .75rem}.invoice-add-line{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.invoice-add-line .form-field{margin-bottom:0}.invoice-totals span:last-child strong{color:var(--text)}.inv-doc{position:relative}.inv-doc--page{max-width:816px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem 2rem}.inv-doc-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.inv-doc-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.inv-doc-company p,.inv-doc-meta p{margin:.15rem 0;color:var(--text-muted);font-size:.9rem}.inv-doc-logo{max-height:48px;max-width:15rem;object-fit:contain;margin-bottom:.5rem}.inv-doc-meta{text-align:right}.inv-doc-meta .page-title{margin-bottom:.3rem}.inv-billto{margin-bottom:1rem}.inv-billto h3,.inv-doc-pay h3{margin:0 0 .3rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.inv-doc-job-row td{background:var(--chip-slate-bg-weak);font-weight:700;padding-top:.55rem;padding-bottom:.55rem}.inv-doc-notes{margin-top:1.5rem;color:var(--text);font-size:.9rem;white-space:pre-wrap}.inv-doc-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}.status-chip.is-void{color:var(--danger-text);text-decoration:line-through;background:var(--chip-cancelled-bg)}.inv-watermark{display:none}@media print{.inv-doc{background:var(--logo-plate);color:var(--brand-navy)}body *{visibility:hidden}.inv-doc,.inv-doc *{visibility:visible}.inv-doc{position:absolute;top:0;left:0;right:0;max-width:816px;margin:0 auto;background:var(--surface);padding:1.5rem 2rem;border:none;box-shadow:none}.inv-no-print{display:none!important}.inv-edit-table input{border:none;background:none;padding:0;color:inherit;font:inherit;-webkit-appearance:none;appearance:none}.inv-watermark{display:block;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-25deg);font-size:6rem;font-weight:800;letter-spacing:.05em;color:var(--watermark);pointer-events:none}}.invoices-list-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.6rem}.invoices-list-head .card-title{margin:0}.inv-portal-note{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.inv-portal-inline{margin-left:.5rem;font-size:.82rem;color:var(--text-muted)}.invoice-warning-mixed{margin:0 0 .75rem}.inv-review-banner,.inv-version-banner,.inv-correcting-notice{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--border);border-radius:var(--radius-card);padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.status-chip.is-review{color:var(--warn-text);background:var(--warn-bg)}.inv-doc-superseded{color:var(--text-muted);font-size:.9rem}.inv-doc-pay{margin-top:1rem}.inv-doc-pay p{font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}.inv-thread{max-width:816px;margin:1rem auto 0}.inv-thread ol{list-style:none}.inv-thread li+li{margin-top:.75rem}.inv-thread time{color:var(--text-muted);font-size:.85rem}.inv-thread-body{display:block;color:var(--text-muted)}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;--ambient-alpha: var(--ambient-alpha-base);--ambient-flow-alpha: var(--ambient-flow-alpha-base)}.ambient[data-intensity=soft]{--ambient-alpha: calc(var(--ambient-alpha-base) * .6);--ambient-flow-alpha: calc(var(--ambient-flow-alpha-base) * .6)}.ambient-blob{position:absolute;border-radius:50%;opacity:var(--ambient-alpha)}@media(prefers-reduced-motion:no-preference){.ambient-blob{will-change:transform}}.ambient-b1{width:52vmax;height:52vmax;left:-14vmax;top:-18vmax;background:radial-gradient(circle,var(--ambient-blue) 0%,transparent 70%);animation:ambient-drift-1 26s ease-in-out infinite alternate}.ambient-b2{width:46vmax;height:46vmax;right:-16vmax;top:4vmax;background:radial-gradient(circle,var(--ambient-cyan) 0%,transparent 70%);animation:ambient-drift-2 32s ease-in-out infinite alternate}.ambient-b3{width:40vmax;height:40vmax;left:22vmax;bottom:-22vmax;background:radial-gradient(circle,var(--ambient-teal) 0%,transparent 70%);animation:ambient-drift-3 29s ease-in-out infinite alternate}@keyframes ambient-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(12vmax,8vmax) scale(1.12)}}@keyframes ambient-drift-2{0%{transform:translate(0) scale(1.05)}to{transform:translate(-10vmax,12vmax) scale(.95)}}@keyframes ambient-drift-3{0%{transform:translate(0) scale(.95)}to{transform:translate(-9vmax,-10vmax) scale(1.1)}}.ambient-flow{position:absolute;inset:0;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.ambient-blob{animation:none}}@media print{.ambient{display:none}}.settings-page{max-width:640px}.settings-hint{color:var(--text-muted);font-size:.82rem;margin:.1rem 0 .5rem}.settings-logo-row{display:flex;align-items:center;gap:.9rem}.settings-logo-preview{height:48px;width:auto;max-width:12rem;object-fit:contain;border-radius:8px;border:1px solid var(--border);background:var(--logo-plate);padding:4px}.settings-saved{color:var(--status-completed);font-weight:600}.settings-dirty{margin-left:.5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--chip-scheduled-text);background:var(--chip-scheduled-bg);padding:2px 8px;border-radius:999px;vertical-align:middle}.settings-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.settings-seg .btn{border:none;border-radius:0;box-shadow:none}.settings-seg .btn+.btn{border-left:1px solid var(--border)}.settings-seg .btn:focus-visible{outline-offset:-.1875rem}.settings-seg .btn.btn-primary:focus-visible{outline-color:var(--on-action)}.category-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.category-row{display:flex;align-items:center;gap:.6rem}.category-row>input{flex:1 1 auto;min-width:0}.category-row.is-archived{opacity:.6;justify-content:space-between}.category-add-row{display:flex;align-items:center;gap:.6rem;margin-top:.25rem}.category-add-row input{flex:1 1 auto;min-width:0}.booking-slug-row{display:flex;align-items:flex-end;gap:.6rem}.booking-slug-row .form-field{flex:1 1 auto;min-width:0;margin-bottom:0}.booking-actions{display:flex;align-items:center;gap:.6rem}.booking-preview{font-size:.85rem;color:var(--text);background:var(--surface-alt, var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .6rem;margin:.5rem 0;word-break:break-all}.portal-days{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:.5rem 0;padding:0;border:0}.portal-days legend{width:100%;margin-bottom:.35rem;padding:0;font-weight:700}.pub{position:relative;isolation:isolate;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding-bottom:env(safe-area-inset-bottom,0px)}.pub-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem}.pub-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit}.pub-brand img{width:40px;height:40px}.pub-brand b{display:block;font-size:1.35rem;font-weight:800;line-height:1;letter-spacing:-.01em}.pub-brand small{display:block;margin-top:3px;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.75}.pub-controls{display:flex;align-items:center;gap:.6rem}.pub-seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pub-seg .btn{border:none;border-radius:0;box-shadow:none;min-height:38px;min-width:3rem;background:transparent;letter-spacing:.04em}.pub-seg .btn.btn-primary{background:var(--action)}.pub-seg .btn:focus-visible{outline-offset:-.1875rem}.pub-iconbtn{width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);display:inline-grid;place-items:center;cursor:pointer}.pub-stage{display:grid;justify-items:center;align-items:start;padding:1rem 1rem 2.5rem}.pub-card{width:100%;max-width:34rem;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius-pub);box-shadow:var(--shadow-pub);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:1.6rem 1.75rem 1.5rem;overflow:hidden}.pub-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.4rem 1.2rem;font-size:.82rem;color:var(--text)}.pub-opt{display:flex;align-items:center;gap:.6rem}.pub-opt .btn{min-height:32px;font-size:.8rem}.pub-hp{position:absolute;left:-9999px}.pub-card .login-hero{margin:0 0 1rem}.pub-card .login-card{max-width:none;margin:0;background:transparent;border:0;box-shadow:none;padding:0}.pub-card--wide{max-width:48rem}.pub-links{display:flex;align-items:center;gap:.9rem}.pub-links a{color:var(--text);text-decoration:underline;text-underline-offset:2px;opacity:.85}.pub-links a:hover{opacity:1}@media(max-width:560px){.pub-top{padding:.9rem 1rem}.pub-brand small{display:none}.pub-card{padding:1.25rem 1.1rem 1.2rem;border-radius:16px}}.board-toolbar{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.board-range{font-weight:600}.board-scroll{overflow-x:auto}.board-grid{display:grid;gap:0;min-width:65.5rem;background:var(--surface);border:1px solid var(--border);border-width:1px 0 0 1px;border-radius:var(--radius);overflow:clip}@media(max-width:700px){.board-grid{min-width:0}}.board-corner,.board-day,.board-rowlabel,.board-cell{background:var(--surface);padding:.45rem .5rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.board-day{font-weight:700;font-size:.82rem;color:var(--text-muted)}.board-day.is-today{color:var(--action-strong)}.board-day.is-today>span{background:var(--board-selection-weak);border-radius:999px;padding:.15rem .6rem}.board-rowlabel{font-weight:600;display:flex;align-items:center;gap:.45rem}.row-avatar{width:24px;height:24px;border-radius:999px;background:var(--brand-navy);color:var(--on-navy);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0}.board-cell{min-height:64px;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;position:relative;transition:background-color .12s ease}.board-cell:hover{background:var(--board-day-head);background:color-mix(in srgb,var(--action) 6%,var(--surface))}.board-cell.is-today{background:var(--board-day-cell);background:color-mix(in srgb,var(--action) 5%,var(--surface))}.board-cell.is-today:hover{background:var(--board-day-head-strong);background:color-mix(in srgb,var(--action) 8%,var(--surface))}.board-cell:hover:not(:has(.job-block)):after{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:var(--action);opacity:.45;pointer-events:none}.job-card{border-left:4px solid;border-radius:6px;background:var(--bg);padding:.35rem .5rem;box-shadow:var(--shadow);cursor:pointer;font-size:.85rem;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.job-card.status-scheduled{border-color:var(--status-scheduled)}.job-card.status-in_progress{border-color:var(--status-in-progress)}.job-card.status-completed{border-color:var(--status-completed)}.job-card.status-invoiced{border-color:var(--status-invoiced);color:var(--text-muted)}.job-card.status-cancelled{border-color:var(--status-cancelled)}.job-card.status-cancelled .job-prop,.job-card.status-cancelled .job-services{text-decoration:line-through}.job-card-top{display:flex;justify-content:space-between;align-items:center}.job-wo{font-weight:700}.job-menu-btn{border:none;background:none;cursor:pointer;font-size:1rem;padding:0 .2rem}.job-services,.job-unit{color:var(--text-muted)}.card-menu{display:flex;flex-direction:column;gap:.4rem}.card-menu button{text-align:left;padding:.6rem .7rem;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .12s ease,border-color .12s ease}.card-menu button:hover{background:var(--hover-action);border-color:var(--text-muted)}.check-row{display:flex;gap:.5rem;align-items:center;padding:.25rem 0}.job-log summary{cursor:pointer;font-weight:600;margin:.5rem 0}.job-detail-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.job-detail-meta{font-weight:600}.job-detail h4{margin:.9rem 0 .35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.job-meta,.job-list{list-style:none;margin:.5rem 0;padding:0}.job-meta li,.job-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.job-meta-label{color:var(--text-muted)}.job-timeline{list-style:none;margin:.5rem 0 0;padding:0}.job-timeline li{border-left:2px solid var(--accent);padding:.15rem 0 .35rem .75rem;margin-bottom:.55rem}.job-timeline li .note-text{display:block;margin-top:.15rem}.job-client-notes{white-space:pre-wrap}.job-card{padding:.5rem .6rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-block);transition:box-shadow .13s ease}.job-card:hover{box-shadow:var(--shadow-block-hover)}.job-wo{font-weight:700;font-size:.8rem}.job-prop{font-weight:600}.job-services,.job-unit{color:var(--text-muted);font-size:.8rem}.job-menu-btn{border-radius:var(--radius-sm);transition:background-color .12s ease}.job-menu-btn:hover{background:var(--board-selection)}.job-detail>p{margin:.35rem 0}.job-detail-head{margin-bottom:.6rem}.job-detail h4{margin-top:1.1rem}.job-meta-row{display:flex;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.job-photos-grid{margin-top:.5rem}.job-price{border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.job-price-amount{padding:.1rem .4rem;border-radius:var(--radius-sm)}.job-price-amount:hover{background:var(--board-selection)}.job-price-off{color:var(--text-muted);cursor:default}.job-price-group{display:inline-flex;align-items:center;gap:.1rem}.job-price-edit-btn{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.job-price-edit{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap}.job-price-edit input{width:5.5rem}.job-line-total{color:var(--text-muted);font-size:.8rem;margin-left:.4rem}.job-add-line{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem}.board-toolbar{gap:.4rem;margin-bottom:1rem}.board-toolbar .btn-sm{padding:.35rem .7rem}.board-range{font-size:1rem;color:var(--text);background:var(--chip-slate-bg);border-radius:999px;padding:.3rem .75rem;margin-left:.35rem;white-space:nowrap}.board-corner,.board-day{background:var(--board-neutral-head);background:color-mix(in srgb,var(--brand-navy) 5%,var(--surface))}.board-rowlabel{background:var(--board-neutral-cell);background:color-mix(in srgb,var(--brand-navy) 3%,var(--surface))}.board-day.is-today{background:var(--board-today-tint);background:color-mix(in srgb,var(--action) 10%,var(--surface))}.board-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.board-seg .btn{border:none;border-radius:0;box-shadow:none}.board-seg .btn+.btn{border-left:1px solid var(--border)}.board-range{font-size:1.15rem;font-weight:700}.board-day.is-weekend:not(.is-today){background:var(--board-neutral-strong);background:color-mix(in srgb,var(--brand-navy) 8%,var(--surface))}.board-cell.is-weekend:not(.is-today){background:var(--board-neutral-cell);background:color-mix(in srgb,var(--brand-navy) 3%,var(--surface))}.board-cell.is-weekend:not(.is-today):hover{background:var(--board-day-head);background:color-mix(in srgb,var(--action) 6%,var(--surface))}.board-rowlabel.is-unassigned{color:var(--text-muted);font-weight:500}.board-rowlabel.is-unassigned .row-avatar{background:transparent;border:1.5px dashed var(--text-muted);color:var(--text-muted)}.board-corner,.board-rowlabel,.day-row .board-rowlabel,.day-rowlabel-spacer{position:sticky;left:0;z-index:1}.day-rowlabel-spacer{background:var(--surface)}.board-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin:.75rem 0 0;padding-top:.6rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.legend-item:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--border)}.legend-scheduled:before{background:var(--status-scheduled)}.legend-in_progress:before{background:var(--status-in-progress)}.legend-completed:before{background:var(--status-completed)}.legend-invoiced:before{background:var(--status-invoiced)}.legend-cancelled:before{background:var(--status-cancelled)}.legend-requested:before{background:var(--status-requested)}.board-seg .btn:focus-visible{outline-offset:-.1875rem}.board-seg .btn.is-active:focus-visible{outline-color:var(--on-action)}.requested-section{margin:.75rem 0 0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:var(--surface)}.requested-section-head{display:flex;justify-content:space-between;align-items:center}.requested-section-head h3{margin:0;font-size:.85rem;font-weight:700}.requested-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.requested-job-card{min-width:220px;max-width:300px;border-left:3px solid var(--status-requested);border-radius:var(--radius-sm);background:var(--bg);box-shadow:var(--shadow-block);padding:.5rem .6rem;font-size:.85rem}.stat-card{overflow:hidden}.stat-delta{font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:.2rem}.stat-delta.is-up{color:var(--success)}.stat-delta.is-down{color:var(--danger)}.stat-delta.is-flat{color:var(--text-muted);font-weight:600}.stat-sparkline{display:block;margin-top:auto;height:1.5rem;line-height:0}.stat-sparkline svg{display:block;height:100%}.sparkline polyline{stroke-width:.125rem}@container schedule (min-width: 26rem){.stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@container schedule (min-width: 54rem){.stat-row{grid-template-columns:repeat(6,minmax(0,1fr))}}.board-stats-note{margin:-.5rem 0 1rem;font-size:.78rem;color:var(--text-muted)}.job-block{border-left:3px solid;border-radius:6px;background:var(--board-unassigned-tint);background:color-mix(in srgb,var(--row-color, var(--text-muted)) 10%,var(--surface));padding:.35rem .5rem;box-shadow:var(--shadow);cursor:pointer;font-size:.85rem;display:flex;flex-direction:column;gap:.15rem;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.job-block.status-scheduled{border-color:var(--status-scheduled)}.job-block.status-in_progress{border-color:var(--status-in-progress)}.job-block.status-completed{border-color:var(--status-completed)}.job-block.status-invoiced{border-color:var(--status-invoiced);color:var(--text-muted)}.job-block.status-cancelled{border-color:var(--status-cancelled)}.job-block.status-cancelled .job-prop,.job-block.status-cancelled .job-services{text-decoration:line-through}.job-block-time{font-size:.75rem;font-weight:700;color:var(--text-muted)}.job-block.is-untimed{border-left-style:dashed}.row-label-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.row-name{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.row-name-text{max-width:16rem;overflow:hidden;text-overflow:ellipsis}.row-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.row-jobs-count{font-size:.72rem;font-weight:500;color:var(--text-muted)}.board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.board-filter-select{border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;border-color:var(--border);background:var(--surface)}.board-filter-field{position:relative;display:inline-flex;align-items:center}.board-filter-field>svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.board-filter-field .board-filter-select{padding-left:2rem}.board-seg .btn.is-active{background:var(--action);color:var(--on-action)}.day-view{overflow-x:auto}.day-inner{min-width:69.25rem}.day-head,.day-row{display:flex;border-bottom:1px solid var(--border)}.day-row:last-child{border-bottom:none}.day-rowlabel-spacer{flex:0 0 8.75rem}.day-row .board-rowlabel{flex:0 0 8.75rem;border-bottom:none}.day-hours{flex:1;display:grid;grid-template-columns:minmax(6.5rem,auto) repeat(12,minmax(4.5rem,1fr));background:var(--surface);transition:background-color .12s ease}.day-row .day-hours{cursor:pointer}.day-row .day-hours:hover{background:var(--row-hover)}.day-hour-head{padding:.45rem .4rem;font-weight:700;font-size:.78rem;color:var(--text-muted);border-right:1px solid var(--border)}.day-hour-head.is-untimed{color:var(--text)}.day-untimed-cell{grid-column:1;padding:.35rem;display:flex;flex-direction:column;gap:.3rem;border-right:1px solid var(--border);min-height:4rem}.day-block{padding:.25rem;border-right:1px solid var(--border);min-height:4rem;display:flex}.day-block .job-block{width:100%}@media(max-width:700px){.day-inner{min-width:0}}.schedule-layout{display:grid;grid-template-columns:1fr;align-items:start;gap:1rem}.schedule-main{min-width:0;container-type:inline-size;container-name:schedule}.schedule-layout[aria-busy=true]{opacity:.6;transition:opacity .15s ease}.schedule-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.85rem;align-items:start}.schedule-rail .card+.card{margin-top:0}.rail-donut-row{display:flex;align-items:center;gap:1rem}.rail-donut-row .donut{width:5.5rem;height:5.5rem;flex-shrink:0}.rail-legend{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem}.rail-legend .legend-item{width:100%;justify-content:space-between;font-size:.82rem}.rail-legend-name{font-weight:600}.rail-legend-count{color:var(--text-muted);font-weight:600;font-size:.78rem;flex-shrink:0}.rail-upcoming-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.rail-upcoming-list li{display:flex;flex-direction:column;gap:.1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.rail-upcoming-list li:last-child{border-bottom:none;padding-bottom:0}.rail-wo{color:var(--action);font-weight:700}.rail-quick-actions{flex-wrap:wrap}.job-costs-summary{list-style:none;padding:0;margin:.5rem 0 0}.job-costs-summary li{display:flex;justify-content:space-between;padding:.15rem 0;font-variant-numeric:tabular-nums}.job-costs-total{font-weight:700;border-top:1px solid var(--border);margin-top:.25rem;padding-top:.4rem}.job-hours-total{display:flex;justify-content:space-between;font-weight:700;padding:.15rem 0;font-variant-numeric:tabular-nums}.job-hours-mark{color:var(--text-muted);font-style:italic}.job-section{margin-top:1.25rem;padding-top:.9rem;border-top:1px solid var(--border)}.job-section:first-of-type{margin-top:.75rem;padding-top:0;border-top:0}.job-section>h4{margin:0 0 .5rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.job-section summary>h4{margin:0;display:inline;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.job-section .job-empty{margin:.35rem 0 0;color:var(--text-muted);line-height:1.45}.job-costs-note{display:block;margin-top:.45rem;color:var(--text-muted);font-size:.85rem;line-height:1.45}.portal-badge,.series-badge{display:inline-flex;align-items:center;margin-left:.35rem;padding:0 .4rem;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.5;background:var(--chip-slate-bg-strong);color:var(--text);white-space:nowrap;vertical-align:middle}.job-portal-origin{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.job-portal-origin .portal-badge{margin-left:0}.pending-panel{padding:0}.pending-head{display:flex;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pending-head:disabled{cursor:default}.pending-title{font-weight:800}.pending-count{min-width:1.6rem;padding:0 .45rem;border-radius:999px;text-align:center;font-size:.8rem;font-weight:800;background:var(--action);color:var(--on-action)}.pending-empty{font-size:.9rem;color:var(--text-muted)}.pending-chevron{margin-left:auto;display:inline-flex;transition:transform .13s ease}.pending-panel.is-open .pending-chevron{transform:rotate(90deg)}.pending-head:disabled .pending-chevron{visibility:hidden}.pending-body{border-top:1px solid var(--border);padding:.5rem 1rem .85rem}.pending-note{margin:.25rem 0 .5rem;font-size:.85rem;color:var(--text-muted)}.pending-list{list-style:none;margin:0;padding:0;max-height:22rem;overflow-y:auto}.pending-row{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,2fr) minmax(0,1.5fr) auto;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.pending-row:last-child{border-bottom:none}.pending-date{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.9rem}.pending-tag{padding:0 .4rem;border-radius:999px;font-size:.7rem;font-weight:800;line-height:1.5;background:var(--chip-slate-bg-strong);color:var(--text)}.pending-tag.is-overdue{background:var(--chip-cancelled-bg);color:var(--danger-text)}.pending-main{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0}.pending-main strong{overflow-wrap:anywhere}.pending-main .portal-badge,.pending-main .series-badge{margin-left:0}.pending-wo{font-size:.85rem;color:var(--text-muted)}.pending-services{font-size:.85rem;color:var(--text-muted);min-width:0}.pending-actions{display:flex;gap:.4rem}@media(max-width:900px){.pending-row{grid-template-columns:minmax(0,1fr);gap:.3rem}}.repeat-fields .repeat-every{display:flex;align-items:center;gap:.5rem;margin:0 0 .9rem}.repeat-fields .repeat-every input{width:6rem}.repeat-fields .repeat-hint{margin:0 0 .9rem;color:var(--text-muted);font-size:.9rem;line-height:1.45}.repeat-fields .repeat-ends .check-list .check-row{cursor:default}.repeat-fields .repeat-ends .check-list label.check-row,.repeat-fields .repeat-end-on{cursor:pointer}.repeat-fields .repeat-end-on{display:inline-flex;align-items:center;gap:.5rem}.repeat-fields .repeat-next{margin:0 0 .9rem}.repeat-fields .repeat-next-title{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.85rem}.repeat-fields .repeat-next-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.repeat-fields .repeat-next-list li{padding:.15rem .6rem;border-radius:999px;background:var(--chip-slate-bg-strong);color:var(--text);font-size:.85rem;white-space:nowrap}.series-badge{font-size:.8rem}.job-detail-head .series-badge{gap:.3em;margin-left:0;padding:.15rem .55rem;font-size:.78rem;font-weight:700;line-height:normal}.job-series .job-meta-label{flex:none}.job-series .job-meta-row>:last-child{text-align:right}.job-series .job-series-note{margin:.5rem 0 0;color:var(--text-muted);font-size:.85rem;line-height:1.45}.job-series .job-series-foot{display:flex;justify-content:flex-end;margin-top:.6rem}.modal-note{margin:0 0 .9rem;color:var(--text-muted);font-size:.9rem;line-height:1.45}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(21rem,100%),1fr));gap:.85rem}.dash-grid>.card+.card{margin-top:0}.dash-card-head{margin-bottom:.7rem}.dash-card-head .card-title{margin-bottom:.15rem}.dash-note{color:var(--text-muted);font-size:.78rem}.dash-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dash-bar-row{display:grid;grid-template-columns:3.5rem 1fr 2.5rem;align-items:center;gap:.5rem}.dash-bar-day{font-size:.8rem;font-weight:600;color:var(--text-muted)}.dash-bar-track{height:.55rem;border-radius:999px;background:var(--border);overflow:hidden}.dash-bar-fill{height:100%;border-radius:999px;background:var(--action)}.dash-bar-count{font-size:.85rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.dash-bar-row.is-today .dash-bar-day,.dash-bar-row.is-today .dash-bar-count{color:var(--action-strong);font-weight:800}.dash-bar-row.is-today .dash-bar-fill{background:var(--action-strong)}.dash-unassigned-list,.dash-owed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dash-unassigned-list li,.dash-owed-list li{padding-bottom:.5rem;border-bottom:1px solid var(--border)}.dash-unassigned-list li:last-child,.dash-owed-list li:last-child{border-bottom:none;padding-bottom:0}.dash-unassigned-list li{display:flex;flex-direction:column;gap:.1rem}.dash-owed-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.dash-owed-name{font-weight:600;min-width:0;overflow-wrap:anywhere}.dash-owed-net{font-weight:700;flex-shrink:0;font-variant-numeric:tabular-nums}.dash-owed-net.is-deduction{color:var(--danger-text)}.onboard-list{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.5rem}.onboard-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.onboard-done{color:var(--text-muted)}.onboard-done s{text-decoration:line-through}.stat-sub{font-size:.78rem;color:var(--text-muted)}.crud-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.data-table tbody tr.archived,.data-table tbody tr.archived:nth-child(2n){background:color-mix(in srgb,var(--brand-navy) 6%,var(--surface))}.data-table tbody tr.archived:hover,.data-table tbody tr.archived:nth-child(2n):hover{background:color-mix(in srgb,var(--brand-navy) 10%,var(--surface))}.data-table tbody tr.archived .id-link{color:var(--action-strong)}.data-table td .status-chip.is-archived{margin-inline-start:.4rem}.status-chip.is-located{color:var(--success-text);background:var(--chip-green-bg)}.status-chip.is-pending{color:var(--chip-invoiced-text);background:var(--chip-slate-bg)}.status-chip.is-failed{color:var(--danger-text-strong);background:var(--chip-cancelled-bg)}.status-chip.is-exempt{color:var(--chip-scheduled-text);background:var(--chip-scheduled-bg)}.crud-field-hint{color:var(--text-muted);font-size:.82rem;margin:.1rem 0 .5rem}.portal-panel{display:flex;flex-direction:column;gap:.85rem}.portal-panel-hint{margin:0;color:var(--text-muted);font-size:.9rem}.portal-panel-state{display:flex;flex-direction:column;gap:.5rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:10px}.portal-panel-state p{margin:0}.portal-panel-form{display:flex;flex-direction:column;gap:.6rem}.portal-panel-ok{margin:0;color:var(--success-text);font-weight:700}.pay-week{margin-bottom:.75rem}.pay-week:last-child{margin-bottom:0}.pay-week>summary{cursor:pointer;padding:.75rem 1rem;font-weight:600;list-style:none;gap:.75rem}.pay-week>summary::marker{content:""}.pay-week>summary::-webkit-details-marker{display:none}.pay-week-chevron{display:inline-flex;color:var(--text-muted);transition:transform .13s ease}.pay-week[open]>summary .pay-week-chevron{transform:rotate(90deg)}.pay-week-title{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.pay-week-total{font-size:1.05rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.data-table.completed-table tbody tr:nth-child(2n):not(:hover){background:transparent}.data-table.completed-table tbody+tbody>tr:first-child>*{border-top:2px solid var(--border)}.data-table.completed-table tbody th{font-size:1rem;font-weight:700;letter-spacing:normal;text-transform:none;color:var(--text)}.pay-group-total{font-weight:700;font-variant-numeric:tabular-nums}.completed-table{min-width:34rem}.pay-cell{min-width:6rem;text-align:right}.pay-cell:not(.pay-cell-off):not(.pay-cell-edit):not(.pay-cell-pending):hover{color:var(--action)}.pay-cell{border:none;background:none;cursor:pointer;font-size:1rem;padding:0 .2rem}.pay-cell-off{color:var(--text-muted)}.pay-cell-edit input{width:6rem}.pay-cell-group{display:inline-flex;align-items:center;gap:.15rem}.pay-cell-edit-btn{min-width:32px;min-height:32px}.pay-more{margin-top:.75rem}.table-foot .pay-more{margin-top:0;margin-left:auto}.invoice-chip-link{margin-inline-start:.4rem}.pay-cell-pending{color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:.25rem .6rem;font-weight:600;transition:background-color .12s ease,border-color .12s ease}.pay-cell-pending:hover{background:var(--danger-tint);border-color:var(--danger)}.payout-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem 1rem;margin-bottom:.75rem}.payout-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:0 0 .5rem}.payout-card-meta,.payout-inactive{font-weight:400;color:var(--text-muted)}.payout-blocked{border-left:3px solid var(--danger);padding-left:.5rem;margin-bottom:.5rem}.payout-blocked ul,.payout-adjustments{list-style:none;margin:0;padding:0}.payout-blocked li,.payout-adjustments li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0}.payout-gross{color:var(--text-muted);margin:.25rem 0}.payout-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem}.payout-actions button{cursor:pointer}.payout-kind{display:flex;gap:1rem;border:none;padding:0;margin:0 0 .6rem}.payout-kind label{display:flex;align-items:center;gap:.3rem}.form-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.payout-history{margin-top:1.5rem}.payout-history summary{cursor:pointer;padding:.5rem 0}.payout-receipt{list-style:none;margin:0 0 .5rem;padding:0 0 0 .5rem}.payout-receipt li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem 0;color:var(--text-muted)}@media(max-width:640px){.payout-blocked li,.payout-adjustments li,.payout-actions{flex-direction:column;align-items:stretch}}.payout-card-head{margin-bottom:.75rem;column-gap:.75rem}.payout-card-meta{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap}.payout-gross{color:var(--text-muted);margin:.6rem 0}.payout-actions{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem}.payout-history h3{margin:1.25rem 0 .5rem}.payout-history details{padding:.3rem 0;border-bottom:1px solid var(--border)}.payout-history summary{cursor:pointer;padding:.2rem 0}.card .payout-history{margin-top:0}.card .payout-history h3{display:flex;align-items:center;justify-content:space-between;font-size:1rem;font-weight:700;margin:0 0 .6rem}.card.payout-card .pay-cell{min-width:6rem;text-align:right;border:none;background:none;cursor:pointer;font-size:1rem;padding:0 .2rem}.card.payout-card .pay-cell:not(.pay-cell-off):not(.pay-cell-edit):not(.pay-cell-pending):hover{color:var(--action)}.card.payout-card .pay-cell-pending{color:var(--danger-text);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:.25rem .6rem;font-weight:600;transition:background-color .12s ease,border-color .12s ease}.card.payout-card .pay-cell-pending:hover{background:var(--danger-tint);border-color:var(--danger)}.card.payout-card .pay-cell-edit input{width:6rem}.card.payout-card .pay-cell-group{display:inline-flex;align-items:center;gap:.15rem}.card.payout-card .pay-cell-edit-btn{min-width:32px;min-height:32px}.card.payout-card .payout-who{display:flex;align-items:center;gap:.6rem;min-width:0}.card.payout-card .payout-who-text{min-width:0}.card.payout-card .payout-avatar{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--brand-navy);color:var(--on-navy);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;letter-spacing:.02em}.card.payout-card .payout-card-flags{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.card.payout-card .payout-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem 1rem;margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid var(--border)}.card.payout-card .payout-summary-row{display:flex;flex-direction:column;gap:.1rem;min-width:0}.card.payout-card .payout-summary dt{font-size:.8rem;font-weight:600;color:var(--text-muted)}.card.payout-card .payout-summary dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.card.payout-card .payout-summary-net dd{font-size:1.5rem;font-weight:800;color:var(--text);line-height:1.1}.card.payout-card .payout-summary dd.is-deduction,.card.payout-card .payout-adj-amount.is-deduction{color:var(--danger-text)}.card.payout-card .payout-adj-main{min-width:0}.card.payout-card .payout-adj-amount{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.card.payout-card .payout-blocked-main{min-width:0}.card.payout-card .payout-blocked-wo{font-weight:700;font-variant-numeric:tabular-nums}.card.payout-card .payout-jobs{margin:0 0 .5rem}.card.payout-card .payout-jobs summary{cursor:pointer;padding:.25rem 0;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.card.payout-card .payout-jobs ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.card.payout-card .payout-job-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card.payout-card .payout-job-wo{font-weight:600;font-variant-numeric:tabular-nums}.card.payout-card .payout-job-main{display:flex;flex-direction:column;min-width:0}.cost-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin-bottom:1rem}.cost-filters label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--text-muted)}.cost-group{margin-bottom:.75rem}.cost-group summary{display:flex;justify-content:space-between;gap:.75rem;cursor:pointer;padding:.6rem .85rem;font-weight:600;list-style:none}.cost-group summary::marker{content:""}.cost-group summary::-webkit-details-marker{display:none}.cost-group summary .cost-group-total{font-variant-numeric:tabular-nums}.series-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}.series-chips{display:inline-flex;flex-wrap:wrap;gap:.4rem}.series-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.3rem .85rem;font-size:.88rem;cursor:pointer}.series-chip:hover{border-color:var(--text-muted)}.series-chip.is-on{background:var(--action);color:var(--on-action);border-color:var(--action)}.series-msg{margin-bottom:.75rem}.series-ok{color:var(--success-text);font-weight:600}.series-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:.85rem}.series-card{display:grid;align-content:start;gap:.35rem;height:100%;color:var(--text);text-decoration:none;transition:box-shadow .15s ease}.series-card:hover{box-shadow:var(--shadow-pop)}.series-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.series-client{font-size:1rem;font-weight:700;overflow-wrap:anywhere}.series-card-top .status-chip{flex:none}.series-services{font-weight:600;overflow-wrap:anywhere}.series-meta,.series-rule{color:var(--text-muted);font-size:.88rem}.series-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .75rem;margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.88rem}.series-next{color:var(--text-muted)}.series-team{margin-left:auto}.series-team.is-warn{color:var(--danger-text);font-weight:700}.series-team.is-muted{color:var(--text-muted)}.series-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem}.series-back{margin-bottom:.75rem}.series-head-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.45rem 0 0;color:var(--text-muted);font-size:.9rem}.series-actions{flex-wrap:wrap}.series-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1rem;align-items:start}.series-detail>.card+.card{margin-top:0}.series-detail .card>.job-section:first-child{margin-top:0}.series-visits-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;margin-bottom:.5rem}.series-visits-head h4{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.series-counts{color:var(--text-muted);font-size:.85rem}.series-visit-list{list-style:none;margin:0;padding:0}.series-visit{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.series-visit:last-child{border-bottom:0}.series-visit-n{min-width:5.5rem;font-weight:600}.series-visit-date{min-width:7rem;color:var(--text-muted)}.series-detached{padding:0 .45rem;border-radius:999px;background:var(--chip-slate-bg-strong);color:var(--text);font-size:.75rem;font-weight:700}.series-visit-link{margin-left:auto;color:var(--action);font-weight:700;font-variant-numeric:tabular-nums;text-underline-offset:2px}.series-plan{margin:0 0 .9rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft)}.series-editor-hint{margin:.4rem 0 0;color:var(--text-muted);font-size:.85rem}.series-editor-hint--actions{margin-top:.75rem;text-align:right}.series-plan-line{margin:0;font-weight:600}.series-plan-line+.series-plan-line,.series-plan-dates+.series-plan-line{margin-top:.5rem}.series-plan-dates{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.series-plan-dates li{padding:.15rem .6rem;border-radius:999px;background:var(--chip-slate-bg-strong);color:var(--text);font-size:.85rem;white-space:nowrap}.chart-wrap{position:relative;width:100%}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{stroke:var(--text-muted);stroke-width:1}.chart-tick{fill:var(--text-muted);font-size:11px;font-family:inherit}.chart-hit{fill:transparent}.chart-group{cursor:default;outline:none}.chart-group.is-active .chart-hit,.chart-group:focus-visible .chart-hit{fill:var(--border);opacity:.35}.chart-tip{position:absolute;top:8px;transform:translate(-50%);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12px;display:grid;gap:4px;pointer-events:none;z-index:2;box-shadow:0 6px 20px color-mix(in srgb,var(--text) 12%,transparent)}.chart-tip strong{font-size:12px;margin-bottom:2px}.chart-tip span,.chart-legend li,.donut-legend li{display:flex;align-items:center;gap:6px}.chart-tip i,.chart-legend i,.donut-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none}.chart-legend{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--text-muted)}.chart-legend-line{height:3px!important;width:14px!important;border-radius:2px!important}.donut-wrap{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}.donut-svg{width:120px;height:120px}.donut-center{fill:var(--text);font-size:13px;font-weight:700;font-family:inherit}.donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:12px;color:var(--text)}.donut-name{flex:1}.donut-pct{color:var(--text-muted);min-width:36px;text-align:right}.donut-amt{min-width:72px;text-align:right;font-variant-numeric:tabular-nums}.hbar-wrap{display:grid;gap:10px}.hbar-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr auto;gap:12px;align-items:center;padding:4px 6px;border-radius:8px;cursor:pointer}.hbar-row:hover,.hbar-row:focus-visible{background:var(--bg);outline:none}.hbar-row:focus-visible{box-shadow:0 0 0 2px var(--action)}.hbar-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-svg{width:100%;height:18px;display:block}.hbar-label{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.hbar-label--alert{color:var(--danger-text)}@media(max-width:640px){.donut-wrap{grid-template-columns:1fr;justify-items:center}.hbar-row{grid-template-columns:1fr;gap:4px}}.rp-print{display:none}@media print{body *{visibility:hidden}.rp-print,.rp-print *{visibility:visible}.rp-print{display:block;position:absolute;left:0;top:0;width:100%;background:var(--surface);color:var(--text);font-size:11px}.rp-print-cover,.rp-print-section{break-after:page;padding:0 0 24px;position:relative;min-height:90vh}.rp-print-section:last-child{break-after:auto}.rp-print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--brand-navy);padding-bottom:8px;margin-bottom:16px}.rp-print-brand{display:flex;gap:10px;align-items:center}.rp-print-brand img,.rp-print-logo{width:32px;height:32px;border-radius:6px;object-fit:contain}.rp-print-logo{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-navy);color:var(--on-navy);font-weight:700}.rp-print-brand small{display:block;color:var(--text-muted)}.rp-print-meta{font-size:10px;color:var(--text-muted);text-align:right}.rp-print-cover h1{font-size:26px;margin:80px 0 4px}.rp-print-period{font-size:14px;color:var(--text-muted);margin:0 0 40px}.rp-print-cover ol{list-style:none;padding:0;line-height:1.9}.rp-print-method{margin-top:32px;font-style:italic;color:var(--text-muted)}.rp-print-title{font-size:18px;margin:0 0 12px}.rp-print-foot{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--border);padding-top:6px;font-size:9px;color:var(--text-muted)}.rp-print-detail{margin-top:16px;display:grid;gap:12px}.rp-print-detail-group h4{margin:0 0 6px;font-size:12px}.rp-print .rp-panel{border:0;padding:0;margin-bottom:16px;break-inside:avoid}.rp-print .rp-grid{grid-template-columns:1fr;gap:16px}.rp-print .rp-kpis{grid-template-columns:repeat(5,1fr);gap:8px}.rp-print .rp-kpi{padding:8px 10px}.rp-print table{font-size:10px}.rp-print thead{display:table-header-group}.rp-print tr{break-inside:avoid}.rp-print .chart-tip,.rp-print .rp-sort,.rp-print .rp-chips,.rp-print .btn{display:none!important}}.rp{display:grid;gap:24px}.rp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.rp-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rp-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rp-chips{display:inline-flex;gap:6px}.rp-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.rp-chip.is-on{background:var(--brand-navy);color:var(--on-navy);border-color:var(--brand-navy)}.rp-chips--filter{flex-wrap:wrap}.rp-chips--filter .rp-chip:hover{border-color:var(--text-muted)}.rp-chips--filter .rp-chip.is-on{background:var(--action);color:var(--on-action);border-color:var(--action)}.rp-filter-note{margin:-12px 0 0;color:var(--text-muted);font-size:13px;text-align:right}.rp-arrows{display:inline-flex;gap:4px}.rp-custom{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.rp-custom label{display:inline-flex;gap:6px;align-items:center}.rp-tabs{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:4px;gap:2px;max-width:100%;overflow-x:auto}.rp-tab{border:0;background:transparent;color:var(--text-muted);border-radius:9px;padding:8px 14px;font-size:13px;cursor:pointer;white-space:nowrap}.rp-tab.is-on{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 2px color-mix(in srgb,var(--text) 10%,transparent)}.rp-tab:focus-visible{outline:2px solid var(--action);outline-offset:2px}.rp-tabs-select select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.rp-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rp-kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.rp-kpi-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.rp-kpi-value{font-size:22px;font-weight:700;color:var(--text);margin-top:4px;font-variant-numeric:tabular-nums}.rp-kpi-pct{font-size:15px;font-weight:600;color:var(--text-muted)}.rp-kpi-delta{font-size:12px;color:var(--text-muted);margin-top:4px}.rp-kpi-delta.is-good{color:var(--success-text)}.rp-kpi-delta.is-bad{color:var(--danger-text)}.rp-kpi--tone-ok{background:var(--tint-success);border-color:var(--success-solid)}.rp-kpi--tone-alert{background:var(--danger-tint);border-color:var(--danger-border)}.rp-notes{display:grid;gap:6px}.rp-note{margin:0;font-size:13px;color:var(--text-muted)}.rp-note--warn{color:var(--warn-text)}.rp-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.rp-side{display:grid;gap:24px}.rp-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.rp-panel-title{margin:0 0 14px;font-size:14px;color:var(--text)}.rp-cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rp-cash-grid div{display:grid;gap:4px}.rp-cash-grid strong{font-size:18px;font-variant-numeric:tabular-nums}.rp-table td.num,.rp-table th.num{text-align:right;font-variant-numeric:tabular-nums}.rp-table tbody tr{height:44px}.rp-margin--alert{color:var(--danger-text)}.rp-error,.rp .empty-state{display:grid;gap:12px;justify-items:start}@media(max-width:1024px){.rp-grid{grid-template-columns:1fr}.rp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.rp-kpis{grid-template-columns:1fr 1fr}.rp-kpi-value{font-size:18px}}.rp-entity{display:grid;gap:24px}.rp-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.rp-panel-head .rp-panel-title{margin:0}.rp-sort{font-size:13px;color:var(--text-muted);display:inline-flex;gap:8px;align-items:center}.rp-sort select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.rp-row{cursor:pointer}.rp-row:hover,.rp-row:focus-visible{background:var(--bg);outline:none}.rp-row:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--action)}.rp-row--unassigned td{font-style:italic;color:var(--text-muted)}.rp-panel-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--brand-navy) 35%,transparent);z-index:30}.rp-detail{position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);z-index:31;overflow-y:auto;background:var(--surface);border-left:1px solid var(--border);padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));box-shadow:-8px 0 24px color-mix(in srgb,var(--text) 12%,transparent);animation:rp-slide .16s ease-out;outline:none}@keyframes rp-slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.rp-detail{animation:none}}@media(max-width:1024px){.rp-detail{width:100%;border-left:0}}.rp-detail-close{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px}.rp-detail-title{margin:0 32px 4px 0;font-size:18px}.rp-detail-sub{margin:0 0 24px;font-size:13px;color:var(--text-muted)}.rp-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.rp-detail-stat{background:var(--bg);border-radius:10px;padding:12px;display:grid;gap:4px}.rp-detail-stat strong{font-size:16px;font-variant-numeric:tabular-nums}.rp-jobs{list-style:none;margin:0;padding:0;display:grid}.rp-job{padding:12px 0;border-top:1px solid var(--border);display:grid;gap:4px;font-size:13px}.rp-job-row{display:flex;justify-content:space-between;gap:12px}.rp-job-meta,.rp-job-services{color:var(--text-muted);font-size:12px}.rp-src{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px}.rp-src--invoice{background:var(--tint-success);color:var(--success-text)}.rp-src--closure{background:var(--tint-warn-orange);color:var(--warn-orange-text)}.rp-src--none{background:var(--chip-slate-bg);color:var(--text-muted)}.rp-src--warn{color:var(--warn-text)}.rp-grid--half{grid-template-columns:1fr 1fr}.rp-adjs{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px;font-size:13px}.rp-adjs li{display:flex;justify-content:space-between;gap:12px}@media(max-width:1024px){.rp-grid--half{grid-template-columns:1fr}}.rp-export-fields{border:0;margin:16px 0 0;padding:0;display:grid;gap:4px}.rp-export-fields legend{padding:0;margin-bottom:8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.rp-export-opt{display:flex;align-items:center;gap:10px;padding:6px 2px;font-size:14px;color:var(--text);cursor:pointer;border-radius:8px}.rp-export-opt:hover{background:var(--bg)}.rp-export-opt input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--action)}.rp-export-detail{margin-top:12px;padding-top:14px;border-top:1px solid var(--border)}.req-card{padding:.75rem 0;border-bottom:1px solid var(--border)}.req-card:last-child{border-bottom:none}.req-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.req-services{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.req-service-chip{font-size:.72rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;color:var(--chip-scheduled-text);background:var(--board-selection-weak)}.requests-processed>summary{cursor:pointer;list-style:none}.requests-processed>summary::marker{content:""}.requests-processed>summary::-webkit-details-marker{display:none}.requests-processed-chevron{display:inline-flex;color:var(--text-muted);transition:transform .13s ease}.requests-processed[open]>summary .requests-processed-chevron{transform:rotate(90deg)}.req-convert-hint{color:var(--text-muted);font-size:.82rem;margin:.25rem 0 .75rem}.crew-instructions{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--ui-fs-callout);line-height:var(--ui-lh-callout)}.crew-details summary{padding-block:.6875rem;margin-block:-.6875rem;color:var(--ui-tint);font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.crew-details[open] summary{margin-bottom:0}.crew-form{display:flex;flex-direction:column;gap:.625rem;min-width:0}.crew-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.crew-row--end{align-items:flex-end}.crew-row__grow{flex:1 1 10rem;min-width:0}.crew-row>.crew-qty,.crew-item>.crew-qty{flex:none;width:5rem}.crew-note-input{resize:vertical}.crew-item-list{list-style:none;margin:0;padding:0;min-width:0}.crew-item{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .5rem;min-width:0;padding:.5rem 0}.crew-item:first-child{padding-top:0}.crew-item:last-child{padding-bottom:0}.crew-item+.crew-item{border-top:1px solid var(--ui-sep)}.crew-item__text{flex:1 1 8rem;min-width:0;font-size:var(--ui-fs-body);line-height:var(--ui-lh-body);overflow-wrap:anywhere}.crew-item__text--note{white-space:pre-wrap}.crew-item__field{flex:1 1 10rem;min-width:0}.crew-item__actions{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}.job-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.5rem}.job-photos-grid img{width:100%;border-radius:6px;display:block}main.crew-main{box-sizing:border-box;min-width:0;padding-top:calc(env(safe-area-inset-top,0px) + 12px);padding-bottom:calc(var(--ui-tabbar-h) + env(safe-area-inset-bottom,0px) + 16px);padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:14px}html:has(.crew-shell){overscroll-behavior-y:contain;scroll-padding-bottom:calc(var(--ui-tabbar-h, 3.0625rem) + env(safe-area-inset-bottom,0px) + 16px)}.crew-today__head{display:flex;flex-direction:column;gap:.25rem;min-width:0}.crew-greet{margin:0;min-width:0;font-size:var(--ui-fs-subhead);line-height:var(--ui-lh-subhead);color:var(--ui-text-2);overflow-wrap:anywhere}.crew-me-link{display:inline-grid;place-items:center;min-width:2.75rem;min-height:2.75rem;border-radius:50%;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.crew-block{display:flex;flex-direction:column;gap:.5rem;min-width:0}.crew-next__addr{margin:0;min-width:0;font-size:var(--ui-fs-callout);line-height:var(--ui-lh-callout)}.crew-next__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.625rem;margin-top:.25rem}.crew-jobslot{position:relative;box-sizing:border-box;min-width:0;min-height:3.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;row-gap:.375rem;padding:.75rem 1rem;border-radius:var(--ui-r-cell);background:var(--ui-surface);box-shadow:var(--ui-shadow);color:var(--ui-text);text-decoration:none;-webkit-tap-highlight-color:transparent}.crew-jobslot:active{background:var(--ui-surface-2)}.crew-jobslot__main{flex:1 1 6rem;min-width:0;display:flex;flex-direction:column;gap:.125rem}.crew-jobslot__title{display:block;font-size:var(--ui-fs-callout);line-height:var(--ui-lh-callout);font-weight:600}.crew-jobslot__meta{display:block}.crew-jobslot__flags{display:flex;flex-wrap:wrap;gap:.25rem;min-width:0;margin-top:.25rem}.crew-jobslot__flags .ui-tag{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}.crew-jobslot__state{flex:none}.crew-jobslot--done .crew-jobslot__title{color:var(--ui-text-2)}.crew-net{margin:0;min-width:0;font-size:var(--ui-fs-large-title);line-height:var(--ui-lh-large-title);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.crew-amount{color:var(--ui-text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.crew-adj .ui-cell__title{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.crew-progress-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.crew-progress-row strong{font-weight:700}.crew-progress-bar{margin:.55rem 0 .35rem}.crew-progress-hours{color:var(--ui-text-2);font-size:var(--ui-fs-footnote)}.crew-page{display:flex;flex-direction:column;gap:14px;min-width:0}.crew-page--actionbar{padding-bottom:6.5rem}.crew-job__nav.ui-navbar{padding-inline:0}.crew-job__head{display:flex;flex-direction:column;gap:.5rem;min-width:0}.crew-title-wrap{min-width:0;white-space:normal;overflow-wrap:anywhere}.crew-job__addr{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0}.crew-job__addrtext{flex:1 1 10rem;min-width:0;overflow-wrap:anywhere}.crew-job__sync{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.crew-qa.ui-btn{flex-direction:column;gap:.125rem;min-width:3.5rem;min-height:2.75rem;padding:.25rem .375rem;font-size:var(--ui-fs-caption);line-height:var(--ui-lh-caption)}.crew-qa.ui-btn svg{width:1.125rem;height:1.125rem}.crew-contact.ui-cell{flex-wrap:wrap;row-gap:.5rem}.crew-contact .ui-cell__trail{flex-wrap:nowrap;margin-left:auto}.crew-active{min-width:0}.crew-active__title{display:flex;align-items:center;gap:.5rem;margin:0;min-width:0;font-size:var(--ui-fs-headline);line-height:var(--ui-lh-headline);font-weight:600;overflow-wrap:anywhere}.crew-active__title svg{flex:none;width:1.25rem;height:1.25rem;color:var(--ui-ok)}.crew-active__time{display:flex;flex-direction:column;gap:.25rem;min-width:0}.crew-active__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-width:0}.crew-active__clock{font-weight:600}.crew-active__map{margin-left:auto}.crew-finish{display:flex;flex-direction:column;gap:.75rem;min-width:0}.crew-finish__stats.ui-stat-strip{background:var(--ui-surface-2);box-shadow:none}.ui-card.crew-profile{flex-direction:row;align-items:center;gap:1rem}.crew-profile .ui-avatar{flex:none}.crew-profile__text{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.375rem}.crew-profile__role{align-self:flex-start;box-sizing:border-box;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}.crew-pref.ui-cell{flex-wrap:wrap;row-gap:.5rem}.crew-pref .ui-cell__trail{flex:1 1 100%;min-width:0}.crew-pref .ui-segmented{flex:1 1 auto;flex-wrap:wrap}.crew-pref .ui-segmented__item{min-width:min-content;padding-inline:.25rem}.crew-version{margin-inline:1rem;text-align:center;overflow-wrap:anywhere}.help-page{max-width:720px}.help-page h3{margin:1.25rem 0 .5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:.45rem}.faq-item summary{padding:.65rem .8rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .12s ease}.faq-item summary:hover{background:var(--row-hover)}.faq-item p{margin:0;padding:0 .8rem .75rem;color:var(--text-muted)}.help-contact h3{margin-top:0}.help-contact .btn{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.help-build{margin-top:1rem;font-size:.78rem;color:var(--text-muted);overflow-wrap:anywhere}.book-page{min-height:100%;display:flex;justify-content:center;padding:1.25rem 1rem 3rem;background:var(--bg)}.book-card{width:100%;max-width:34rem}.book-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.book-head strong{flex:1;font-size:1.1rem;font-weight:800;color:var(--text)}.book-logo{height:2.25rem;width:2.25rem;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border)}.book-card h1{font-size:1.25rem;margin-bottom:1rem}.book-hp{position:absolute;left:-9999px}.book-status{text-align:center;padding:2rem 1.25rem;color:var(--text-muted)}.book-lang{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.book-lang .btn{border:none;border-radius:0;box-shadow:none;min-height:44px;min-width:3rem}.book-lang .btn+.btn{border-left:1px solid var(--border)}.book-lang .btn:focus-visible{outline-offset:-.1875rem}.book-lang .btn.btn-primary:focus-visible{outline-color:var(--on-action)}.book-hero .book-logo{height:3.5rem;width:auto;max-width:10rem}.book-hero strong{font-size:1.4rem}.book-sub{color:var(--text-muted);margin:-.5rem 0 1rem}.book-check{color:var(--status-completed);display:inline-flex}.book-check svg{width:3rem;height:3rem}.book-status h2{color:var(--text);margin:.5rem 0 .25rem}.book-privacy{color:var(--text-muted);font-size:.8rem;margin:.75rem 0}.book-hint{color:var(--text-muted);font-size:.82rem;margin:.1rem 0 .5rem}.wiz{display:grid;gap:14px}.wiz h1{font-size:1.45rem;font-weight:800;margin:0;letter-spacing:-.01em;text-wrap:balance}.wiz-lede{color:var(--text-muted);margin:0 0 .4rem;max-width:40ch}.wiz-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 .4rem;padding:0;list-style:none}.wiz-rail li{display:grid;gap:.45rem;font-size:.74rem;font-weight:700;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase}.wiz-rail li span{display:flex;align-items:center;gap:.3rem}.wiz-rail li i{display:block;height:4px;border-radius:4px;background:var(--border);transition:background .25s}.wiz-rail li.is-done i,.wiz-rail li.is-now i{background:var(--action)}.wiz-rail li.is-now{color:var(--text)}.wiz-head{display:flex;align-items:baseline;gap:.6rem;margin:.2rem 0 0}.wiz-head .wiz-n{font-size:.78rem;font-weight:800;color:var(--action);letter-spacing:.08em;text-transform:uppercase}.wiz-head h2{margin:0;font-size:1.15rem;font-weight:800}.wiz-hint{color:var(--text-muted);font-size:.9rem;margin:-.35rem 0 .2rem}.wiz-panel{display:grid;gap:.95rem}.wiz-panel.enter-right{animation:wiz-from-right .3s cubic-bezier(.2,.7,.2,1) both}.wiz-panel.enter-left{animation:wiz-from-left .3s cubic-bezier(.2,.7,.2,1) both}@keyframes wiz-from-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes wiz-from-left{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.wiz .form-field{display:flex;flex-direction:column;gap:.35rem;margin:0}.wiz-label{display:flex;align-items:baseline;gap:.35rem;font-weight:700;font-size:.9rem}.wiz-label em{font-style:normal;font-weight:600;color:var(--text-muted)}.wiz .form-field input,.wiz .form-field select,.wiz .form-field textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:.62rem .8rem;font:inherit;transition:border-color .12s,box-shadow .12s}.wiz .form-field textarea{min-height:88px;resize:vertical}.wiz .form-field input:focus,.wiz .form-field select:focus,.wiz .form-field textarea:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--action-glow)}.wiz .form-field.has-error input,.wiz .form-field.has-error select{border-color:var(--danger)}.wiz-help{color:var(--text-muted);font-size:.82rem}.signup-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.wiz-chips{border:0;padding:0;margin:0;display:grid;gap:.6rem}.wiz-chips legend{font-weight:700;font-size:.9rem;margin-bottom:.4rem}.wiz-chips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.wiz-chip{display:flex;align-items:center;gap:.6rem;text-align:left;min-height:52px;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .12s,background-color .12s}.wiz-chip svg{flex:none;color:var(--text-muted)}.wiz-chip[aria-pressed=true]{border-color:var(--action);background:var(--hover-subtle)}.wiz-chip[aria-pressed=true] svg{color:var(--action)}.wiz-tick{margin-left:auto;width:18px;height:18px;border-radius:999px;border:1px solid var(--border);display:grid;place-items:center;color:transparent;flex:none}.wiz-chip[aria-pressed=true] .wiz-tick{background:var(--action);border-color:var(--action);color:var(--on-action)}.wiz-review{display:grid;gap:.8rem}.wiz-review section{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem;background:var(--surface)}.wiz-review header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.wiz-review header h3{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.wiz-review header .btn{min-height:32px}.wiz-review dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:.25rem .9rem;font-size:.92rem}.wiz-review dt{color:var(--text-muted)}.wiz-review dd{margin:0;font-weight:600;overflow-wrap:anywhere}.wiz-consent{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.6rem .9rem .5rem;margin:0;display:grid;gap:.2rem}.wiz-consent legend{font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:0 .3rem}.wiz-consent .check-row{display:flex;align-items:flex-start;gap:.6rem;padding:.3rem 0;font-size:.9rem;line-height:1.45}.wiz-consent input[type=checkbox]{flex:none;width:1.35rem;height:1.35rem;margin:.2rem 0 0}.wiz-consent label{cursor:pointer}.wiz-consent label em{font-style:normal;color:var(--text-muted)}.wiz-consent a{color:var(--action);text-decoration:underline;text-underline-offset:2px;font-weight:600}.wiz-consent-row.has-error input[type=checkbox]{outline:2px solid var(--danger);outline-offset:2px}.wiz-consent-row .form-error{display:block;margin:0 0 .3rem 1.7rem}.signup-captcha{min-height:66px}.signup-pay[hidden]{display:none}.wiz-privacy{color:var(--text-muted);font-size:.82rem;margin:0}.wiz-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.4rem;padding-top:1rem;border-top:1px solid var(--border)}.wiz-actions .btn{border-radius:999px;padding:.7rem 1.25rem;min-height:44px;font-weight:800;gap:.45rem}.wiz-actions .wiz-next{margin-left:auto}.wiz-done{text-align:center;padding:1rem 0 .5rem;display:grid;gap:.6rem;justify-items:center}.wiz-ok{width:64px;height:64px;border-radius:999px;background:var(--success-tint);color:var(--success);display:grid;place-items:center}.wiz-done h1{margin:.2rem 0 0;font-size:1.35rem;font-weight:800}.wiz-done p{margin:0;color:var(--text-muted);max-width:36ch}@media(max-width:560px){.wiz-rail li{font-size:.66rem}.wiz-rail li svg{display:none}.wiz-chips-grid{grid-template-columns:1fr}}@media(max-width:520px){.signup-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.wiz-panel{animation:none}}.platform-panel{margin-top:20px;display:grid;gap:20px}.plat-requests,.plat-companies,.plat-events{display:grid;gap:14px;align-content:start}.plat-requests>p,.plat-companies>p{margin:0}.plat-requests>.card+.card{margin-top:0}.plat-req{display:grid;gap:8px;padding:16px}.plat-req-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 16px;font-size:13px}.plat-req-grid dt{color:var(--text-muted)}.plat-req-head{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.plat-actions{display:flex;gap:8px;flex-wrap:wrap}.mfa-card{max-width:420px;display:grid;gap:12px}.mfa-card .form-field{margin:0}.mfa-card .form-field input{max-width:12rem;font-size:1.15rem;letter-spacing:.18em}.mfa-qr{width:200px;height:200px;justify-self:center}.mfa-secret code{-webkit-user-select:all;user-select:all}.plat-forbidden{margin-top:20px}.plat-ev-list{display:grid;gap:10px}.plat-ev{font-size:13px;display:grid;gap:6px}.platform-suspend-form .form-field{display:flex;flex-direction:column}.platform-suspend-form textarea{width:100%;box-sizing:border-box;min-height:5rem;resize:vertical}.plat-toolbar{display:flex;justify-content:flex-end;margin-bottom:.6rem}.plat-check{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;cursor:pointer}.plat-companies tr.is-archived td{color:var(--text-muted)}.plat-companies .data-table th{white-space:nowrap}.plat-companies .data-table td{vertical-align:middle}.plat-companies .plat-nowrap{white-space:nowrap}.plat-co-stack{display:grid;gap:4px;justify-items:start}.plat-co-name{min-width:14rem}.plat-co-name strong{font-weight:600;overflow-wrap:anywhere}.plat-co-sub{font-size:.82rem;color:var(--text-muted);overflow-wrap:anywhere}.plat-companies td.plat-actions{min-width:18rem}.plat-companies td.plat-actions .btn{white-space:nowrap}.plat-billing,.plat-billing-summary{display:grid;gap:14px;align-content:start}.plat-bill-period{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.plat-bill-range{font-weight:700;min-width:12rem;text-align:center}.plat-bill-sub{font-size:.85rem;color:var(--text-muted)}.plat-bill-table-wrap{overflow-x:auto}.plat-bill-chips{display:flex;flex-wrap:wrap;gap:4px}.plat-bill-detail>td{background:var(--surface-soft)}.plat-bill-detail-body{display:grid;gap:8px;padding:6px 0}.plat-bill-detail-body h4{margin:0;font-size:.9rem}.plat-invoices,.plat-inv-view{display:grid;gap:14px;align-content:start}.plat-invoices>p{margin:0}.plat-inv-toolbar{justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.plat-inv-filter{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.plat-inv-listerror{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.plat-inv-listerror>p{margin:0}.plat-inv-summary{margin:0 0 .75rem;font-weight:700;overflow-wrap:anywhere}.plat-inv-lang{border:none;margin:0 0 .75rem;padding:0;display:grid;gap:.35rem}.plat-inv-field{display:flex;flex-direction:column}.plat-inv-field textarea,.plat-inv-field input{width:100%;box-sizing:border-box}.plat-bill-sections{justify-self:start}.plat-billing-settings{display:grid;gap:10px}.plat-set-fields{display:grid;gap:10px;border:0;margin:0;padding:0;min-width:0}.plat-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 16px}.plat-cb-form{display:grid;gap:4px}
