.print-page{width:210mm;min-height:297mm;margin:0 auto 14px;background:var(--page-bg, #ffffff);color:var(--text-color, var(--dark, #111827));padding:12mm 12mm 16mm;box-shadow:0 7px 24px #0f172a2e;position:relative;page-break-after:always;overflow:hidden;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;background-clip:border-box;font-family:Segoe UI,system-ui,sans-serif;font-size:12px}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12mm;font-size:12px}.logo-box{width:28mm;height:18mm;border:1px solid #222;display:flex;align-items:center;justify-content:center;font-weight:800;color:#334155;font-size:11px;text-align:center}.client-logo{background:#173b5f;color:#fff;border-color:#173b5f}.hero-box{height:92mm;margin:22mm 10mm 14mm;background:linear-gradient(135deg,#e7edf5,#f8fafc);border:1px solid #d7deea;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:700}.pdf-table{width:100%;border-collapse:collapse;border-radius:var(--pdf-table-radius, 0);overflow:hidden}.pdf-table th,.pdf-table td{border:1px solid var(--table-border-color, #d8dde6);padding:2mm 2.4mm;text-align:left}.pdf-table th{background:var(--table-head-bg, #e5e7eb);color:var(--text-color, #111827);font-size:11px}.pdf-table td{font-size:11px;color:var(--text-color, #111827)}.pdf-table td.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pdf-table td.num,.pdf-table th.money,.pdf-table th.num{text-align:right}.pdf-table thead.repeated-header-hidden th{padding:0;border:0;height:0;line-height:0;font-size:0;overflow:hidden}.pdf-table thead.repeated-header-hidden .pdf-col-resize-handle{display:none}.pdf-col-resize-handle{position:absolute;top:0;bottom:0;right:-3px;width:6px;cursor:col-resize;z-index:5;background:transparent;touch-action:none}.pdf-col-resize-handle:hover,.pdf-col-resize-handle:active{background:var(--red, #2563eb);opacity:.45}.red-row th,.red-row td{background:var(--red, #d71920)!important;color:#fff!important;border-color:var(--red, #d71920)!important;font-weight:800}.section-title{margin:4mm 0 3mm;font-size:15px;text-transform:var(--section-title-transform, none);font-weight:800}.exec-title{text-transform:var(--section-title-transform, none)}.line-comment{font-size:9px;color:#64748b;font-style:italic;margin-top:.6mm;line-height:1.3}.page-footer{position:absolute;left:12mm;right:12mm;bottom:7mm;display:flex;justify-content:space-between;font-size:10px;color:var(--text-color, #111827)}.page-note{margin-top:4mm;font-size:11px;text-align:center}.exec-kicker{font-size:8px;letter-spacing:4px;color:#64748b;text-transform:uppercase;margin:0 0 4mm;font-weight:800}.exec-title{font-size:24px;line-height:1.05;margin:0 0 5mm;color:var(--text-color, #111827)}.exec-subtitle{font-size:8px;letter-spacing:2px;color:#64748b;text-transform:uppercase;margin-bottom:5mm;font-weight:800}.exec-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--table-border-color, #d8dde6);margin-bottom:6mm}.exec-metric-card{min-height:22mm;padding:4mm;border-right:1px solid var(--table-border-color, #d8dde6);display:grid;align-content:center;gap:1mm;background:#ffffff80}.exec-metric-card:last-child{border-right:0}.exec-metric-label{font-size:7px;letter-spacing:2px;text-transform:uppercase;color:#64748b;font-weight:900}.exec-metric-value{font-size:20px;line-height:1;color:var(--text-color, #111827);white-space:nowrap}.exec-metric-note{font-size:7px;color:#64748b}.exec-metric-rate{font-size:7px;color:#475569;font-weight:800;margin-top:1mm}.exec-chart-title{font-size:8px;letter-spacing:2px;color:#64748b;text-transform:uppercase;margin:4mm 0 3mm;font-weight:900}.exec-bar-list{display:grid;gap:2.2mm;margin-bottom:6mm}.exec-bar-row{display:grid;grid-template-columns:42mm 1fr 22mm;align-items:center;gap:4mm;font-size:8px}.exec-bar-row.draggable{grid-template-columns:5mm 42mm 1fr 22mm;cursor:grab}.exec-bar-row.draggable:active{cursor:grabbing}.exec-bar-drag{display:flex;align-items:center;justify-content:center;color:#94a3b8;opacity:.7}.exec-bar-row.draggable:hover .exec-bar-drag{opacity:1;color:#64748b}.exec-bar-track{height:1px;background:#94a3b859;position:relative}.exec-bar-fill{height:2px;background:currentColor;position:absolute;left:0;top:-1px;min-width:3mm}.exec-bar-value{text-align:right;font-size:8px;color:#475569;white-space:nowrap}.exec-assumption-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8mm;border:1px solid var(--table-border-color, #d8dde6);padding:4mm;margin-top:3mm;background:#ffffff75}.exec-assumption-box h4{margin:0 0 3mm;font-size:8px;letter-spacing:2px;color:#64748b;text-transform:uppercase}.exec-assumption-content{font-size:8px;line-height:1.55;color:var(--text-color, #111827)}.exec-assumption-content ul{margin:0;padding-left:4mm}.exec-assumption-content li{margin-bottom:1.4mm}.full-summary-packed .sector-pack-row td,.full-summary-packed .trade-pack-row td,.sectors-by-trades-packed .sector-pack-row td{background:#f8fafcd1!important;font-weight:900}.full-summary-packed .sector-pack-row td,.sectors-by-trades-packed .sector-pack-row td{border-top:2px solid var(--table-border-color, #d8dde6)}.full-summary-packed .trade-pack-row td{background:#ffffff94!important}.full-summary-packed .subtotal-row td,.sectors-by-trades-packed .total-row td{font-weight:900;border-top:1.5px solid var(--table-border-color, #d8dde6)}.sectors-by-trades-packed .continues-row td{font-style:italic;font-size:.92em;padding-top:3px;padding-bottom:3px}.full-summary-block-table+.full-summary-block-table,.sectors-by-trades-block-table+.sectors-by-trades-block-table{margin-top:var(--trade-sector-gap, 7mm)}.print-page.bg-soft-abstract{background:radial-gradient(circle at 12% 16%,var(--page-bg-accent, #dbeafe),transparent 28%),radial-gradient(circle at 88% 12%,var(--page-bg-accent, #dbeafe),transparent 24%),linear-gradient(135deg,var(--page-bg, #ffffff),#ffffff 72%)}.print-page.bg-diagonal{background:linear-gradient(135deg,var(--page-bg-accent, #e5e7eb) 0%,var(--page-bg-accent, #e5e7eb) 12%,transparent 12%,transparent 100%),linear-gradient(315deg,var(--page-bg-accent, #e5e7eb) 0%,var(--page-bg-accent, #e5e7eb) 18%,transparent 18%,transparent 100%),var(--page-bg, #ffffff)}.print-page.bg-grid{background:linear-gradient(var(--page-bg-accent, #e5e7eb) 1px,transparent 1px),linear-gradient(90deg,var(--page-bg-accent, #e5e7eb) 1px,transparent 1px),var(--page-bg, #ffffff);background-size:12mm 12mm}.print-page.bg-aurora{background:radial-gradient(circle at 8% 12%,rgba(96,165,250,.38),transparent 28%),radial-gradient(circle at 88% 16%,rgba(215,25,32,.18),transparent 30%),radial-gradient(circle at 58% 92%,rgba(167,243,208,.26),transparent 26%),linear-gradient(135deg,var(--page-bg, #ffffff) 0%,#f8fafc 62%,#eef2ff 100%)}.print-page.bg-sapphire-glass{background:linear-gradient(120deg,#ffffffd1,#ffffff9e),radial-gradient(circle at 18% 22%,rgba(56,189,248,.42),transparent 25%),linear-gradient(135deg,#dbeafe,var(--page-bg, #ffffff));border:1px solid rgba(59,130,246,.18)}.print-page.bg-graphite-wave{background:radial-gradient(ellipse at 0% 0%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,#0f172aeb,#334155db),var(--page-bg, #111827);color:#f8fafc;--text-color: #f8fafc;--table-head-bg: rgba(255,255,255,.12);--table-border-color: rgba(255,255,255,.28)}.print-page.bg-emerald-blueprint{background:linear-gradient(rgba(16,185,129,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(16,185,129,.13) 1px,transparent 1px),radial-gradient(circle at 85% 15%,rgba(52,211,153,.34),transparent 25%),linear-gradient(135deg,var(--page-bg, #ecfdf5),#f8fafc);background-size:10mm 10mm,10mm 10mm,auto,auto}.print-page.bg-sunrise{background:radial-gradient(circle at 80% 0%,rgba(249,115,22,.34),transparent 30%),radial-gradient(circle at 0% 90%,rgba(251,191,36,.25),transparent 34%),linear-gradient(135deg,#fff7ed,var(--page-bg, #ffffff) 58%,#fdf2f8)}.print-page.bg-luxury-gold{background:linear-gradient(135deg,rgba(202,138,4,.1),transparent 28%),linear-gradient(315deg,rgba(120,53,15,.1),transparent 22%),radial-gradient(circle at 78% 18%,rgba(250,204,21,.25),transparent 22%),var(--page-bg, #fffdf5);border:1px solid rgba(202,138,4,.2)}.print-page.bg-ocean-mesh{background:radial-gradient(circle at 15% 18%,rgba(14,165,233,.28),transparent 28%),radial-gradient(circle at 85% 70%,rgba(20,184,166,.25),transparent 30%),linear-gradient(160deg,var(--page-bg, #f0fdfa),#eff6ff)}.print-page.bg-violet-prism{background:linear-gradient(125deg,rgba(124,58,237,.16),transparent 26%),linear-gradient(245deg,rgba(236,72,153,.15),transparent 24%),radial-gradient(circle at 80% 22%,rgba(167,139,250,.34),transparent 25%),var(--page-bg, #faf5ff)}.print-page.bg-slate-technical{background:linear-gradient(rgba(100,116,139,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(100,116,139,.12) 1px,transparent 1px),linear-gradient(135deg,var(--page-bg, #f8fafc),#ffffff);background-size:8mm 8mm,8mm 8mm,auto}.print-page.bg-corporate-red{background:linear-gradient(135deg,rgba(215,25,32,.12) 0%,transparent 30%),radial-gradient(circle at 95% 5%,rgba(215,25,32,.18),transparent 22%),var(--page-bg, #ffffff)}.print-page.bg-abstract-aqua-flow{background:radial-gradient(ellipse at 18% 8%,rgba(34,211,238,.55),transparent 32%),radial-gradient(ellipse at 86% 12%,rgba(59,130,246,.35),transparent 28%),linear-gradient(128deg,rgba(20,184,166,.4) 0 18%,transparent 18% 100%),linear-gradient(145deg,transparent 0 52%,rgba(14,165,233,.22) 52% 68%,transparent 68%),linear-gradient(180deg,var(--page-bg, #ecfeff),#ffffff 48%,#f0fdfa)}.print-page.bg-abstract-dark-lux{background:radial-gradient(circle at 18% 12%,rgba(56,189,248,.36),transparent 23%),radial-gradient(circle at 78% 18%,rgba(168,85,247,.3),transparent 24%),radial-gradient(circle at 72% 82%,rgba(245,158,11,.24),transparent 26%),linear-gradient(135deg,#020617,#111827 44%,#0f172a);color:#e5eefc;--text-color: #e5eefc;--table-head-bg: rgba(15, 23, 42, .82);--table-border-color: rgba(148, 163, 184, .42)}.print-page.bg-abstract-midnight-waves{background:repeating-radial-gradient(ellipse at 20% 10%,rgba(96,165,250,.16) 0 2px,transparent 2px 13px),radial-gradient(circle at 92% 12%,rgba(45,212,191,.28),transparent 24%),linear-gradient(120deg,rgba(37,99,235,.24),transparent 38%),linear-gradient(160deg,#07111f,#0f172a 58%,#111827);color:#e2e8f0;--text-color: #e2e8f0;--table-head-bg: rgba(30, 41, 59, .9);--table-border-color: rgba(148, 163, 184, .38)}.print-page.bg-abstract-neon-grid{background:linear-gradient(rgba(34,211,238,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.16) 1px,transparent 1px),radial-gradient(circle at 12% 16%,rgba(236,72,153,.3),transparent 25%),radial-gradient(circle at 82% 78%,rgba(34,211,238,.3),transparent 27%),linear-gradient(135deg,#0b1020,#111827 55%,#1e1b4b);background-size:9mm 9mm,9mm 9mm,auto,auto,auto;color:#f8fafc;--text-color: #f8fafc;--table-head-bg: rgba(30, 41, 59, .92);--table-border-color: rgba(125, 211, 252, .4)}.print-page.bg-abstract-copper-lines{background:linear-gradient(118deg,rgba(180,83,9,.18) 0 11%,transparent 11% 100%),linear-gradient(142deg,transparent 0 62%,rgba(217,119,6,.2) 62% 72%,transparent 72%),radial-gradient(circle at 72% 24%,rgba(251,191,36,.3),transparent 26%),linear-gradient(180deg,#fffbeb,#fff 48%,#fff7ed)}.print-page.bg-abstract-blueprint-depth{background:linear-gradient(rgba(59,130,246,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.12) 1px,transparent 1px),radial-gradient(circle at 18% 18%,rgba(96,165,250,.32),transparent 25%),linear-gradient(145deg,#eff6ff,#fff 50%,#e0f2fe);background-size:6mm 6mm,6mm 6mm,auto,auto}.print-page.bg-abstract-crimson-fold{background:linear-gradient(128deg,rgba(220,38,38,.22) 0 16%,transparent 16% 100%),linear-gradient(42deg,transparent 0 63%,rgba(244,63,94,.18) 63% 76%,transparent 76%),radial-gradient(circle at 82% 16%,rgba(251,113,133,.3),transparent 25%),linear-gradient(180deg,#fff1f2,#fff 55%,#fff7ed)}.print-page.bg-abstract-mint-glass{background:radial-gradient(circle at 20% 22%,rgba(45,212,191,.42),transparent 26%),radial-gradient(circle at 86% 16%,rgba(14,165,233,.28),transparent 28%),linear-gradient(140deg,#ffffffb8 0,#ffffffb8 48%,#f0fdfa8c 48%,#f0fdfa8c),linear-gradient(160deg,#ecfeff,#fff 52%,#f0fdfa)}.print-page.bg-abstract-royal-purple{background:radial-gradient(circle at 15% 16%,rgba(168,85,247,.34),transparent 28%),radial-gradient(circle at 88% 22%,rgba(236,72,153,.25),transparent 26%),linear-gradient(132deg,rgba(124,58,237,.18) 0 20%,transparent 20% 100%),linear-gradient(180deg,#faf5ff,#fff 55%,#fdf2f8)}.print-page.bg-abstract-charcoal-red{background:radial-gradient(circle at 18% 15%,rgba(239,68,68,.34),transparent 24%),linear-gradient(135deg,rgba(248,113,113,.18) 0 16%,transparent 16% 100%),linear-gradient(40deg,transparent 0 70%,rgba(148,163,184,.15) 70% 78%,transparent 78%),linear-gradient(180deg,#111827,#1f2937 54%,#0f172a);color:#f8fafc;--text-color: #f8fafc;--table-head-bg: rgba(31, 41, 55, .92);--table-border-color: rgba(248, 113, 113, .38)}@media print{body *{visibility:hidden}.report-print-root,.report-print-root *{visibility:visible}.report-print-root{position:absolute;left:0;top:0;width:100%}.print-page{margin:0;box-shadow:none}@page{size:A4 portrait;margin:0}}.print-page{font-family:var(--font-copy, "Segoe UI", system-ui, sans-serif);font-size:var(--fs-copy, 11px)}.print-page>*:not(.page-footer):not(.page-toolbar){position:relative}.print-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--custom-bg-image, none);background-size:var(--custom-bg-size, cover);background-position:center;background-repeat:no-repeat;opacity:var(--custom-bg-opacity, .18);pointer-events:none}.print-page[class*=pborder-]:after{content:"";position:absolute;inset:var(--page-border-inset, 5mm);pointer-events:none}.print-page.pborder-custom:after{border-style:solid;border-color:var(--page-border-color, var(--red, #8a1b2b));border-top-width:var(--pb-top, 1.4px);border-right-width:var(--pb-right, 1.4px);border-bottom-width:var(--pb-bottom, 1.4px);border-left-width:var(--pb-left, 1.4px)}.print-page.pborder-hairline:after{border:.6px solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-thin:after{border:1.2px solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-bold:after{border:3px solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-double:after{border:4px double var(--page-border-color, var(--red, #d71920))}.print-page.pborder-dashed:after{border:1.4px dashed var(--page-border-color, var(--red, #d71920))}.print-page.pborder-rounded:after{border:1.4px solid var(--page-border-color, var(--red, #d71920));border-radius:5mm}.print-page.pborder-nested:after{top:4mm;right:4mm;bottom:4mm;left:4mm;border:1.4px solid var(--page-border-color, var(--red, #d71920));background:linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 2mm 2mm / calc(100% - 4mm) 1px no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 2mm calc(100% - 2mm) / calc(100% - 4mm) 1px no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 2mm 2mm / 1px calc(100% - 4mm) no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) calc(100% - 2mm) 2mm / 1px calc(100% - 4mm) no-repeat}.print-page.pborder-corners:after{background:linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 0 0 / 14mm 2px no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 0 0 / 2px 14mm no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 100% 0 / 14mm 2px no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 100% 0 / 2px 14mm no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 0 100% / 14mm 2px no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 0 100% / 2px 14mm no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 100% 100% / 14mm 2px no-repeat,linear-gradient(var(--page-border-color, var(--red, #d71920)),var(--page-border-color, var(--red, #d71920))) 100% 100% / 2px 14mm no-repeat}.print-page.pborder-gradient:after{top:4mm;right:4mm;bottom:4mm;left:4mm;background:linear-gradient(90deg,var(--page-border-color, var(--red, #d71920)),var(--page-bg-accent, #dbeafe)) top / 100% 2px no-repeat,linear-gradient(90deg,var(--page-bg-accent, #dbeafe),var(--page-border-color, var(--red, #d71920))) bottom / 100% 2px no-repeat,linear-gradient(180deg,var(--page-border-color, var(--red, #d71920)),var(--page-bg-accent, #dbeafe)) left / 2px 100% no-repeat,linear-gradient(180deg,var(--page-bg-accent, #dbeafe),var(--page-border-color, var(--red, #d71920))) right / 2px 100% no-repeat}.print-page.pborder-accent-top:after{top:0;right:0;bottom:0;left:0;border-top:3mm solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-accent-bottom:after{top:0;right:0;bottom:0;left:0;border-bottom:3mm solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-top-bottom:after{top:6mm;right:0;bottom:6mm;left:0;border-top:1.4px solid var(--page-border-color, var(--red, #d71920));border-bottom:1.4px solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-side-rails:after{top:0;right:0;bottom:0;left:0;border-left:1.5mm solid var(--page-border-color, var(--red, #d71920));border-right:1.5mm solid var(--page-border-color, var(--red, #d71920))}.print-page.pborder-spine:after{top:0;right:0;bottom:0;left:0;border-left:4mm solid var(--page-border-color, var(--red, #d71920))}.print-page h1,.print-page .exec-title{font-size:var(--fs-h1, 24px)}.print-page h2{font-size:var(--fs-h2, 18px)}.print-page h3,.print-page .section-title{font-size:var(--fs-h3, 15px)}.pdf-table{border:var(--pdf-table-outer-border-width, var(--pdf-table-border-width, 1px)) var(--pdf-table-outer-border-style, var(--pdf-table-border-style, solid)) var(--pdf-table-outer-border-color, var(--table-border-color, #d8dde6))}.pdf-table th,.pdf-table td{border-width:var(--pdf-table-border-width, 1px);border-style:var(--pdf-table-border-style, solid);padding:var(--pdf-table-cell-padding-y, 6px) var(--pdf-table-cell-padding-x, 7px)}.pdf-table th{font-size:var(--table-head-font-size, var(--fs-table-headers, 11px));color:var(--table-header-text-color, var(--text-color, #111827))}.pdf-table td{font-size:var(--table-body-font-size, var(--fs-table-body, 11px));color:var(--table-body-text-color, var(--text-color, #111827))}.pdf-table tbody tr:nth-child(2n) td{background:var(--table-alt-row-bg, transparent)}.full-summary-packed .subtotal-row td{background:var(--table-subtotal-bg, transparent)!important;color:var(--table-subtotal-text, inherit)!important}.pdf-table tr.total-row td{background:var(--table-total-bg, transparent)!important;color:var(--table-total-text, inherit)!important;font-weight:800}.pdf-table tr.total-row td b{color:inherit}.print-page[data-table-border-mode=row-bottom] .pdf-table th,.print-page[data-table-border-mode=row-bottom] .pdf-table td{border-left-width:0;border-right-width:0;border-top-width:0}.print-page[data-table-border-mode=column-right] .pdf-table th,.print-page[data-table-border-mode=column-right] .pdf-table td{border-top-width:0;border-bottom-width:0;border-left-width:0}.print-page[data-table-border-mode=none] .pdf-table th,.print-page[data-table-border-mode=none] .pdf-table td,.print-page[data-table-border-mode=none] .red-row th,.print-page[data-table-border-mode=none] .red-row td{border-width:0}.ed{border-radius:3px}.ed:hover{outline:1px dashed rgba(10,122,165,.55);outline-offset:1px}.ed:focus{outline:2px solid #0a7aa5;outline-offset:1px;background:#bae6fd26}.page-toolbar{position:absolute;top:4mm;right:4mm;display:none;gap:4px;z-index:30}.print-page:hover .page-toolbar{display:flex}.page-toolbar button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:13px;line-height:1;box-shadow:0 2px 6px #0f172a2e}.page-toolbar button:hover{background:#f1f5f9}.page-toolbar .tb-danger:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.selected-builder-page{outline:3px solid #0a7aa5;outline-offset:2px}@media print{.page-toolbar{display:none!important}.ed:hover,.ed:focus{outline:none!important;background:transparent!important}}.print-page.hero-cover{padding:0;overflow:hidden}.print-page.hero-cover:before{display:none}.hero-cover-img{position:absolute!important;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-cover-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7edf5,#f8fafc);color:#64748b;font-weight:700}.hero-cover-top{position:absolute!important;top:14mm;left:14mm;right:14mm;z-index:2;display:flex;align-items:center;justify-content:center}.hero-cover-logo{object-fit:contain;max-height:24mm}.hero-cover-panel{position:absolute!important;left:0;right:0;bottom:0;z-index:2;padding:30mm 16mm 12mm;text-align:center;color:#fff;background:linear-gradient(to top,#0c0c0edb,#0c0c0ea8 52%,#0c0c0e00)}.hero-cover-clientlogo{display:block;margin:0 auto 5mm;object-fit:contain;max-height:30mm}.hero-cover-client-name{font-weight:700;font-size:15px;margin-bottom:4mm}.hero-cover-project{font-size:21px;font-weight:800;letter-spacing:.5px;line-height:1.15}.hero-cover-doc{font-size:15px;font-weight:700;margin-top:1.5mm;color:#fff}.hero-cover-address{font-size:12px;margin-top:2mm;opacity:.95}.hero-cover-people{font-size:11.5px;margin-top:5mm;line-height:1.55;opacity:.92}.exec-metric-grid.filled{border:0;gap:3mm;background:transparent}.exec-metric-grid.filled .exec-metric-card{background:var(--red, #8a1b2b);color:#fff;border:0;border-radius:2mm;padding:5mm 5mm 5.5mm;align-content:start;gap:1.4mm}.exec-metric-grid.filled .exec-metric-card,.exec-metric-grid.filled .exec-metric-card *{color:#fff}.exec-metric-grid.filled .exec-metric-label{color:#ffffffe6;font-size:8px}.exec-metric-grid.filled .exec-metric-value{color:#fff;font-size:19px;font-weight:800}.exec-metric-grid.filled .exec-metric-note{color:#ffffffd1;font-size:7.5px}.exec-metric-grid.filled .exec-metric-rate-label{color:#ffffffe6}.exec-metric-grid.filled .exec-metric-rate-value{color:#fff}.exec-metric-rate{margin-top:2.5mm}.exec-metric-rate-label{font-size:7.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:900;color:#ffffffeb}.exec-metric-grid:not(.filled) .exec-metric-rate-label{color:#475569}.exec-metric-rate-value{font-size:11px;font-weight:800}.exec-metric-grid:not(.filled) .exec-metric-rate-value{color:var(--text-color, #111827)}.exec-bar-track{height:2px;background:#94a3b84d}.exec-bar-fill{height:3px;top:-.5px;background:var(--red, #8a1b2b)}.exec-chart-title{color:var(--text-color, #334155)}.running-head{position:absolute!important;top:6mm;left:12mm;right:12mm;display:flex;justify-content:space-between;align-items:baseline;font-size:8.5px;color:#6b7280;z-index:3}.running-head b{color:var(--red, #8a1b2b);letter-spacing:1px}.side-cap{position:absolute!important;top:50%;font-size:7.5px;letter-spacing:1px;color:#9aa1ab;white-space:nowrap;z-index:3}.side-cap-left{left:3.2mm;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl}.side-cap-right{right:3.2mm;transform:translateY(-50%);writing-mode:vertical-rl}.exec-assumptions-table{margin-top:5mm}.exec-assumptions-table th{text-align:left}.exec-assumptions-table td{vertical-align:top}.exec-assumptions-row-controls{width:8mm;padding:0!important;border-left:0!important;text-align:center}.exec-assumptions-table td.exec-assumptions-row-controls{background:transparent!important}.exec-assumptions-row-remove{display:inline-flex;align-items:center;justify-content:center;width:5mm;height:5mm;padding:0;border:0;border-radius:999px;background:transparent;color:#94a3b8;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s}.exec-assumptions-row:hover .exec-assumptions-row-remove{opacity:1}.exec-assumptions-row-remove:hover{background:#fee2e2;color:#b91c1c}.exec-assumptions-row-remove:disabled{opacity:0!important;pointer-events:none}.exec-assumptions-add-row{display:inline-flex;align-items:center;gap:1.5mm;margin-top:2mm;padding:1.5mm 3mm;font-size:10px;font-weight:700;color:var(--red, #8a1b2b);background:transparent;border:1px dashed var(--table-border-color, #d8dde6);border-radius:1.5mm;cursor:pointer}.exec-assumptions-add-row:hover{background:#00000008}.callout{margin:4mm 0 10mm}.callout-banner{position:relative}.callout-tab{position:absolute;top:0;left:4mm;z-index:2;background:var(--red, #8a1b2b);color:#fff;font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:2.5mm 9mm 2.5mm 5mm;border-radius:2mm 5mm 5mm 2mm}.callout-card{border:1px solid var(--table-border-color, #d8dde6);border-radius:5mm;padding:12mm 7mm 7mm;margin-top:4mm;font-size:var(--fs-copy, 12px);line-height:1.6;color:var(--text-color, #111827)}.callout-card ul{margin:0;padding-left:5mm}.callout-card li{margin-bottom:1.6mm}.callout-accent{border-left:3mm solid var(--red, #8a1b2b);padding:1mm 0 1mm 6mm;margin:4mm 0 10mm}.callout-accent-title{font-weight:800;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--red, #8a1b2b);margin-bottom:3mm}.callout-accent-body{font-size:var(--fs-copy, 12px);line-height:1.6;color:var(--text-color, #111827)}.callout-accent-body ul{margin:0;padding-left:5mm}.print-page.band-cover{padding:0;display:flex;flex-direction:column;overflow:hidden}.print-page.band-cover:before{display:none}.band-cover-head{display:flex;align-items:center;justify-content:space-between;padding:12mm 16mm 6mm;gap:10mm}.band-cover-logo,.band-cover-clientlogo{object-fit:contain;max-height:22mm}.band-cover-image{flex:1;min-height:0;overflow:hidden}.band-cover-image img{width:100%;height:100%;object-fit:cover;display:block}.band-cover-imgph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7edf5,#f8fafc);color:#64748b;font-weight:700}.band-cover-band{background:var(--red, #8a1b2b);color:#fff;text-align:center;padding:9mm 16mm 11mm}.band-cover-project{font-size:20px;font-weight:800;letter-spacing:.5px;line-height:1.15}.band-cover-doc{font-size:14px;font-weight:700;margin-top:1.5mm}.band-cover-address{font-size:11.5px;margin-top:2mm;opacity:.95}.band-cover-people{display:flex;gap:12mm;justify-content:center;margin-top:5mm;font-size:11px;opacity:.92}.minimal-cover-inner{max-width:150mm;margin:14mm auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6mm}.minimal-cover-logo{object-fit:contain;max-height:20mm}.minimal-cover-rule{width:40mm;height:1px;background:var(--text-color, #111827);opacity:.35}.minimal-cover-title{font-size:30px;font-weight:700;margin:0;letter-spacing:.5px;text-transform:var(--section-title-transform, none)}.minimal-cover-doc{font-size:13px;color:var(--red, #111827);font-weight:700;letter-spacing:2px;text-transform:uppercase}.minimal-cover-address{font-size:12px;opacity:.8}.minimal-cover-image{width:120mm;height:88mm;object-fit:cover;border:1px solid var(--table-border-color, #e5e7eb)}.minimal-cover-imgph{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-weight:700;background:#f8fafc}.minimal-cover-people{display:flex;flex-direction:column;gap:2.5mm;align-items:center;font-size:12px;opacity:.85}.minimal-cover-people img{object-fit:contain;max-height:16mm}.print-page h1,.print-page h2,.print-page h3,.print-page .section-title,.print-page .exec-title,.hero-cover-project,.band-cover-project,.split-cover-project,.minimal-cover-title,.callout-tab,.callout-accent-title,.callout-boxed-title,.exec-metric-value,.exec-metric-rate-value{font-family:var(--font-head, var(--font-copy, "Segoe UI", system-ui, sans-serif))}.print-page.split-cover{padding:0;display:flex;overflow:hidden}.print-page.split-cover:before{display:none}.split-cover-photo{flex:1.15;min-width:0;overflow:hidden}.split-cover-photo img{width:100%;height:100%;object-fit:cover;display:block}.split-cover-imgph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7edf5,#f8fafc);color:#64748b;font-weight:700}.split-cover-panel{width:86mm;flex:none;background:var(--red, #8a1b2b);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:18mm 12mm}.split-cover-logo{object-fit:contain;max-height:20mm;filter:brightness(0) invert(1)}.split-cover-project{font-size:24px;font-weight:800;line-height:1.15}.split-cover-doc{font-size:13px;font-weight:700;margin-top:3mm;opacity:.95}.split-cover-address{font-size:11.5px;margin-top:3mm;opacity:.9}.split-cover-no{font-size:11px;margin-top:4mm;letter-spacing:1px;opacity:.8}.split-cover-foot{font-size:11px;opacity:.92;display:flex;flex-direction:column;gap:2mm}.split-cover-clientlogo{object-fit:contain;max-height:14mm;margin-top:3mm}.print-page.custom-cover{padding:0;overflow:hidden}.print-page.custom-cover:before{display:none}.custom-cover-bg,.custom-cover-overlay,.custom-cover-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0}.custom-cover-bg{z-index:0}.custom-cover-overlay{z-index:1;pointer-events:none}.custom-cover-canvas{z-index:2}.custom-cover-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-weight:600;font-size:13px;text-align:center;padding:20mm;pointer-events:none}.cover-el{transform-origin:center center;box-sizing:border-box;-webkit-user-select:none;user-select:none}.cover-el-imgph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7edf5,#f8fafc);color:#64748b;font-weight:700;font-size:11px;text-align:center;padding:4mm}.cover-el-text{-webkit-user-select:text;user-select:text;cursor:text}.cover-el-selected{outline:1.5px dashed rgba(59,130,246,.9);outline-offset:2px}.cover-handle{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid #3b82f6;border-radius:2px;z-index:5;transform:translate(-50%,-50%)}.cover-handle-nw{top:0;left:0;cursor:nwse-resize}.cover-handle-n{top:0;left:50%;cursor:ns-resize}.cover-handle-ne{top:0;left:100%;cursor:nesw-resize}.cover-handle-e{top:50%;left:100%;cursor:ew-resize}.cover-handle-se{top:100%;left:100%;cursor:nwse-resize}.cover-handle-s{top:100%;left:50%;cursor:ns-resize}.cover-handle-sw{top:100%;left:0;cursor:nesw-resize}.cover-handle-w{top:50%;left:0;cursor:ew-resize}.cover-rotate{position:absolute;top:-18px;left:50%;width:11px;height:11px;border-radius:50%;background:#fff;border:1.5px solid #3b82f6;transform:translate(-50%,-50%);cursor:grab;z-index:5}.cover-guide{position:absolute;background:#ff2f92;pointer-events:none;z-index:999}.cover-guide-v{top:0;bottom:0;width:1px}.cover-guide-h{left:0;right:0;height:1px}@media print{.cover-handle,.cover-rotate,.custom-cover-empty,.cover-guide{display:none!important}.cover-el-selected{outline:none}}.exec-layout-cards .exec-metric-grid,.exec-layout-compact .exec-metric-grid{margin-bottom:6mm}.exec-layout-compact .exec-metric-card{min-height:0;padding:4mm}.exec-layout-compact .exec-metric-value{font-size:16px}.exec-layout-compact .exec-metric-rate{display:none}.callout-boxed{border-radius:4mm;overflow:hidden;margin:4mm 0 10mm;border:1px solid var(--table-border-color, #e5e7eb)}.callout-boxed-title{background:var(--red, #8a1b2b);color:#fff;font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:3mm 6mm}.callout-boxed-body{padding:6mm;font-size:var(--fs-copy, 12px);line-height:1.6;color:var(--text-color, #111827);background:var(--secondary, #f5f5f5)}.callout-boxed-body ul{margin:0;padding-left:5mm}.print-page[data-table-variant=ledger] .pdf-table{border-top:2px solid var(--table-total-bg, var(--red, #8a1b2b))}.print-page[data-table-variant=ledger] .pdf-table td{border-bottom:1px solid var(--table-border-color, #e5e7eb)}.print-page[data-table-variant=boxed] .pdf-table th,.print-page[data-table-variant=boxed] .pdf-table td{border-color:var(--table-border-color, #d8dde6)}:root{--navy: #18181b;--navy-2: #2e2e32;--accent: #18181b;--accent-hover: #37373c;--bg: #f4f4f5;--card: #ffffff;--line: #e4e4e7;--text: #1a1a1e;--muted: #6b6b70;--red: #dc2626;--yellow: #d97706;--green: #16a34a;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px}input,select,button,textarea{font:inherit;color:inherit}.icon{display:inline-block;flex:none;vertical-align:-.15em}button .icon,a .icon{vertical-align:-.15em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.ghost{gap:0}.nav-user-btn{display:inline-flex;align-items:center;gap:5px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer}.icon-btn:hover{background:#f2f2f3;color:var(--text)}.icon-btn.danger:hover{background:#fef2f2;color:var(--red)}.icon.up{color:var(--red)}.icon.down{color:var(--green)}.app{display:flex;flex-direction:column;min-height:100vh}.app-body{display:flex;flex:1;align-items:stretch}.side-nav{width:216px;flex:none;background:#fff;border-right:1px solid var(--line);padding:18px 12px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.side-brand{display:flex;flex-direction:column;align-items:center;gap:7px;margin-bottom:18px;cursor:pointer}.side-brand .brand-logo-chip{padding:4px 6px;border-radius:8px}.side-brand .brand-logo-chip img{height:40px;display:block}.side-brand-title{color:var(--navy);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase}.save-pill.top{text-align:center;min-height:18px;margin:-8px 0 12px;font-size:11.5px}.side-nav button{display:flex;align-items:center;gap:10px;background:transparent;border:none;color:var(--muted);padding:9px 12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;text-align:left;width:100%}.side-nav button:hover:not(:disabled){background:#f2f2f3;color:var(--text)}.side-nav button.active{background:var(--navy);color:#fff}.side-nav button:disabled{opacity:.4;cursor:default}.side-nav .nav-icon{width:20px;display:inline-flex;align-items:center;justify-content:center}.side-nav .nav-icon .icon{width:17px;height:17px}.side-nav .nav-group button.active-parent{color:var(--text)}.side-nav .nav-children{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}.side-nav .nav-children button{padding:7px 12px 7px 42px;font-size:12.5px;font-weight:500}@media (max-width: 900px){.side-nav{width:58px;padding:14px 6px}.side-nav button{justify-content:center;padding:10px 6px}.side-nav .nav-label,.side-brand-title,.side-project,.side-nav .save-pill{display:none}.side-brand .brand-logo-chip img{height:20px}}.topbar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#fff;color:var(--text);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.topbar .brand{font-weight:700;font-size:15px;letter-spacing:.4px;white-space:nowrap}.topbar .brand span{color:var(--navy)}.topbar .project-label{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tabs{display:flex;gap:4px}.tabs button{background:transparent;border:none;color:var(--muted);padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600}.tabs button:hover{background:#f2f2f3;color:var(--text)}.tabs button.active{background:var(--navy);color:#fff}.save-pill{font-size:12px;color:#9c9c9c;white-space:nowrap}.save-pill.saved{color:#16a34a}.save-pill.error{color:#dc2626}.menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 6px);background:#fff;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #00000040;min-width:230px;padding:6px;z-index:100}.menu-list button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 12px;border-radius:6px;cursor:pointer}.menu-list button:hover{background:var(--bg)}.menu-list .danger{color:var(--red)}.menu-list hr{border:none;border-top:1px solid var(--line);margin:6px 4px}.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}.btn:hover{background:var(--accent-hover)}.btn.secondary{background:#e8e8ea;color:var(--text)}.btn.outline{background:transparent;border:1px solid var(--line);color:var(--text);font-weight:500}.btn.outline:hover{background:#fff}.btn.small{padding:4px 10px;font-size:12.5px}.btn.ghost{background:transparent;color:var(--muted);padding:4px 8px}.btn.ghost:hover{color:var(--red);background:#fef2f2}.btn:disabled{opacity:.6;cursor:default}.work-area{flex:1;min-width:0;display:flex;flex-direction:column}.main{flex:1;padding:20px;max-width:1500px;margin:0 auto;width:100%}.project-tabs{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}.ptabs-head{display:flex;align-items:center;gap:10px;padding:12px 20px 0;max-width:1500px;margin:0 auto;width:100%;box-sizing:border-box}.ptabs-back{border:none;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:5px;border-radius:7px}.ptabs-back:hover{background:#f2f2f3;color:var(--text)}.ptabs-name{font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.ptabs-status{font-size:11px;padding:2px 10px;border-radius:20px;font-weight:600}.ptabs-status.status-current{background:#e9f6ee;color:#1b7a43}.ptabs-status.status-upcoming{background:#fef3c7;color:#92400e}.ptabs-status.status-archived{background:#eee;color:#6b6b70}.ptabs-version{margin-left:auto;font-size:12px;padding:4px 11px;border-radius:20px;border:1px solid var(--line);color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.ptabs-row{display:flex;align-items:stretch;gap:8px;padding:12px 20px;flex-wrap:wrap;max-width:1500px;margin:0 auto;width:100%;box-sizing:border-box}.ptab{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;padding:11px 6px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--muted);cursor:pointer;font-weight:600;font-size:12.5px;text-align:center}.ptab:hover{background:#f2f2f3;color:var(--text);border-color:var(--line)}.ptab.active{background:var(--navy);border-color:var(--navy);color:#fff}.ptab .icon{width:20px;height:20px}@media (max-width: 900px){.ptabs-row{flex-wrap:nowrap;overflow-x:auto}.ptab{flex-direction:row;width:auto;white-space:nowrap}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px}.card h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.6px;color:var(--navy)}.grid{display:grid;gap:12px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.grid.cols-4,.grid.cols-3{grid-template-columns:1fr 1fr}}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:600}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}.field input:focus{outline:2px solid #bae6fd;border-color:var(--accent)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.metric{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.metric .label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.metric .value{font-size:20px;font-weight:700;margin-top:4px;color:var(--navy)}.metric.red .value{color:var(--red)}.metric.yellow .value{color:var(--yellow)}.metric.green .value{color:var(--green)}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--line);background:#fafafa}table.data td{padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.data tr:hover td{background:#f7f7f7}td.money,th.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data th.money{text-align:right}.status-red{color:var(--red);font-weight:700}.status-yellow{color:var(--yellow);font-weight:700}.status-green{color:var(--green);font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600;color:var(--muted)}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.trade-block{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:var(--card);overflow:hidden}.trade-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f7f7f7;border-bottom:1px solid var(--line);cursor:pointer}.trade-head.inactive{opacity:.55}.trade-head .t-name{font-weight:700;color:var(--navy);border:none;background:transparent;flex:1;min-width:120px}.trade-head .t-name:focus{outline:1px dashed var(--accent)}.trade-head .t-total{font-weight:700;white-space:nowrap}.trade-head .caret{color:var(--muted);width:18px;text-align:center}.editor-table input,.editor-table textarea{width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:6px;font:inherit;box-sizing:border-box}.editor-table textarea{resize:none;overflow:hidden;display:block;field-sizing:content;min-height:1.6em;max-height:8em}.editor-table input:hover,.editor-table textarea:hover{border-color:var(--line);background:#fff}.editor-table input:focus,.editor-table textarea:focus{outline:none;border-color:var(--accent);background:#fff}.editor-table input.num{text-align:right;font-variant-numeric:tabular-nums}.editor-table input.qty{width:100%;box-sizing:border-box}.editor-table .sector-group{border-left:2px solid var(--line)}.editor-table th.sector-name{color:var(--accent);text-align:center}.editor-table td{white-space:nowrap}.row-total{font-weight:600;white-space:nowrap}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain}.table-scroll.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.editor-sticky{position:sticky;top:var(--proj-nav-h, 116px);z-index:22;background:var(--bg);padding-top:4px}table.data.editor-table th{position:sticky;z-index:5}.editor-table th.fz,.editor-table td.fz,.editor-table th.fzr,.editor-table td.fzr{position:sticky;box-sizing:border-box}table.data.editor-table td.fz,table.data.editor-table td.fzr{background:#fff;z-index:6}table.data.editor-table th.fz,table.data.editor-table th.fzr{z-index:12;background:#fafafa}.editor-table tr:hover td.fz,.editor-table tr:hover td.fzr{background:#f7f7f7}.editor-table td.sector-group,.editor-table td.qcol{width:var(--col-qty-w, 66px);min-width:var(--col-qty-w, 66px);max-width:var(--col-qty-w, 66px)}.editor-table th.sector-name{width:calc(var(--col-qty-w, 66px) * 2);min-width:calc(var(--col-qty-w, 66px) * 2);max-width:calc(var(--col-qty-w, 66px) * 2)}.editor-table td.sector-total,.editor-table th.sector-total{width:var(--col-sectortotal-w, 100px);min-width:var(--col-sectortotal-w, 100px);max-width:var(--col-sectortotal-w, 100px)}.editor-table th.sector-collapsed,.editor-table td.sector-collapsed{min-width:var(--col-sectortotal-w, 100px);max-width:var(--col-sectortotal-w, 100px);width:var(--col-sectortotal-w, 100px);text-align:right}.sector-toggle{cursor:pointer;border:none;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:4px}.sector-toggle:hover{color:var(--text)}.editor-table tr.trade-sector-totals td{background:#f4f4f5;font-weight:700;white-space:nowrap}.editor-table tr.trade-sector-totals td.fz{background:#eeeeef}.editing-chip{position:fixed;transform:translate(-50%,calc(-100% - 9px));background:var(--navy);color:#fff;border-radius:9px;padding:6px 10px;font-size:11px;line-height:1.4;z-index:60;pointer-events:none;box-shadow:0 6px 18px #0003;white-space:nowrap}.editing-chip .ec-item{font-weight:600;max-width:230px;overflow:hidden;text-overflow:ellipsis}.editing-chip .ec-trade{opacity:.6;font-size:10px}.editing-chip .ec-sector{opacity:.92}.editing-chip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--navy)}.editor-table .c0{left:0;min-width:var(--col-item-w, 480px);max-width:var(--col-item-w, 480px);border-right:2px solid #cfcfcf!important;box-shadow:4px 0 6px -3px #00000026;position:relative}.editor-table .r0{right:0;min-width:64px;max-width:64px}.editor-table .r1{right:64px;min-width:var(--col-rowtotal-w, 104px);max-width:var(--col-rowtotal-w, 104px);border-left:2px solid #cfcfcf!important;box-shadow:-4px 0 6px -3px #00000026}th.sector-name,th.sector-total,th.sector-collapsed,th.fzr.r1{position:relative}.col-resize-handle{position:absolute;top:0;bottom:0;right:-3px;width:6px;cursor:col-resize;z-index:30;background:transparent;touch-action:none}.col-resize-handle:hover,.col-resize-handle:active{background:var(--accent, #2563eb);opacity:.55}.editor-table .c0 input{max-width:100%}.editor-table .item-name{font-weight:700;font-size:13px;color:var(--text);white-space:normal;overflow-wrap:anywhere;line-height:1.3;width:100%;margin-top:4px}.comment-btn{border:1px solid var(--line);background:#fff;color:var(--accent);cursor:pointer;font-size:11px;font-weight:700;padding:1px 6px;flex:none;line-height:1.4;border-radius:6px}.comment-btn:hover{border-color:var(--accent);background:#eff6ff}.comment-btn.has{background:var(--accent);color:#fff;border-color:var(--accent)}.diff-table.editor-table .c0{left:0;min-width:260px;max-width:260px}.diff-table .c2{left:260px;min-width:80px;max-width:80px}.diff-table .c3{left:340px;min-width:80px;max-width:80px}.diff-table .c4{left:420px;min-width:58px;max-width:58px}.diff-table .c5{left:478px;min-width:92px;max-width:92px;border-right:2px solid #cfcfcf!important;box-shadow:4px 0 6px -3px #00000026}tr.option-row>td{background:#fffbeb}.option-row-note{margin-top:3px;font-size:10.5px;font-weight:600;color:#92400e}.reconcile-banner{display:flex;align-items:center;gap:12px;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:8px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}.reconcile-banner .btn{background:#b45309;color:#fff;padding:4px 12px}.contractor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.contractor-total{font-size:16px;font-weight:700;color:var(--navy)}.rate-cell{cursor:help;text-decoration:underline dotted var(--muted);text-underline-offset:2px}.linkish{background:none;border:0;padding:0;color:var(--navy);font-weight:600;cursor:pointer;text-align:left}.linkish:hover{text-decoration:underline}tr.row-active>td{background:color-mix(in srgb,var(--navy) 8%,transparent)}.options-table .opt-input{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 8px;box-sizing:border-box}.options-table td{vertical-align:middle}.editor-table .item-comment{margin-top:3px;width:100%;font-size:11px;font-style:italic;color:#4a4a4a;white-space:normal}.item-top-row,.item-bottom-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px}.item-top-row{align-items:center}.item-bottom-row{margin-top:4px}.item-top-row .field-group,.item-bottom-row .field-group{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:0 0 auto}.item-bottom-row .field-group.uom-field{flex:0 0 70px;width:70px;align-items:stretch}.item-bottom-row .field-group.uom-field .combo,.item-bottom-row .field-group.uom-field .combo-btn{width:100%;max-width:none}.item-top-row .field-group.num,.item-bottom-row .field-group.num{flex:0 0 92px;width:92px}.item-top-row .field-group.mu-field,.item-bottom-row .field-group.mu-field{flex:0 0 52px;width:52px}.item-top-row .field-group.rate-field,.item-bottom-row .field-group.rate-field{flex:0 0 96px;width:96px}.item-top-row .field-label,.item-bottom-row .field-label{font-size:9.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.item-top-row .rate-value,.item-bottom-row .rate-value{display:flex;align-items:center;box-sizing:border-box;height:30px;width:100%;font-weight:700;font-size:12px;justify-content:flex-start;padding:3px 4px;color:#3f3f46;white-space:nowrap}.item-top-row .field-group.num input,.item-bottom-row .field-group.num input{height:30px;box-sizing:border-box;width:100%;text-align:left;color:#52525b}.combo{position:relative;flex:none;width:auto}.combo-btn{display:flex;align-items:center;gap:3px;box-sizing:border-box;width:auto;min-width:56px;max-width:150px;height:30px;border:1px solid transparent;background:#f5f5f5;border-radius:6px;font-size:11px;color:#52525b;padding:3px 8px;cursor:pointer;text-align:left}.combo-btn.combo-empty{color:var(--muted)}.combo-btn .combo-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-btn:hover{border-color:var(--line);background:#fff}.combo-menu{position:fixed;z-index:120;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px #00000029;padding:5px}.combo-search{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-size:12px;margin-bottom:5px}.combo-list{max-height:220px;overflow-y:auto}.combo-row{padding:6px 8px;border-radius:6px;font-size:12.5px;cursor:pointer;color:var(--text);display:flex;align-items:center;gap:6px}.combo-row:hover{background:#f4f4f5}.combo-row.on{font-weight:600}.combo-row.muted{color:var(--muted);font-size:11.5px}.combo-row.add{color:var(--navy);font-weight:600;border-top:1px solid var(--line);margin-top:3px}.combo-empty{padding:8px;font-size:11.5px;color:var(--muted)}.editor-table .sector-total{border-right:2px solid var(--line)}.editor-table th.sector-name .sector-sub{display:block;font-size:9.5px;letter-spacing:0;color:var(--muted);text-transform:none}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.toolbar .spacer{flex:1}.muted{color:var(--muted);font-size:12.5px}.empty{max-width:620px;margin:8vh auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:48px 40px}.empty h1{color:var(--navy);margin:0 0 8px}.empty p{color:var(--muted);margin:0 0 24px}.empty .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 1100px){.analytics-grid{grid-template-columns:1fr}}.analytics-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.analytics-card h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--navy)}.analytics-pie-layout{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.analytics-pie{width:190px;height:190px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px #0000000f}.analytics-legend{flex:1;min-width:220px;display:grid;gap:6px}.analytics-legend-row{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;font-size:12.5px}.analytics-legend-row span[title]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-dot{width:12px;height:12px;border-radius:3px}.analytics-treemap{display:flex;flex-wrap:wrap;gap:4px}.analytics-map-block{color:#fff;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;font-size:12px;overflow:hidden}.analytics-map-block b{font-size:12.5px;text-shadow:0 1px 2px rgba(0,0,0,.35)}.analytics-map-block span{font-size:11px;opacity:.92;text-shadow:0 1px 2px rgba(0,0,0,.35)}.heat-columns{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;align-items:flex-start}.heat-col{flex:1 0 220px;max-width:300px}.heat-col-head{padding:8px 10px 9px;border-bottom:2px solid var(--navy);margin-bottom:8px}.heat-col-name{font-weight:700;color:var(--navy);font-size:13px;line-height:1.3}.heat-col-total{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px}.heat-cell{border-radius:9px;padding:8px 11px;margin-bottom:6px;transition:transform .1s}.heat-cell:hover{transform:translate(2px)}.heat-cell-trade{font-size:11.5px;font-weight:600;line-height:1.3}.heat-cell-value{font-size:13.5px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.heat-cell-share{font-size:10.5px;font-weight:600}.analytics-matrix{border-collapse:collapse;font-size:11.5px;min-width:100%}.analytics-matrix th,.analytics-matrix td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.analytics-matrix thead th{background:#f7f7f7;position:static}.analytics-matrix .sticky-col{position:sticky;left:0;background:#f7f7f7;z-index:2;min-width:140px}.analytics-status{border-radius:6px;padding:4px 6px;white-space:nowrap}.analytics-status span{color:var(--muted);font-size:10.5px}.analytics-status.status-red{background:#fef2f2}.analytics-status.status-yellow{background:#fffbeb}.analytics-status.status-green{background:#f0fdf4}.builder-layout{display:grid;grid-template-columns:minmax(380px,480px) 1fr;gap:16px;align-items:start}@media (max-width: 1100px){.builder-layout{grid-template-columns:1fr}}.builder-section-row{display:flex;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line)}.builder-section-row .sec-title{flex:1;min-width:90px;border:1px solid transparent;border-radius:6px;padding:4px 6px;font-weight:600}.builder-section-row .sec-title:hover{border-color:var(--line)}.builder-section-row .sec-title:focus{outline:none;border-color:var(--accent)}.builder-section-row select{border:1px solid var(--line);border-radius:6px;padding:3px 4px;font-size:12px}.type-pill{font-size:10.5px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 8px;white-space:nowrap}.metric-edit-row{display:flex;gap:6px;margin-bottom:6px}.metric-edit-row input{border:1px solid var(--line);border-radius:6px;padding:5px 8px;flex:1;min-width:0}.check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}input[type=color]{width:100%;height:34px;border:1px solid var(--line);border-radius:8px;padding:2px;background:#fff}.preview-scale-wrap{overflow:auto;max-height:calc(100vh - 130px);border-radius:var(--radius)}.render-progress{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:12px}.render-progress-fill{height:100%;background:var(--accent);transition:width .2s}.mode-toggle{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.mode-toggle button{border:none;background:transparent;padding:7px 16px;cursor:pointer;font-weight:600;color:var(--muted)}.mode-toggle button.on{background:var(--navy);color:#fff}.quality-toggle{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.quality-toggle button{border:none;background:transparent;padding:7px 12px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--muted);border-right:1px solid var(--line)}.quality-toggle button:last-child{border-right:none}.quality-toggle button:hover{color:var(--accent);background:#f4f4f4}.quality-toggle button.on{background:var(--accent);color:#fff}.builder-layout.rail-layout.view-mode{grid-template-columns:1fr}.view-mode .builder-rail,.view-mode .builder-panel{display:none}.view-mode .preview-scale-wrap{max-height:none;overflow:visible}@media print{.report-print-root{max-height:none!important;overflow:visible!important}}.report-preview h2{color:var(--navy);border-bottom:2px solid var(--navy);padding-bottom:6px}.report-preview .group-title td{background:#f0f0f0;font-weight:700}.projects-screen{max-width:1100px;margin:0 auto}.projects-head{display:flex;align-items:center;gap:18px;margin:12px 0 22px}.projects-head h1{margin:0 0 2px;color:var(--navy);font-size:24px}.projects-head p{margin:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.project-tile{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;min-height:130px;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s}.project-tile:hover{border-color:var(--accent);box-shadow:0 6px 18px #0000001a;transform:translateY(-1px)}.project-tile.active{border-color:var(--accent);box-shadow:0 0 0 2px #bae6fd}.tile-top{display:flex;align-items:flex-start;gap:6px}.tile-name{font-weight:700;color:var(--navy);flex:1;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile-no{font-size:12.5px;color:var(--accent);font-weight:600;margin-top:2px}.tile-doc{font-size:12.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted)}.tile-badge{position:absolute;top:-8px;right:12px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;padding:2px 10px;border-radius:999px}.project-tile.add-tile{border-style:dashed;align-items:center;justify-content:center;text-align:center;cursor:default;gap:6px}.add-plus{font-size:30px;line-height:1;color:var(--accent);font-weight:300}.add-title{font-weight:700;color:var(--navy)}.add-actions{display:flex;flex-direction:column;gap:6px;margin-top:6px;width:100%}.version-tabs{display:flex;gap:4px;align-items:flex-end;margin:-6px 0 14px;border-bottom:2px solid var(--line);padding:0 4px;flex-wrap:wrap}.vtab{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--line);border-bottom:none;border-radius:9px 9px 0 0;background:#eee;color:var(--muted);font-weight:600;font-size:13px;cursor:pointer;position:relative;top:2px}.vtab:hover{background:#fff}.vtab.on{background:#fff;color:var(--navy);border-color:var(--line);border-bottom:2px solid #fff;top:2px}.vtab-badge{background:var(--accent);color:#fff;font-size:9.5px;font-weight:700;padding:1px 7px;border-radius:999px;text-transform:uppercase}.vtab-x{color:#9c9c9c;font-size:11px}.vtab-x:hover{color:var(--red)}.vtab.add{border:1px dashed var(--line);background:transparent;color:var(--accent);cursor:pointer}.vtab.add:hover{background:#f4f4f4}.compare-table th,.compare-table td{white-space:nowrap;vertical-align:top}.compare-table td.money{min-width:150px}.compare-table .compare-total td{font-weight:700;background:#fafafa;font-size:15px}.compare-table .compare-gp td{color:var(--muted)}.compare-table .compare-section td{background:var(--navy);color:#fff;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;padding:6px 10px}.compare-table .out-scope{color:#cfcfcf}.cell-delta{font-size:11px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.cell-delta.up{color:var(--red)}.cell-delta.down{color:var(--green)}.cell-delta.zero{color:#9c9c9c;font-weight:500}.cell-sub{font-size:11px;color:var(--muted);margin-top:2px}.version-head{display:flex;align-items:center;gap:6px;justify-content:flex-end}.version-name{font-weight:700;color:var(--navy);text-transform:none;letter-spacing:0;font-size:13px}.version-sub{font-size:10.5px;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:2px}.star{border:none;background:transparent;cursor:pointer;color:#cfcfcf;font-size:15px;padding:0 2px;line-height:1}.star:hover,.star.on{color:var(--yellow)}.scope-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.scope-label{flex:none;width:96px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;padding-top:6px;display:flex;flex-direction:column;gap:2px;align-items:flex-start}.chip.small-chip{padding:3px 10px;font-size:12px}.scope-save{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}.scope-total{font-size:14px}.rich-editor{min-height:120px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;font-size:13px;line-height:1.55}.rich-editor:focus{outline:2px solid #bae6fd;border-color:var(--accent)}.builder-layout.rail-layout{grid-template-columns:56px minmax(320px,360px) 1fr;gap:12px}.builder-rail{display:flex;flex-direction:column;gap:6px;position:sticky;top:12px;align-self:start}.builder-rail button{width:56px;padding:7px 2px 6px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;gap:2px;color:var(--muted)}.builder-rail button:hover{border-color:var(--accent);color:var(--accent)}.builder-rail button.active{background:var(--navy);border-color:var(--navy);color:#fff}.builder-rail .rail-icon{font-size:16px;line-height:1.1;font-weight:700}.builder-rail .rail-label{font-size:9px;font-weight:600;letter-spacing:.2px}.builder-panel{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow-y:auto;margin-bottom:0}.builder-panel .grid.cols-2{grid-template-columns:1fr 1fr}.panel-reset{margin:-4px 0 12px;color:var(--muted)}.panel-reset:hover{color:var(--accent);border-color:var(--accent)}.panel-sub{margin:16px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.check-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}.builder-section-row select{max-width:46px}.swatch-row{display:flex;gap:8px;margin:8px 0 12px}.tpl-swatch{display:flex;border:2px solid var(--line);border-radius:8px;overflow:hidden;cursor:pointer;padding:0;width:54px;height:26px;background:#fff}.tpl-swatch span{flex:1}.tpl-swatch.on{border-color:var(--accent);box-shadow:0 0 0 2px #bae6fd}@media (max-width: 1100px){.builder-layout.rail-layout{grid-template-columns:56px 1fr}.builder-layout.rail-layout .builder-preview{grid-column:1 / -1}}.cmp-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.cmp-bar-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-right:2px}.cmp-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.cmp-hint{margin-top:0;font-size:12px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#f4f4f5;padding:2px;gap:2px}.seg button{border:none;background:transparent;padding:6px 13px;font-size:12.5px;cursor:pointer;color:var(--muted);font-weight:600;border-radius:7px}.seg button:hover:not(.on){color:var(--text)}.seg button.on{background:var(--navy);color:#fff}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6b70' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:15px;border:1px solid var(--line);border-radius:8px;padding:6px 30px 6px 10px;font-size:13px;color:var(--text);cursor:pointer}select:hover{border-color:#c4c4c8}select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #18181b14}.builder-section-row select{background-image:none;padding:3px 4px}.rtoolbar{position:sticky;top:var(--proj-nav-h, 116px);z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.ctrl-field{display:flex;flex-direction:column;gap:4px}.ctrl-field>label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}.ctrl-field select{height:34px}.rtoolbar .spacer{flex:1;min-width:8px}.rtoolbar .seg{align-self:flex-end;height:34px;align-items:center}.rtoolbar-note{font-size:12px;color:var(--muted);margin:0 2px 14px}.cmp-toolbar{position:sticky;top:var(--proj-nav-h, 116px);z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.ctrl-glabel{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;display:block;margin-bottom:8px}.cmp-versions{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fafafa}.cmp-versions-row{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}.ver-check{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text);cursor:pointer}.ver-check input{cursor:pointer}.ver-baseline{border:none;background:transparent;color:#cfcfd3;cursor:pointer;display:inline-flex;padding:2px;border-radius:5px}.ver-baseline:hover{color:var(--muted)}.ver-baseline.on{color:var(--navy)}.ver-add{display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer}.ver-add:hover{border-color:#c4c4c8;color:var(--text)}.cmp-controls-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cmp-controls-row .spacer{flex:1;min-width:8px}.tgl{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);cursor:pointer;border:none;background:transparent;padding:0;font-weight:600}.tgl .track{width:32px;height:18px;border-radius:20px;background:#d4d4d8;position:relative;transition:background .12s;flex:none}.tgl .track b{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .12s}.tgl.on{color:var(--text)}.tgl.on .track{background:var(--navy)}.tgl.on .track b{left:16px}.picker{position:relative;display:inline-block}.picker-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:13px;color:var(--text);cursor:pointer}.picker-btn b{font-weight:700}.picker-btn:hover{border-color:#c4c4c8}.picker-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:300px;max-width:400px;max-height:360px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #00000029;padding:6px}.picker-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;font-size:13px;cursor:pointer}.picker-row:hover{background:#f4f4f5}.picker-name{white-space:normal;overflow-wrap:anywhere}.picker-total{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-size:12.5px}.picker-row.on .picker-total{color:var(--text)}.picker-add{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--navy);font-weight:600;padding:8px;border-radius:7px;cursor:pointer;font-size:12.5px;margin-top:4px;border-top:1px solid var(--line)}.picker-add:hover{background:#f4f4f5}.mp{position:relative}.mp-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--text)}.mp-btn.on{border-color:var(--navy);background:var(--navy);color:#fff}.mp-caret{font-size:9px;margin-left:3px;opacity:.7}.mp-panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:300px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #00000029;padding:8px}.mp-search{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12.5px;margin-bottom:4px;box-sizing:border-box}.mp-clear{border:none;background:transparent;color:var(--accent);font-size:12px;cursor:pointer;padding:2px 0 6px}.mp-clear:disabled{color:#cfcfcf;cursor:default}.mp-list{max-height:250px;overflow-y:auto;display:grid;gap:1px}.mp-item{display:flex;gap:8px;align-items:center;font-size:12.5px;padding:4px 6px;border-radius:6px;cursor:pointer}.mp-item:hover{background:#f2f2f2}.mp-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-filter-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.cmp-filter-row:last-child{margin-bottom:0}.cmp-filter-label{flex:none;width:76px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding-top:6px}.presence-pill{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.2px;white-space:nowrap}.presence-pill.miss{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.presence-pill.excl{background:#f2f2f2;color:#9c9c9c;border:1px solid #e2e8f0}.compare-table .cmp-trade-row td{font-weight:700;background:#fbfcfe}.compare-table .cmp-task-row td{font-weight:400;font-size:12.5px}.compare-table .cmp-task-row td:first-child{padding-left:28px;color:#4a4a4a;max-width:320px;overflow:hidden;text-overflow:ellipsis}.dtl-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.dtl-pick{display:flex;align-items:center;gap:6px;font-size:12.5px}.dtl-pick select{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12.5px;background:#fff}.presence-pill.add{background:#dcfce7;color:#166534;border:1px solid #86efac}.presence-pill.rem{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.t-name-ro{font-weight:700;color:var(--navy);flex:1;min-width:120px}.item-name-ro{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.ro-meta{font-size:11px;color:#64748b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.d-was{font-size:10.5px;color:#9c9c9c;white-space:nowrap;font-weight:400}.d-old-val{text-decoration:line-through}.d-tag{display:inline-block;font-size:8.5px;font-weight:700;color:#64748b;background:#f2f2f2;border:1px solid #e2e8f0;border-radius:999px;padding:0 5px;margin-left:4px;text-decoration:none;vertical-align:middle;letter-spacing:.2px;line-height:1.5}.d-val.up{color:var(--red);font-weight:700}.d-val.down{color:var(--green);font-weight:700}.d-sector-note{color:#b45309!important;font-weight:700}.diff-table td{font-size:12.5px}.diff-table td.num-cell,.diff-table td.money{text-align:right;font-variant-numeric:tabular-nums}.diff-table .r1{right:0}.diff-table td.d-chg,.diff-table td.fz.d-chg,.diff-table td.fzr.d-chg{background:#fef9c3}.diff-table tr.d-added td,.diff-table tr.d-added td.fz,.diff-table tr.d-added td.fzr{background:#f0fdf4}.diff-table tr.d-removed td,.diff-table tr.d-removed td.fz,.diff-table tr.d-removed td.fzr{background:#fef2f2}.diff-table tr.d-removed .item-name-ro,.diff-table tr.d-removed td{color:#7f1d1d}.trade-map{display:grid;gap:8px}.trade-map-row{display:grid;grid-template-columns:230px 1fr;gap:8px}.trade-map-left{border-radius:10px;color:#fff;padding:9px 12px;display:grid;align-content:center;gap:2px;min-width:0}.trade-map-left b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-map-left span{font-size:11.5px;opacity:.88;white-space:nowrap}.trade-map-right{display:flex;gap:6px;min-width:0}.trade-map-seg{border-radius:10px;color:#fff;padding:8px 10px;display:grid;align-content:center;gap:1px;flex-basis:0;min-width:96px;overflow:hidden}.trade-map-seg b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.trade-map-seg span{font-size:11px;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-map-pct{font-style:normal;opacity:.75;margin-left:6px}.metric-card-edit{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fbfcfe}.metric-card-head{display:flex;gap:6px;align-items:center;margin-bottom:8px}.metric-card-head .metric-name{flex:1;font-weight:700;border:1px solid var(--line);border-radius:8px;padding:7px 10px;min-width:0}.metric-card-row{display:grid;grid-template-columns:.8fr .9fr 1.2fr 1.1fr;gap:6px}.metric-card-row .field{margin:0}.metric-card-row .field label{font-size:10px}.metric-card-row input,.metric-card-row select{width:100%;min-width:0;box-sizing:border-box}.lock-row{display:flex;align-items:center;gap:10px;min-height:34px}.lock-note{font-size:12px}.lock-note.on{color:#b45309;font-weight:600}.switch{position:relative;display:inline-block;width:44px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfcfcf;border-radius:999px;transition:background .18s;cursor:pointer}.switch .slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .18s;box-shadow:0 1px 3px #00000040}.switch input:checked+.slider{background:var(--navy)}.switch input:checked+.slider:before{transform:translate(20px)}.login-screen{min-height:100vh;display:grid;place-items:center;background:var(--navy)}.login-card{background:#fff;border-radius:14px;box-shadow:0 18px 50px #00000059;width:min(360px,92vw);padding:28px 30px}.login-card h2{text-align:center;margin:0;color:var(--navy);letter-spacing:2px}.login-card label{display:block;font-size:12px;font-weight:700;color:#4a4a4a;margin:12px 0 4px}.login-card input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px}.login-err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:9px 12px;border-radius:8px;font-size:13px;margin-bottom:6px}.login-or{text-align:center;color:#9c9c9c;font-size:12px;margin:14px 0 10px}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.ms-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;box-sizing:border-box;background:#fff;color:#334155;border:1px solid var(--line);text-decoration:none;font-weight:600}.ms-btn:hover{border-color:#9c9c9c;background:#f7f7f7}.impersonation-banner{background:#b45309;color:#fff;padding:7px 16px;font-size:13px;display:flex;align-items:center;gap:12px;justify-content:center}.impersonation-banner .btn{background:#fff;color:#b45309;padding:3px 12px}.conflict-banner{background:#b91c1c;color:#fff;padding:8px 16px;font-size:13px;display:flex;align-items:center;gap:12px;justify-content:center}.conflict-banner .btn{background:#fff;color:#b91c1c;padding:3px 12px}.nav-user{margin-top:auto;border-top:1px solid var(--line);padding:10px 6px 4px;display:flex;flex-direction:column;gap:6px}.nav-user-name{font-size:12.5px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-role{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.nav-user .btn.ghost{color:var(--muted);text-align:left}.nav-user .btn.ghost:hover{color:var(--text);background:#f2f2f3}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:90;display:grid;place-items:center}.modal{width:min(520px,94vw);max-height:80vh;overflow-y:auto}.charts-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.charts-col{min-width:0}.charts-col-h{font-size:14px;font-weight:700;color:var(--navy);padding:6px 12px;background:#eef2f7;border-radius:8px;margin-bottom:12px}.charts-compare .analytics-grid{grid-template-columns:1fr}@media (max-width: 1100px){.charts-compare{grid-template-columns:1fr}}.import-loading{display:flex;align-items:center;gap:10px;padding:14px 0 8px;font-size:13.5px;color:var(--text)}.spinner{width:20px;height:20px;border:2.5px solid var(--line);border-top-color:var(--navy);border-radius:50%;animation:cp-spin .7s linear infinite;flex:none;display:inline-block}.spinner-sm{width:13px;height:13px;border-width:2px;border-top-color:#fff;vertical-align:-1px;margin-right:4px}@keyframes cp-spin{to{transform:rotate(360deg)}}.bg-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,66px);justify-content:start;gap:8px;margin-top:4px}.bg-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;overflow:hidden}.bg-thumb:hover{border-color:#b6b6bb}.bg-thumb.on{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset}.bg-thumb-view{position:relative;width:100%;aspect-ratio:210 / 297;overflow:hidden;border-radius:5px;border:1px solid var(--line);background:#fff}.bg-thumb-view .print-page{position:absolute;top:0;left:0;width:793.7px;min-height:1122.5px;transform:scale(.0706);transform-origin:top left;margin:0;box-shadow:none;pointer-events:none}.bg-thumb-master{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--muted);background:repeating-linear-gradient(45deg,#f4f4f5 0,#f4f4f5 6px,#fff 6px,#fff 12px)}.bg-thumb-label{font-size:9.5px;line-height:1.15;color:var(--text);text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.img-effect-preview{margin-top:8px;height:120px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:repeating-conic-gradient(#f0f0f0,#f0f0f0 25%,#fff 0%,#fff 50%) 50% / 16px 16px}.img-effect-preview img{width:100%;height:100%;display:block}.theme-gallery{display:grid;gap:10px;margin:6px 0 4px}.theme-card{position:relative;display:flex;gap:12px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .12s,box-shadow .12s}.theme-card:hover{border-color:#b6b6bb}.theme-card.on{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset}.theme-card-swatch{display:grid;grid-template-columns:repeat(2,14px);grid-template-rows:repeat(2,14px);gap:2px;border-radius:6px;overflow:hidden;flex:none}.theme-card-swatch span{display:block;width:14px;height:14px}.theme-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.theme-card-body b{font-size:13.5px;color:var(--text)}.theme-card-body small{font-size:11.5px;color:var(--muted);line-height:1.3}.theme-card-on{position:absolute;top:8px;right:10px;color:var(--navy)}.style-chips-field{margin:8px 0}.style-chips-field>label{display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px}.style-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.style-chip{text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 9px;cursor:pointer;display:flex;flex-direction:column;gap:1px}.style-chip:hover{border-color:#b6b6bb}.style-chip.on{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset}.style-chip b{font-size:12.5px;color:var(--text)}.style-chip small{font-size:10.5px;color:var(--muted);line-height:1.25}.hstack-wrap{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:6px 0}.hstack-wrap .field{margin:0}.profile-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 2px}.profile-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.profile-apply{border:none;background:transparent;padding:5px 4px 5px 11px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer}.profile-apply:hover{color:var(--navy)}.profile-x{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:5px 9px 5px 4px;font-size:15px;line-height:1}.profile-x:hover{color:var(--red)}.import-sheets,.clone-opts{display:grid;gap:8px;margin:4px 0 6px}.import-sheet,.clone-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer}.import-sheet.on,.clone-opt.on{border-color:var(--navy);background:#f4f4f4}.import-sheet b,.clone-opt b{display:block;font-size:13.5px}.import-sheet small,.clone-opt small{color:#64748b;font-size:12px}.project-tile .tile-top .btn.ghost.small{width:28px;height:28px;padding:0;display:grid;place-items:center;font-size:16px;line-height:1;border-radius:8px;flex:none}.project-tile .tile-top .btn.ghost.small:hover{background:#eef2f7}.tile-status,.tile-status-pill{align-self:flex-start;font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px;border:1px solid var(--line);background:#fff;margin:4px 0 2px;cursor:pointer}.tile-status.current,.tile-status-pill.current{background:#dcfce7;color:#166534;border-color:#86efac}.tile-status.upcoming,.tile-status-pill.upcoming{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.tile-status.archived,.tile-status-pill.archived{background:#f2f2f2;color:#64748b;border-color:#e2e8f0}.tile-status-pill{cursor:default;text-transform:capitalize}.brand{display:flex;align-items:center;gap:10px}.brand-logo-chip{background:#fff;border-radius:6px;padding:3px 8px;display:inline-flex;align-items:center}.brand-logo-chip img{height:22px;display:block}
