:root{--costy-color-neutral-50: oklch(98.5% .002 250);--costy-color-neutral-100: oklch(96.5% .003 250);--costy-color-neutral-200: oklch(92.5% .004 250);--costy-color-neutral-300: oklch(86.5% .005 250);--costy-color-neutral-400: oklch(74% .007 250);--costy-color-neutral-500: oklch(60% .008 250);--costy-color-neutral-600: oklch(48% .008 250);--costy-color-neutral-700: oklch(38% .007 250);--costy-color-neutral-800: oklch(28% .006 250);--costy-color-neutral-900: oklch(20% .005 250);--costy-color-neutral-950: oklch(13.5% .004 250);--costy-bg-canvas: var(--costy-color-neutral-50);--costy-bg-surface: #ffffff;--costy-bg-surface-2: var(--costy-color-neutral-100);--costy-bg-surface-3: var(--costy-color-neutral-200);--costy-bg-overlay: color-mix(in oklch, var(--costy-color-neutral-950) 50%, transparent);--costy-ink-strong: var(--costy-color-neutral-950);--costy-ink-base: var(--costy-color-neutral-900);--costy-ink-muted: var(--costy-color-neutral-600);--costy-ink-subtle: var(--costy-color-neutral-500);--costy-ink-disabled: var(--costy-color-neutral-400);--costy-ink-on-accent:#ffffff;--costy-border-hairline: color-mix(in oklch, var(--costy-color-neutral-950) 6%, transparent);--costy-border-strong: color-mix(in oklch, var(--costy-color-neutral-950) 12%, transparent);--costy-border-focus: var(--costy-accent);--costy-accent: oklch(57% .16 275);--costy-accent-hover: oklch(52% .17 275);--costy-accent-active: oklch(47% .18 275);--costy-accent-soft: color-mix(in oklch, var(--costy-accent) 12%, transparent);--costy-success: oklch(64% .13 165);--costy-success-soft: color-mix(in oklch, var(--costy-success) 14%, transparent);--costy-warning: oklch(72% .14 75);--costy-warning-soft: color-mix(in oklch, var(--costy-warning) 14%, transparent);--costy-danger: oklch(60% .2 20);--costy-danger-soft: color-mix(in oklch, var(--costy-danger) 14%, transparent);--costy-info: oklch(60% .16 260);--costy-info-soft: color-mix(in oklch, var(--costy-info) 14%, transparent);--costy-font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--costy-font-mono: "JetBrains Mono", "SF Mono", "Fira Code", Consolas, monospace;--costy-font-display: "Montserrat", "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--costy-text-xs: .75rem;--costy-text-sm: .8125rem;--costy-text-base: .875rem;--costy-text-md: 1rem;--costy-text-lg: 1.25rem;--costy-text-xl: 1.75rem;--costy-leading-tight: 1.15;--costy-leading-base: 1.45;--costy-leading-relaxed:1.6;--costy-weight-regular: 400;--costy-weight-medium: 500;--costy-weight-semibold: 600;--costy-space-1: .25rem;--costy-space-2: .5rem;--costy-space-3: .75rem;--costy-space-4: 1rem;--costy-space-5: 1.5rem;--costy-space-6: 2rem;--costy-space-7: 3rem;--costy-space-8: 4rem;--costy-radius-sm: 4px;--costy-radius-md: 6px;--costy-radius-lg: 8px;--costy-radius-xl: 12px;--costy-radius-2xl: 16px;--costy-radius-full: 9999px;--costy-shadow-none: none;--costy-shadow-sm: 0 1px 2px color-mix(in oklch, var(--costy-color-neutral-950) 5%, transparent);--costy-shadow-md: 0 2px 6px color-mix(in oklch, var(--costy-color-neutral-950) 7%, transparent), 0 1px 2px color-mix(in oklch, var(--costy-color-neutral-950) 4%, transparent);--costy-shadow-lg: 0 8px 24px color-mix(in oklch, var(--costy-color-neutral-950) 10%, transparent), 0 2px 6px color-mix(in oklch, var(--costy-color-neutral-950) 5%, transparent);--costy-timing-fast: .15s;--costy-timing-base: .2s;--costy-timing-slow: .3s;--costy-ease-spring: linear( 0, .009, .035, .078, .137, .211, .298, .396, .502, .611, .717, .816, .902, .971, 1.019, 1.045, 1.051, 1.041, 1.022, .998, .976, .96, .951, .949, .953, .961, .972, .984, .996, 1.006, 1.014, 1.019, 1.021, 1.02, 1.017, 1.013, 1.008, 1.003, .999, 1 );--costy-ease-out: cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--costy-color-neutral-50: oklch(13.5% .004 250);--costy-color-neutral-100: oklch(17% .005 250);--costy-color-neutral-200: oklch(22% .006 250);--costy-color-neutral-300: oklch(28% .006 250);--costy-color-neutral-400: oklch(38% .007 250);--costy-color-neutral-500: oklch(50% .008 250);--costy-color-neutral-600: oklch(62% .008 250);--costy-color-neutral-700: oklch(74% .007 250);--costy-color-neutral-800: oklch(85% .005 250);--costy-color-neutral-900: oklch(92% .004 250);--costy-color-neutral-950: oklch(98% .003 250);--costy-bg-surface: var(--costy-color-neutral-100);--costy-bg-overlay: color-mix(in oklch, #000 60%, transparent);--costy-border-hairline: color-mix(in oklch, #ffffff 8%, transparent);--costy-border-strong: color-mix(in oklch, #ffffff 14%, transparent)}:root{--bg: #F1F6FB;--surface: #FFFFFF;--surface-2: #F5F5F5;--surface-3: #EBEBEB;--surface-alt: #FAFAFA;--border: #E5E5E5;--border-2: #D4D4D4;--border-focus:#5E6AD2;--accent: #5E6AD2;--accent-dark: #4F58B8;--accent-light:#EEF0FF;--accent-bg: rgba(94,106,210,.08);--color-success: #00875F;--color-success-bg:#E8F7F0;--color-warning: #B8651F;--color-warning-bg:#FBF1E6;--color-danger: #CC2929;--color-danger-bg: #FBEAEA;--color-info: #5E6AD2;--color-info-bg: #EEF0FF;--text: #0A0A0A;--text-2: #404040;--text-muted: #737373;--text-dim: #A3A3A3;--font-sans: var(--costy-font-sans);--font-mono: var(--costy-font-mono);--font-display: var(--costy-font-display);--radius: 6px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 8px;--radius-xl: 12px;--shadow-xs: 0 1px 1px rgba(0,0,0,.03);--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 6px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-lg: 0 8px 24px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--ease: cubic-bezier(.4, 0, .2, 1);--duration: .12s;--gradient-hero: linear-gradient(135deg, #5E6AD2 0%, #EC4899 100%)}.gradient-num{background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}::selection{background:var(--accent-light);color:var(--accent-dark)}.skip-link{position:absolute;top:-100%;left:8px;z-index:9999;padding:6px 12px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-sm);text-decoration:none;transition:top .1s}.skip-link:focus{top:8px}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:52px;position:sticky;top:0;z-index:100}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:0}.logo-mark img{width:32px;height:32px;display:block}.logo-text{display:flex;align-items:center;gap:8px}.logo-name{font-size:14px;font-weight:600;letter-spacing:-.3px;color:var(--text)}.logo-sub{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px;font-weight:400}.logo-sub:before{content:"/";color:var(--border-2)}.version-tag{font-size:9.5px;font-weight:600;color:var(--accent-dark);background:var(--accent-light);padding:3px 9px;border-radius:999px;letter-spacing:.06em;font-family:var(--font-sans);border:1px solid var(--accent-bg)}.header-actions{display:flex;gap:4px;align-items:center}.header-actions .btn{color:var(--text);background:transparent;border-color:var(--border);text-shadow:none;font-size:12px;padding:5px 11px;font-weight:500}.header-actions .btn:hover{background:var(--surface-2);border-color:var(--border-2)}.header-actions .btn-primary{background:var(--text);color:var(--surface);border-color:var(--text);font-weight:500}.header-actions .btn-primary:hover{background:#262626;border-color:#262626}.btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:12px;font-weight:500;cursor:pointer;touch-action:manipulation;transition:all var(--duration) var(--ease);white-space:nowrap;line-height:1.3}.btn-primary{background:var(--text);color:var(--surface);border-color:var(--text)}.btn-primary:hover{background:#262626;border-color:#262626}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--border-2)}.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent-dark)}.btn-accent:hover{background:var(--accent-dark)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--border)}.btn-danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.btn-sm{font-size:11px;padding:4px 9px}.btn-xs{font-size:10px;padding:3px 7px}.app-shell{display:flex;align-items:stretch;min-height:0}.app-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}@media print{.app-shell,.app-main{display:block}}.settings-section{margin-bottom:var(--costy-space-5, 24px)}.settings-section:last-of-type{margin-bottom:0}.settings-title{margin:0 0 4px;font-family:var(--costy-font-display, var(--font-display));font-size:14px;font-weight:600;color:var(--costy-ink-strong, #0A0A0A)}.settings-description{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--costy-ink-muted, #737373)}.settings-description kbd{font-family:var(--costy-font-mono, monospace);font-size:11px;padding:1px 5px;background:var(--costy-bg-surface-2, #F5F5F5);border:1px solid var(--costy-border-hairline, #E5E5E5);border-radius:4px;color:var(--costy-ink-base, #404040)}.settings-soon{font-size:11px;color:var(--costy-ink-subtle, #A3A3A3);margin-left:4px}.theme-options{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;border:0}.theme-option{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;color:var(--costy-ink-base, #404040);border-radius:6px;cursor:pointer;transition:background-color .12s ease}.theme-option:hover{background:var(--costy-bg-surface-2, #F5F5F5)}.theme-option input[type=radio]{margin:0;cursor:pointer}.settings-footer{display:flex;justify-content:flex-end;gap:8px}.shortcut-overlay-body{display:flex;flex-direction:column;gap:var(--costy-space-5, 24px)}.shortcut-group{margin:0}.shortcut-group-title{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--costy-ink-muted, #737373)}.shortcut-list{margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.shortcut-row{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--costy-border-hairline, #E5E5E5)}.shortcut-row:last-child{border-bottom:0}.shortcut-keys{margin:0;font-family:var(--costy-font-mono, monospace);font-size:12px;color:var(--costy-ink-base, #404040)}.shortcut-keys kbd{font:inherit;padding:2px 6px;background:var(--costy-bg-surface-2, #F5F5F5);border:1px solid var(--costy-border-hairline, #E5E5E5);border-radius:4px;color:var(--costy-ink-strong, #0A0A0A)}.shortcut-label{margin:0;font-size:13px;color:var(--costy-ink-base, #404040)}.rail-cmdk-hint,.rail-user-chip{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;padding:8px 10px;background:transparent;border:0;border-radius:6px;font:inherit;font-size:13px;color:var(--costy-ink-muted, #737373);cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease}.rail-cmdk-hint:hover,.rail-user-chip:hover{background:var(--costy-bg-surface-2, #F5F5F5);color:var(--costy-ink-base, #404040)}.rail-cmdk-hint:focus-visible,.rail-user-chip:focus-visible{outline:2px solid var(--costy-accent, #5E6AD2);outline-offset:2px}.rail-cmdk-hint{margin-bottom:4px}.rail-cmdk-hint span{flex:1 1 auto}.rail-cmdk-hint kbd{flex:0 0 auto;font-family:var(--costy-font-mono, monospace);font-size:11px;padding:1px 5px;background:var(--costy-bg-surface-2, #F5F5F5);border:1px solid var(--costy-border-hairline, #E5E5E5);border-radius:4px;color:var(--costy-ink-base, #404040)}.rail-user-avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--costy-accent-soft, #EEF0FF);color:var(--costy-accent, #5E6AD2);font-weight:600;font-size:11px;letter-spacing:.02em}.rail-user-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--costy-ink-base, #404040)}costy-rail[collapsed] .rail-cmdk-hint{display:none}costy-rail[collapsed] .rail-user-chip{padding:4px;justify-content:center}costy-rail[collapsed] .rail-user-name{display:none}.tab-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 20px;display:flex;gap:2px;overflow-x:auto;height:40px;align-items:stretch}.tab-btn{padding:0 12px;background:none;border:none;border-bottom:1.5px solid transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:12.5px;font-weight:500;cursor:pointer;transition:all var(--duration) var(--ease);margin-bottom:-1px;white-space:nowrap;position:relative;display:flex;align-items:center;gap:6px}.tab-btn:hover{color:var(--text);background:var(--surface-2)}.tab-btn.active{color:var(--text);border-bottom-color:var(--text);font-weight:600;background:transparent}.tab-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:600;border-radius:10px;min-width:18px;height:16px;padding:0 5px;margin-left:4px;font-family:var(--font-sans)}.tab-btn.active .tab-badge{background:var(--text);color:var(--surface)}.tab-cost{font-size:10px;color:var(--text-muted);margin-left:4px;font-family:var(--font-mono);font-weight:500}.tab-pane{display:none}.tab-pane.active{display:block}.page{max-width:940px;margin:0 auto;padding:20px 20px 40px;display:flex;flex-direction:column;gap:16px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.info-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:none}.card-header{padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.card-header-actions{display:flex;gap:6px}.field-row{display:flex;align-items:center;padding:8px 18px;border-bottom:1px solid var(--border);gap:10px;min-height:38px;transition:background var(--duration) var(--ease)}.field-row:last-child{border-bottom:none}.field-row:focus-within{background:var(--accent-bg)}.field-label{font-size:12.5px;color:var(--text-muted);min-width:90px;flex-shrink:0;font-weight:500}.field-input{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--font-sans);font-size:13.5px;outline:none;padding:2px 0}.field-input::placeholder{color:var(--text-dim)}.field-select{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--font-sans);font-size:13.5px;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.checkbox-strip{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px}.cb-pill{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);cursor:pointer;padding:4px 10px;background:var(--surface-2);border-radius:20px;border:1px solid var(--border);transition:all var(--duration) var(--ease);user-select:none}.cb-pill:hover{color:var(--text);border-color:var(--border-2)}.cb-pill input{width:12px;height:12px;accent-color:var(--accent);cursor:pointer}.supply-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-sans);font-size:10.5px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);margin-left:auto}.supply-btn:hover{color:var(--text);border-color:var(--border-2)}.supply-btn.on{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning)}.round-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-sans);font-size:10px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}.round-btn.on{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.notes-wrap{padding:8px 18px 10px;border-bottom:1px solid var(--border)}.notes-area{width:100%;border:none;background:transparent;font-family:var(--font-sans);font-size:12.5px;color:var(--text);resize:none;outline:none;min-height:44px;line-height:1.6;display:block;field-sizing:content;max-height:120px;overflow-y:auto}.notes-area::placeholder{color:var(--text-dim)}@media(pointer:coarse){.field-input,.field-select,.notes-area{font-size:16px}}.suburb-wrap{position:relative;overflow:visible!important}.suburb-dd{position:absolute;left:0;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:200px;overflow-y:auto;z-index:200;display:none;box-shadow:var(--shadow-md)}.suburb-dd.open{display:block}.suburb-opt{padding:7px 14px;font-size:12.5px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:10px;transition:background 80ms}.suburb-opt:last-child{border-bottom:none}.suburb-opt:hover,.suburb-opt.active{background:var(--accent-bg)}.suburb-opt-pc{font-size:11px;color:var(--text-muted)}.tbl-wrap{overflow-x:auto}table.items{width:100%;border-collapse:collapse}table.items thead th{padding:8px 12px;text-align:left;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted);background:var(--surface-alt);border-bottom:1px solid var(--border)}table.items thead th.r{text-align:right}#tab-carpet table.items thead th,#tab-hf table.items thead th{font-size:10.5px}table.items td{padding:6px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table.items tbody tr:hover td{background:var(--accent-bg)}table.items tbody tr:focus-within td{background:var(--accent-bg)}tr.sec-row td{padding:6px 12px;background:var(--surface-2);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--accent-dark);border-top:1px solid var(--border)}.iname-inp{font-size:12.5px;color:var(--text);background:transparent;border:none;border-bottom:1px dashed transparent;outline:none;width:100%;min-width:200px;font-family:var(--font-sans);padding:2px 3px;transition:border-color var(--duration) var(--ease)}.iname-inp:hover{border-bottom-color:var(--border-2)}.iname-inp:focus{border-bottom-color:var(--accent);background:var(--accent-bg)}.iname-inp::placeholder{color:var(--text-dim);font-style:italic}.unit-badge{display:inline-block;padding:3px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.unit-inp{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-size:9px;font-weight:700;color:var(--text-muted);font-family:var(--font-sans);text-align:center;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;width:80px;outline:none}.unit-inp:focus{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-bg)}.num-inp{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:13px;padding:4px 8px;text-align:right;width:88px;outline:none;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease);display:block;margin-left:auto}.num-inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5e6ad214}@media(pointer:coarse){.num-inp,.iname-inp{font-size:16px}}.row-total{font-family:var(--font-mono);font-size:13px;text-align:right;color:var(--text);min-width:88px}tr.subtotal-row td{padding:8px 12px;background:#5e6ad208;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2)}.subtotal-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--accent-dark)}.subtotal-val{font-family:var(--font-mono);font-size:13px;font-weight:600;text-align:right;color:var(--accent-dark)}tr.grand-row td{padding:10px 12px;background:#5e6ad20d;border-top:2px solid var(--accent)}.grand-lbl{font-size:13.5px;font-weight:700;color:var(--text)}.grand-val{font-family:var(--font-mono);font-size:16px;font-weight:700;text-align:right;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}tr.supply-dim td{opacity:.2;pointer-events:none;user-select:none}.iunit{text-align:right;white-space:nowrap;padding-right:2px}.iname{position:relative}.prod-dd{position:absolute;left:0;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:240px;overflow-y:auto;z-index:200;display:none;box-shadow:var(--shadow-md)}.prod-dd.open{display:block}.prod-opt{padding:7px 12px;font-size:12.5px;cursor:pointer;border-bottom:1px solid var(--surface-2);display:flex;justify-content:space-between;align-items:center;gap:8px;transition:background 80ms}.prod-opt:last-child{border-bottom:none}.prod-opt:hover,.prod-opt.active{background:var(--accent-bg)}.prod-opt-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod-opt-cost{font-family:var(--font-mono);font-size:11px;color:var(--accent-dark);font-weight:600;white-space:nowrap}.prod-opt-unit{font-size:9px;color:var(--text-dim);white-space:nowrap}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.cost-summary{padding:10px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:var(--surface-alt);border-bottom:1px solid var(--border)}.cost-seg{display:flex;align-items:center;gap:4px;font-size:10.5px}.cost-seg+.cost-seg:before{content:"·";color:var(--text-dim);margin:0 4px}.cost-key{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.cost-val{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.cost-val.amber{color:var(--color-warning)}.cost-total{margin-left:auto;display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text)}.cost-total-lbl{font-family:var(--font-sans);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.levy-hint{font-size:8.5px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-dim)}.margin-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--border)}.margin-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);white-space:nowrap;margin-right:3px}.margin-btn{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}.margin-btn.mg-d{color:var(--color-danger);border-color:#c6282833}.margin-btn.mg-w{color:var(--color-warning);border-color:#e6510033}.margin-btn.mg-g{color:var(--color-success);border-color:#2e7d3233}.margin-btn.active.mg-d{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.margin-btn.active.mg-w{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.margin-btn.active.mg-g{background:var(--color-success);border-color:var(--color-success);color:#fff}.margin-sep{width:1px;height:18px;background:var(--border);flex-shrink:0}.pricing-fields{display:flex;flex-direction:column;padding:8px 18px 4px}.pricing-field{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;border-bottom:1px solid var(--border)}.pricing-field:last-child{border-bottom:none}.pricing-field-label{font-size:12.5px;color:var(--text-muted);flex:1;white-space:nowrap}.bi-inp{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:13px;padding:4px 8px;text-align:right;width:130px;outline:none;transition:all var(--duration) var(--ease)}.bi-inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5e6ad214}.bi-inp.driver{border-color:var(--accent);background:#5e6ad20a;color:var(--accent-dark)}.invoice-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px;border-top:1px solid var(--border);background:var(--surface)}.invoice-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);flex:1}.invoice-right{display:flex;align-items:center;gap:10px}.gp-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-dim);transition:all var(--duration) var(--ease);white-space:nowrap}.gp-badge.gp-good,.gp-badge.gp-ok{background:var(--color-success-bg);color:var(--color-success)}.gp-badge.gp-warn{background:var(--color-warning-bg);color:var(--color-warning)}.gp-badge.gp-danger{background:var(--color-danger-bg);color:var(--color-danger)}.invoice-value{font-family:var(--font-sans);font-size:24px;font-weight:700;white-space:nowrap;letter-spacing:-.8px;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.extras-toggle{display:block;padding:6px 18px;font-family:var(--font-sans);font-size:10.5px;font-weight:600;color:var(--text-dim);border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:color var(--duration) var(--ease);border-top:1px solid var(--border)}.extras-toggle:hover{color:var(--accent)}.extras-panel{display:none}.extras-panel.visible{display:block}.deposit-row,.pm-row{display:flex;align-items:center;gap:10px;padding:8px 18px;border-top:1px solid var(--border);font-size:11.5px}.dep-lbl,.pm-lbl{font-size:12.5px;color:var(--text-muted);font-weight:500;min-width:70px}.dep-pills{display:flex;gap:4px}.dep-pill{padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}.dep-pill:hover{border-color:var(--accent);color:var(--accent)}.dep-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.dep-custom,.pm-inp{width:100px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;padding:3px 8px;text-align:right;color:var(--text);outline:none}.dep-custom:focus,.pm-inp:focus{border-color:var(--accent)}.dep-result,.pm-result{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text);margin-left:auto;white-space:nowrap}.action-bar{padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-xs)}.action-bar-left{display:flex;gap:6px;flex-wrap:wrap}#tab-carpet .page,#tab-hf .page{max-width:1160px}.pe-shell{display:block;width:100%;position:relative}.pe-form{display:block;min-width:0;flex:1 1 auto}.pe-preview{display:none;flex:0 0 480px;min-width:360px;max-width:560px;border-left:1px solid var(--border);padding:20px 24px;background:var(--surface);align-self:stretch;overflow-y:auto}@media(min-width:1280px)and (pointer:fine){[data-pe-preview=on] .pe-shell{display:flex;align-items:stretch;gap:0}[data-pe-preview=on] .pe-preview{display:block}}@media(prefers-reduced-motion:reduce){.pe-preview{transition:none}}.pe-preview-pane{display:flex;flex-direction:column;gap:18px;font-family:var(--font-sans);color:var(--text)}.pe-preview-empty{padding:64px 16px 32px;text-align:center;color:var(--text-muted);font-size:13px;line-height:1.5}.pe-preview-empty-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:10px}.pe-preview-empty p{margin:0}.pe-preview-header{display:flex;flex-direction:column;gap:4px}.pe-preview-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.pe-preview-customer{margin:0;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--text)}.pe-preview-address{margin:0;font-size:12px;color:var(--text-muted)}.pe-preview-meta{font-size:11.5px;color:var(--text-muted);margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.pe-preview-flag{display:inline-flex;align-self:flex-start;margin-top:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;background:var(--surface-alt);border:1px solid var(--border-2);border-radius:999px;color:var(--text)}.pe-preview-items{width:100%;border-collapse:collapse;font-size:12px}.pe-preview-items thead th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:6px 0;text-align:left;border-bottom:1px solid var(--border)}.pe-preview-items thead th.r{text-align:right}.pe-preview-items tbody td{padding:6px 0;border-bottom:1px solid var(--border);vertical-align:top}.pe-preview-items tbody td.r{text-align:right;font-variant-numeric:tabular-nums}.pe-preview-items tbody td.b{font-weight:600}.pe-preview-item-name{display:block}.pe-preview-item-unit{display:block;font-size:10.5px;color:var(--text-muted);margin-top:1px}.pe-preview-totals{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:4px;font-size:12px}.pe-preview-totals-row{display:flex;justify-content:space-between;color:var(--text-muted);font-variant-numeric:tabular-nums}.pe-preview-discount{color:var(--warning, #b45309)}.pe-preview-deposit{color:var(--text-muted);font-size:11.5px}.pe-preview-total-line{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border);padding-top:10px;margin-top:6px;font-weight:700;font-size:13px}.pe-preview-total-value{font-size:22px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.4px}.pe-preview-internal{border-top:1px dashed var(--border);padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted)}.pe-preview-internal-label{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.pe-preview-gp{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px}.pe-gp-success{color:var(--color-success);background:var(--color-success-bg)}.pe-gp-warning{color:var(--color-warning);background:var(--color-warning-bg)}.pe-gp-danger{color:var(--color-danger);background:var(--color-danger-bg)}@keyframes pe-flash-pulse{0%{transform:scale(1);background-color:var(--accent-bg, rgba(245, 158, 11, .18))}35%{transform:scale(1.04)}to{transform:scale(1);background-color:transparent}}.row-total[data-flash],.row-total-value[data-flash],.pe-preview-total-value[data-flash]{animation:pe-flash-pulse .28s ease-out;transform-origin:right center;border-radius:4px}.row-total-value[data-flash]{display:inline-block}@media(prefers-reduced-motion:reduce){.row-total[data-flash],.row-total-value[data-flash],.pe-preview-total-value[data-flash]{animation:none}}.pe-card{display:block}.pe-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.pe-card-header-aux{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.pe-card-items::part(body){padding:0}#tbl-carpet td.row-total,#tbl-hf td.row-total{position:relative;text-align:right;padding-right:28px}.row-total-value{font-variant-numeric:tabular-nums}.row-detail-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out;position:absolute;right:2px;top:50%;transform:translateY(-50%)}.row-detail-btn svg{width:14px;height:14px}.row-detail-btn:hover{background:var(--surface-2, rgba(0,0,0,.04));color:var(--text);border-color:var(--border)}.row-detail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(pointer:coarse),(max-width:1024px){#tbl-carpet td.row-total,#tbl-hf td.row-total{padding-right:38px}.row-detail-btn{width:32px;height:32px;color:var(--accent);border-color:var(--border)}.row-detail-btn svg{width:16px;height:16px}}tr.supply-dim .row-detail-btn{display:none}.line-item-body{display:flex;flex-direction:column;gap:14px;font-family:var(--font-sans);color:var(--text)}.li-eyebrow{display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-muted)}.li-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full, 999px);background:var(--surface-2, rgba(0,0,0,.04));color:var(--text-muted);font-size:10px;letter-spacing:.04em;font-weight:500;text-transform:none}.li-title{margin:0;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--text);word-break:break-word}.li-field{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.li-field-row{display:flex;gap:12px}.li-field-label{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.li-field-input{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--bg);color:var(--text);font:inherit;font-size:15px;font-variant-numeric:tabular-nums;transition:border-color .12s ease-out,box-shadow .12s ease-out}.li-field-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent)}.li-field-static{padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius-md, 8px);background:var(--surface);color:var(--text-muted);font-size:14px}.li-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:4px;padding:14px 16px;border-radius:var(--radius-md, 8px);background:var(--surface-2, rgba(0,0,0,.04));border:1px solid var(--border)}.li-total-label{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.li-total-value{font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--text);font-variant-numeric:tabular-nums}.li-hint{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-dim)}.li-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.qjc-page{max-width:720px;margin:0 auto;padding:22px 18px 40px;display:flex;flex-direction:column;gap:0}.qjc-brand{text-align:center;padding:6px 0 20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim)}.qjc-mode-bar{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:4px}.qjc-mode-btn{flex:1;padding:11px 14px;background:none;border:none;font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);position:relative}.qjc-mode-btn:not(:last-child){border-right:1px solid var(--border)}.qjc-mode-btn:hover{color:var(--text)}.qjc-mode-btn.active{color:var(--accent);background:var(--accent-bg)}.qjc-mode-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.qjc-inputs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:4px}.qjc-field{display:flex;flex-direction:column;gap:4px;padding:14px 20px;border-bottom:1px solid var(--border)}.qjc-field:last-child{border-bottom:none}.qjc-field-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.qjc-field-inp{background:transparent;border:none;outline:none;font-family:var(--font-sans);font-size:20px;font-weight:600;color:var(--text);width:100%;padding:0}.qjc-field-inp::placeholder{color:var(--text-dim);font-weight:400}.qjc-field-inp-wrap{display:flex;align-items:center;gap:6px}.qjc-field-pfx{font-size:20px;font-weight:600;color:var(--text-dim)}.qjc-field-mono{background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--text);width:100%;padding:0;-moz-appearance:textfield;appearance:textfield}.qjc-field-mono::placeholder{color:var(--text-dim);font-weight:400}.qjc-field-mono::-webkit-inner-spin-button,.qjc-field-mono::-webkit-outer-spin-button{-webkit-appearance:none}.qjc-field-unit{font-size:11px;color:var(--text-dim);white-space:nowrap;align-self:flex-end;padding-bottom:3px}.qjc-field-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.qjc-field-row .qjc-field{border-bottom:none}.qjc-field-row .qjc-field:first-child{border-right:1px solid var(--border)}.qjc-toggle-bar{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 20px;margin-bottom:4px;cursor:pointer;transition:background var(--duration) var(--ease);-webkit-tap-highlight-color:transparent}.qjc-toggle-bar:hover{background:var(--surface-2)}.qjc-toggle-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.qjc-toggle{width:36px;height:20px;background:var(--surface-3);border:1px solid var(--border-2);border-radius:20px;position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.qjc-toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-dim);transition:transform .2s,background .2s}.qjc-toggle.on{background:var(--accent);border-color:var(--accent-dark)}.qjc-toggle.on:after{transform:translate(16px);background:#fff}.qjc-stairs-panel{display:none;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);margin-top:-4px;margin-bottom:4px;padding:12px 20px;gap:12px}.qjc-stairs-panel.open{display:flex}.qjc-stairs-field{display:flex;flex-direction:column;gap:4px;flex:1}.qjc-stairs-lbl{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.qjc-stairs-inp{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--text);padding:6px 10px;width:100%;outline:none;-moz-appearance:textfield;appearance:textfield;text-align:center}.qjc-stairs-inp:focus{border-color:var(--accent)}.qjc-stairs-inp::-webkit-inner-spin-button,.qjc-stairs-inp::-webkit-outer-spin-button{-webkit-appearance:none}.qjc-stairs-rate{font-size:10px;color:var(--text-dim);text-align:center;font-family:var(--font-mono)}.qjc-margin-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 20px;margin-bottom:4px}.qjc-margin-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px}.qjc-margin-btns{display:flex;gap:5px;flex-wrap:wrap}.qjc-mg-btn{padding:8px 15px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer;transition:all var(--duration) var(--ease);min-width:54px;text-align:center}.qjc-mg-btn:hover{border-color:var(--accent);color:var(--accent)}.qjc-mg-btn.mg-d{color:var(--color-danger);border-color:#c6282833}.qjc-mg-btn.mg-w{color:var(--color-warning);border-color:#e6510033}.qjc-mg-btn.mg-g{color:var(--color-success);border-color:#2e7d3233}.qjc-mg-btn.active.mg-d{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.qjc-mg-btn.active.mg-w{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.qjc-mg-btn.active.mg-g{background:var(--color-success);border-color:var(--color-success);color:#fff}.qjc-divider{height:1px;background:var(--border);margin:4px 0}.qjc-price-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px;transition:border-color .2s}.qjc-hero-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);flex:1;min-width:0}.qjc-hero-right{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.qjc-hero-pct{display:inline-block;padding:3px 10px;border-radius:20px;font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-dim);white-space:nowrap;transition:background .2s,color .2s}.qjc-hero-pct.mg-d{background:var(--color-danger-bg);color:var(--color-danger)}.qjc-hero-pct.mg-w{background:var(--color-warning-bg);color:var(--color-warning)}.qjc-hero-pct.mg-g{background:var(--color-success-bg);color:var(--color-success)}.qjc-hero-val{font-family:var(--font-sans);font-size:24px;font-weight:700;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:-.8px;white-space:nowrap}.qjc-supply-tag{display:none;font-size:8.5px;font-weight:700;color:var(--color-warning);background:var(--color-warning-bg);border:1px solid rgba(230,81,0,.15);border-radius:20px;padding:1px 8px;letter-spacing:.3px}.qjc-supply-tag.show{display:inline-block}.qjc-prices{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.qjc-price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background .2s,border-color .2s}.qjc-price-lbl-wrap{display:flex;flex-direction:column;gap:2px}.qjc-price-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.qjc-price-desc{font-size:11px;color:var(--text-dim)}.qjc-price-val{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px;white-space:nowrap;transition:color .2s}.qjc-price-val.empty{opacity:.2}.qjc-price-card.tint-d{border-color:#c6282840;background:#c6282805}.qjc-price-card.tint-w{border-color:#e6510040;background:#e6510005}.qjc-price-card.tint-g{border-color:#2e7d3240;background:#2e7d3205}.qjc-price-card.tint-d .qjc-price-val{color:var(--color-danger)}.qjc-price-card.tint-w .qjc-price-val{color:var(--color-warning)}.qjc-price-card.tint-g .qjc-price-val{color:var(--color-success)}.qjc-stats{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:4px}.qjc-stat-row{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);gap:12px}.qjc-stat-row:last-child{border-bottom:none}.qjc-stat-lbl{font-size:11.5px;color:var(--text-muted)}.qjc-stat-val{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text)}.qjc-gp-row{display:flex;align-items:center;gap:8px}.qjc-gp-track{width:80px;height:5px;background:var(--surface-3);border-radius:3px;overflow:hidden}.qjc-gp-fill{height:100%;width:0%;border-radius:3px;background:var(--color-success);transition:width .25s var(--ease)}.qjc-bd-toggle{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-sans);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}.qjc-bd-toggle:hover{background:var(--surface-2);color:var(--text)}.qjc-bd-arrow{transition:transform .2s var(--ease);font-size:9px}.qjc-bd-toggle.open .qjc-bd-arrow{transform:rotate(180deg)}.qjc-page{max-width:720px}.qjc-page .qjc-mode-btn{padding:10px 14px;font-size:13px;min-height:36px}.qjc-page .qjc-field{padding:10px 18px}.qjc-page .qjc-field-lbl{font-size:11px}.qjc-page .qjc-field-inp,.qjc-page .qjc-field-mono{font-size:16px;line-height:1.15;font-variant-numeric:tabular-nums}.qjc-page .qjc-field-pfx{font-size:16px}.qjc-page .qjc-field-unit{font-size:11px;padding-bottom:3px}.qjc-page #qjc-product{font-size:14px}.qjc-page .qjc-toggle-bar{padding:10px 18px;min-height:40px}.qjc-page .qjc-toggle-lbl{font-size:11.5px;letter-spacing:.5px}.qjc-page .qjc-toggle{width:36px;height:22px;border-radius:22px}.qjc-page .qjc-toggle:after{width:18px;height:18px;top:2px;left:2px}.qjc-page .qjc-toggle.on:after{transform:translate(14px)}.qjc-page .qjc-stairs-panel{padding:10px 18px;gap:10px}.qjc-page .qjc-stairs-inp{font-size:14px;padding:6px 10px;min-height:32px;font-variant-numeric:tabular-nums}.qjc-page .qjc-stairs-lbl,.qjc-page .qjc-stairs-rate{font-size:10.5px}.qjc-page .qjc-margin-bar{padding:10px 18px 12px}.qjc-page .qjc-margin-lbl{font-size:10px;margin-bottom:8px}.qjc-page .qjc-margin-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;flex-wrap:unset}.qjc-page .qjc-mg-btn{padding:0;min-height:30px;min-width:0;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;border-radius:6px;-webkit-tap-highlight-color:transparent;transition:transform .08s var(--ease),background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.qjc-page .qjc-mg-btn:active{transform:scale(.97)}@media(max-width:520px){.qjc-page .qjc-margin-btns{grid-template-columns:repeat(2,1fr)}}.qjc-page .qjc-price-hero{padding:14px 18px}.qjc-page .qjc-hero-val{font-size:24px;letter-spacing:-.8px}.qjc-page .qjc-price-card{padding:12px 18px;min-height:52px}.qjc-page .qjc-price-badge{font-size:10px}.qjc-page .qjc-price-desc{font-size:11px}.qjc-page .qjc-price-val{font-size:18px}.qjc-page .qjc-stat-row{padding:8px 18px}.qjc-page .qjc-stat-lbl{font-size:11.5px}.qjc-page .qjc-stat-val{font-size:13px}.qjc-page .qjc-gp-track{width:90px;height:5px}.qjc-page .qjc-bd-toggle{padding:10px 18px;font-size:11px;min-height:36px}.qjc-page .qjc-restart{padding:10px;min-height:36px;font-size:12.5px}.qjc-page #qjc-rooms-btn{min-height:32px;padding:6px 12px;font-size:12.5px}@media(pointer:coarse){.qjc-page .qjc-mode-btn{padding:16px 18px;font-size:14px;min-height:48px}.qjc-page .qjc-field{padding:18px 22px}.qjc-page .qjc-field-lbl{font-size:10px}.qjc-page .qjc-field-inp,.qjc-page .qjc-field-mono,.qjc-page .qjc-field-pfx{font-size:28px}.qjc-page .qjc-field-unit{font-size:12px;padding-bottom:5px}.qjc-page #qjc-product{font-size:18px}.qjc-page .qjc-toggle-bar{padding:16px 22px;min-height:56px}.qjc-page .qjc-toggle-lbl{font-size:12px;letter-spacing:.6px}.qjc-page .qjc-toggle{width:48px;height:28px;border-radius:28px}.qjc-page .qjc-toggle:after{width:22px;height:22px}.qjc-page .qjc-toggle.on:after{transform:translate(20px)}.qjc-page .qjc-stairs-panel{padding:16px 22px;gap:14px}.qjc-page .qjc-stairs-inp{font-size:22px;padding:10px 12px;min-height:48px}.qjc-page .qjc-stairs-lbl,.qjc-page .qjc-stairs-rate{font-size:11px}.qjc-page .qjc-margin-bar{padding:12px 18px}.qjc-page .qjc-margin-lbl{font-size:10px;margin-bottom:10px}.qjc-page .qjc-margin-btns{gap:6px}.qjc-page .qjc-mg-btn{min-height:40px;font-size:14px;border-radius:8px}.qjc-page .qjc-price-hero{padding:16px 20px}.qjc-page .qjc-hero-pct{font-size:12px;padding:4px 11px}.qjc-page .qjc-hero-val{font-size:28px}.qjc-page .qjc-price-card{padding:18px 22px;min-height:68px}.qjc-page .qjc-price-badge{font-size:10.5px}.qjc-page .qjc-price-desc{font-size:12px}.qjc-page .qjc-price-val{font-size:26px}.qjc-page .qjc-stat-row{padding:14px 22px}.qjc-page .qjc-stat-lbl{font-size:12.5px}.qjc-page .qjc-stat-val{font-size:15px}.qjc-page .qjc-gp-track{width:100px;height:6px}.qjc-page .qjc-bd-toggle{padding:14px 22px;font-size:11.5px;min-height:48px}.qjc-page .qjc-restart{padding:14px;min-height:48px;font-size:13px}.qjc-page #qjc-rooms-btn{min-height:44px;padding:10px 14px;font-size:13px}}.qjc-bd-body{display:none;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;margin-top:-5px}.qjc-bd-body.open{display:block}.qjc-bd-row{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border);font-size:11.5px}.qjc-bd-row:last-child{border-bottom:none}.qjc-bd-name{color:var(--text-muted)}.qjc-bd-val{font-family:var(--font-mono);color:var(--text);font-weight:500}.qjc-bd-total{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--surface-alt);font-size:11.5px;font-weight:700;border-top:2px solid var(--border-2)}.qjc-prod-wrap{position:relative}.qjc-prod-dd{position:absolute;left:0;right:0;top:100%;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:260px;overflow-y:auto;z-index:200;display:none;box-shadow:var(--shadow-md)}.qjc-prod-dd.open{display:block}.qjc-prod-opt{padding:8px 14px;font-size:12.5px;cursor:pointer;border-bottom:1px solid var(--surface-2);display:flex;justify-content:space-between;align-items:center;gap:8px;transition:background 80ms}.qjc-prod-opt:last-child{border-bottom:none}.qjc-prod-opt:hover,.qjc-prod-opt.active{background:var(--accent-bg)}.qjc-prod-opt-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qjc-prod-opt-cost{font-family:var(--font-mono);font-size:11px;color:var(--accent-dark);font-weight:600}.qjc-prod-opt-unit{font-size:9px;color:var(--text-dim)}.qjc-restart{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;padding:10px 18px;border-radius:var(--radius-lg);border:1px solid rgba(198,40,40,.3);background:var(--surface);color:var(--color-danger);font-family:var(--font-sans);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease)}.qjc-restart:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.qjc-min-labour-notice{display:flex;align-items:flex-start;gap:7px;margin:-4px 0 6px;padding:8px 12px;background:#e6950017;border:1px solid rgba(230,149,0,.35);border-radius:var(--radius-sm);font-size:11.5px;line-height:1.45;animation:qjc-mln-in .18s var(--ease)}@keyframes qjc-mln-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.qjc-mln-icon{font-size:12px;flex-shrink:0;margin-top:1px;color:var(--color-warning)}.qjc-mln-text{color:var(--text)}.qjc-mln-text strong{color:var(--color-warning);font-weight:700}.qjc-mln-sub{color:var(--text-muted);font-size:10.5px}.qjc-mln-tag{display:inline-block;font-size:9px;font-weight:700;padding:1px 5px;border-radius:6px;background:#e6950026;color:var(--color-warning);letter-spacing:.3px;vertical-align:middle;margin-left:4px}.qjc-toggle-sub{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:4px}.qjc-page.qjc-ticket-on .qjc-toggle-bar:not(.qjc-ticket-bar),.qjc-page.qjc-ticket-on #qjc-rooms-btn,.qjc-page.qjc-ticket-on #qjc-stairs-panel,.qjc-page.qjc-ticket-on .qjc-min-labour-notice{display:none!important}.qjc-page.qjc-ticket-on #qjc-qty{background:var(--surface);color:var(--text-dim);cursor:not-allowed}.qjc-page.qjc-ticket-on .qjc-margin-btns{pointer-events:none;opacity:.55}.qjc-page.qjc-ticket-on .qjc-margin-bar:after{content:"Locked — 40% ticket margin";display:block;text-align:center;margin-top:6px;font-size:11px;color:var(--text-muted);font-style:italic}.qjc-print-ticket{width:100%;margin-top:18px;padding:12px 16px;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease)}.qjc-print-ticket:hover{background:var(--accent);color:var(--surface)}.qjc-print-ticket:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qjc-tl-wrap{margin-top:12px}.qjc-tl-btn{padding:10px 14px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface-2, var(--surface));color:var(--text);transition:all var(--duration) var(--ease)}.qjc-tl-btn:hover{border-color:var(--accent);color:var(--accent)}.qjc-tl-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qjc-tl-btn:disabled{opacity:.5;cursor:not-allowed}.qjc-tl-create{width:100%}.qjc-tl-panel{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--surface-2, var(--surface))}.qjc-tl-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.qjc-tl-title{font-size:13px;font-weight:700;color:var(--text)}.qjc-tl-count{font-size:11px;color:var(--text-muted)}.qjc-tl-items{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.qjc-tl-empty{font-size:12px;color:var(--text-muted);padding:6px 2px}.qjc-tl-item{display:grid;grid-template-columns:1fr auto 28px;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm, 6px);background:var(--surface);border:1px solid var(--border)}.qjc-tl-item-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qjc-tl-item-prices{display:flex;gap:10px;align-items:baseline;white-space:nowrap}.qjc-tl-price{font-family:var(--font-mono, monospace);font-size:13px;font-weight:600;color:var(--text)}.qjc-tl-price-unit{font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--text-muted);margin-left:1px}.qjc-tl-rm{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer}.qjc-tl-rm:hover{background:var(--color-danger-bg);color:var(--color-danger)}.qjc-tl-rm:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qjc-tl-actions{display:flex;flex-wrap:wrap;gap:6px}.qjc-tl-actions .qjc-tl-btn{flex:1;min-width:120px}.qjc-tl-print{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.qjc-tl-print:hover:not(:disabled){background:var(--accent);color:var(--surface)}.blinds-page{max-width:720px}.blinds-input-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border)}.blinds-input-row .field-label{min-width:0;margin:0}.blinds-amount-wrap{display:inline-flex;align-items:center;gap:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 10px;width:160px;transition:border-color var(--duration) var(--ease)}.blinds-amount-wrap:focus-within{border-color:var(--border-focus);background:var(--surface)}.blinds-amount-pfx{font-family:var(--font-mono);font-size:15px;color:var(--text-muted);font-weight:500}.blinds-amount-inp{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:16px;font-weight:600;color:var(--text);padding:2px 0;letter-spacing:-.01em}.blinds-amount-inp::placeholder{color:var(--text-dim);font-weight:400}.blinds-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.blinds-hero-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);flex:1;min-width:0}.blinds-hero-right{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.blinds-hero-pct{display:inline-block;padding:3px 10px;border-radius:20px;font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-dim);white-space:nowrap;transition:background .2s,color .2s}.blinds-hero-pct.mg-d{background:var(--color-danger-bg);color:var(--color-danger)}.blinds-hero-pct.mg-w{background:var(--color-warning-bg);color:var(--color-warning)}.blinds-hero-pct.mg-g{background:var(--color-success-bg);color:var(--color-success)}.blinds-hero-val{font-family:var(--font-sans);font-size:24px;font-weight:700;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:-.8px;white-space:nowrap}.blinds-actions{display:flex;justify-content:flex-end;padding:14px 18px;gap:8px}.blinds-page .qjc-margin-bar{padding:10px 18px 12px}.blinds-page .qjc-margin-lbl{font-size:10px;margin-bottom:8px}.blinds-page .qjc-margin-btns{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;flex-wrap:unset}.blinds-page .qjc-mg-btn{padding:0;min-height:30px;min-width:0;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;border-radius:6px;-webkit-tap-highlight-color:transparent;transition:transform .08s var(--ease),background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.blinds-page .qjc-mg-btn:active{transform:scale(.97)}@media(max-width:520px){.blinds-page .qjc-margin-btns{grid-template-columns:repeat(2,1fr)}}@media(pointer:coarse){.blinds-page .qjc-margin-bar{padding:12px 18px}.blinds-page .qjc-margin-lbl{font-size:10px;margin-bottom:10px}.blinds-page .qjc-margin-btns{gap:6px}.blinds-page .qjc-mg-btn{min-height:40px;font-size:14px;border-radius:8px}}.signin-shell{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:var(--bg);overflow:hidden}.signin-bg{position:absolute;inset:-10%;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(94,106,210,.22),transparent 50%),radial-gradient(circle at 82% 75%,rgba(236,72,153,.18),transparent 55%),radial-gradient(circle at 50% 50%,rgba(94,106,210,.05),transparent 70%),var(--bg);filter:blur(40px) saturate(110%);animation:signinDrift 24s ease-in-out infinite alternate;z-index:0}@keyframes signinDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(2%,-1%,0) scale(1.04)}}@media(prefers-reduced-motion:reduce){.signin-bg{animation:none}}.signin-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px #0f172a0a,0 12px 32px -12px #0f172a1f,0 32px 64px -32px #5e6ad224;padding:40px 36px 28px;display:flex;flex-direction:column;gap:28px}@media(max-width:480px){.signin-card{padding:32px 24px 22px;gap:22px;border-radius:14px}}.signin-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.signin-logo{width:56px;height:56px;border-radius:12px;object-fit:cover;box-shadow:0 6px 16px -6px #5e6ad259}.signin-wordmark{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.signin-tagline{margin:0;font-size:13px;color:var(--text-muted);letter-spacing:.01em}.signin-passkey-row{display:flex;flex-direction:column;gap:14px;margin-bottom:4px}.signin-passkey{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease),transform .08s var(--ease)}.signin-passkey:hover:not(:disabled){background:var(--surface);border-color:var(--accent);box-shadow:0 4px 12px -6px #5e6ad259}.signin-passkey:active:not(:disabled){transform:scale(.99)}.signin-passkey:disabled{opacity:.55;cursor:not-allowed}.signin-passkey svg{color:var(--accent)}.signin-divider{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:var(--border)}.signin-spinner--dark{border-color:#00000026;border-top-color:var(--accent)}.signin-form{display:flex;flex-direction:column;gap:10px}.signin-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.signin-input{width:100%;font-size:16px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-family:var(--font-sans);transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.signin-input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px #5e6ad22e}.signin-input:disabled{opacity:.6;cursor:progress}.signin-hint{margin:0;font-size:12px;color:var(--text-dim)}.signin-error{margin:0;font-size:12px;color:var(--color-danger);font-weight:500}.signin-submit{margin-top:8px;padding:12px 16px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background var(--duration) var(--ease),transform .08s var(--ease),box-shadow var(--duration) var(--ease);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px}.signin-submit:hover:not(:disabled){background:var(--accent-dark);box-shadow:0 4px 12px -4px #5e6ad259}.signin-submit:active:not(:disabled){transform:scale(.98)}.signin-submit:disabled{opacity:.55;cursor:not-allowed}.signin-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:signinSpin .8s linear infinite}@keyframes signinSpin{to{transform:rotate(360deg)}}.signin-sent{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 0}.signin-sent-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:var(--accent-bg);color:var(--accent)}.signin-sent-title{margin:4px 0 0;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.signin-sent-body{margin:0;font-size:14px;color:var(--text-muted);max-width:32ch}.signin-sent-body strong{color:var(--text);font-weight:600}.signin-resend{margin-top:12px;padding:10px 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.signin-resend:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.signin-resend:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-3)}.signin-back{padding:4px 8px;border:none;background:none;color:var(--text-muted);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.signin-back:hover{color:var(--accent)}.signin-otp{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;margin-top:8px;padding-top:16px;border-top:1px solid var(--border);text-align:left}.signin-otp-label{font-size:12px;font-weight:500;color:var(--text-muted)}.signin-otp-row{display:flex;gap:8px}.signin-otp-input{flex:1 1 auto;min-width:0;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-mono, ui-monospace, monospace);font-size:18px;letter-spacing:.35em;font-variant-numeric:tabular-nums;text-align:center}.signin-otp-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.signin-otp-input:disabled{opacity:.6;cursor:progress}.signin-otp-input::placeholder{letter-spacing:.35em;color:var(--text-dim, var(--text-muted))}.signin-otp-verify{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 18px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}.signin-otp-verify:active:not(:disabled){transform:scale(.98)}.signin-otp-verify:disabled{opacity:.55;cursor:not-allowed}.signin-otp-hint{margin:0;font-size:11.5px;color:var(--text-muted)}.signin-otp-error{margin:0;font-size:12px;color:var(--danger, #dc2626)}.signin-foot{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);letter-spacing:.02em;padding-top:8px;border-top:1px solid var(--border)}.modal-ov{display:none;position:fixed;inset:0;background:#0a0a0a80;backdrop-filter:blur(2px);z-index:2000;align-items:center;justify-content:center}.modal-ov.open{display:flex}.modal-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 50px #00000026,0 4px 12px #00000014;width:min(520px,94vw);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);outline:none}.modal-box:focus-visible{outline:none}.modal-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.2px}.modal-close{background:none;border:none;font-size:22px;color:var(--text-muted);cursor:pointer;line-height:1;padding:0 4px;transition:color var(--duration) var(--ease)}.modal-close:hover{color:var(--text)}.modal-body{padding:18px 20px;overflow-y:auto;flex:1}.modal-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.room-bar{display:flex;gap:6px;align-items:center;padding:6px 0;flex-wrap:wrap}.room-bar-info{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);display:flex;align-items:center;gap:6px;margin-left:auto}.room-bar-info strong{color:var(--accent-dark);font-size:13px}.rc-grid{display:grid;grid-template-columns:1fr 76px 76px 28px;gap:5px;align-items:center;margin-bottom:4px}.rc-grid-hd{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);padding:0 2px 4px}.rc-inp,.rc-num{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:12.5px;padding:5px 8px;color:var(--text);outline:none;width:100%}.rc-num{font-family:var(--font-mono);text-align:right}.rc-inp:focus,.rc-num:focus{border-color:var(--accent)}.rc-rm{background:none;border:none;color:var(--text-dim);font-size:15px;cursor:pointer;padding:0;width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--duration) var(--ease)}.rc-rm:hover{background:var(--color-danger-bg);color:var(--color-danger)}.rc-totals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:14px}.rc-tot-cell{background:var(--surface-alt);padding:10px 14px;display:flex;flex-direction:column;gap:3px}.rc-tot-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.rc-tot-val{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--accent-dark)}#tab-tracker .page{max-width:1600px}.trk-row-name-cell{position:relative;white-space:nowrap}.trk-row-name-cell .trk-row-name{display:inline-block;min-width:4ch}.trk-row-jump{appearance:none;background:transparent;border:1px solid transparent;color:var(--text-muted);padding:0 4px;margin-left:4px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;line-height:1;opacity:0;transition:opacity .12s ease-out,background .12s ease-out,color .12s ease-out}#tracker-tbody tr:hover .trk-row-jump,.trk-row-jump:focus-visible{opacity:1}.trk-row-jump:hover{background:var(--accent-bg);color:var(--accent-dark);border-color:var(--accent)}.trk-row-jump:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(pointer:coarse){.trk-row-jump{opacity:1}}.trk-customer-chip-host{display:inline-flex;align-items:center}.trk-customer-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;background:var(--accent-bg);border:1px solid var(--accent);border-radius:999px;font-size:11px;font-weight:500;color:var(--accent-dark)}.trk-customer-chip-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;opacity:.7}.trk-customer-chip-value{font-weight:600}.trk-customer-chip-clear{appearance:none;border:0;background:transparent;color:var(--accent-dark);padding:0 6px;font-size:14px;line-height:1;cursor:pointer;border-radius:999px}.trk-customer-chip-clear:hover{background:#0000000f}.trk-cell-edit{cursor:text;border-radius:var(--radius-sm);transition:background .12s ease-out,box-shadow .12s ease-out;outline:1px solid transparent;outline-offset:-1px;white-space:nowrap}.trk-cell-edit:hover{background:var(--surface-2, rgba(0,0,0,.025));outline-color:var(--border)}.trk-cell-edit:focus,.trk-cell-edit:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}.trk-edit-body{display:flex;flex-direction:column;gap:12px;font-family:var(--font-sans);color:var(--text)}.trk-edit-body .field-row{display:flex;flex-direction:column;gap:4px}.trk-edit-body .field-label{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.trk-edit-body .field-input,.trk-edit-body .field-select{min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--bg);color:var(--text);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;width:100%}.trk-edit-body .field-input:focus-visible,.trk-edit-body .field-select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent)}.trk-edit-footer{display:flex;justify-content:flex-end;gap:8px}.trk-views-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.trk-views-eyebrow{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);margin-right:4px}.trk-view-pill{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;touch-action:manipulation;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out;white-space:nowrap}.trk-view-pill:hover{background:var(--surface-2, rgba(0,0,0,.03));color:var(--text)}.trk-view-pill.active{background:var(--accent-bg);color:var(--accent-dark);border-color:var(--accent);font-weight:600}.trk-view-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trk-view-pill-wrap{display:inline-flex;align-items:stretch;border-radius:999px}.trk-view-pill-wrap .trk-view-pill{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.trk-view-pill-del{appearance:none;border:1px solid var(--border);border-left:0;border-top-right-radius:999px;border-bottom-right-radius:999px;background:var(--surface);color:var(--text-dim);padding:2px 8px;font-size:12px;line-height:1;cursor:pointer;transition:background .12s ease-out,color .12s ease-out}.trk-view-pill-del:hover{background:var(--color-danger-bg);color:var(--color-danger)}.trk-views-sep{display:inline-block;width:1px;height:16px;background:var(--border);margin:0 4px}.trk-view-save{appearance:none;margin-left:auto;border:1px dashed var(--border);background:transparent;color:var(--text-muted);padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out;white-space:nowrap}.trk-view-save:hover{background:var(--surface-2, rgba(0,0,0,.03));color:var(--text);border-color:var(--text-muted)}.trk-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 18px;background:var(--surface-alt);border-bottom:1px solid var(--border)}.trk-filter-eyebrow{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim)}.trk-filter-month{font-size:11.5px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;max-width:160px;background:var(--surface);color:var(--text)}.trk-filter-reset{margin-left:auto}.trk-chip-group{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.trk-chip{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);padding:4px 10px;border-radius:999px;font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;touch-action:manipulation;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out;white-space:nowrap;letter-spacing:.01em}.trk-chip:hover{background:var(--surface-2, rgba(0,0,0,.03));color:var(--text);border-color:var(--border-2, var(--border))}.trk-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.trk-chip.active:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.trk-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trk-card{overflow:visible}.trk-thead th{position:sticky;top:0;z-index:2;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border)}.trk-sort-btn{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;background:none;border:0;color:inherit;font:inherit;cursor:pointer;user-select:none}.trk-sort-btn-r{float:right}.trk-sort-btn:hover .trk-sort-label{color:var(--text)}.trk-sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.trk-sort-ind{display:inline-block;width:8px;text-align:center;font-size:9px;line-height:1;color:var(--text-dim);visibility:hidden}.trk-sort-btn:hover .trk-sort-ind{visibility:visible}.trk-sort-btn:hover .trk-sort-ind:before{content:"▲";opacity:.45}.trk-sort-btn[data-sort] .trk-sort-ind{visibility:visible;color:var(--accent);opacity:1}.trk-sort-btn[data-sort=asc] .trk-sort-ind:before{content:"▲";opacity:1}.trk-sort-btn[data-sort=desc] .trk-sort-ind:before{content:"▼";opacity:1}.trk-sort-btn[data-sort] .trk-sort-label{color:var(--text);font-weight:600}.trk-aggregate-footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:18px;padding:10px 18px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -1px 0 var(--border),0 -6px 12px -8px #00000014;font-family:var(--font-sans);flex-wrap:wrap}.trk-agg-eyebrow{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.trk-agg-cell{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.trk-agg-label{font-size:10.5px;color:var(--text-muted);font-weight:500}.trk-agg-value{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:700px){.trk-agg-eyebrow{display:none}.trk-aggregate-footer{gap:12px;padding:8px 14px}.trk-agg-value{font-size:12px}}@media(pointer:coarse){.trk-sort-btn{min-height:44px;padding:6px 4px}.trk-view-pill,.trk-view-save{min-height:44px;padding:10px 16px;font-size:13px}.trk-view-pill-del{min-height:44px;min-width:36px;padding:8px 12px;font-size:14px}.trk-chip{min-height:44px;padding:10px 16px;font-size:13px}.trk-filter-month{min-height:44px;padding:10px 12px;font-size:14px}.trk-actions .btn{min-height:40px;min-width:40px;padding:8px 12px}.trk-sort-btn{min-height:36px;padding:8px 4px;font-size:12px}.trk-sort-ind{visibility:visible}.trk-sort-btn:not([data-sort]) .trk-sort-ind:before{content:"↕";opacity:.35}}.trk-month-hdr{background:#5e6ad20a;padding:8px 14px;font-size:12.5px;font-weight:700;color:var(--accent-dark);letter-spacing:.3px;border-top:2px solid rgba(94,106,210,.15);border-bottom:1px solid var(--border)}.trk-row-num{color:var(--text-dim);font-size:10px;text-align:center}.trk-row-date{white-space:nowrap;color:var(--text-muted);font-size:11.5px}.trk-row-name{font-weight:500}.trk-row-muted{color:var(--text-muted)}#tracker-tbody td.trk-row-num{height:50px}.trk-type-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;display:inline-block;white-space:nowrap}.trk-type-carpet{background:var(--accent-bg);color:var(--accent-dark)}.trk-type-hf{background:var(--color-success-bg);color:var(--color-success)}.trk-sp{text-align:right;font-size:10.5px;color:var(--text-muted)}.trk-val-success{color:var(--color-success);font-weight:600}.trk-val-warning{color:var(--color-warning);font-weight:600}.trk-val-danger{color:var(--color-danger);font-weight:600}.trk-val-accent{color:var(--accent-dark);font-weight:600}#tracker-tbody tr.trk-row-accepted td{border-top:2px solid color-mix(in oklab,var(--color-success) 40%,transparent);border-bottom:2px solid color-mix(in oklab,var(--color-success) 40%,transparent);background:color-mix(in oklab,var(--color-success) 6%,transparent)}#tracker-tbody tr.trk-row-accepted td:first-child{border-left:2px solid color-mix(in oklab,var(--color-success) 40%,transparent)}#tracker-tbody tr.trk-row-accepted td:last-child{border-right:2px solid color-mix(in oklab,var(--color-success) 40%,transparent)}.trk-actions{text-align:center;white-space:nowrap}.trk-actions .btn{padding:2px 6px}.trk-actions .btn-del{color:var(--color-danger)}.trk-month-sub{background:#5e6ad208;padding:7px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-dark)}.trk-grand-row{background:#5e6ad20f;border-top:2px solid var(--accent)}.trk-grand-label{padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text)}.trk-grand-val{font-weight:700;font-size:13px}.trk-sp-section{background:var(--surface-alt);padding:6px 14px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);border-top:2px solid var(--border-2);border-bottom:1px solid var(--border)}.trk-sp-row{background:var(--surface-alt)}.trk-sp-name{padding:6px 14px;font-size:12.5px;font-weight:600}.trk-sp-count{font-size:10.5px;color:var(--text-muted)}.trk-empty{text-align:center;padding:32px;color:var(--text-dim);font-size:12.5px}.undo-bar{display:none;padding:8px 18px;background:var(--color-warning-bg);border-bottom:1px solid rgba(230,81,0,.15);font-size:11px;color:var(--color-warning);align-items:center;gap:8px;flex-wrap:wrap}.undo-bar.visible{display:flex}.undo-bar .undo-label{flex:1}.cust-result{padding:8px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:12.5px;transition:background .1s}.cust-result:hover{background:var(--accent-bg)}.cust-result-name{font-weight:500}.cust-result-detail{color:var(--text-muted);font-size:11px}.cust-result-val{font-family:var(--font-mono);font-weight:600;color:var(--accent-dark)}.ins-toggle-btn{font-size:11px}.ins-toggle-btn.open{background:var(--accent-bg);color:var(--accent-dark);border-color:var(--accent)}.ins-panel{display:none;border-bottom:1px solid var(--border);background:var(--surface-alt);overflow:hidden}.ins-panel.open{display:block}.ins-tabs{display:flex;gap:4px;padding:10px 18px 0;border-bottom:1px solid var(--border)}.ins-tab{padding:4px 12px;font-size:11px;font-weight:600;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:none;color:var(--text-muted);cursor:pointer;position:relative;bottom:-1px}.ins-tab:hover{color:var(--text);background:var(--surface)}.ins-tab.active{background:var(--surface);color:var(--accent-dark);border-color:var(--border);border-bottom-color:var(--surface)}.ins-content{padding:14px 18px}.ins-pills{display:flex;gap:12px;margin-bottom:14px}.ins-pill{flex:1;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 4px}.ins-pill-val{font-family:var(--font-mono);font-size:17px;font-weight:700;color:var(--text)}.ins-pill-lbl{font-size:10px;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.ins-section-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);margin:12px 0 6px}.ins-bars{display:flex;flex-direction:column;gap:5px}.ins-bar-row{display:grid;grid-template-columns:52px 1fr 28px 36px;align-items:center;gap:8px}.ins-bar-label{font-size:11px;color:var(--text-muted)}.ins-bar-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.ins-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.ins-bar-count{font-family:var(--font-mono);font-size:11px;font-weight:600;text-align:right;color:var(--text)}.ins-bar-pct{font-size:10px;color:var(--text-muted);text-align:right}.ins-split{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text)}.ins-split-sep{color:var(--text-dim)}.ins-split-pct{font-size:10.5px;color:var(--text-muted);margin-left:2px}.ins-empty{font-size:12px;color:var(--text-dim);text-align:center;padding:12px 0}.kb-board{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;min-height:300px}.kb-column{min-width:200px;max-width:240px;flex:1;background:var(--surface-2);border-radius:var(--radius-lg);display:flex;flex-direction:column;border:1px solid var(--border)}.kb-col-header{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.kb-col-title{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted)}.kb-col-count{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-bg);padding:1px 7px;border-radius:10px}.kb-col-body{flex:1;padding:6px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.kb-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;transition:all .12s;position:relative}.kb-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.kb-card-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-card-sub{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:5px}.kb-card-inv{font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text);letter-spacing:-.3px}.kb-card-type{font-size:9px;font-weight:600;padding:1px 6px;border-radius:4px}.kb-card-install{font-size:10px;color:var(--text-muted);font-weight:500;margin-top:4px}.kb-card-aging{position:absolute;top:5px;right:6px;font-size:8px;font-weight:700;padding:1px 6px;border-radius:10px;background:#0000000a}.kb-timeline-card{padding:0}.kb-tl-empty{padding:36px 18px;text-align:center;font-size:13px;color:var(--text-dim);font-style:italic}.kb-tl-scroll{overflow-x:auto;padding:0 0 6px}.kb-tl-grid{--kb-tl-days: 28;--kb-tl-installer-col: 140px;--kb-tl-day-col: 30px;display:grid;grid-template-columns:var(--kb-tl-installer-col) repeat(var(--kb-tl-days),var(--kb-tl-day-col));min-width:calc(var(--kb-tl-installer-col) + var(--kb-tl-day-col) * var(--kb-tl-days))}.kb-tl-row{display:contents}.kb-tl-row-header>.kb-tl-installer-head,.kb-tl-row-header>.kb-tl-day-cell{background:var(--surface-2);border-bottom:1px solid var(--border-2);position:sticky;top:0;z-index:2}.kb-tl-installer-cell{position:sticky;left:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;font-weight:500;color:var(--text)}.kb-tl-installer-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);z-index:3}.kb-tl-installer-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-tl-installer-count{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--text-muted);background:var(--surface-2);padding:1px 6px;border-radius:999px}.kb-tl-day-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 0;border-right:1px solid var(--border)}.kb-tl-day-wd{font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--text-dim);text-transform:uppercase}.kb-tl-day-num{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text)}.kb-tl-body-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:3px 2px;display:flex;flex-direction:column;gap:2px;align-items:stretch;min-height:36px}.kb-tl-day-cell.kb-tl-weekend,.kb-tl-body-cell.kb-tl-weekend{background:color-mix(in oklab,var(--text-muted) 4%,transparent)}.kb-tl-day-cell.kb-tl-today,.kb-tl-body-cell.kb-tl-today{background:color-mix(in oklab,var(--accent) 8%,transparent)}.kb-tl-day-cell.kb-tl-today .kb-tl-day-num{color:var(--accent-dark);font-weight:700}.kb-tl-day-cell.kb-tl-month-start,.kb-tl-body-cell.kb-tl-month-start{border-left:2px solid var(--accent)}.kb-tl-chip{appearance:none;border:0;color:#fff;font-size:9.5px;font-weight:600;font-family:var(--font-sans);padding:2px 4px;border-radius:3px;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;transition:filter .12s ease-out}.kb-tl-chip:hover{filter:brightness(.92)}.kb-tl-chip:focus-visible{outline:2px solid var(--text);outline-offset:1px}.proj-schedule-body{display:flex;flex-direction:column;gap:14px;font-family:var(--font-sans);color:var(--text)}.proj-schedule-eyebrow{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-muted)}.proj-schedule-title{margin:0;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--text)}.proj-schedule-address{margin:0;font-size:12.5px;color:var(--text-muted)}.proj-schedule-summary{margin:4px 0 0;padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;background:var(--surface-2, rgba(0,0,0,.03));border-radius:var(--radius-md, 8px)}.proj-schedule-summary div{display:flex;align-items:baseline;gap:6px;font-size:12px}.proj-schedule-summary dt{color:var(--text-muted);margin:0;min-width:64px}.proj-schedule-summary dd{margin:0;font-weight:600;color:var(--text)}.proj-schedule-amount{font-family:var(--font-mono);color:var(--accent-dark)}.proj-schedule-field{display:flex;flex-direction:column;gap:4px}.proj-schedule-label{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.proj-schedule-input{min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--bg);color:var(--text);font:inherit;font-size:15px;font-variant-numeric:tabular-nums;width:100%;transition:border-color .12s ease-out,box-shadow .12s ease-out}.proj-schedule-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent)}.proj-schedule-date-error{border-color:var(--color-danger)!important;animation:proj-schedule-shake .32s ease-out}@keyframes proj-schedule-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.proj-schedule-hint{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-dim)}.proj-schedule-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.kb-card[draggable=true]{cursor:grab}.kb-card[draggable=true]:active{cursor:grabbing}.kb-card.kb-card-dragging{opacity:.4;cursor:grabbing}.kb-col-body.kb-col-over{background:color-mix(in oklab,var(--accent) 8%,var(--surface-2));outline:2px dashed var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){.kb-card.kb-card-dragging{opacity:.6}}.age-ok{color:var(--color-success)}.age-warn{color:var(--color-warning)}.age-danger{color:var(--color-danger)}.kb-empty{text-align:center;padding:20px 8px;color:var(--text-dim);font-size:11px;font-style:italic}.kb-kpi{flex:1;min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kb-kpi-lbl{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:0;text-transform:none}.kb-kpi-val{font-family:var(--font-sans);font-size:22px;font-weight:600;letter-spacing:-.6px;color:var(--text);line-height:1.1}.kb-kpi-trend{font-size:11px;font-weight:500;font-family:var(--font-mono);margin-top:2px}.kb-kpi-trend.trend-up{color:var(--color-success)}.kb-kpi-trend.trend-down{color:var(--color-danger)}.kb-kpi-trend.trend-neutral{color:var(--text-muted)}.kb-pip{padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);transition:all .12s}.kb-pip:hover{background:var(--surface-2);color:var(--text)}.kb-pip.has-items{background:var(--surface);color:var(--text);border-color:var(--border-2)}.kb-pip-count{font-family:var(--font-mono);font-weight:600;margin-right:2px}.kb-inst-row{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border)}.kb-inst-row:last-child{border-bottom:none}.kb-inst-name{font-size:12.5px;font-weight:500;min-width:100px;color:var(--text)}.kb-inst-bar{flex:1;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.kb-inst-fill{height:100%;border-radius:3px;transition:width .3s}.kb-inst-jobs{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);min-width:90px;text-align:right}.kb-alert-card{margin-bottom:12px;border:1px solid var(--border);border-left:3px solid var(--color-warning)}.kb-alert-header{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text);background:var(--surface-2);border-bottom:1px solid var(--border)}.kb-alert-item{padding:8px 14px;font-size:12.5px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center}.kb-alert-item:last-child{border-bottom:none}.kb-alert-text{flex:1;color:var(--text-2)}.kb-alert-days{font-size:10px;font-weight:600;color:var(--color-warning)}.kb-stage-pill{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;background:var(--surface-2);color:var(--text-muted);font-family:var(--font-sans);letter-spacing:0}.insd-page{max-width:1280px}.insd-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--costy-space-4);margin-bottom:var(--costy-space-5)}.insd-title{font-family:var(--costy-font-sans);font-size:1.5rem;font-weight:600;margin:0;color:var(--costy-ink-base);letter-spacing:-.01em}.insd-subtitle{font-family:var(--costy-font-sans);font-size:.8125rem;color:var(--costy-ink-muted);margin:4px 0 0}.insd-window{display:inline-flex;border:1px solid var(--costy-border-subtle, var(--border));border-radius:var(--costy-radius-md);overflow:hidden;background:var(--costy-bg-surface)}.insd-window-tab{appearance:none;background:transparent;border:none;border-left:1px solid var(--costy-border-subtle, var(--border));padding:6px 14px;font-family:var(--costy-font-sans);font-size:.8125rem;color:var(--costy-ink-muted);cursor:pointer;touch-action:manipulation;transition:background var(--costy-timing-fast) var(--costy-ease-out),color var(--costy-timing-fast) var(--costy-ease-out)}.insd-window-tab:first-child{border-left:none}.insd-window-tab:hover{background:var(--costy-bg-surface-2);color:var(--costy-ink-base)}.insd-window-tab.active{background:var(--costy-bg-surface-3);color:var(--costy-ink-base);font-weight:500}.insd-window-tab:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:-2px}@media(pointer:coarse){.insd-window-tab{min-height:44px;padding:12px 18px;font-size:.9375rem}}.insd-grid{display:grid;gap:var(--costy-space-4);grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:960px){.insd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.insd-grid{grid-template-columns:1fr}}.insd-card{--costy-card-padding-comfortable: var(--costy-space-5)}.insd-card-label{font-family:var(--costy-font-sans);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--costy-ink-muted);margin-bottom:var(--costy-space-2)}.insd-card-value{font-family:var(--costy-font-sans);font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--costy-ink-base);line-height:1.1;letter-spacing:-.02em}.insd-card-sub{font-family:var(--costy-font-sans);font-size:.75rem;color:var(--costy-ink-muted);margin-top:4px}.insd-card{position:relative}.insd-card-chev{position:absolute;top:var(--costy-space-3);right:var(--costy-space-4);font-family:var(--costy-font-sans);font-size:1rem;color:var(--costy-ink-muted);opacity:0;transition:opacity var(--costy-timing-fast) var(--costy-ease-out),transform var(--costy-timing-fast) var(--costy-ease-out)}.insd-card[interactive]:hover .insd-card-chev,.insd-card[interactive]:focus-visible .insd-card-chev{opacity:1;transform:translate(2px)}@media(pointer:coarse){.insd-card-chev{opacity:.6}}.insd-drilldown-body{display:flex;flex-direction:column;gap:var(--costy-space-4);padding:var(--costy-space-4) var(--costy-space-5);font-family:var(--costy-font-sans)}.insd-drill-meta{font-size:.8125rem;color:var(--costy-ink-muted);line-height:1.5}.insd-drill-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.8125rem}.insd-drill-table th,.insd-drill-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--costy-border-subtle, var(--border));vertical-align:middle}.insd-drill-table th{font-weight:500;color:var(--costy-ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;background:var(--costy-bg-surface-2);position:sticky;top:0;z-index:1}.insd-drill-table td{color:var(--costy-ink-base)}.insd-drill-table .num{text-align:right}.insd-drill-table tbody tr:last-child td{border-bottom:none}.insd-drill-table .gp-good{color:var(--costy-success)}.insd-drill-table .gp-ok{color:var(--costy-ink-base)}.insd-drill-table .gp-warn{color:var(--costy-warning)}.insd-drill-table .gp-bad{color:var(--costy-danger)}.insd-pill{display:inline-block;padding:2px 8px;border-radius:var(--costy-radius-full);font-size:.6875rem;font-weight:500;background:var(--costy-bg-surface-2);color:var(--costy-ink-muted);margin-left:4px}.insd-status-won{background:var(--costy-success-soft);color:var(--costy-success)}.insd-status-quoted{background:var(--costy-warning-soft);color:var(--costy-warning)}.insd-drill-empty{font-size:.875rem;color:var(--costy-ink-muted);text-align:center;padding:var(--costy-space-6) 0}.insd-delta{display:inline-flex;align-items:center;gap:4px;margin-top:var(--costy-space-3);padding:3px 8px;border-radius:var(--costy-radius-full);font-family:var(--costy-font-sans);font-size:.6875rem;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.4}.insd-delta-arrow{font-size:.625rem;line-height:1}.insd-delta-up{background:var(--costy-success-soft);color:var(--costy-success)}.insd-delta-down{background:var(--costy-danger-soft);color:var(--costy-danger)}.insd-delta-neutral{background:var(--costy-bg-surface-2);color:var(--costy-ink-muted)}.insd-section{font-family:var(--costy-font-sans);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--costy-ink-muted);margin:var(--costy-space-6) 0 var(--costy-space-3)}.insd-sparks{display:grid;gap:var(--costy-space-4);grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:960px){.insd-sparks{grid-template-columns:1fr}}.insd-spark-card{--costy-card-padding-comfortable: var(--costy-space-4)}.insd-spark-label{font-family:var(--costy-font-sans);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--costy-ink-muted)}.insd-spark-host{position:relative;width:100%;height:64px;margin-top:var(--costy-space-2)}.insd-spark-sub{font-family:var(--costy-font-sans);font-size:.6875rem;color:var(--costy-ink-muted);margin-top:4px}.insd-sparks-empty{grid-column:1 / -1;padding:var(--costy-space-5);text-align:center;font-family:var(--costy-font-sans);font-size:.8125rem;color:var(--costy-ink-muted);background:var(--costy-bg-surface);border:1px dashed var(--costy-border-subtle, var(--border));border-radius:var(--costy-radius-lg)}.insd-spark-host .uplot,.insd-spark-host .u-wrap{font-family:var(--costy-font-sans)!important}.insd-empty{grid-column:1 / -1;padding:var(--costy-space-7) var(--costy-space-5);text-align:center;background:var(--costy-bg-surface);border:1px dashed var(--costy-border-subtle, var(--border));border-radius:var(--costy-radius-lg)}.insd-empty p{font-family:var(--costy-font-sans);margin:0;color:var(--costy-ink-muted)}.insd-empty p+p{margin-top:var(--costy-space-2)}.insd-empty-hint{font-size:.8125rem}.tk-page{max-width:880px;margin:0 auto;padding:var(--costy-space-6) var(--costy-space-5) var(--costy-space-8);font-family:var(--costy-font-sans);color:var(--costy-ink-base)}.tk-header{margin-bottom:var(--costy-space-5);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--costy-space-4)}.tk-header-text{min-width:0;flex:1}.tk-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--costy-space-2)}.tk-eyebrow{font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--costy-accent);margin-bottom:var(--costy-space-1)}.tk-title{font-family:var(--costy-font-display);font-size:var(--costy-text-xl);font-weight:var(--costy-weight-semibold);color:var(--costy-ink-strong);line-height:1.15;margin:0 0 var(--costy-space-2)}.tk-desc{font-size:var(--costy-text-sm);color:var(--costy-ink-muted);max-width:60ch;margin:0}.tk-subnav{display:flex;gap:var(--costy-space-1);margin-bottom:var(--costy-space-5);border-bottom:1px solid var(--costy-border-hairline);overflow-x:auto;scrollbar-width:none}.tk-subnav::-webkit-scrollbar{display:none}.tk-sub-tab{font:inherit;font-size:var(--costy-text-sm);font-weight:var(--costy-weight-semibold);background:none;border:none;border-bottom:2px solid transparent;color:var(--costy-ink-muted);padding:var(--costy-space-3) var(--costy-space-4);cursor:pointer;white-space:nowrap;position:relative;top:1px;transition:color .15s,border-color .15s}.tk-sub-tab:hover{color:var(--costy-ink-base)}.tk-sub-tab.active{color:var(--costy-ink-strong);border-bottom-color:var(--costy-accent)}.tk-sub-tab:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:2px;border-radius:var(--costy-radius-sm)}.tk-panel{display:none}.tk-panel.active,.tk-panel.tk-panel-static{display:block}.tk-panel+.tk-panel{margin-top:var(--costy-space-4)}.tk-card{background:var(--costy-bg-surface);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-lg);padding:var(--costy-space-5);box-shadow:var(--costy-shadow-sm)}.tk-card+.tk-card{margin-top:var(--costy-space-4)}.tk-variant-row{display:flex;gap:var(--costy-space-1);flex-wrap:wrap;margin-bottom:var(--costy-space-4)}.tk-variant{font:inherit;font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);padding:var(--costy-space-1) var(--costy-space-3);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-full);background:var(--costy-bg-surface);color:var(--costy-ink-muted);cursor:pointer;letter-spacing:.02em;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.tk-variant:hover{border-color:var(--costy-border-strong);color:var(--costy-ink-base)}.tk-variant.active{background:var(--costy-accent);border-color:var(--costy-accent);color:var(--costy-ink-on-accent)}.tk-variant:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:2px}.tk-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--costy-space-3);margin-bottom:var(--costy-space-4)}@media(max-width:600px){.tk-field-grid{grid-template-columns:1fr}}.tk-field+.tk-field{margin-top:0}.tk-field-lbl{display:block;font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);color:var(--costy-ink-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--costy-space-1)}.tk-field-inp{width:100%;height:36px;padding:0 var(--costy-space-3);font:inherit;font-size:var(--costy-text-sm);color:var(--costy-ink-base);background:var(--costy-bg-surface-2);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-md);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.tk-field-inp:focus{border-color:var(--costy-border-focus);box-shadow:0 0 0 3px var(--costy-accent-soft);background:var(--costy-bg-surface)}.tk-field-inp[readonly]{background:var(--costy-bg-surface-2);color:var(--costy-ink-muted);cursor:default}.tk-btn-row{display:flex;align-items:center;gap:var(--costy-space-2);flex-wrap:wrap;margin-top:var(--costy-space-3)}.tk-btn{font:inherit;font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);padding:var(--costy-space-1) var(--costy-space-3);height:30px;border-radius:var(--costy-radius-md);border:1px solid var(--costy-border-hairline);background:var(--costy-bg-surface);color:var(--costy-ink-base);cursor:pointer;letter-spacing:.02em;display:inline-flex;align-items:center;gap:var(--costy-space-2);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.tk-btn:hover{background:var(--costy-bg-surface-2);border-color:var(--costy-border-strong)}.tk-btn:active{transform:scale(.98)}.tk-btn:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:2px}.tk-btn-primary{background:var(--costy-accent);border-color:var(--costy-accent);color:var(--costy-ink-on-accent)}.tk-btn-primary:hover{background:var(--costy-accent-hover);border-color:var(--costy-accent-hover)}.tk-btn-accent{background:var(--costy-accent-soft);border-color:var(--costy-accent-soft);color:var(--costy-accent)}.tk-btn-accent:hover{background:var(--costy-accent);border-color:var(--costy-accent);color:var(--costy-ink-on-accent)}.tk-helper{background:var(--costy-bg-surface-2);border-left:3px solid var(--costy-accent);border-radius:0 var(--costy-radius-md) var(--costy-radius-md) 0;padding:var(--costy-space-2) var(--costy-space-3);font-size:var(--costy-text-xs);color:var(--costy-ink-base);line-height:1.55;margin-bottom:var(--costy-space-4)}.tk-helper strong{color:var(--costy-ink-strong)}.tk-helper code{background:var(--costy-bg-surface);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-sm);padding:0 4px;font-family:var(--costy-font-mono);font-size:.85em}.tk-helper-inline{font-size:var(--costy-text-xs);color:var(--costy-ink-subtle);margin-left:auto}.tk-preview-box{background:var(--costy-bg-surface-2);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-md);padding:var(--costy-space-4) var(--costy-space-5);margin-top:var(--costy-space-2);font-size:var(--costy-text-sm);line-height:1.7;color:var(--costy-ink-base)}.tk-preview-subject{font-size:var(--costy-text-xs);color:var(--costy-ink-muted);padding-bottom:var(--costy-space-3);margin-bottom:var(--costy-space-3);border-bottom:1px solid var(--costy-border-hairline)}.tk-preview-subject strong{color:var(--costy-ink-strong)}.tk-preview-body{margin:0;font:inherit;white-space:pre-wrap;word-break:break-word}.tk-email-frame{display:none;border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-md);margin-top:var(--costy-space-4);overflow:hidden;background:var(--costy-bg-surface)}.tk-email-frame.active{display:block}.tk-email-bar{background:var(--costy-bg-surface-2);border-bottom:1px solid var(--costy-border-hairline);padding:var(--costy-space-2) var(--costy-space-3);display:flex;gap:var(--costy-space-2);align-items:center}.tk-dot{width:9px;height:9px;border-radius:50%;background:var(--costy-border-hairline)}.tk-email-subj{font-size:var(--costy-text-xs);color:var(--costy-ink-subtle);margin-left:var(--costy-space-2)}.tk-email-subj .tk-sup-subj-preview{color:var(--costy-ink-muted)}.tk-email-body{padding:var(--costy-space-5) var(--costy-space-6);background:var(--costy-bg-surface);font-family:Arial,sans-serif;font-size:13px;line-height:1.85;color:#222}.tk-email-body p{margin:0 0 14px}.tk-email-body p:last-of-type{margin-bottom:0}.tk-desc-pane{display:none}.tk-desc-pane.active{display:block}.tk-badge-row{display:flex;gap:var(--costy-space-2);flex-wrap:wrap;margin-bottom:var(--costy-space-3)}.tk-badge{font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);letter-spacing:.06em;text-transform:uppercase;padding:2px var(--costy-space-3);border-radius:var(--costy-radius-full)}.tk-badge-green{background:color-mix(in oklch,oklch(60% .12 150) 14%,transparent);color:oklch(38% .12 150)}.tk-badge-amber{background:color-mix(in oklch,oklch(70% .13 75) 16%,transparent);color:oklch(40% .13 75)}.tk-badge-blue{background:color-mix(in oklch,oklch(60% .13 240) 14%,transparent);color:oklch(38% .14 240)}.tk-text-box{background:var(--costy-bg-surface-2);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-md);padding:var(--costy-space-4) var(--costy-space-5);font-family:var(--costy-font-mono);font-size:var(--costy-text-sm);line-height:1.7;color:var(--costy-ink-base);white-space:pre-wrap;word-break:break-word;margin:var(--costy-space-3) 0 0}.tk-search-wrap{margin-bottom:var(--costy-space-3)}.tk-search{width:100%;height:36px;padding:0 var(--costy-space-3);font:inherit;font-size:var(--costy-text-sm);background:var(--costy-bg-surface);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-md);outline:none;transition:border-color .15s,box-shadow .15s}.tk-search:focus{border-color:var(--costy-border-focus);box-shadow:0 0 0 3px var(--costy-accent-soft)}.tk-filter-pills{display:flex;gap:var(--costy-space-1);flex-wrap:wrap;margin-bottom:var(--costy-space-4)}.tk-pill{font:inherit;font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);padding:3px var(--costy-space-3);border-radius:var(--costy-radius-full);border:1px solid var(--costy-border-hairline);background:var(--costy-bg-surface);color:var(--costy-ink-muted);cursor:pointer;letter-spacing:.04em;transition:background .15s,border-color .15s,color .15s}.tk-pill:hover{border-color:var(--costy-border-strong);color:var(--costy-ink-base)}.tk-pill.active{background:var(--costy-accent);border-color:var(--costy-accent);color:var(--costy-ink-on-accent)}.tk-pill:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:2px}.tk-clause-list{display:flex;flex-direction:column;gap:var(--costy-space-2)}.tk-clause-card{background:var(--costy-bg-surface);border:1px solid var(--costy-border-hairline);border-radius:var(--costy-radius-md);overflow:hidden;transition:box-shadow .2s}.tk-clause-card.tk-clause-open{box-shadow:var(--costy-shadow-sm)}.tk-clause-warn{border-color:#dea143}.tk-clause-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--costy-space-3) var(--costy-space-4);gap:var(--costy-space-3);background:var(--costy-bg-surface-2);border:none;border-bottom:1px solid transparent;cursor:pointer;font:inherit;text-align:left;transition:background .15s}.tk-clause-head:hover{background:var(--costy-bg-surface-3)}.tk-clause-warn .tk-clause-head{background:color-mix(in oklch,oklch(75% .13 75) 12%,transparent)}.tk-clause-open .tk-clause-head{border-bottom-color:var(--costy-border-hairline)}.tk-clause-head:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:-2px}.tk-clause-head-left{display:flex;align-items:center;gap:var(--costy-space-2);flex:1;min-width:0}.tk-clause-chip{font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);letter-spacing:.06em;text-transform:uppercase;padding:2px var(--costy-space-3);border-radius:var(--costy-radius-full);background:var(--costy-accent-soft);color:var(--costy-accent);flex-shrink:0}.tk-chip-standard{background:color-mix(in oklch,oklch(60% .13 275) 12%,transparent);color:#353b91}.tk-chip-short{background:color-mix(in oklch,oklch(60% .12 150) 14%,transparent);color:oklch(38% .12 150)}.tk-chip-provision{background:color-mix(in oklch,oklch(70% .13 90) 16%,transparent);color:oklch(40% .13 75)}.tk-chip-warning{background:color-mix(in oklch,oklch(70% .13 60) 18%,transparent);color:oklch(40% .14 50)}.tk-clause-title{font-size:var(--costy-text-sm);font-weight:var(--costy-weight-medium);color:var(--costy-ink-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-chevron{flex-shrink:0;color:var(--costy-ink-subtle);transition:transform .2s;font-size:14px;line-height:1}.tk-clause-open .tk-chevron{transform:rotate(180deg)}.tk-clause-body{padding:var(--costy-space-4) var(--costy-space-5)}.tk-clause-heading{font-family:var(--costy-font-display);font-size:var(--costy-text-lg);font-weight:var(--costy-weight-semibold);color:var(--costy-ink-strong);margin:0 0 var(--costy-space-3)}.tk-clause-text{font:inherit;font-size:var(--costy-text-sm);line-height:1.75;color:var(--costy-ink-base);white-space:pre-wrap;margin:0}.tk-clause-signoff{margin-top:var(--costy-space-4);padding-top:var(--costy-space-4);border-top:1px dashed var(--costy-border-hairline);font-size:var(--costy-text-xs);color:var(--costy-ink-muted);line-height:1.9}.tk-clause-signoff pre{font:inherit;margin:0;white-space:pre-wrap}.tk-clause-actions{margin-top:var(--costy-space-4);padding-top:var(--costy-space-3);border-top:1px solid var(--costy-border-hairline);display:flex;align-items:center;gap:var(--costy-space-2);flex-wrap:wrap}.tk-clause-note{font-size:var(--costy-text-xs);color:var(--costy-ink-subtle);font-style:italic}.tk-clause-empty{text-align:center;padding:var(--costy-space-6);color:var(--costy-ink-subtle);font-size:var(--costy-text-sm)}.tk-section-divider{display:flex;align-items:center;gap:var(--costy-space-3);margin:var(--costy-space-6) 0 var(--costy-space-4)}.tk-section-divider:before,.tk-section-divider:after{content:"";flex:1;height:1px;background:var(--costy-border-hairline)}.tk-section-divider span{font-size:var(--costy-text-xs);font-weight:var(--costy-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--costy-ink-subtle);white-space:nowrap}.tk-sig-host{padding:var(--costy-space-3) 0}.tk-note-list-lbl{margin-top:var(--costy-space-2)}.tk-note-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--costy-space-1) var(--costy-space-3);margin-bottom:var(--costy-space-4)}@media(max-width:600px){.tk-note-list{grid-template-columns:1fr}}.tk-note-row{display:flex;align-items:center;gap:var(--costy-space-2);padding:var(--costy-space-2) var(--costy-space-2);border-radius:var(--costy-radius-sm);cursor:pointer;transition:background .12s}.tk-note-row:hover{background:var(--costy-bg-surface-2)}.tk-note-check{flex:0 0 auto;width:16px;height:16px;accent-color:var(--costy-accent);cursor:pointer}.tk-note-check:focus-visible{outline:2px solid var(--costy-border-focus);outline-offset:2px}.tk-note-label{font-size:var(--costy-text-sm);color:var(--costy-ink-base);line-height:1.4}.tk-note-custom{margin-bottom:var(--costy-space-2)}.cat-page{max-width:960px;margin:0 auto;padding:8px 4px 64px}.cat-header{margin-bottom:20px}.cat-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.cat-title{margin:2px 0 6px;font-size:22px;font-weight:700;color:var(--text)}.cat-desc{margin:0;max-width:60ch;font-size:13px;line-height:1.5;color:var(--text-muted)}.cat-cat-toggle{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.cat-cat{appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer}.cat-cat:hover{color:var(--text-2)}.cat-cat.active{color:var(--accent);border-bottom-color:var(--accent)}.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.cat-add-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.cat-field{display:flex;flex-direction:column;gap:4px;min-width:0}.cat-field-lbl{font-size:11px;font-weight:600;color:var(--text-muted)}.cat-field-inp{width:100%;box-sizing:border-box;padding:8px 10px;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius)}.cat-field-inp:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px;border-color:var(--border-focus)}.cat-field-action{align-self:end}.cat-search-wrap{margin-bottom:12px}.cat-search{width:100%;box-sizing:border-box;padding:9px 12px;font-size:14px;color:var(--text);background:var(--surface-alt);border:1px solid var(--border-2);border-radius:var(--radius)}.cat-search:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cat-list{display:flex;flex-direction:column}.cat-row{display:grid;grid-template-columns:1fr 110px 110px auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--border)}.cat-row:last-child{border-bottom:none}.cat-row-name{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-row-cost{font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-2)}.cat-row-unit{font-size:12px;color:var(--text-muted)}.cat-row-actions{display:flex;gap:6px;justify-content:flex-end}.cat-row-inactive{opacity:.55}.cat-row-tag{margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-warning);background:var(--color-warning-bg);border-radius:var(--radius-sm)}.cat-row-editing{grid-template-columns:1fr 110px 110px auto}.cat-btn{appearance:none;padding:6px 12px;font-size:13px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius);cursor:pointer}.cat-btn:hover{background:var(--surface-3)}.cat-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cat-btn-primary{color:#fff;background:var(--accent);border-color:var(--accent)}.cat-btn-primary:hover{background:var(--accent-dark)}.cat-btn-ghost{background:none;border-color:transparent;color:var(--text-muted)}.cat-btn-ghost:hover{background:var(--surface-2);color:var(--text-2)}.cat-btn-danger{background:none;border-color:transparent;color:var(--color-warning)}.cat-btn-danger:hover{background:var(--color-warning-bg)}.cat-state{margin-top:8px}.cat-note{font-size:13px;line-height:1.5;color:var(--text-muted)}.cat-note-warn{color:var(--color-warning)}.cat-note code{font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:var(--radius-sm)}.cat-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0}.cat-import{padding:0}.cat-import-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:none;border:none;font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer}.cat-import-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.cat-chevron{transition:transform .15s ease;color:var(--text-dim)}.cat-import-toggle.open .cat-chevron{transform:rotate(180deg)}.cat-import-body{padding:0 16px 16px}.cat-import-text{width:100%;box-sizing:border-box;margin:8px 0;padding:10px 12px;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.5;color:var(--text);background:var(--surface-alt);border:1px solid var(--border-2);border-radius:var(--radius);resize:vertical}.cat-import-text:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cat-import-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.cat-file-btn{cursor:pointer}.cat-preview-summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px}.cat-preview-stat{padding:3px 9px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border-radius:var(--radius-sm)}.cat-preview-new{color:var(--color-success);background:var(--color-success-bg)}.cat-preview-upd{color:var(--accent);background:var(--accent-light)}.cat-preview-bad{color:var(--color-warning);background:var(--color-warning-bg)}.cat-preview-rows{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cat-preview-row{display:grid;grid-template-columns:72px 1fr 90px 80px;gap:10px;align-items:center;padding:7px 10px;font-size:13px;border-bottom:1px solid var(--border)}.cat-preview-row:last-child{border-bottom:none}.cat-preview-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:center;padding:2px 0;border-radius:var(--radius-sm)}.cat-preview-kind-new{color:var(--color-success);background:var(--color-success-bg)}.cat-preview-kind-upd{color:var(--accent);background:var(--accent-light)}.cat-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.cat-preview-cost{font-variant-numeric:tabular-nums;color:var(--text-2)}.cat-preview-unit{font-size:12px;color:var(--text-muted)}.cat-preview-more{padding:7px 10px;font-size:12px;color:var(--text-muted)}.cat-preview-invalid{margin-top:10px;font-size:12px;color:var(--text-muted)}.cat-preview-invalid summary{cursor:pointer;color:var(--color-warning)}.cat-preview-invalid-row{padding:3px 0 0 12px}.cat-rates-head{margin-bottom:12px}.cat-rates-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--text)}.cat-rate-row{display:grid;grid-template-columns:1fr 90px 120px auto;gap:12px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--border)}.cat-rate-row:last-child{border-bottom:none}.cat-rate-name{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-rate-unit{font-size:12px;color:var(--text-muted)}.cat-rate-cost{font-variant-numeric:tabular-nums}.cat-rate-overridden .cat-rate-name{font-weight:600}.cat-rate-overridden .cat-rate-cost{color:var(--accent)}.cat-rate-actions{display:flex;gap:6px}.cat-rate-import{margin-bottom:14px}.cat-preview-prev{font-size:11px;color:var(--text-muted);font-weight:500}@media(max-width:640px){.cat-add-grid{grid-template-columns:1fr 1fr}.cat-field-name,.cat-field-action{grid-column:1 / -1}.cat-row,.cat-row-editing{grid-template-columns:1fr auto}.cat-row-cost,.cat-row-unit{grid-column:1;font-size:12px}.cat-row-actions{grid-row:1;grid-column:2}.cat-rate-row{grid-template-columns:1fr 100px auto}.cat-rate-unit{grid-column:1;font-size:11px}.cat-rate-cost{grid-column:2}.cat-rate-actions{grid-row:1;grid-column:3}}.ms-page{max-width:760px;margin:0 auto;padding:8px 4px 96px}.ms-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.ms-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.ms-title{margin:2px 0 6px;font-size:22px;font-weight:700;color:var(--text)}.ms-desc{margin:0;max-width:54ch;font-size:13px;line-height:1.5;color:var(--text-muted)}.ms-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px}.ms-rooms-head,.ms-room{display:grid;grid-template-columns:1fr 92px 92px 84px 44px;gap:8px;align-items:center}.ms-rooms-head{padding:4px 4px 8px;font-size:11px;font-weight:600;color:var(--text-dim);border-bottom:1px solid var(--border)}.ms-rooms-head span:nth-child(2),.ms-rooms-head span:nth-child(3),.ms-rooms-head span:nth-child(4){text-align:right}.ms-room{padding:8px 4px;border-bottom:1px solid var(--border)}.ms-room:last-child{border-bottom:none}.ms-inp-name,.ms-inp{width:100%;box-sizing:border-box;padding:9px 10px;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius)}.ms-inp-dim{text-align:right;font-variant-numeric:tabular-nums}.ms-inp-name:focus-visible,.ms-inp:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px;border-color:var(--border-focus)}.ms-area{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-2)}.ms-del{appearance:none;width:32px;height:32px;font-size:18px;line-height:1;color:var(--text-dim);background:none;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.ms-del:hover{color:var(--color-warning);background:var(--color-warning-bg)}.ms-del:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}@media(pointer:coarse){.ms-del{width:44px;height:44px}}.ms-empty{padding:20px 4px;font-size:13px;color:var(--text-muted);text-align:center}.ms-add-row{padding-top:12px}.ms-btn{appearance:none;padding:9px 16px;font-size:14px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius);cursor:pointer}.ms-btn:hover{background:var(--surface-3)}.ms-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.ms-btn-primary{color:#fff;background:var(--accent);border-color:var(--accent);width:100%}.ms-btn-primary:hover{background:var(--accent-dark)}.ms-btn-ghost{background:none;border-color:transparent;color:var(--text-muted)}.ms-btn-ghost:hover{background:var(--surface-2);color:var(--text-2)}.ms-total{position:sticky;bottom:12px;margin-top:16px}.ms-total-inner{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--accent);color:#fff;border-radius:var(--radius-lg);box-shadow:0 6px 20px #00000024}.ms-total-rooms{font-size:13px;opacity:.85}.ms-total-main{font-size:16px}.ms-total-main strong{font-size:22px;font-variant-numeric:tabular-nums}.ms-total-sub{font-size:12px;opacity:.8}.ms-send-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ms-send-lbl{font-size:13px;font-weight:600;color:var(--text-muted)}.ms-send-btn{flex:1 1 auto;min-width:120px}@media(max-width:560px){.ms-rooms-head{display:none}.ms-room{grid-template-columns:1fr 1fr 44px;gap:6px 8px}.ms-inp-name{grid-column:1 / 3}.ms-del{grid-column:3;grid-row:1;justify-self:end}.ms-area{grid-column:1 / 4;text-align:left;padding-top:2px;color:var(--accent)}.ms-total-inner{flex-direction:column;align-items:flex-start;gap:2px}}.warnings{display:none;padding:0;gap:6px;flex-wrap:wrap}.warnings.visible{display:flex;padding:8px 0}.warn-pill{font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}.warn-amber{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(212,145,90,.2)}.warn-red{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(201,107,107,.2)}.warn-info{background:var(--accent-light);color:var(--accent-dark);border:1px solid rgba(94,106,210,.2);transition:all .15s}.warn-info:hover{background:var(--accent-bg);transform:translateY(-1px)}.opt-bar{display:none;gap:6px;flex-wrap:wrap;padding:0;margin-bottom:8px}.opt-bar.visible{display:flex}.opt-tab{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:12px;cursor:pointer;transition:all .15s}.opt-tab:hover{border-color:var(--accent)}.opt-tab.active{border-color:var(--accent);background:var(--accent-bg)}.opt-letter{font-family:var(--font-mono);font-weight:700;color:var(--accent)}.opt-tab-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opt-tab-price{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent-dark)}.opt-tab-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.opt-tab-del:hover{color:var(--color-danger)}.opt-add{padding:7px 12px;border-radius:var(--radius-sm);border:1px dashed var(--border-2);background:none;font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.opt-add:hover{border-color:var(--accent);color:var(--accent)}.ci-hd{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border)}.ci-title{font-size:13px;font-weight:700}.ci-sub{font-size:11px;color:var(--text-muted)}.ci-toolbar-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.ci-hd>.ci-toolbar-btn:first-of-type{margin-left:auto}.ci-hd>.ci-toolbar-btn+.ci-toolbar-btn{margin-left:6px}.ci-toolbar-btn:hover{border-color:var(--accent);color:var(--accent-dark)}.ci-toolbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ci-toolbar-btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.ci-toolbar-btn.on:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}[id$=-cost-itemisation] .grand-val{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:var(--accent-dark);color:var(--accent-dark)}.qty-wrap{position:relative;display:block}.qty-wrap-flex{position:relative}.qty-wrap input.qty,.qty-wrap input.bi-inp{padding-right:22px}.qty-wrap input.qjc-stairs-inp{padding-right:26px}.qty-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:15px;height:15px;background:transparent;border:none;border-radius:0;color:var(--color-danger);opacity:.55;font-size:14px;font-weight:500;cursor:pointer;padding:0;line-height:1;display:none;align-items:center;justify-content:center;transition:opacity var(--duration) var(--ease);z-index:2}.qty-clear:hover{opacity:1}.qty-wrap.has-value .qty-clear,.qty-wrap-flex.has-value .qty-clear{display:flex}.qty-wrap-flex .qty-clear{right:28px}.audit-disclosure{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.audit-disclosure>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-2);padding:4px 0;list-style:none;user-select:none}.audit-disclosure>summary::-webkit-details-marker{display:none}.audit-disclosure>summary:before{content:"▸";display:inline-block;margin-right:8px;transition:transform .15s ease;font-size:10px;color:var(--text-muted)}.audit-disclosure[open]>summary:before{transform:rotate(90deg)}.audit-disclosure>summary:focus-visible{outline:2px solid var(--accent, currentColor);outline-offset:2px;border-radius:var(--radius-sm)}.audit-body{padding:8px 0 4px;font-size:12px}.audit-loading,.audit-empty{color:var(--text-muted);font-style:italic;margin:0;padding:6px 0}.audit-timeline{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}.audit-entry{padding:8px 10px;border-left:3px solid var(--border);margin-bottom:6px;background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.audit-entry-I{border-left-color:var(--color-success)}.audit-entry-U{border-left-color:var(--color-warning)}.audit-entry-D{border-left-color:var(--color-danger)}.audit-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}.audit-action{font-weight:600;font-size:12px;color:var(--text)}.audit-when{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.audit-changes{list-style:none;padding:0;margin:4px 0 0}.audit-change{display:grid;grid-template-columns:minmax(90px,1fr) minmax(60px,1.2fr) auto minmax(60px,1.2fr);gap:6px;font-size:11.5px;padding:2px 0;align-items:baseline}.audit-field{color:var(--text-muted);font-weight:500}.audit-from{color:var(--text-2);text-decoration:line-through;text-decoration-color:var(--color-danger);opacity:.75;word-break:break-word}.audit-arrow{color:var(--text-muted);text-align:center}.audit-to{color:var(--text);font-weight:500;word-break:break-word}.em-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 16px;background:#5e6ad212;border:1.5px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:2px;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.em-banner.em-dirty{background:#e6950012;border-color:var(--color-warning)}.em-banner.em-dirty .em-dot{color:var(--color-warning);opacity:1}.em-banner.em-dirty .em-curr{color:var(--color-warning);font-weight:700}.em-info{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--text)}.em-dot{color:var(--accent);font-size:10px;opacity:0;transition:opacity var(--duration) var(--ease),color var(--duration) var(--ease)}.em-banner.em-dirty .em-dot{opacity:1}.em-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.em-banner strong{color:var(--accent-dark);font-weight:700}.em-orig{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-decoration:line-through;opacity:.7}.em-arrow{color:var(--text-dim);font-size:11px}.em-curr{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent-dark);transition:color var(--duration) var(--ease)}.em-ver{font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:8px;background:var(--accent-bg);color:var(--accent-dark);letter-spacing:.4px}.em-actions{display:flex;gap:6px;flex-shrink:0}#carpet-post-btn.em-active,#hf-post-btn.em-active{background:var(--color-warning);border-color:var(--color-warning)}.trk-load-edit{color:var(--accent-dark)!important;font-weight:600}.cpv-backdrop{position:fixed;inset:0;z-index:900;background:#00000073;opacity:0;pointer-events:none;transition:opacity .2s var(--ease);backdrop-filter:blur(2px)}.cpv-backdrop.cpv-open{opacity:1;pointer-events:auto}.cpv-panel{position:fixed;z-index:901;top:50%;left:50%;transform:translate(-50%,-48%) scale(.97);width:min(560px,96vw);max-height:88vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 64px #00000038,0 4px 16px #0000001f;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);outline:none}.cpv-panel.cpv-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.cpv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.cpv-header-left{display:flex;align-items:flex-start;gap:10px}.cpv-type-badge{flex-shrink:0;margin-top:2px}.cpv-title-block{display:flex;flex-direction:column;gap:3px}.cpv-title{font-size:16px;font-weight:700;color:var(--text);margin:0;line-height:1.2}.cpv-meta{font-size:10.5px;color:var(--text-muted);letter-spacing:.2px}.cpv-close{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--color-danger);border:none;cursor:pointer;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease);margin-top:1px}.cpv-close:hover{background:#b91c1c;transform:scale(1.12)}.cpv-body{overflow-y:auto;flex:1;padding:0 0 4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.cpv-no-snapshot{margin:16px 18px 0;padding:12px 14px;background:#e6950012;border:1px solid rgba(230,149,0,.25);border-radius:var(--radius-sm);font-size:12px;color:var(--text-muted);text-align:center}.cpv-no-snap-icon{font-size:22px;margin-bottom:6px}.cpv-no-snapshot p{margin:2px 0}.cpv-section{padding:16px 18px 0}.cpv-section:last-child{padding-bottom:16px}.cpv-section-title{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin:0 0 10px}.cpv-grid{display:flex;flex-direction:column;gap:6px}.cpv-row{display:flex;align-items:baseline;gap:10px;font-size:12.5px}.cpv-row-label{flex-shrink:0;width:100px;font-size:11px;color:var(--text-muted);font-weight:500}.cpv-row-value{color:var(--text);flex:1}.cpv-flag{font-size:10px;font-weight:700;padding:1px 7px;border-radius:8px;background:var(--accent-bg);color:var(--accent-dark)}.cpv-checks{display:flex;flex-wrap:wrap;gap:5px}.cpv-check{font-size:10.5px;padding:1px 7px;border-radius:8px;background:#22c55e1a;color:var(--color-success);font-weight:600}.cpv-financials{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.cpv-fin-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:12.5px;border-bottom:1px solid var(--border)}.cpv-fin-row:last-child{border-bottom:none}.cpv-fin-hero{background:var(--accent-bg);padding:11px 14px}.cpv-fin-label{color:var(--text-muted)}.cpv-fin-value{font-family:var(--font-mono);font-weight:600;color:var(--text)}.cpv-fin-bold{font-weight:700;font-size:14px}.cpv-fin-divider{border-bottom:1px solid var(--border-2)}.cpv-val-accent{color:var(--accent-dark)}.cpv-val-success{color:var(--color-success)}.cpv-val-warning{color:var(--color-warning)}.cpv-val-danger{color:var(--color-danger)}.cpv-notes{font-size:12px;color:var(--text-muted);line-height:1.55;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:0;white-space:pre-wrap}.cpv-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--border);flex-shrink:0}.cpv-footer-hint{font-size:10px;color:var(--text-dim);letter-spacing:.2px}.trk-preview-btn{font-size:13px;opacity:.75}.trk-preview-btn:hover{opacity:1}.cpv-ci-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.cpv-ci-table{width:100%;border-collapse:collapse;font-size:11.5px}.cpv-ci-table thead th{padding:6px 10px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);text-align:left}.cpv-ci-table thead th.cpv-ci-qty,.cpv-ci-table thead th.cpv-ci-cost,.cpv-ci-table thead th.cpv-ci-total{text-align:right}.cpv-ci-grp td{padding:5px 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent-dark);background:var(--accent-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cpv-ci-row td{padding:5px 10px;border-bottom:1px solid var(--border)}.cpv-ci-row:last-of-type td{border-bottom:none}.cpv-ci-table tbody tr:hover td{background:var(--accent-bg)}.cpv-ci-name{color:var(--text);min-width:140px}.cpv-ci-unit{color:var(--text-muted);white-space:nowrap}.cpv-ci-qty{text-align:right;font-family:var(--font-mono);color:var(--text)}.cpv-ci-cost{text-align:right;font-family:var(--font-mono);color:var(--text-muted)}.cpv-ci-total{text-align:right;font-family:var(--font-mono);font-weight:600;color:var(--text)}.cpv-ci-sub td{padding:5px 10px;border-top:1px solid var(--border-2)}.cpv-ci-sub-lbl{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cpv-ci-sub-val{text-align:right;font-family:var(--font-mono);font-weight:700;color:var(--text)}.cpv-ci-grand td{padding:7px 10px;background:var(--surface-2);border-top:2px solid var(--border)}.cpv-ci-grand-lbl{font-size:10.5px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.cpv-ci-grand-val{text-align:right;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent-dark)}.rm-modal-ov{display:flex;align-items:flex-end;justify-content:center;padding:0}.rm-modal-ov.open{align-items:flex-end}@media(min-width:600px){.rm-modal-ov.open{align-items:center}.rm-sheet{max-height:80vh;border-radius:var(--radius)}}.rm-sheet{background:var(--surface);width:100%;max-width:560px;border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;max-height:92dvh;overflow:hidden;box-shadow:0 -8px 40px #0000002e;animation:rm-slide-up .22s ease}@keyframes rm-slide-up{0%{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}.rm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.rm-header-left{display:flex;align-items:center;gap:10px}.rm-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.2px}.rm-type-pill{font-size:10.5px;font-weight:600;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);border-radius:99px;padding:2px 9px;letter-spacing:.3px}.rm-close{background:none;border:none;font-size:20px;line-height:1;color:var(--text-dim);cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);transition:background .1s,color .1s}.rm-close:hover{background:var(--surface-2);color:var(--text)}.rm-col-hdr{display:grid;grid-template-columns:1fr 90px 72px 32px;gap:8px;padding:6px 18px;background:var(--surface-alt);border-bottom:1px solid var(--border);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);flex-shrink:0}.rm-col-val,.rm-col-m2,.rm-col-del{text-align:right}.rm-body{overflow-y:auto;flex:1;min-height:0;padding:6px 0}.rm-empty{padding:32px 24px;text-align:center;color:var(--text-muted);font-size:13.5px;line-height:1.7}.rm-empty strong{color:var(--text)}.rm-row{display:grid;grid-template-columns:1fr 90px 72px 32px;gap:8px;align-items:center;padding:7px 18px;border-bottom:1px solid var(--border-subtle, var(--border));transition:background .1s}.rm-row:last-child{border-bottom:none}.rm-row:hover{background:var(--surface-alt)}.rm-inp-name,.rm-inp-val{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px;padding:6px 9px;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.rm-inp-name:focus,.rm-inp-val:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.rm-inp-val{font-family:var(--font-mono);text-align:right}.rm-m2-display{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);text-align:right;white-space:nowrap}.rm-del-btn{background:none;border:none;color:var(--color-danger);font-size:16px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);line-height:1;opacity:.55;transition:opacity .15s,background .1s}.rm-del-btn:hover{opacity:1;background:#ef444414}.rm-add-btn{display:flex;align-items:center;gap:6px;margin:10px 18px;padding:8px 14px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s;flex-shrink:0}.rm-add-btn:hover{border-color:var(--accent);background:var(--accent-bg)}.rm-add-icon{font-size:17px;line-height:1;font-weight:700}.rm-totals{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0}.rm-tot-cell{display:flex;flex-direction:column;align-items:center;padding:12px 8px;gap:4px;border-right:1px solid var(--border)}.rm-tot-cell:last-child{border-right:none}.rm-tot-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.rm-tot-val{font-family:var(--font-mono);font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.5px}.rm-tot-gst{color:var(--accent)}.rm-apply-btn{background:var(--text);color:var(--surface);border:none;font-size:14px;font-weight:700;padding:15px 24px;text-align:center;cursor:pointer;flex-shrink:0;width:100%;letter-spacing:-.1px;transition:opacity .15s}.rm-apply-btn:hover{opacity:.88}.rm-apply-btn:active{opacity:.75}@media(prefers-color-scheme:dark){.rm-apply-btn{background:#fff;color:#000}}kbd{display:inline-block;padding:1px 6px;font-family:var(--font-mono);font-size:11px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px;white-space:nowrap}.shortcuts-tbl{width:100%;border-collapse:collapse;font-size:13px}.shortcuts-tbl td{padding:7px 0;vertical-align:middle;border-bottom:1px solid var(--border)}.shortcuts-tbl tr:last-child td{border-bottom:none}.shortcuts-tbl td:first-child{width:130px}@media(max-width:700px){.header{padding:0 14px;height:54px}.tab-bar{padding:0 14px}.page{padding:14px 12px 32px;gap:12px}.cost-total{margin-left:0}.invoice-value{font-size:20px}.action-bar-left{flex-wrap:wrap}}@media(max-width:700px){.btn-sm{min-height:40px;padding-left:12px;padding-right:12px}.btn-xs{min-height:40px;padding-left:10px;padding-right:10px}.cb-pill,.supply-btn{min-height:40px;padding-top:8px;padding-bottom:8px}.iname-inp{min-width:110px}table.items td,table.items thead th{padding-left:6px;padding-right:6px}}@media print{@page{size:A4 portrait;margin:8mm 10mm}html,body{background:#fff!important}body>*:not(#print-overlay){display:none!important}#print-overlay{display:block!important}}#print-overlay{--po-accent: #5E6AD2;--po-accent-dark: #4F58B8;--po-muted: #737373;--po-dim: #A3A3A3;--po-border: #E5E5E5;--po-bg: #FAFAFA;--po-text: #0A0A0A;--po-font: "Inter", -apple-system, sans-serif;--po-mono: "JetBrains Mono", monospace;--po-display: "Montserrat", "Inter", -apple-system, sans-serif;display:none;position:fixed;inset:0;z-index:99999;color:var(--po-text);font-family:var(--po-font);font-size:10pt;line-height:1.4;overflow:auto;background:#fff}#print-overlay.po-shown{display:block}#print-overlay.po-internal{font-size:9.5pt;line-height:1.35}.po-page{max-width:190mm;margin:0 auto;padding:12mm}.po-internal .po-page{padding:10mm}.po-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:3mm;margin-bottom:3mm;border-bottom:2pt solid var(--po-accent)}.po-internal .po-header{padding-bottom:2mm;margin-bottom:2mm;border-bottom-width:1.5pt}.po-brand{font-family:var(--po-display);font-size:16pt;font-weight:700;color:var(--po-accent);letter-spacing:-.02em}.po-internal .po-brand{font-size:13pt}.po-brand-sub{font-size:9pt;color:var(--po-muted);font-weight:400}.po-tagline{font-size:9pt;color:var(--po-muted)}.po-meta-right{text-align:right}.po-meta-title{font-family:var(--po-display);font-size:14pt;font-weight:700;color:var(--po-accent);letter-spacing:.05em}.po-meta-line{font-size:9pt;color:var(--po-muted)}.po-eyebrow{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--po-muted);margin-bottom:2pt}.po-customer{margin-bottom:3mm}.po-customer-lines{font-size:11pt;line-height:1.6}.po-cust-summary{margin-bottom:3mm;font-size:10pt;line-height:1.6}.po-cust-summary .name{font-weight:700}.po-cust-summary .addr{color:var(--po-muted)}.po-table{width:100%;border-collapse:collapse;font-size:10pt;margin-bottom:3mm;border:1pt solid var(--po-border)}.po-table thead tr{background:var(--po-accent)}.po-table thead th{text-align:left;padding:5pt 8pt;color:#fff;font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.6px;border:none}.po-table thead th.r{text-align:right}.po-table tbody td{padding:3pt 8pt;border-bottom:.5pt solid var(--po-bg)}.po-table tbody td.unit{color:var(--po-muted);font-size:9pt}.po-table tbody td.num{text-align:right;font-family:var(--po-mono)}.po-table tbody td.num.b{font-weight:500}.po-table tr.sec-row td{padding:4pt 8pt 1pt;font-size:8pt;font-weight:700;text-transform:uppercase;color:var(--po-dim);border-bottom:.5pt solid var(--po-bg)}.po-totals-wrap{display:flex;justify-content:flex-end;margin-bottom:3mm}.po-totals{width:55%;border:1pt solid var(--po-border);border-radius:3pt;overflow:hidden}.po-totals-line{display:flex;justify-content:space-between;padding:4pt 10pt;border-bottom:.5pt solid var(--po-bg);font-size:9pt}.po-totals-line .lbl{color:var(--po-muted)}.po-totals-line .val{font-family:var(--po-mono)}.po-totals-line.major{padding:6pt 10pt;background:var(--po-accent);color:#fff;font-weight:700;border-bottom:none}.po-totals-line.major .val{font-size:14pt}.po-internal .po-totals-line.major .val{font-size:12pt}.po-totals-line.deposit .val{font-weight:600;color:var(--po-accent-dark)}.po-rooms{border:1pt solid var(--po-border);border-radius:3pt;overflow:hidden;margin-bottom:3mm}.po-rooms-title{padding:4pt 10pt;background:var(--po-bg);font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--po-accent-dark);border-bottom:.5pt solid var(--po-border)}.po-rooms-table{width:100%;border-collapse:collapse;font-size:9.5pt}.po-rooms-table td{padding:3pt 10pt;border-bottom:.5pt solid var(--po-bg)}.po-rooms-table td.area{text-align:right;font-family:var(--po-mono);color:var(--po-muted)}.po-rooms-table td.cost{text-align:right;font-family:var(--po-mono);font-weight:600;color:var(--po-accent-dark)}.po-terms{border-top:1.5pt solid var(--po-border);padding-top:4mm;margin-top:2mm}.po-terms-title{font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--po-accent-dark);margin-bottom:3pt}.po-terms-list{font-size:7.5pt;color:var(--po-muted);line-height:1.8;columns:2;column-gap:16pt}.po-info-row{display:flex;gap:4mm;margin-bottom:3mm;align-items:stretch}.po-info-card{flex:1 1 0}.po-info-card.po-jobsheet{margin-bottom:0}.po-info-rows{font-size:9pt}.po-info-line{display:flex;padding:3pt 10pt;border-bottom:.5pt solid var(--po-bg);gap:8pt}.po-info-line:last-child{border-bottom:none}.po-info-line .lbl{color:var(--po-muted);font-size:8pt;font-weight:500;flex:0 0 22%;text-transform:uppercase;letter-spacing:.3px;align-self:center}.po-info-line .val{font-weight:600;flex:1}.po-jobsheet{border:1pt solid var(--po-border);border-radius:3pt;overflow:hidden;margin-bottom:3mm}.po-jobsheet-title{padding:3pt 10pt;background:var(--po-bg);font-size:7.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--po-accent-dark);border-bottom:.5pt solid var(--po-border)}.po-jobsheet-fields{display:grid;grid-template-columns:1fr 1fr;gap:0;font-size:9pt}.po-jobsheet-field{padding:3pt 10pt}.po-jobsheet-field.br{border-right:.5pt solid var(--po-bg)}.po-jobsheet-field.bb{border-bottom:.5pt solid var(--po-bg)}.po-jobsheet-field.full{grid-column:1 / -1}.po-jobsheet-field .lbl{color:var(--po-muted);font-size:8pt;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:1pt}.po-jobsheet-field .val{font-weight:600}.po-jobsheet-status{padding:4pt 10pt;border-top:.5pt solid var(--po-bg);font-size:8.5pt;display:flex;flex-wrap:wrap;gap:6pt;align-items:center}.po-jobsheet-status .lbl{color:var(--po-muted);font-size:7.5pt;text-transform:uppercase;letter-spacing:.4px;font-weight:700}.po-pill{display:inline-flex;align-items:center;gap:3pt;padding:1.5pt 6pt;background:var(--po-bg);border:.5pt solid var(--po-border);border-radius:2pt;font-size:8.5pt}.po-pill .tick{color:#16a34a;font-weight:700}.po-pill.supply{background:var(--po-accent);color:#fff;border:none;font-weight:600}.po-jobsheet-notes{padding:4pt 10pt;border-top:.5pt solid var(--po-bg);font-size:9pt}.po-jobsheet-notes .lbl{color:var(--po-muted);font-size:7.5pt;text-transform:uppercase;letter-spacing:.4px;font-weight:700;margin-bottom:2pt}.po-jobsheet-notes .body{white-space:pre-wrap;line-height:1.5}.po-cost-table{width:100%;border-collapse:collapse;font-size:9pt;border:1pt solid var(--po-border)}.po-cost-table th{text-align:left;padding:3pt 8pt;font-size:7.5pt;font-weight:700;text-transform:uppercase;color:var(--po-muted);border:.5pt solid var(--po-border);background:var(--po-bg)}.po-cost-table th.r{text-align:right}.po-cost-table td{padding:2pt 8pt;border:.5pt solid var(--po-border)}.po-cost-table td.unit{color:var(--po-muted)}.po-cost-table td.num{text-align:right;font-family:var(--po-mono)}.po-cost-table td.num.b{font-weight:600}.po-cost-table tr.sec-row td{padding:3pt 8pt;font-size:8pt;font-weight:700;text-transform:uppercase;color:var(--po-accent-dark);background:var(--po-bg)}.po-cost-table tr.total-row{background:var(--po-bg)}.po-cost-table tr.total-row td{padding:4pt 8pt;font-weight:700}.po-ticket-list-foot{margin-top:3mm;font-size:8pt;color:var(--po-muted);text-align:center}.po-pricing{margin-top:3mm;display:flex;justify-content:flex-end}.po-pricing-box{width:55%;border:1pt solid var(--po-border);border-radius:3pt;overflow:hidden}.po-pricing-line{display:flex;justify-content:space-between;padding:3pt 10pt;border-bottom:.5pt solid var(--po-bg);font-size:9pt}.po-pricing-line .lbl{color:var(--po-muted)}.po-pricing-line .val{font-family:var(--po-mono)}.po-pricing-line .val.b{font-weight:600}.po-pricing-line.major{padding:5pt 10pt;background:var(--po-accent);color:#fff;font-weight:700;border-bottom:none}.po-pricing-line.major .val{font-size:12pt}#print-overlay.po-ticket{display:flex!important;align-items:center;justify-content:center;padding:32pt 24pt;min-height:100vh;font-family:var(--po-font);color:var(--po-text);background:#fff}.po-ticket-card{width:100%;max-width:360pt;border:2pt solid var(--po-accent);border-radius:6pt;padding:24pt 28pt 22pt;display:flex;flex-direction:column;gap:10pt}.po-ticket-product{font-size:18pt;font-weight:600;letter-spacing:-.01em;line-height:1.2}.po-ticket-divider{height:1pt;background:var(--po-border);margin:4pt 0}.po-ticket-row{display:flex;align-items:baseline;justify-content:space-between;font-size:11pt;color:var(--po-muted)}.po-ticket-val{font-family:var(--po-mono);font-size:14pt;font-weight:600;color:var(--po-text)}.po-ticket-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:6pt;font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--po-muted)}.po-ticket-total-val{font-family:var(--po-mono);font-size:28pt;font-weight:700;letter-spacing:-.02em;color:var(--po-accent)}.po-ticket-footer{text-align:center;font-size:9pt;color:var(--po-dim);letter-spacing:.3pt;margin-top:6pt}.po-qjc-summary{margin:2mm 0 4mm;padding-bottom:2mm;border-bottom:.5pt solid var(--po-border)}.po-qjc-title{font-size:14pt;font-weight:700;color:var(--po-text)}.po-qjc-subtitle{margin-top:1pt;font-size:10pt;color:var(--po-muted)}.po-qjc-room-qty{color:var(--po-muted);font-weight:400}@media print{.no-print{display:none!important}}.po-ci-block{margin-top:3mm;margin-bottom:3mm}.po-ci-title{font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--po-accent-dark);margin-bottom:2pt}.po-internal.po-ci-included{font-size:8.5pt;line-height:1.3}.po-internal.po-ci-included .po-page{padding:7mm}.po-internal.po-ci-included .po-brand{font-size:11.5pt}.po-internal.po-ci-included .po-header{padding-bottom:1.5mm;margin-bottom:2mm}.po-internal.po-ci-included .po-info-row{margin-bottom:2mm}.po-internal.po-ci-included .po-info-rows,.po-internal.po-ci-included .po-cost-table{font-size:8pt}.po-internal.po-ci-included .po-cost-table th{font-size:6.5pt;padding:2pt 6pt}.po-internal.po-ci-included .po-cost-table td{padding:1.5pt 6pt}.po-internal.po-ci-included .po-cost-table tr.total-row td{padding:3pt 6pt}.po-internal.po-ci-included .po-ci-block{margin-top:2mm;margin-bottom:2mm}.po-internal.po-ci-included .po-ci-title{font-size:7pt}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
