@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;800&family=Lato:wght@400;700&display=swap");.dark .google-link{color:#e0e7ef!important}.est-unified.collapse-left .left .est-card:first-child{border-top-left-radius:0!important;border-left:0!important}@media (prefers-color-scheme:dark){.icon-btn svg{color:#f1f5f9!important;fill:#f1f5f9!important;stroke:#f1f5f9!important;filter:drop-shadow(0 0 2px #0f172a)}}:root{--bg:#f8fafc;--panel:#ffffff;--panel-elev:#f1f5f9;--border:#e5e7eb;--ink:#0f172a;--muted:#64748b;--shadow:0 12px 32px rgba(0,0,0,.06);--brand:#1ABCC7;--brand-600:#109aa4;--brand-accent:#3439DB;--focus:#60a5fa;--content:1100px;--table-zebra:#fcfdff;--table-hover:#eef2ff}.dark{--bg:#0b1220;--panel:#0f1720;--panel-elev:#111827;--border:#1f2937;--ink:#e2e8f0;--muted:#94a3b8;--shadow:0 12px 32px rgba(2,6,23,.6);--brand:#1ABCC7;--brand-600:#109aa4;--brand-accent:#3439DB;--table-zebra:#0e1727;--table-hover:#152036}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.container{width:100%;max-width:var(--content);margin:0 auto;padding:16px}.container.wide{max-width:1440px;margin:0 auto;padding-left:16px;padding-right:16px}.card{background:linear-gradient(180deg,var(--panel),var(--panel-elev));border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:24px}.label{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}.input{width:100%;height:44px;padding:0 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:15px;color:var(--ink);outline:none}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(96,165,250,.25)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 16px;border:0;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease,opacity .2s ease,background .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-accent));color:#fff;box-shadow:0 8px 24px rgba(19,23,42,.4)}.btn-primary:hover{transform:translateY(-1px)}.btn-small{padding:6px 10px;height:auto;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand-accent));color:#fff;border:0;box-shadow:0 8px 24px rgba(19,23,42,.32);font-weight:700;font-size:13px}.btn-small:hover{filter:brightness(1.05)}.table{width:100%;border-collapse:collapse;table-layout:fixed}.table td,.table th{padding:8px 10px;border-bottom:1px solid var(--border)}.table th{text-align:left;color:var(--muted);font-weight:600}.number{text-align:right}.table a.table-link{color:var(--ink);text-decoration:none}.table a.table-link:hover{text-decoration:underline;color:var(--brand-600)}.table.zebra tbody tr:nth-child(odd){background:var(--table-zebra)}.table tr:hover td{background:var(--table-hover)}.table th.sticky{position:sticky;top:0;background:var(--panel);z-index:1}.table-scroll{max-width:100%;position:relative;-ms-overflow-style:none;scrollbar-width:none}.table-scroll::-webkit-scrollbar{display:none}.table-scroll>table{min-width:auto;width:100%}.status{display:inline-block;padding:4px 8px;font-size:12px;border-radius:999px}.status.draft{background:#f1f5f9;color:#475569}.status.generated{background:#eef2ff;color:#3730a3}.status.pending{background:#fff7ed;color:#9a3412}.status.approved{background:#ecfdf5;color:#065f46}.h1{font-size:22px;margin:0 0 8px}.muted{color:var(--muted)}.page{display:grid;gap:16px}.page-head{display:flex;align-items:center;justify-content:space-between}.row-actions{display:flex;gap:8px}.pager{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:8px}.pill{display:inline-block;padding:4px 8px;font-size:12px;border-radius:999px}.app-shell{min-height:100vh;display:grid;grid-template-rows:56px 1fr;background:var(--bg)}.app-topbar{display:flex;align-items:center;gap:16px;padding:0 16px;background:rgba(11,18,32,.9);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}.app-topbar .brand{font-weight:800;letter-spacing:.2px;text-decoration:none;color:#e6edf7}.nav{display:flex;gap:12px}.app-topbar .nav-link{color:#e6edf7;text-decoration:none;padding:8px 6px;border-radius:8px}.app-topbar .nav-link:hover{background:rgba(255,255,255,.08)}.app-topbar .nav-link.active,.app-topbar .nav-link[aria-current=page]{background:rgba(255,255,255,.12);font-weight:700}.app-topbar .theme-toggle{color:#e6edf7}.spacer{flex:1}.app-topbar .me{color:#e6edf7}.app-main{padding:24px}.app-topbar .btn-small{background:var(--brand);color:#fff}.app-topbar .btn-small:hover{background:var(--brand-600)}.seg{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:2px}.seg .seg-btn{background:transparent;color:var(--ink);border:0;border-radius:6px;padding:6px 10px;font-weight:700;font-size:13px;cursor:pointer}.dark .seg .seg-btn{color:#e6edf7}.seg .seg-btn.selected.cur{background:linear-gradient(135deg,var(--brand),var(--brand-accent))!important;color:#fff!important}.seg .seg-btn.selected.done{background:var(--brand)!important;color:#0b1220!important}.seg .seg-btn[aria-selected=true]{background:linear-gradient(135deg,var(--brand),var(--brand-accent))!important;color:#fff!important}.seg .seg-btn[data-done="1"]{background:var(--brand)!important;color:#0b1220!important}.dark .seg .seg-btn.selected.done{color:#041016}.seg .seg-btn[disabled]{cursor:default;opacity:.9}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);display:grid;place-items:center;z-index:50}.modal{width:100%;max-width:520px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 50px rgba(2,6,23,.15);padding:20px}.modal h2{margin:0 0 12px;font-size:20px}.toast{position:fixed;right:100px;bottom:16px;z-index:60;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:8px 12px;font-size:13px}#nextjs-portal,[data-nextjs-toolbox]{display:none!important}.toolbar{display:flex;gap:8px;align-items:center}.toolbar .input{flex:1 1 auto;height:44px}.toolbar .btn{height:46px}.toolbar .input+.btn{margin-top:0}.page-hero{background:var(--bg);border-bottom:1px solid var(--border)}.page-hero .inner{max-width:1440px;margin:0 auto;padding:16px;display:grid;gap:12px}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-title{margin:0;font-size:22px;letter-spacing:.2px}.hero-stats{display:flex;flex-wrap:wrap;gap:10px}.stat-pill{display:flex;flex-direction:column;justify-content:center;min-width:160px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);cursor:pointer;transition:transform .08s ease,box-shadow .2s ease,border-color .2s ease;user-select:none}.stat-pill .label{margin:0;font-size:12px;color:var(--muted)}.stat-pill .value{margin:4px 0 0;font-weight:800;font-size:18px;color:#0f172a}.dark .stat-pill .value{color:#fff}.stat-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.stat-pill[aria-pressed=true]{border-color:var(--brand);box-shadow:0 10px 28px rgba(37,99,235,.14)}.stat-pill.primary{background:var(--brand);color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(37,99,235,.18)}.stat-pill.primary .label,.stat-pill.primary .value{color:#fff}.est-unified{--gap:8px;--left:clamp(200px,16vw,260px);display:flex;align-items:flex-start;gap:var(--gap)}.est-unified .pane{min-width:0}.est-unified .left{flex:1 1 100%;min-width:0;transition:flex-basis .35s cubic-bezier(.2,.8,.2,1),margin-left .35s;display:flex;flex-direction:column;gap:10px}.est-unified .center{width:0;opacity:0;transform:translateY(6px);pointer-events:none;overflow:hidden;transition:width .35s cubic-bezier(.2,.8,.2,1),opacity .24s ease,transform .35s}.est-unified.open .left{flex:0 0 var(--left);margin-left:-4px}.est-unified.open .center{width:calc(100% - var(--left) - var(--gap));opacity:1;transform:none;pointer-events:auto}.est-unified .center{display:flex;justify-content:center}.est-unified .center>.card.detail-card{width:100%;max-width:1280px;margin:0 auto}.est-unified.collapse-left{--gap:0}.est-unified.collapse-left .left{flex:0 0 0!important;width:0!important;min-width:0;padding:0;margin:0;border:0;overflow:hidden!important}.est-unified.collapse-left .center{width:100%!important;margin-left:0!important}.est-unified.collapse-left .left .left-search,.est-unified.collapse-left .left-head{display:none!important}.est-unified.open .center>.card{margin-top:0}.left-head{position:sticky;top:0;z-index:2;background:transparent;padding:0 2px 4px 0}.searchbar{display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;background:var(--panel);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow)}.searchbar svg{opacity:.55}.searchbar input{flex:1;min-width:100px;height:100%;border:0;outline:0;background:transparent;font-size:14px;color:var(--ink)}.searchbar input::placeholder{color:var(--muted);opacity:.95}.dark .searchbar input::placeholder{color:#cbd5e1;opacity:.7}.left-search{width:100%;height:38px;padding:0 10px;border-radius:999px}.left-search input{min-width:80px}.est-list{flex:1 1 auto;overflow:auto;padding-right:2px;display:flex;flex-direction:column;gap:10px;scrollbar-width:none;-ms-overflow-style:none}.est-list::-webkit-scrollbar{display:none}button.est-card{all:unset;font:inherit;color:inherit;box-sizing:border-box;padding:6px 10px;border:1px solid var(--border);border-radius:8px}.est-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px rgba(2,6,23,.06);cursor:pointer;transition:box-shadow .18s cubic-bezier(.2,.8,.2,1),border-color .18s}.est-card:hover{box-shadow:0 8px 22px rgba(2,6,23,.1);border-color:var(--brand)}.est-card.active{border-color:#dbeafe;box-shadow:0 12px 28px rgba(37,99,235,.14)}.est-card:focus-visible{outline:2px solid #dbeafe;outline-offset:2px}.est-card .title{font-weight:700;font-size:14px;color:var(--ink);text-align:left}.est-card .meta,.est-card .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.est-card .meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:#64748b}.est-card .sep{opacity:.6}.est-card .amount{color:var(--ink);font-weight:600}.est-unified.open .left .est-list{max-height:calc(100vh - 320px);overflow:auto}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);cursor:pointer;transition:transform .08s ease,box-shadow .2s ease}.icon-btn:hover{transform:translateY(-1px)}.icon-btn svg{width:18px;height:18px}.dark .icon-btn{color:#fff}.detail-card{position:relative}.center-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}@media (max-width:1100px){.center-grid{grid-template-columns:1fr}.center-grid>*{grid-column:auto!important;grid-row:auto!important}}.photo-card.est-pane{padding:12px}.photo-box{aspect-ratio:4/3;background:#f1f5f9;border-radius:8px}.info-card .kv{display:grid;grid-template-columns:180px 1fr;gap:6px 12px;font-size:13px}.info-card .kv .k{color:var(--muted)}.info-card .kv .v{color:var(--ink)}.kv.kv-assumptions{grid-template-columns:160px 1fr 160px 1fr}@media (max-width:1100px){.kv.kv-assumptions{grid-template-columns:160px 1fr}}@media (max-width:560px){.kv.kv-assumptions{grid-template-columns:120px 1fr}}.est-pane{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.panel-error{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin:6px 0 10px;border:1px solid #fecaca;background:#fee2e2;color:#7f1d1d;border-radius:8px}.dark .panel-error{border-color:#7f1d1d;background:#451a1a;color:#fecaca}.panel-error .panel-error-close{border:0;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.tip{position:relative;display:inline-block;color:var(--muted)}.tip:hover{color:var(--ink)}.tip-link{position:relative;text-decoration:underline dotted;cursor:help;color:inherit}.tip:after{content:attr(data-tip);position:absolute;left:0;right:auto;top:calc(100% + 6px);transform:none;max-width:clamp(180px,45vw,280px);min-width:160px;width:max-content;white-space:normal;overflow-wrap:anywhere;background:#0f172a;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.35;box-shadow:0 6px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;z-index:30}.tip:hover:after{opacity:1}@media print{.actions-buttons,.actions-compact,.badge[title*=Click],.btn-small,.copilot-dock,.copilot-fab,.detail-toolbar,.drag-handle,.icon-btn,.tip,.tip:after,.toast,footer,header,nav{display:none!important}.card,.detail-card,.est-pane,.info-card,.input,.panel-head,.table{box-shadow:none!important;border-color:#e5e7eb!important;background:#ffffff!important}body,html{background:#ffffff!important;color:#111827!important}.est-pane,.table{page-break-inside:avoid}.est-pane{margin-top:8pt!important}}.link{color:#1d4ed8;text-decoration:underline}.link:hover{color:#1e40af}.dark .link{color:#93c5fd}.dark .link:hover{color:#bfdbfe}.link-btn{all:unset;cursor:pointer;color:#1d4ed8;text-decoration:underline;font-size:13px}.link-btn:hover{color:#1e40af}.dark .link-btn{color:#93c5fd}.dark .link-btn:hover{color:#bfdbfe}.md-body{line-height:1.55}.md-body p{margin:8px 0}.md-body h1,.md-body h2,.md-body h3{margin:12px 0 6px;line-height:1.25}.md-body ul{margin:6px 0 10px 20px;padding-left:0;list-style:disc}.md-body li{margin:4px 0}.md-summary{font-size:14px}.copilot-fab{right:24px;bottom:24px;z-index:40}.copilot-fab .fab-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:#22c55e;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.25)}.copilot-fab .fab-dots{position:absolute;top:-6px;right:-6px;display:flex;gap:2px}.copilot-fab .fab-dots span{width:4px;height:4px;background:#22c55e;border-radius:50%;animation:dotblink 1s ease-in-out infinite}.copilot-fab .fab-dots span:nth-child(2){animation-delay:.15s}.copilot-fab .fab-dots span:nth-child(3){animation-delay:.3s}@keyframes dotblink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.ce-ghost{all:unset;display:inline-block;padding:4px 6px;border-radius:6px;cursor:text;line-height:1.35;color:var(--ink)}.ce-ghost.placeholder{color:var(--muted)}.ce-ghost:hover{background:#f5f7fb;outline:1px dashed #e6eaf3}.dark .ce-ghost:hover{background-color:transparent}.editable-ghost{font:inherit;font-size:clamp(20px,2.2vw,26px);font-weight:700;color:var(--ink);background:transparent;border:1px dashed transparent;border-radius:8px;padding:4px 6px;line-height:1.25;cursor:text}.editable-ghost:hover{background:#f5f7fb;border-color:#e6eaf3}.dark .editable-ghost:hover{background-color:transparent}.editable-input{font:inherit;font-size:clamp(20px,2.2vw,26px);font-weight:700;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 8px;outline:none;width:min(56vw,640px)}.editable-input:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(96,165,250,.25)}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed var(--border);border-radius:8px;background:var(--panel);cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;transition:background .15s ease,border-color .15s ease}.drag-handle:hover{background:var(--bg)}.drag-handle:active{cursor:grabbing}.drag-handle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.drag-handle svg{width:14px;height:14px;opacity:.7;color:#0f172a;fill:#0f172a}.dark .drag-handle svg,.dark .drag-handle svg *{color:#fff!important;fill:#fff!important;stroke:#fff!important}.dark .drag-handle{color:#fff!important}.drag-handle.sm{width:24px;height:24px;border-radius:6px}.drag-handle.lg{width:32px;height:32px;border-radius:10px}.actions-buttons{display:flex;gap:8px;justify-content:flex-end}.actions-compact{display:none}.actions-menu{color:var(--ink)}.actions-menu .menu-item{display:block;padding:8px 12px;width:160px;text-align:left;background:transparent;border:0;cursor:pointer;color:inherit}.actions-menu .menu-item:hover{background:var(--table-hover)}.actions-menu .menu-item.danger{color:#b91c1c}.dark .actions-menu .menu-item.danger{color:#f87171}@media (max-width:980px){.actions-buttons{display:none}.actions-compact{display:flex}}.badge{display:inline-block;padding:2px 6px;font-size:12px;line-height:1;border-radius:999px;background:#0ea5e9;color:#fff;vertical-align:middle}.dark .badge{background:#0284c7}.table td.drag-col,.table th.drag-col{width:36px}.table td.actions,.table th.actions{width:170px}.table-scroll{overflow-x:auto}.table-scroll>table{min-width:940px}.table tfoot .sum-row td{border-bottom:0;padding-top:8px}.table tfoot .sum-row.total td{border-top:1px solid var(--border);padding-top:12px}.copilot-fab{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;display:grid;place-items:center;border:0;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#8b5cf6);color:#fff;font-weight:700;box-shadow:0 16px 40px rgba(2,6,23,.22);transition:transform .12s ease,box-shadow .2s ease,opacity .2s ease}.copilot-fab:hover{transform:translateY(-1px);box-shadow:0 20px 50px rgba(2,6,23,.28)}.copilot-fab:active{transform:translateY(0)}.copilot-fab:focus-visible{outline:3px solid rgba(96,165,250,.45);outline-offset:2px}.copilot-dock{position:fixed;right:22px;bottom:90px;z-index:60;width:min(92vw,380px);max-height:70vh;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px rgba(2,6,23,.18);overflow:hidden;transform:translateY(12px) scale(.98);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}.copilot-dock.open{transform:none;opacity:1;pointer-events:auto}.copilot-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.copilot-body{padding:12px;display:grid;gap:10px;max-height:calc(70vh - 48px);overflow:auto}.copilot-body textarea{width:100%;min-height:110px;resize:vertical;padding:10px 12px;font:inherit;border:1px solid var(--border);border-radius:10px;outline:none;background:var(--panel);color:var(--ink)}.copilot-body textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(96,165,250,.25)}.copilot-body .user-msg{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border-radius:18px 18px 4px 18px;margin:8px 0 8px 40px;padding:8px 12px;align-self:flex-end;max-width:85%;box-shadow:0 4px 16px 0 rgba(59,130,246,.1);font-size:15px;word-break:break-word;border:1px solid #3b82f6}.dark .copilot-body .user-msg{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff}.copilot-body .assistant-msg{background:linear-gradient(135deg,#22c55e,#4ade80);color:#fff;border-radius:18px 18px 18px 4px;margin:8px 40px 8px 0;padding:8px 12px;align-self:flex-start;max-width:85%;box-shadow:0 4px 16px 0 rgba(34,197,94,.1);font-size:15px;word-break:break-word;border:1px solid #22c55e}.assistant-msg h2{font-size:1.15em;margin:.5em 0 .3em}.assistant-msg h3{font-size:1em;margin:.4em 0 .2em}.dark .copilot-body .assistant-msg{background:linear-gradient(135deg,#16a34a,#4ade80);color:#fff}.ac-menu .ac-item{transition:background .12s ease-in-out,color .12s ease-in-out}.ac-menu .ac-item:hover{background:var(--surface-hover,#edf2ff);color:var(--ink-strong,#111827)}.dark .ac-menu .ac-item:hover{background:rgba(59,130,246,.2);color:#f9fafb}.copilot-body .context-msg{font-style:italic;color:#374151;background:linear-gradient(90deg,#f3f4f6,#e0e7ef);border-radius:12px;margin:8px 0;padding:8px 12px;text-align:center;font-size:14px;box-shadow:0 2px 8px 0 rgba(120,120,120,.08);border:1px solid #e5e7eb}@media (max-width:520px){.copilot-dock{right:12px;left:12px;width:auto;bottom:84px;max-height:72vh}}