:root{--pdft-bg: #0a0f1c;--pdft-panel: rgba(15, 22, 38, .85);--pdft-panel-strong: rgba(20, 28, 48, .95);--pdft-border: rgba(114, 252, 209, .18);--pdft-border-strong: rgba(114, 252, 209, .35);--pdft-text: #e3e9ff;--pdft-text-muted: rgba(227, 233, 255, .65);--pdft-text-dim: rgba(227, 233, 255, .4);--pdft-accent: #72fcd1;--pdft-accent-2: #419bff;--pdft-danger: #ff6b6b;--pdft-warning: #ffce4d;--pdft-shadow: 0 8px 24px rgba(2, 6, 14, .4);--pdft-radius: 8px;--pdft-radius-sm: 6px;--pdft-icon: rgba(227, 233, 255, .9)}.pdf-takeoff{display:flex;flex-direction:column;width:100%;height:100%;min-height:540px;color:var(--pdft-text);font-family:Inter,Space Grotesk,system-ui,sans-serif;background:linear-gradient(180deg,#0a0f1c8c,#060a16d9);border:1px solid var(--pdft-border);border-radius:0;box-shadow:var(--pdft-shadow);overflow:hidden}.pdf-takeoff__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .85rem;border-bottom:1px solid var(--pdft-border);background:var(--pdft-panel)}.pdf-takeoff__title{margin:0;font-size:1rem;font-weight:600;letter-spacing:.01em}.pdf-takeoff__subtitle{font-size:.78rem;color:var(--pdft-text-muted);margin:0}.pdf-takeoff__toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.5rem .85rem;background:var(--pdft-panel-strong);border-bottom:1px solid var(--pdft-border)}.pdf-takeoff__group{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--pdft-radius-sm)}.pdf-takeoff__divider{width:1px;height:22px;background:#ffffff14;margin:0 .15rem}.pdf-takeoff__tool{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;height:28px;min-width:28px;padding:0 .45rem;background:transparent;color:var(--pdft-icon);border:1px solid transparent;border-radius:5px;font-size:.78rem;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.pdf-takeoff__tool:hover:not(:disabled){background:#ffffff0f;color:var(--pdft-text)}.pdf-takeoff__tool:disabled{opacity:.4;cursor:not-allowed}.pdf-takeoff__tool--active{background:linear-gradient(135deg,#72fcd12e,#419bff2e);color:var(--pdft-accent);border-color:var(--pdft-border-strong);box-shadow:inset 0 0 0 1px #72fcd126}.pdf-takeoff__tool--primary{background:linear-gradient(135deg,#72fcd1e6,#419bffe6);color:#04111d;font-weight:600}.pdf-takeoff__tool--primary:hover:not(:disabled){background:linear-gradient(135deg,#72fcd1,#419bff);color:#04111d}.pdf-takeoff__tool--ghost{background:#ffffff0a;border-color:#ffffff0f}.pdf-takeoff__tool--danger{color:var(--pdft-danger)}.pdf-takeoff__pageinfo{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--pdft-text-muted);padding:0 .4rem;white-space:nowrap}.pdf-takeoff__pageinfo strong{color:var(--pdft-text);font-weight:600}.pdf-takeoff__zoomvalue{font-size:.74rem;color:var(--pdft-text-muted);min-width:38px;text-align:center}.pdf-takeoff__heightinput{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--pdft-text-muted)}.pdf-takeoff__heightinput input{width:64px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--pdft-text);font:inherit;font-size:.78rem;padding:.25rem .4rem;border-radius:5px;outline:none}.pdf-takeoff__heightinput input:focus{border-color:var(--pdft-accent)}.pdf-takeoff__scalechip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--pdft-text-muted)}.pdf-takeoff__scalechip--set{background:linear-gradient(135deg,#72fcd12e,#419bff1f);border-color:var(--pdft-border-strong);color:var(--pdft-accent)}.pdf-takeoff__inline-scale{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:5px;font-size:.78rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--pdft-text-muted);transition:border-color .12s ease,background .12s ease,color .12s ease}.pdf-takeoff__inline-scale--set{background:linear-gradient(135deg,#72fcd11f,#419bff14);border-color:var(--pdft-border-strong);color:var(--pdft-accent)}.pdf-takeoff__inline-scale span{font-weight:600;color:inherit}.pdf-takeoff__inline-scale input{width:56px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--pdft-text);font:inherit;font-size:.78rem;padding:.2rem .4rem;border-radius:4px;outline:none;text-align:center}.pdf-takeoff__inline-scale input:focus{border-color:var(--pdft-accent)}.pdf-takeoff__inline-scale input::-webkit-outer-spin-button,.pdf-takeoff__inline-scale input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pdf-takeoff__inline-scale input[type=number]{-moz-appearance:textfield;appearance:textfield}.pdf-takeoff__page-badge{position:absolute;top:6px;left:6px;background:#0f1626d9;color:var(--pdft-accent);font-size:.7rem;font-weight:600;padding:.18rem .5rem;border-radius:5px;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;z-index:2;border:1px solid var(--pdft-border-strong)}.pdf-takeoff__pages-column{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px;min-height:100%}.pdf-takeoff__page-placeholder{background:#ffffff0a;color:var(--pdft-text-dim);display:flex;align-items:center;justify-content:center;font-size:.8rem}.pdf-takeoff__hint{margin-left:auto;font-size:.74rem;color:var(--pdft-text-muted);font-style:italic}.pdf-takeoff__body{display:grid;grid-template-columns:1fr 320px;flex:1;min-height:0}@media(max-width:1100px){.pdf-takeoff__body{grid-template-columns:1fr 280px}}.pdf-takeoff__viewer{position:relative;background:#050912;overflow:auto;display:flex;align-items:flex-start;justify-content:center}.pdf-takeoff__viewer::-webkit-scrollbar{width:8px;height:8px}.pdf-takeoff__viewer::-webkit-scrollbar-track{background:#ffffff0a}.pdf-takeoff__viewer::-webkit-scrollbar-thumb{background:#72fcd159;border-radius:999px}.pdf-takeoff__stage{position:relative;margin:1rem;background:#fff;box-shadow:0 10px 30px #00000073;flex-shrink:0}.pdf-takeoff__canvas{display:block;-webkit-user-select:none;user-select:none}.pdf-takeoff__overlay{position:absolute;inset:0;pointer-events:auto;cursor:crosshair}.pdf-takeoff__overlay--pan{cursor:grab}.pdf-takeoff__overlay--idle{cursor:default}.pdf-takeoff__overlay text{-webkit-user-select:none;user-select:none;fill:#04111d}.pdf-takeoff__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--pdft-text-muted);font-size:.85rem;background:#05091299}.pdf-takeoff__side{display:flex;flex-direction:column;background:var(--pdft-panel);border-left:1px solid var(--pdft-border);min-height:0}.pdf-takeoff__side-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border-bottom:1px solid var(--pdft-border)}.pdf-takeoff__side-title{margin:0;font-size:.88rem;font-weight:600}.pdf-takeoff__side-meta{font-size:.74rem;color:var(--pdft-text-muted)}.pdf-takeoff__table-wrap{flex:1;overflow-y:auto;padding:.35rem}.pdf-takeoff__table-empty{padding:2rem 1rem;text-align:center;color:var(--pdft-text-dim);font-size:.82rem}.pdf-takeoff__table{width:100%;border-collapse:collapse;font-size:.78rem}.pdf-takeoff__table thead th{position:sticky;top:0;background:var(--pdft-panel-strong);color:var(--pdft-text-muted);font-weight:500;text-align:left;padding:.4rem .45rem;border-bottom:1px solid rgba(255,255,255,.06);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.pdf-takeoff__row{border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s ease,box-shadow .12s ease;cursor:grab}.pdf-takeoff__row:active{cursor:grabbing}.pdf-takeoff__row:hover{background:#ffffff08}.pdf-takeoff__row--dragging{opacity:.35!important}.pdf-takeoff__row--drop-target{background:linear-gradient(90deg,#72fcd12e,#419bff1a)!important;box-shadow:inset 3px 0 0 var(--pdft-accent)}.pdf-takeoff__row--drop-invalid{background:#ff6b6b1f!important;box-shadow:inset 3px 0 0 var(--pdft-danger)}.pdf-takeoff__row td{padding:.4rem .45rem;vertical-align:middle}.pdf-takeoff__row-type{display:inline-flex;align-items:center;gap:.35rem;color:var(--pdft-accent)}.pdf-takeoff__row-type small{font-size:.7rem;color:var(--pdft-text-muted);text-transform:capitalize}.pdf-takeoff__row-value{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.pdf-takeoff__row-unit{color:var(--pdft-text-muted);font-size:.72rem}.pdf-takeoff__row-name{background:transparent;border:1px solid transparent;color:var(--pdft-text);font:inherit;font-size:.78rem;padding:.15rem .3rem;border-radius:4px;width:100%;outline:none}.pdf-takeoff__row-name:focus,.pdf-takeoff__row-name:hover{border-color:#72fcd140;background:#ffffff0a}.pdf-takeoff__row-page{font-size:.7rem;color:var(--pdft-text-dim)}.pdf-takeoff__row-delete{background:transparent;border:none;color:var(--pdft-text-dim);cursor:pointer;padding:.15rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.pdf-takeoff__row-delete:hover{color:var(--pdft-danger);background:#ff6b6b14}.pdf-takeoff__side-footer{display:flex;gap:.4rem;padding:.6rem .65rem;border-top:1px solid var(--pdft-border);background:var(--pdft-panel-strong)}.pdf-takeoff__side-footer .pdf-takeoff__tool{flex:1}.pdf-takeoff__modal-backdrop{position:fixed;inset:0;background:#02060ea6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.pdf-takeoff__modal{background:var(--pdft-panel-strong);border:1px solid var(--pdft-border-strong);border-radius:var(--pdft-radius);box-shadow:var(--pdft-shadow);padding:1.1rem 1.2rem;width:320px;color:var(--pdft-text)}.pdf-takeoff__modal h3{margin:0 0 .4rem;font-size:1rem}.pdf-takeoff__modal p{margin:0 0 .85rem;font-size:.82rem;color:var(--pdft-text-muted)}.pdf-takeoff__modal-row{display:flex;gap:.4rem;margin-bottom:.85rem}.pdf-takeoff__modal-row input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--pdft-text);font:inherit;padding:.45rem .6rem;border-radius:5px;outline:none}.pdf-takeoff__modal-row input:focus{border-color:var(--pdft-accent)}.pdf-takeoff__modal-row select{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--pdft-text);font:inherit;padding:.45rem .4rem;border-radius:5px;outline:none}.pdf-takeoff__modal-actions{display:flex;justify-content:flex-end;gap:.4rem}.pdf-takeoff__m-line{stroke:var(--pdft-accent);stroke-width:2;fill:none}.pdf-takeoff__m-poly{stroke:var(--pdft-accent);stroke-width:2;fill:#72fcd124}.pdf-takeoff__m-wall{stroke:#ffce4d;stroke-width:2;fill:none}.pdf-takeoff__m-wall-draft{stroke:#ffce4d;stroke-width:2;fill:none;stroke-dasharray:5 4}.pdf-takeoff__m-draft{stroke:var(--pdft-accent-2);stroke-width:2;fill:#419bff1a;stroke-dasharray:4 4}.pdf-takeoff__m-calibrate{stroke:#ff8a3d;stroke-width:2;fill:none;stroke-dasharray:5 3}.pdf-takeoff__m-handle,.pdf-takeoff__m-count{fill:var(--pdft-accent);stroke:#04111d;stroke-width:1}.pdf-takeoff__m-label{fill:#04111d;paint-order:stroke;stroke:var(--pdft-accent);stroke-width:4;font-weight:700}.pdf-takeoff__m-label-bg{fill:var(--pdft-accent);stroke:none;transition:filter .12s ease}.pdf-takeoff__m-label-group--draggable{cursor:move}.pdf-takeoff__m-label-group--draggable:hover .pdf-takeoff__m-label-bg{filter:brightness(1.08) drop-shadow(0 1px 2px rgba(0,0,0,.35))}.pdf-takeoff__m-label-group--draggable:active .pdf-takeoff__m-label-bg{filter:brightness(1.15)}.pdf-takeoff__m-leader{stroke:var(--pdft-accent);stroke-width:1;stroke-dasharray:3 3;opacity:.55;pointer-events:none}.pdf-takeoff__hover-x-bg{fill:#0f1626f2;stroke:var(--pdft-border-strong);stroke-width:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:fill .12s ease,stroke .12s ease}.pdf-takeoff__hover-x:hover .pdf-takeoff__hover-x-bg{fill:var(--pdft-danger);stroke:#ffd6d6}.pdf-takeoff__hover-x-stroke{stroke:var(--pdft-text);stroke-width:1.4;stroke-linecap:round;fill:none;transition:stroke .12s ease}.pdf-takeoff__hover-x:hover .pdf-takeoff__hover-x-stroke{stroke:#fff;stroke-width:1.6}.pdf-takeoff__overlay--snip{cursor:crosshair}.pdf-takeoff__snip-rect{fill:#72fcd11f;stroke:var(--pdft-accent);stroke-width:1.6;stroke-dasharray:5 3}.pdf-takeoff__snip-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;align-items:center;gap:.75rem;max-width:360px;padding:.7rem .85rem;background:var(--pdft-panel-strong);border:1px solid var(--pdft-border-strong);border-radius:var(--pdft-radius);box-shadow:var(--pdft-shadow);color:var(--pdft-text);animation:pdftSnipToastIn .18s ease-out}@keyframes pdftSnipToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pdf-takeoff__snip-toast-thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--pdft-radius-sm);border:1px solid var(--pdft-border);background:#fff;flex-shrink:0}.pdf-takeoff__snip-toast-text{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem;line-height:1.3}.pdf-takeoff__snip-toast-text strong{color:var(--pdft-accent);font-size:.84rem}.pdf-takeoff__snip-toast-text span{color:var(--pdft-text-muted)}.pdf-takeoff__snip-toast-close{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:.2rem;background:transparent;border:none;color:var(--pdft-text-muted);cursor:pointer;border-radius:4px;flex-shrink:0}.pdf-takeoff__snip-toast-close:hover{color:var(--pdft-text);background:#ffffff0f}*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,Space Grotesk,system-ui,sans-serif;color:#e3e9ff;background-color:#030712;line-height:1.5;--app-scale: 1}html{scrollbar-width:thin;scrollbar-color:rgba(114,252,209,.45) rgba(255,255,255,.06)}html::-webkit-scrollbar{width:6px}html::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}html::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#72fcd1bf,#419bffbf);border-radius:999px}html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#72fcd1f2,#419bfff2)}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(65,155,255,.3),transparent 45%),radial-gradient(circle at 20% 20%,rgba(255,107,63,.25),transparent 35%),#030712;scrollbar-width:thin;scrollbar-color:rgba(114,252,209,.45) rgba(255,255,255,.06)}body::-webkit-scrollbar{width:6px}body::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#72fcd1bf,#419bffbf);border-radius:999px}body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#72fcd1f2,#419bfff2)}#app{min-height:100vh;zoom:var(--app-scale)}@media(max-width:960px){#app{zoom:1}}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;transition:grid-template-columns .3s ease;position:relative}.app-shell.sidebar-collapsed{grid-template-columns:0px 1fr}.sidebar{background:linear-gradient(180deg,#0a0f22,#070b1c);padding:2rem 1.5rem;border-right:1px solid rgba(114,252,209,.15);display:flex;flex-direction:column;gap:2rem;overflow:hidden;position:sticky;top:0;height:calc(100vh / var(--app-scale));transition:transform .3s ease,opacity .3s ease}.app-shell.sidebar-collapsed .sidebar{transform:translate(-100%);opacity:0;pointer-events:none}.brand{display:flex;align-items:center;gap:.6rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);background:none;border:none;text-align:left;width:100%;cursor:pointer}.brand:hover{opacity:.9}.brand__icon{color:#72fcd1;flex-shrink:0}.brand__title{margin:0;font-size:.96rem;font-weight:700;color:#e3e9ff;letter-spacing:.01em;line-height:1.2;white-space:nowrap}.brand__subtitle{font-size:.7rem;color:#72fcd1b3;display:block;margin-top:.15rem;letter-spacing:.05em}.sidebar__nav-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:.35rem;margin-right:-.35rem;scrollbar-width:thin;scrollbar-color:rgba(114,252,209,.45) rgba(255,255,255,.06)}.sidebar__nav-scroll::-webkit-scrollbar{width:6px}.sidebar__nav-scroll::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}.sidebar__nav-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#72fcd1bf,#419bffbf);border-radius:999px}.sidebar__nav-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#72fcd1f2,#419bfff2)}.sidebar__nav{display:flex;flex-direction:column;gap:.5rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:#e3e9ffb3;text-decoration:none;border-radius:.75rem;transition:all .2s;font-weight:500;font-size:.95rem;width:100%;background:none;border:none;text-align:left;cursor:pointer}.nav-link--home{background:linear-gradient(135deg,#72fcd11f,#419bff14);border:1px solid rgba(114,252,209,.24);color:#e3e9ffeb}.nav-link--home svg{opacity:.9}.nav-link--home:hover{background:linear-gradient(135deg,#72fcd133,#419bff24);border-color:#72fcd166}.nav-link.is-active{background:#72fcd11a;color:#72fcd1;border:1px solid rgba(114,252,209,.25)}.nav-link svg{flex-shrink:0;opacity:.7}.nav-link:hover{background:#72fcd114;color:#72fcd1;transform:translate(4px)}.nav-link:hover svg{opacity:1}.nav-link:disabled{opacity:.45;cursor:not-allowed;transform:none}.nav-link:disabled:hover{background:none;color:#e3e9ffb3}.sidebar__stats{display:flex;flex-direction:column;gap:.75rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#72fcd10d;border:1px solid rgba(114,252,209,.15);border-radius:.75rem;transition:all .2s}.stat-card:hover{background:#72fcd114;border-color:#72fcd140}.stat-card__icon{color:#72fcd1;flex-shrink:0}.stat-card__icon--secondary{color:#419bff}.stat-card__content{flex:1;min-width:0}.stat-card__label{margin:0 0 .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#e3e9ff99;font-weight:600}.stat-card__value{font-size:1.5rem;font-weight:700;color:#e3e9ff;display:block;line-height:1}.sidebar__footer{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.sidebar__kb-preview{display:flex;flex-direction:column;gap:.5rem}.sidebar__kb-title{margin:0 0 .5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#e3e9ff80;font-weight:600}.sidebar__kb-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ffffff05;border-radius:.5rem;cursor:pointer;transition:all .2s}.sidebar__kb-item:hover{background:#ffffff0d;transform:translate(2px)}.kb-item__icon{color:#72fcd199;flex-shrink:0}.kb-item__content{flex:1;min-width:0}.kb-item__name{margin:0;font-size:.8rem;color:#e3e9ffd9;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-item__date{font-size:.7rem;color:#e3e9ff66}.content{padding:1.5rem 2rem;max-width:1600px;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(114,252,209,.45) rgba(255,255,255,.06)}.content--takeoff{padding:0;max-width:none;height:100vh;overflow:hidden;display:flex;flex-direction:column}.content--takeoff>.pdf-takeoff{flex:1;min-height:0}.content::-webkit-scrollbar{width:6px}.content::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}.content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#72fcd1bf,#419bffbf);border-radius:999px}.content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#72fcd1f2,#419bfff2)}.sidebar-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#72fcd11f;color:#72fcd1;border:1px solid rgba(114,252,209,.35);border-radius:.6rem;cursor:pointer;font-weight:600;transition:all .2s}.sidebar-toggle--icon{width:42px;height:42px;justify-content:center;padding:0;border-radius:999px;background:#72fcd126;border:1px solid rgba(114,252,209,.35)}.sidebar-toggle--icon:hover{background:#72fcd140;border-color:#72fcd180}.sidebar__bottom{margin-top:0;display:flex;flex-direction:column;gap:.75rem}.sidebar__footer{padding:1rem 0 .5rem;border-top:1px solid rgba(255,255,255,.08)}.sidebar-toggle:hover{background:#72fcd133;border-color:#72fcd180}.sidebar-toggle svg{flex-shrink:0}.sidebar-toggle--floating{position:fixed;bottom:1.5rem;left:1.5rem;z-index:1400;box-shadow:0 10px 30px #0006;border-radius:999px;padding:.75rem 1rem}.sidebar-toggle--floating.is-open{background:#e3e9ff14;border-color:#e3e9ff40}.pricing-fab{position:fixed;bottom:6rem;right:1.5rem;z-index:1000;min-height:48px;padding:.75rem 1.5rem;font-weight:600;font-size:1rem;background:linear-gradient(135deg,#72fcd1f2,#419bffe6);color:#030712;border:1px solid rgba(114,252,209,.6);border-radius:.75rem;box-shadow:0 6px 24px #00000073,0 0 0 1px #ffffff14 inset,0 0 20px #72fcd159}.pricing-fab:hover:not(:disabled){background:linear-gradient(135deg,#72fcd1,#419bff);border-color:#72fcd1cc;box-shadow:0 8px 28px #00000080,0 0 0 1px #ffffff1f inset,0 0 24px #72fcd173}.pricing-fab:disabled{opacity:.5;cursor:not-allowed}@media(max-width:960px){.app-shell{grid-template-columns:0px 1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translate(-100%);z-index:1200}.app-shell.sidebar-open .sidebar{transform:translate(0);opacity:1;pointer-events:auto}.content{padding:1.25rem 1rem}.sidebar-toggle--floating{bottom:1rem;left:1rem}}.processing-overlay{position:fixed;inset:0;background:#030712d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.processing-indicator{background:#0a0f22f2;padding:2.5rem 3rem;border-radius:1.25rem;border:1px solid rgba(114,252,209,.3);display:flex;align-items:center;gap:1.5rem;color:#72fcd1;font-weight:600;box-shadow:0 8px 32px #0006;min-width:420px}.processing-indicator__spinner{flex-shrink:0}.spinner{animation:rotate 1.5s linear infinite;color:#72fcd1}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-indicator__text{display:flex;flex-direction:column;gap:1rem;flex:1}.processing-indicator__message{margin:0;font-size:1.1rem;color:#e3e9ff}.processing-indicator__progress{display:flex;flex-direction:column;gap:.5rem}.progress-bar{width:100%;height:4px;background:#72fcd126;border-radius:2px;overflow:hidden}.progress-bar__fill{height:100%;background:linear-gradient(90deg,#72fcd1,#419bff);border-radius:2px;transition:width .6s ease-out;box-shadow:0 0 8px #72fcd180}.progress-text{font-size:.8rem;color:#72fcd1cc;text-align:right}.pulse{width:12px;height:12px;border-radius:50%;background:#72fcd1;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes boqDotPulse{0%,to{opacity:1}50%{opacity:.4}}.hero{display:flex;justify-content:space-between;align-items:center;padding:1rem 2.5rem;margin-bottom:1.5rem;gap:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.hero h1{margin:0;font-size:1.9rem;font-weight:650;background:linear-gradient(135deg,#72fcd1,#419bff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.eyebrow{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#72fcd1cc;font-weight:600}.panel{background:#ffffff05;border-radius:1.5rem;padding:1.25rem 1.5rem;margin-bottom:1.2rem;border:1px solid rgba(255,255,255,.06)}.panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.panel__header h2{margin:.5rem 0 0;font-size:1.75rem;font-weight:600}.section-title--compact{font-size:1.25rem;margin:.35rem 0 0;font-weight:600;letter-spacing:.01em}.review-title{margin:.15rem 0 0;color:#e3e9ff;font-size:1.6rem;font-weight:700}.panel__header button{padding:.75rem 1.5rem;background:#72fcd11a;color:#72fcd1;border:1px solid rgba(114,252,209,.3);border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s}.panel__header button:hover:not(:disabled){background:#72fcd133;border-color:#72fcd180}.panel__header button:disabled{opacity:.5;cursor:not-allowed}.status{padding:.5rem 1rem;background:#ffffff0d;border-radius:.5rem;font-size:.85rem;color:#e3e9ffb3}.status--warning{padding:.25rem .5rem;border-radius:.35rem;color:#ff5f5f;background:#ff5f5f1f;border:1px solid rgba(255,95,95,.4)}.panel__form{display:flex;gap:1rem;margin-bottom:2rem;align-items:flex-end}.panel__form label{flex:1}.panel__form button{padding:1rem 2rem;background:linear-gradient(135deg,#72fcd1,#419bff);color:#030712;border:none;border-radius:.75rem;cursor:pointer;font-weight:700;font-size:1rem;transition:transform .2s,box-shadow .2s}.panel__form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #72fcd14d}.panel__form button:disabled{opacity:.5;cursor:not-allowed;transform:none}.panel__checkbox{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#e3e9ffb3;font-size:.95rem}.dropzone{display:block;padding:1rem 1.25rem;background:#ffffff08;border:2px dashed rgba(114,252,209,.3);border-radius:1rem;text-align:center;cursor:pointer;transition:all .3s;color:#e3e9ffb3}.dropzone:hover{background:#72fcd10d;border-color:#72fcd180}.dropzone.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none;background:#ffffff05;border-color:#ffffff26}.dropzone input[type=file]{display:none}.dropzone--estimate{width:100%;min-height:96px;display:flex;align-items:center;justify-content:center}.dropzone__content{display:flex;flex-direction:column;align-items:center;gap:.6rem}.dropzone__icon{color:#72fcd180}.dropzone__text{margin:0;font-size:.78rem;font-weight:500;color:#e3e9ffd9}.dropzone__hint{font-size:.66rem;color:#72fcd1cc;font-weight:600}.estimate-form{margin-bottom:2rem}.estimate-form__upload{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.estimate-form__footer{margin-top:2rem;display:flex;justify-content:center}.btn-match{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2.5rem;background:linear-gradient(135deg,#72fcd1,#419bff);color:#030712;border:none;border-radius:.75rem;cursor:pointer;font-weight:700;font-size:1rem;transition:transform .2s,box-shadow .2s;white-space:nowrap}.btn-match.is-disabled{opacity:.6;cursor:not-allowed}.btn-match:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #72fcd14d}.btn-match:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-match svg{flex-shrink:0;width:18px;height:18px}.btn-match--compact{padding:.65rem 1rem;font-size:.85rem;border-radius:.55rem}.empty-state{text-align:center;padding:3rem 2rem;color:#e3e9ff80;font-size:1.1rem}.feedback{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;background:#0c1424;border:1px solid rgba(114,252,209,.4);border-radius:.75rem;color:#72fcd1;font-weight:600;z-index:100;animation:slideIn .3s ease-out;box-shadow:0 10px 30px #00000040;mix-blend-mode:normal;pointer-events:none}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#0b1022;border:1px solid rgba(114,252,209,.25);border-radius:12px;padding:1.25rem 1.5rem;max-width:460px;width:100%;box-shadow:0 20px 50px #00000059;color:#e3e9ff}.modal p{margin:0 0 1rem;line-height:1.5}.modal__actions{display:flex;justify-content:flex-end;gap:.75rem}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.table-wrapper{overflow-x:auto;overflow-y:auto;margin:1.5rem 0;border-radius:1rem;border:1px solid rgba(255,255,255,.08);max-height:480px}.table-wrapper--no-x{overflow-x:hidden}.pricing-table-wrapper{position:relative;overflow-x:auto;overflow-y:visible}.pricing-table{table-layout:fixed;width:max-content;min-width:0}.pricing-table th,.pricing-table td{white-space:normal;word-break:break-word;min-width:120px;border-right:1px solid rgba(255,255,255,.08)}.pricing-table th:last-child,.pricing-table td:last-child{border-right:none}.pricing-col-action{min-width:36px;width:36px;max-width:36px;vertical-align:middle;text-align:center}.pricing-col-action .inline-remove-button{margin:0;vertical-align:middle}.pricing-col-code{min-width:80px;width:100px;max-width:140px;vertical-align:top}.pricing-code-loader{display:inline-flex;align-items:center;justify-content:center}.pricing-code-loader--inline{margin-left:.35rem;vertical-align:middle}.pricing-code-loader__spinner{width:14px;height:14px;border:2px solid rgba(114,252,209,.3);border-top-color:#72fcd1;border-radius:50%;animation:pricing-code-spin .6s linear infinite}@keyframes pricing-code-spin{to{transform:rotate(360deg)}}.pricing-sub-row-code-input-wrap{display:inline-flex;align-items:center;gap:.25rem;width:100%;min-width:0}.pricing-sub-row-code-cell{display:flex;flex-direction:column;gap:2px;padding:.2rem 0}.pricing-sub-item-code-input{width:100%;min-width:4rem;padding:.2rem .35rem;font-size:.8rem;background:#0f172a99;border:1px solid rgba(114,252,209,.25);border-radius:4px;color:#e3e9ff}.pricing-sub-item-code-input::placeholder{color:#e3e9ff59}.pricing-sub-item-code-input:focus{outline:none;border-color:#72fcd180}.pricing-row-code-error{font-size:.7rem;color:#f87171;line-height:1.2}.pricing-table th{white-space:nowrap;word-break:normal}.pricing-table thead,.pricing-table thead th{position:static!important;z-index:0!important}.pricing-table thead th.pricing-col-sell{background:#6284ff2e;color:#d8e2fff2}.pricing-rate-row th{padding:.35rem .5rem;text-transform:none;letter-spacing:normal}.pricing-rate-input{width:100%;min-width:80px;background:#0a0f22bf;border:1px solid rgba(98,132,255,.4);color:#e3e9ff;padding:.3rem .4rem;border-radius:.35rem;font-size:.72rem}.pricing-rate-input:focus{outline:none;border-color:#6284ffb3;box-shadow:0 0 0 2px #6284ff33}.pricing-col-description{min-width:300px;width:300px}.pricing-col-description input{min-width:280px}.pricing-col-note{min-width:220px;width:220px}.kb-table,.matches-table{width:100%;border-collapse:collapse;background:#ffffff05}.kb-table thead,.matches-table thead{background:#ffffff0d;position:sticky;top:0;z-index:10}.kb-table th,.matches-table th{padding:.5rem .75rem;text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#72fcd1e6;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.kb-table td,.matches-table td{padding:.55rem .75rem;border-bottom:1px solid rgba(255,255,255,.05);color:#e3e9ffd9;white-space:normal;font-size:.82rem}.matches-table input{width:100%;background:#0a0f22b3;border:1px solid rgba(114,252,209,.2);color:#e3e9ff;padding:.35rem .5rem;border-radius:.4rem;font-size:.85rem}.matches-table input:focus{outline:none;border-color:#72fcd180;box-shadow:0 0 0 2px #72fcd11a}.dashboard-header{align-items:flex-start;gap:1rem}.dashboard-subtitle{color:#e3e9ffb3;margin-top:.35rem;max-width:520px;font-size:.9rem}.dashboard-actions{display:flex;gap:.75rem;flex-wrap:wrap}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.dashboard-grid--home{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.dashboard-card{background:#72fcd114;border:1px solid rgba(114,252,209,.2)}.dashboard-card--compact{padding:.8rem;min-height:96px}.dashboard-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:1.5rem;align-items:stretch}.dashboard-panel{background:#0a0f2299;border:1px solid rgba(255,255,255,.08);border-radius:.9rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.dashboard-panel--equal{min-height:220px}.dashboard-panel--merged{margin-bottom:1.5rem}.dashboard-panel h3{margin:0 0 .35rem}.dashboard-muted{color:#e3e9ff99;font-size:.85rem;margin:0 0 .75rem}.dashboard-action-list{display:flex;flex-wrap:wrap;gap:.75rem}.dashboard-action-list--compact{gap:.5rem}.dashboard-home-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;margin-bottom:1rem}.status-chart{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.status-chart__donut{width:150px;height:150px;border-radius:999px;border:1px solid rgba(227,233,255,.2);box-shadow:inset 0 0 0 24px #090e1ce6}.status-chart__legend{flex:1;min-width:220px;display:flex;flex-direction:column;gap:.45rem}.status-chart__legend-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:.5rem;align-items:center;font-size:.85rem}.status-chart__swatch{width:10px;height:10px;border-radius:999px}.status-chart__legend-label{min-width:0}.status-chart__metrics{display:inline-flex;align-items:baseline;gap:.4rem;white-space:nowrap;justify-self:end}.status-chart__metrics strong{min-width:1.5ch;text-align:right}.status-chart__metrics .dashboard-muted{display:inline-block;min-width:4ch;text-align:right}.trend-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;min-height:180px}.trend-chart__item{display:flex;flex-direction:column;align-items:center;gap:.35rem}.trend-chart__value{font-size:.78rem;color:#e3e9ffbf}.trend-chart__bar-wrap{width:100%;flex:1;min-height:120px;display:flex;align-items:flex-end;justify-content:center;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;padding:.3rem}.trend-chart__bar{width:100%;border-radius:.4rem;background:linear-gradient(180deg,#72fcd1e6,#419bffe6);transition:height .25s ease}.trend-chart__label{font-size:.72rem;color:#e3e9ffa6}.dashboard-list{display:flex;flex-direction:column;gap:.6rem}.dashboard-list__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border-radius:.7rem;border:1px solid rgba(255,255,255,.08);background:#0a0f22b3;color:inherit;text-align:left;cursor:pointer;transition:all .2s ease}.dashboard-list__item--single{width:100%}.dashboard-list__item:hover{border-color:#72fcd166;transform:translateY(-1px)}.dashboard-list__title{margin:0;font-weight:600}.dashboard-list__meta{margin:.25rem 0 0;font-size:.78rem;color:#e3e9ff99}.status-chip{padding:.2rem .5rem;border-radius:999px;font-size:.72rem;border:1px solid rgba(255,255,255,.1);white-space:nowrap}.status-chip--in_progress{background:#72fcd11a;color:#72fcd1e6}.status-chip--analyzing{background:#4299e11f;color:#4299e1e6}.status-chip--finalized{background:#a3e6351f;color:#a3e635e6}.status-chip--approved{background:#2dd4bf24;color:#2dd4bff2}.status-chip--failed{background:#f871711f;color:#f87171f2}.dashboard-table{margin-top:1rem}.projects-lazy-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .85rem;background:#0a0f22eb;border-top:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.82rem}.projects-lazy-sentinel{height:1px;width:100%}.dashboard-table__header h3{margin:0 0 .25rem}.dashboard-table__header{padding:.35rem .75rem .75rem}.project-search{margin-top:.85rem}.project-search__input{width:min(460px,100%);padding:.7rem .9rem;border-radius:999px;border:1px solid rgba(114,252,209,.35);background:linear-gradient(135deg,#0a0f22eb,#111931d1);color:#e3e9ff;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.project-search__input::placeholder{color:#e3e9ff8c}.project-search__input:focus{outline:none;border-color:#72fcd1e6;box-shadow:0 0 0 3px #72fcd129;transform:translateY(-1px)}.table-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.table-header-row__title{font-weight:600;color:#e3e9ff}.btn-compact{padding:.35rem .6rem;font-size:.8rem}.btn-muted{border-color:#e3e9ff33;color:#e3e9ffd9}.btn-muted:hover{border-color:#e3e9ff59}.btn-icon{padding:.25rem .4rem;line-height:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.btn-icon svg{width:14px;height:14px}.btn-icon.btn-compact{padding:.2rem .35rem}.panel__header--review{position:relative}.cost-db-header-actions{display:flex;gap:.5rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center;margin-left:auto}.cost-db-panel.panel{height:calc(100vh - 3rem);display:flex;flex-direction:column;margin-bottom:0;overflow:hidden}.cost-db-panel .panel__header{flex-shrink:0;margin-bottom:1rem}.cost-db-panel .panel__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cost-db-panel .cost-db-toolbar{flex-shrink:0}.cost-db-panel .cost-db-footer{flex-shrink:0;margin-top:.75rem}.cost-db-table-wrapper{flex:1;min-height:0;margin:0;max-height:none;overflow:auto;border-radius:1rem;border:1px solid rgba(255,255,255,.08);position:relative;transition:opacity .15s ease}.cost-db-table-wrapper.is-loading{opacity:.55;pointer-events:none}.cost-db-table-wrapper.is-loading:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(94,234,212,.85),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:cost-db-load-bar 1.2s linear infinite;z-index:3}@keyframes cost-db-load-bar{0%{background-position:-40% 0}to{background-position:140% 0}}.cost-db-table-wrapper thead th{position:sticky;top:0;background:#0b1022;z-index:2;box-shadow:inset 0 -1px #ffffff14}.embedding-modal{width:min(440px,94vw);border:1px solid rgba(114,252,209,.28);background:linear-gradient(165deg,#0b1022fa,#070c1cfa);box-shadow:0 24px 60px #00000080,0 0 0 1px #72fcd10f;padding:1.5rem 1.65rem 1.4rem;animation:embedding-modal-in .22s ease-out}@keyframes embedding-modal-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.embedding-modal__header{display:flex;align-items:center;gap:.65rem;margin-bottom:1.15rem}.embedding-modal__dot{width:10px;height:10px;border-radius:50%;background:#72fcd1;box-shadow:0 0 #72fcd18c;animation:embedding-pulse 1.6s ease-out infinite}@keyframes embedding-pulse{0%{box-shadow:0 0 #72fcd18c}70%{box-shadow:0 0 0 12px #72fcd100}to{box-shadow:0 0 #72fcd100}}.embedding-modal__title{font-size:1.05rem;font-weight:600;color:#e3e9ff;margin:0;letter-spacing:.01em}.embedding-modal__stage{color:#e3e9ffc7;font-size:.88rem;min-height:1.25rem;margin:0 0 .85rem;display:flex;align-items:center;gap:.4rem;transition:opacity .2s ease}.embedding-modal__stage-text{animation:embedding-stage-fade .24s ease}@keyframes embedding-stage-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.embedding-bar{position:relative;height:6px;border-radius:999px;background:#72fcd114;overflow:hidden;margin-bottom:1rem}.embedding-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(114,252,209,.15) 20%,rgba(114,252,209,.55) 50%,rgba(114,252,209,.15) 80%,transparent 100%);background-size:50% 100%;background-repeat:no-repeat;animation:embedding-bar-slide 1.4s linear infinite}@keyframes embedding-bar-slide{0%{background-position:-60% 0}to{background-position:160% 0}}.embedding-bar--determinate:before{display:none}.embedding-bar--determinate{height:8px}.embedding-bar__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#5eead4d9,#72fcd1 70%,#a7dcff);box-shadow:0 0 12px #72fcd173;transition:width .28s cubic-bezier(.4,0,.2,1)}.embedding-bar__fill:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.25) 50%,transparent 100%);background-size:60% 100%;background-repeat:no-repeat;animation:embedding-bar-pulse 1.8s ease-in-out infinite}@keyframes embedding-bar-pulse{0%{background-position:-80% 0}to{background-position:180% 0}}.embedding-modal__meta{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#e3e9ff99;letter-spacing:.02em;font-variant-numeric:tabular-nums}.embedding-modal__hint{color:#e3e9ff8c;font-size:.74rem}.approve-progress__steps{list-style:none;margin:.25rem 0 .4rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.embedding-modal.approve-progress{width:min(560px,96vw)}.approve-progress__step{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:#e3e9ffb3;animation:embedding-stage-fade .24s ease}.approve-progress__step-icon{flex:0 0 auto;width:18px;height:18px;margin-top:1px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;border:1.5px solid rgba(114,252,209,.35);color:#72fcd1;background:#72fcd114}.approve-progress__step--done{color:#e3e9ffeb}.approve-progress__step--done .approve-progress__step-icon{background:#72fcd1e6;border-color:#72fcd1e6;color:#06121f}.approve-progress__step--active{color:#e3e9ff}.approve-progress__step--active .approve-progress__step-icon{border-color:#72fcd1;border-top-color:transparent;animation:approve-spin .7s linear infinite;color:transparent}.approve-progress__step--error .approve-progress__step-icon{border-color:#ff9b9b;background:#ff6b6b26;color:#ff9b9b}.approve-progress__step--error{color:#ffd2d2}@keyframes approve-spin{to{transform:rotate(360deg)}}.approve-progress__footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.embed-report{border:1px solid rgba(114,252,209,.28);background:linear-gradient(165deg,#0b1022fa,#070c1cfa);box-shadow:0 24px 60px #00000080,0 0 0 1px #72fcd10f;padding:1.5rem 1.65rem 1.35rem;animation:embedding-modal-in .22s ease-out}.embed-report__head{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem}.embed-report__check{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#72fcd129;color:#72fcd1;font-size:.9rem;font-weight:700;flex:0 0 auto}.embed-report__title{margin:0;font-size:1.05rem;color:#eef3ff}.embed-report__lead{margin:0 0 1rem;font-size:.84rem;line-height:1.45;color:#e3e9ffb3}.embed-report__stats{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.embed-report__stat{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .8rem;border-radius:10px;border:1px solid rgba(227,233,255,.08);background:#e3e9ff08}.embed-report__stat--primary{border-color:#72fcd152;background:#72fcd10f}.embed-report__num{font-size:1.5rem;font-weight:700;line-height:1.1;color:#eef3ff;font-variant-numeric:tabular-nums}.embed-report__stat--primary .embed-report__num{color:#72fcd1}.embed-report__label{font-size:.8rem;font-weight:600;color:#e3e9ffd9}.embed-report__hint{font-size:.7rem;color:#e3e9ff80}.embed-report__foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.embed-report__time{font-size:.78rem;color:#e3e9ff99;font-variant-numeric:tabular-nums}.historical-import-modal{border:1px solid rgba(114,252,209,.22);background:linear-gradient(165deg,#091228fa,#070d1efa)}.import-status{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:999px;font-size:.74rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent;-webkit-user-select:none;user-select:none}.import-status--ok{color:#9ef8dc;background:#5eead41a;border-color:#5eead452}.import-status--warning{color:#fcd766;background:#fcd7661a;border-color:#fcd76652;cursor:help;transition:background .16s ease,border-color .16s ease,transform .16s ease}.import-status--warning:hover,.import-status--warning:focus-visible{background:#fcd7662e;border-color:#fcd7668c;outline:none}.import-status--failed{color:#ffb4b4;background:#f871711f;border-color:#f871716b;cursor:help}.import-status__count{opacity:.75;font-weight:500;font-size:.7rem}.import-warning-popover{position:fixed;z-index:2000;transform:translate(-50%);width:min(360px,92vw);padding:.7rem .85rem .75rem;border-radius:10px;background:linear-gradient(165deg,#141c36fc,#0a0f22fc);border:1px solid rgba(252,215,102,.35);box-shadow:0 18px 44px #00000073;color:#e3e9ff;font-size:.8rem;line-height:1.45;pointer-events:none;animation:import-warning-pop-in .16s ease-out}.import-warning-popover--error{border-color:#f8717173}@keyframes import-warning-pop-in{0%{opacity:0;transform:translate(-50%,-4px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}.import-warning-popover__title{display:flex;align-items:center;gap:.4rem;margin:0 0 .45rem;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fcd766}.import-warning-popover--error .import-warning-popover__title{color:#ffb4b4}.import-warning-popover__list{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.3rem}.import-warning-popover__list li{color:#e3e9ffeb;word-break:break-word}.import-warning-popover__arrow{position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:linear-gradient(135deg,#141c36fc,#0a0f22fc);border-left:1px solid rgba(252,215,102,.35);border-top:1px solid rgba(252,215,102,.35)}.import-warning-popover--error .import-warning-popover__arrow{border-color:#f8717173}.historical-import-subtitle{margin:0 0 .85rem;color:#e3e9ffdb;font-size:.9rem}.historical-import-progress-track{position:relative;height:12px;border-radius:999px;overflow:hidden;border:1px solid rgba(114,252,209,.22);background:#94a3b824}.historical-import-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8f2,#2dd4bff2);transition:width .12s linear}.historical-import-steps{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.historical-import-step{display:flex;align-items:center;gap:.55rem;color:#e3e9ffa6;font-size:.86rem}.historical-import-step__icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(227,233,255,.28);color:#e3e9ffa6;font-weight:600;font-size:.72rem}.historical-import-step.is-active{color:#e3e9fff2}.historical-import-step.is-active .historical-import-step__icon{border-color:#72fcd1b3;color:#72fcd1;background:#2dd4bf2e}.historical-import-step.is-done{color:#bbf7d0f2}.historical-import-step.is-done .historical-import-step__icon{border-color:#4ade80b8;color:#bbf7d0;background:#22c55e38}.review-files-action{position:absolute;right:0;bottom:.15rem}.status-inline{display:inline-flex;align-items:center;gap:.4rem}.status-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(114,252,209,.25);border-top-color:#72fcd1e6;animation:rotate 1s linear infinite}.items-table-scroll{max-height:260px;overflow:auto}.extraction-progress{margin-bottom:0;padding:.75rem .9rem;border-radius:.75rem;border:1px solid rgba(114,252,209,.15);background:#0a0f2299;max-width:520px;width:100%}.extraction-progress__meta{display:flex;justify-content:space-between;font-size:.85rem;color:#e3e9ffcc;margin-bottom:.5rem}.extraction-progress__bar{width:100%;height:6px;background:#72fcd126;border-radius:999px;overflow:hidden}.extraction-progress__fill{height:100%;background:linear-gradient(90deg,#72fcd1,#419bff);border-radius:999px;transition:width .4s ease;box-shadow:0 0 10px #72fcd166}.extraction-progress-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.project-name-input{width:100%;margin-top:.4rem;padding:.65rem .8rem;border-radius:.7rem;border:1px solid rgba(114,252,209,.2);background:#0a0f22cc;color:#e3e9ff;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.project-name-input:focus{outline:none;border-color:#72fcd180;box-shadow:0 0 0 2px #72fcd126}.log-panel{background:#0a0f22d9;border:1px solid rgba(255,255,255,.08);border-radius:.85rem;padding:.65rem .85rem;max-height:160px;overflow:auto}.log-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.log-item{display:grid;grid-template-columns:100px 1fr;gap:.75rem;font-size:.85rem;align-items:start}.log-item--latest{background:#72fcd114;border-radius:.6rem;padding:.4rem .5rem}.log-time{color:#e3e9ff99;font-variant-numeric:tabular-nums}.log-message{color:#e3e9ffe6}.log-item--error .log-message{color:#ff6b3fe6}.log-item--warning .log-message{color:#facc15e6}.log-empty{color:#e3e9ff99;font-size:.85rem}.log-status{font-size:.75rem;padding:.25rem .5rem;border-radius:.5rem;background:#72fcd11a;color:#72fcd1e6;border:1px solid rgba(114,252,209,.2)}.log-status--connecting{background:#ffffff14;color:#e3e9ffcc;border-color:#fff3}.log-status--error{background:#ff6b3f1f;color:#ff6b3fe6;border-color:#ff6b3f4d}.compare-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.compare-log-card,.compare-results-card{background:linear-gradient(180deg,#0c1226fa,#060a18f2);border:1px solid rgba(114,252,209,.18);border-radius:1rem;padding:1.25rem;box-shadow:0 18px 45px #00000059}.compare-log-header,.compare-results-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.compare-log-header h3,.compare-results-header h3{margin:.25rem 0 .1rem}.compare-status{font-size:.75rem;padding:.3rem .65rem;border-radius:999px;border:1px solid rgba(227,233,255,.15);background:#e3e9ff14;color:#e3e9ffd9}.compare-status--running{background:#72fcd11f;color:#72fcd1;border-color:#72fcd159}.compare-status--success{background:#72fcd12e;color:#72fcd1;border-color:#72fcd173}.compare-status--failed{background:#ff6b3f2e;color:#ff6b3ff2;border-color:#ff6b3f66}.compare-log-body{display:flex;flex-direction:column;gap:1rem}.compare-log-panel{max-height:240px}.compare-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;background:#72fcd114;border:1px solid rgba(114,252,209,.2);border-radius:.85rem;padding:.75rem}.compare-waiting{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.75rem;background:#4299ff1f;border:1px solid rgba(66,153,255,.3);color:#e3e9ffe6;font-size:.85rem}.compare-waiting__dot{width:8px;height:8px;border-radius:999px;background:#72fcd1;animation:comparePulse 1.2s ease-in-out infinite}.compare-waiting__dot:nth-child(2){animation-delay:.2s}.compare-waiting__dot:nth-child(3){animation-delay:.4s}.compare-waiting__label{margin-left:.25rem}.compare-stat__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#e3e9ff99;display:block;margin-bottom:.2rem}.compare-stat__value{font-size:1.1rem;font-weight:700;color:#e3e9ff}.compare-summary-chip{background:#4299ff26;color:#4299ffe6;border:1px solid rgba(66,153,255,.35);border-radius:999px;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.compare-results-card .dashboard-muted{margin:.3rem 0 0}.compare-accordion-card{overflow:hidden}.compare-accordion__header{width:100%;border:0;padding:1rem;background:#0a102259;color:inherit;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;border-bottom:1px solid rgba(227,233,255,.08)}.compare-accordion__header:disabled{opacity:.75;cursor:not-allowed}.compare-accordion__chevron{display:inline-flex;font-size:1rem;color:#e3e9ffbf;transition:transform .16s ease}.compare-accordion__chevron.is-open{transform:rotate(180deg)}.compare-table-wrapper{max-height:420px}.compare-table-wrapper--step1{overflow-x:auto}.compare-table-wrapper--step1 .compare-step1-table{width:max-content;min-width:2200px}.compare-table-wrapper--wide{overflow-x:auto}.compare-table-wrapper--wide .compare-results-table{min-width:1500px}.compare-step1-table th:nth-child(1),.compare-step1-table td:nth-child(1){width:120px;max-width:120px}.compare-step1-table th:nth-child(2),.compare-step1-table td:nth-child(2){width:440px;min-width:440px;max-width:440px;white-space:normal}.compare-step1-table th:nth-child(3),.compare-step1-table td:nth-child(3){width:120px;max-width:120px}.compare-step1-table th:nth-child(6),.compare-step1-table td:nth-child(6){width:280px;min-width:280px;max-width:280px}.compare-step1-table th:nth-child(7),.compare-step1-table td:nth-child(7){width:420px;min-width:420px;max-width:420px}.compare-step1-table{table-layout:fixed}.compare-step1-table td:nth-child(2) .cell-text{display:block;max-width:none;width:100%;white-space:normal;word-break:break-word}.compare-results-table .compare-row--matched{background:#72fcd114}.compare-results-table .compare-row--mismatch,.compare-results-table .compare-row--duplicate,.compare-results-table .compare-row--duplicate:hover{background:#ff6b3f1f}.compare-pill{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.compare-pill--matched{background:#72fcd133;color:#72fcd1;border-color:#72fcd166}.compare-pill--mismatch{background:#ff6b3f33;color:#ff6b3ff2;border-color:#ff6b3f73}.compare-reason{display:flex;flex-direction:column;gap:.35rem;color:#e3e9ffeb;font-size:.85rem}.compare-reason__heading{font-weight:600;color:#72fcd1}.compare-reason__paragraph{margin:0}.compare-reason__list{margin:0;padding-left:1rem;display:grid;gap:.25rem}.compare-reason__list li{margin:0}.compare-error{background:#ff6b3f1f;border:1px solid rgba(255,107,63,.3);border-radius:.75rem;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.compare-step-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.compare-top-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.compare-top-actions__left{display:flex;flex-wrap:wrap;gap:.5rem}.compare-top-actions__right{display:flex;gap:.5rem}.compare-step-btn{min-width:180px;border-radius:12px;border-width:1px}.compare-step-btn--completed{background:#72fcd147!important;border-color:#72fcd18c!important;color:#72fcd1!important}.compare-step-btn--running{background:#4299ff33;border-color:#4299ff73;color:#8dc0ff}.compare-step-btn--failed{background:#ff6b3f2e;border-color:#ff6b3f73;color:#ff9d83fa}.compare-step-btn--idle{background:#ffffff0a}.compare-overview-card{margin-bottom:1rem;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(99,128,189,.35);background:linear-gradient(180deg,#23325a59,#141e3c40)}.compare-overview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.compare-overview-header h3{margin:0;font-size:.98rem}.compare-overview-chip{font-size:.75rem;padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(114,252,209,.35);color:#72fcd1;background:#72fcd11f}.compare-progress-track{height:8px;width:100%;border-radius:999px;background:#e3e9ff1f;overflow:hidden}.compare-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4299fff2,#72fcd1f2);transition:width .24s ease}.compare-metrics-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.65rem}.compare-metric{border:1px solid rgba(140,170,230,.22);border-radius:10px;padding:.55rem .65rem;background:#141a3159}.compare-notice{margin-bottom:.75rem;padding:.65rem .8rem;border-radius:10px;border:1px solid rgba(245,200,64,.45);background:#f5c8401a;color:#f9df8c;font-size:.9rem}.compare-notice--lock{border-color:#4299ff73;background:#4299ff1f;color:#bedcfffa}@keyframes comparePulse{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(-4px);opacity:1}to{transform:translateY(0);opacity:.6}}.table-actions{display:flex;justify-content:flex-end;padding:.75rem .5rem .25rem}.resizable-table{table-layout:auto}.resizable-table th,.resizable-table td{max-width:280px}.finalize-table th,.finalize-table td{max-width:none;white-space:normal;padding:.9rem 1rem;vertical-align:top}.finalize-table .form-input--table{white-space:normal;min-height:44px}.finalize-textarea{resize:vertical;min-height:44px;height:44px;line-height:1.4;overflow:hidden}.finalize-col--description{width:55%}.finalize-col--number{width:8%}.finalize-col--finishes{width:16%}.finalize-col--description-narrow{width:32%}.finalize-col--finishes-wide{width:18%}.finalize-col--dimensions-wide{width:22%}.finalize-col--size{width:12%}.finalize-col--capacity{width:14%}.finalize-col--qty,.finalize-col--unit,.finalize-col--source{width:12%}.boq-col-description,.boq-col-description .cell-text{max-width:528px;white-space:normal;overflow:visible;text-overflow:clip}.boq-col-unit{max-width:120px}.resizable-table th{overflow:visible;white-space:normal}.resizable-table td{overflow:visible;text-overflow:clip}.resizable-th{position:relative;padding-right:.75rem}.resizable-th__content{display:flex;align-items:center;gap:.35rem;overflow:visible;text-overflow:clip;white-space:normal}.cell-text{display:inline-block;max-width:320px;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.pricing-desc-cell{display:flex;align-items:flex-start;gap:.4rem;position:relative;padding-right:32px}.pricing-desc-text{flex:1;min-width:0;color:#e3e9ff}.pricing-match-trigger{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:1px solid rgba(114,252,209,.45);background:linear-gradient(180deg,#10182f,#0b1123);border-radius:7px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 25px #00000059;transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;font-size:.78rem;color:#72fcd1}.pricing-match-trigger:hover{box-shadow:0 12px 28px #00000073;border-color:#72fcd1bf;background:linear-gradient(180deg,#132044,#0d142b)}.pricing-match-trigger:focus{outline:none;border-color:#419bff;box-shadow:0 0 0 3px #419bff40}.pricing-match-menu{position:fixed;min-width:0;max-width:none;width:auto;background-color:#0b1022;background-image:none;box-shadow:0 18px 48px #000000a6;border:1px solid rgba(114,252,209,.25);border-radius:8px;z-index:2147483647;padding:4px;display:flex;flex-direction:column;gap:0;max-height:240px;overflow-y:auto;overflow-x:hidden;opacity:1;isolation:isolate;mix-blend-mode:normal;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateZ(0);background-clip:padding-box}.pricing-match-menu:before{content:"";position:absolute;inset:0;background:#0b1222;z-index:-1}.pricing-match-backdrop{position:fixed;background:#0b1222;border-radius:8px;z-index:2147482999;pointer-events:none}.pricing-match-menu__item{width:100%;text-align:left;border:1px solid rgba(114,252,209,.12);background-color:#101a30;border-radius:6px;padding:6px 8px;font-size:.8rem;color:#e3e9ff;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.pricing-match-menu__item+.pricing-match-menu__item{margin-top:4px}.pricing-table .pricing-col-code .pricing-sub-item-code-input{flex:1;min-width:0}.pricing-match-menu__item:hover{background:#1a2540;border-color:#72fcd159;color:#eafdf6}.pricing-match-menu__item.is-active{background:#1b2b4a;border-color:#419bff;color:#dbeaff;box-shadow:0 0 0 1px #419bff59}.pricing-match-select--popup{position:absolute;left:0;top:100%;min-width:180px;z-index:40;background:#fff;box-shadow:0 6px 18px #0f172a1f;border:1px solid #cfd7e3;border-radius:8px;opacity:0;pointer-events:none}.pricing-match-select--popup.is-open{opacity:1;pointer-events:auto}.col-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2}.col-resizer:after{content:"";position:absolute;top:0;right:3px;width:1px;height:100%;background:#ffffff26;transition:background .15s ease}.resizable-th:hover .col-resizer:after{background:#72fcd199}.resizable-th.is-resizing .col-resizer:after{background:#72fcd1e6}.uploaders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-bottom:.5rem}.uploaders-grid--horizontal{display:flex;flex-wrap:nowrap;align-items:stretch}.uploaders-grid--horizontal .uploader-card{flex:1 1 0;min-width:180px}.uploader-card{min-height:96px}.upload-actions{display:flex;justify-content:flex-end}.review-panel{margin-top:1rem}.review-grid{display:flex;flex-direction:column;gap:1rem;width:100%}.review-grid>*{width:100%}.btn-secondary{background:transparent;color:#e3e9ff;border:1px solid rgba(227,233,255,.35);padding:.65rem 1rem;border-radius:.6rem;cursor:pointer}.btn-secondary:hover{border-color:#e3e9ff99}.btn-secondary:disabled{opacity:.45;cursor:not-allowed;color:#e3e9ffa6;border-color:#e3e9ff33;background:#ffffff05}.btn-secondary:disabled:hover{border-color:#e3e9ff33}.floating-toast{position:fixed;right:1.2rem;bottom:1.2rem;z-index:10050;max-width:min(520px,calc(100vw - 2.4rem));padding:.7rem .9rem;border-radius:.65rem;border:1px solid rgba(114,252,209,.35);background:#071427f0;color:#e3e9ff;box-shadow:0 8px 24px #02061759;font-size:.88rem}.floating-toast.is-success{border-color:#72fcd180}.floating-toast.is-error{border-color:#f87171a6}.btn-secondary--compact{padding:.6rem .9rem;font-size:.85rem}.btn-secondary--approve{background:#2dd4bf2e;color:#72fcd1;border-color:#2dd4bfa6}.btn-secondary--approve:hover{background:#2dd4bf3d;border-color:#2dd4bfe6}.readonly-mode-banner{margin:.25rem 0 .75rem;padding:.65rem .85rem;border:1px solid rgba(114,252,209,.35);background:#72fcd11a;color:#cffff2;border-radius:10px;font-size:.9rem}.btn-outline{background:transparent;border:1px solid rgba(114,252,209,.4);color:#72fcd1}.selectable-cell{transition:background .15s ease,border-color .15s ease,color .15s ease;border:1px solid transparent}.selectable-cell.is-clickable{cursor:pointer}.selectable-cell.is-clickable:hover{background:#78a0ff14}.selectable-cell.is-selected{background:#78a0ff1f;border-color:#78a0ff80;box-shadow:inset 0 0 0 1px #78a0ff59}.selectable-cell.is-disabled{color:#e3e9ff73;cursor:not-allowed}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid transparent}.pill--blue{background:#419bff26;color:#a7cbff;border-color:#419bff66}.pill--green{background:#72fcd11f;color:#72fcd1;border-color:#72fcd159}.kb-table--compact th{padding:.6rem .75rem;font-size:.65rem}.kb-table--compact td{padding:.6rem .75rem;font-size:.8rem}.kb-table__col-filename{min-width:180px}.kb-table__col-date,.kb-table__col-price{min-width:100px}.kb-table__col-id{min-width:90px}.kb-table__row,.matches-table__row{cursor:pointer;transition:all .2s}.kb-table__row--has-info-tooltip{position:relative}.kb-table__row--project-version{background:#6366f124}.project-files-row-tooltip{position:absolute;right:.85rem;top:50%;transform:translateY(-50%) translate(4px);opacity:0;pointer-events:none;z-index:8;background:#111629f5;border:1px solid rgba(255,230,140,.5);color:#fff4b0;border-radius:.5rem;padding:.38rem .55rem;font-size:.76rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;box-shadow:0 10px 20px #00000047;transition:opacity .16s ease,transform .16s ease}.kb-table__row--has-info-tooltip:hover .project-files-row-tooltip{opacity:1;transform:translateY(-50%) translate(0)}.matches-table__row.is-selected{background:#72fcd114}.matches-table__row.is-linked{background:#ff3bd41f;box-shadow:inset 0 0 0 2px #ff3bd459}.matches-table__row.is-linked:hover{background:#ff3bd429}.matches-table__row--rate-only{background:#ff99332e}.matches-table__row--rate-only:hover{background:#ff993342}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:.25rem 0 .5rem}.table-toolbar__actions{display:flex;gap:.5rem}.btn-ghost{background:transparent;border:1px solid rgba(114,252,209,.25);color:#72fcd1;padding:.35rem .6rem;border-radius:.4rem;cursor:pointer;font-weight:600}.btn-ghost:hover{border-color:#72fcd173;background:#72fcd10f}.kb-table__row:hover,.matches-table__row:hover{background:#72fcd10d}.matches-table__row--best{background:#72fcd11a;cursor:pointer;transition:all .2s}.matches-table__row--best:hover{background:#72fcd126}.matches-table__row--best td{color:#72fcd1;font-weight:600}.kb-table__filename{font-weight:600;color:#e3e9fff2;max-width:180px;overflow:hidden;text-overflow:ellipsis}.kb-table__date{color:#e3e9ffd9}.kb-table__price{font-weight:600;color:#72fcd1cc}.kb-table__id{font-family:Courier New,monospace;font-size:.75rem;color:#72fcd1b3}.matches-table__filename{font-weight:600;color:#e3e9fff2}.matches-table__rank{font-weight:700;font-size:1.1rem;color:#72fcd1cc;text-align:center;width:60px}.matches-table__score{font-weight:700;color:#72fcd1;text-align:center}.matches-table__actions{text-align:center;width:180px}.checkbox-col{width:44px;text-align:center}.table-footer{display:flex;justify-content:flex-end;padding:.5rem .75rem .75rem;color:#e3e9ffcc;font-size:.85rem}.table-count{font-weight:600;color:#72fcd1}.table-wrapper input[type=checkbox]{width:16px;height:16px;cursor:pointer}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tab{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e3e9ffd9;border-radius:999px;padding:.35rem .9rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.tab:hover{border-color:#4c6ef5b3;color:#fff}.tab.is-active{background:#4c6ef540;border-color:#4c6ef5d9;color:#fff;box-shadow:0 0 0 2px #4c6ef533}.boq-table th,.boq-table td{vertical-align:top}.boq-group-row td{background:#ffffff14;font-weight:600;color:#e3e9ff}.boq-subgroup-row td{background:#ffffff0d;font-weight:500;color:#e3e9ffe6}.checkbox-col{width:32px;min-width:32px;text-align:center}.boq-col-description{width:40%}.boq-col-capacity,.boq-col-size{width:18%}.boq-col-qty{width:12%}.boq-col-unit{width:10%}.compare-action-col{width:180px;max-width:200px;white-space:nowrap}.compare-table .cell-text{max-width:none;width:100%;display:block;white-space:normal;word-break:break-word}.btn-template{padding:.5rem 1rem;background:linear-gradient(135deg,#72fcd1,#419bff);color:#030712;border:none;border-radius:.5rem;cursor:pointer;font-weight:600;font-size:.85rem;transition:transform .2s,box-shadow .2s;white-space:nowrap}.btn-template:hover{transform:translateY(-1px);box-shadow:0 4px 12px #72fcd14d}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.pagination button{padding:.75rem 1.5rem;background:#72fcd11a;color:#72fcd1;border:1px solid rgba(114,252,209,.3);border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s}.pagination button:hover:not(:disabled){background:#72fcd133;border-color:#72fcd180}.pagination button:disabled{opacity:.3;cursor:not-allowed}.pagination span{color:#e3e9ffb3;font-weight:600}.panel__footer{margin-top:2rem;display:flex;justify-content:center}.btn-upload{padding:1rem 2.5rem;background:linear-gradient(135deg,#72fcd1,#419bff);color:#030712;border:none;border-radius:.75rem;cursor:pointer;font-weight:700;font-size:1rem;transition:transform .2s,box-shadow .2s}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 8px 20px #72fcd14d}.modal-overlay{position:fixed;inset:0;background:#030712e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#0a0f22;border:1px solid rgba(114,252,209,.3);border-radius:1.5rem;padding:2rem;max-width:600px;width:90%;animation:slideUp .3s ease-out}.modal-content--large{max-width:800px;max-height:85vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.75rem;color:#72fcd1}.modal-close{background:none;border:none;font-size:2rem;color:#e3e9ff99;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s}.modal-close:hover{background:#ffffff1a;color:#e3e9ff}.modal-form{display:flex;flex-direction:column;gap:1.5rem}.dropzone--modal{min-height:150px;display:flex;align-items:center;justify-content:center}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s}.modal-actions button[type=button]{background:#ffffff0d;color:#e3e9ffcc;border:1px solid rgba(255,255,255,.1)}.modal-actions button[type=button]:hover:not(:disabled){background:#ffffff1a}.modal-actions button[type=submit]{background:linear-gradient(135deg,#72fcd1,#419bff);color:#030712;border:none}.modal-actions button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #72fcd14d}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group label{font-size:.9rem;font-weight:600;color:#72fcd1e6;text-transform:uppercase;letter-spacing:.05em}.form-input{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(114,252,209,.3);border-radius:.5rem;color:#e3e9ff;font-size:.95rem;transition:all .2s;font-family:inherit}.form-input:focus{outline:none;background:#ffffff14;border-color:#72fcd180}.form-input:disabled{opacity:.5;cursor:not-allowed}.attributes-editor{margin-bottom:1.5rem}.attributes-editor h3{margin:0 0 1rem;font-size:1.1rem;color:#72fcd1e6;font-weight:600}.attributes-table-wrapper{max-height:500px;overflow-y:auto;border-radius:.75rem;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.attributes-table-wrapper::-webkit-scrollbar{width:8px}.attributes-table-wrapper::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.attributes-table-wrapper::-webkit-scrollbar-thumb{background:#72fcd14d;border-radius:4px}.attributes-table-wrapper::-webkit-scrollbar-thumb:hover{background:#72fcd180}.attributes-table{width:100%;border-collapse:collapse}.attributes-table thead{background:#ffffff0d;position:sticky;top:0;z-index:10}.attributes-table th{padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#72fcd1e6;font-weight:600;border-bottom:2px solid rgba(114,252,209,.3);white-space:nowrap}.attributes-table th:first-child{width:180px}.attributes-table th:last-child{width:150px}.attributes-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .2s}.attributes-table tbody tr:hover{background:#72fcd108}.attributes-table tbody tr:last-child{border-bottom:none}.attributes-table td{padding:.75rem 1rem}.attribute-name-cell{font-size:.85rem;font-weight:600;color:#e3e9ffd9;white-space:nowrap}.form-input--table{width:100%;padding:.5rem .75rem;font-size:.875rem}.form-input--price{max-width:120px}.total-price{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#72fcd11a;border:1px solid rgba(114,252,209,.3);border-radius:.75rem;margin-bottom:1.5rem;font-size:1.1rem}.total-price strong{color:#e3e9ffe6;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.price-value{color:#72fcd1;font-weight:700;font-size:1.3rem}.feedback-inline{padding:.75rem 1rem;background:#72fcd126;border:1px solid rgba(114,252,209,.4);border-radius:.5rem;color:#72fcd1;font-weight:600;margin-bottom:1rem;text-align:center}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-background{position:absolute;inset:0;z-index:0}.login-glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:float 8s ease-in-out infinite}.login-glow--1{width:500px;height:500px;background:#419bff66;top:-150px;right:-150px;animation-delay:0s}.login-glow--2{width:400px;height:400px;background:#72fcd14d;bottom:-100px;left:-100px;animation-delay:2s}.login-glow--3{width:350px;height:350px;background:#ff6b3f40;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:4s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-card{position:relative;z-index:1;background:linear-gradient(180deg,#0a0f22f2,#070b1cf2);border:1px solid rgba(114,252,209,.3);border-radius:2rem;padding:2rem;max-width:420px;width:100%;box-shadow:0 20px 60px #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideUp .6s ease-out}.login-card__header{text-align:center;margin-bottom:1.5rem}.login-logo{display:flex;justify-content:center;margin-bottom:1rem}.login-logo__image{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(114,252,209,.3));animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 4px 12px rgba(114,252,209,.3));transform:scale(1)}50%{filter:drop-shadow(0 4px 20px rgba(114,252,209,.5));transform:scale(1.05)}}.login-title{margin:0 0 .375rem;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#72fcd1,#419bff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.login-subtitle{margin:0;font-size:.85rem;color:#e3e9ff99;font-weight:500}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form__group{display:flex;flex-direction:column;gap:.5rem}.login-form__label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#72fcd1e6;text-transform:uppercase;letter-spacing:.05em}.login-form__label svg{color:#72fcd1b3}.login-form__input{padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(114,252,209,.3);border-radius:.75rem;color:#e3e9ff;font-size:.95rem;transition:all .3s;font-family:inherit}.login-form__input::placeholder{color:#e3e9ff66}.login-form__input:focus{outline:none;background:#ffffff14;border-color:#72fcd199;box-shadow:0 0 0 3px #72fcd11a}.login-form__submit{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.75rem;margin-top:.25rem;background:linear-gradient(135deg,#72fcd1,#419bff);color:#030712;border:none;border-radius:.75rem;cursor:pointer;font-weight:700;font-size:.95rem;transition:all .3s;position:relative;overflow:hidden}.login-form__submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.login-form__submit:hover{transform:translateY(-2px);box-shadow:0 12px 30px #72fcd166}.login-form__submit:hover:before{left:100%}.login-form__submit:active{transform:translateY(0)}.login-form__submit svg{width:20px;height:20px;transition:transform .3s}.login-form__submit:hover svg{transform:translate(4px)}.login-form__footer{margin-top:.5rem}.login-form__demo-note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.875rem 1rem;background:#72fcd114;border:1px solid rgba(114,252,209,.2);border-radius:.75rem;font-size:.85rem;color:#72fcd1e6;font-weight:500}.login-form__demo-note svg{flex-shrink:0;color:#72fcd1b3}.login-card__footer{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}.login-features{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.login-feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;opacity:.8;transition:opacity .3s}.login-feature:hover{opacity:1}.login-feature__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#72fcd11a;border:1px solid rgba(114,252,209,.3);border-radius:.75rem;color:#72fcd1cc;transition:all .3s}.login-feature:hover .login-feature__icon{background:#72fcd126;border-color:#72fcd180;transform:translateY(-2px)}.login-feature span{font-size:.8rem;color:#e3e9ffb3;font-weight:500}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center}.loading-spinner .spinner{color:#72fcd1;animation:rotate 1.5s linear infinite}.loading-text{margin:0;font-size:1.1rem;color:#e3e9ffb3;font-weight:600;text-align:center}.compare-actions{margin-top:.5rem;display:flex;justify-content:flex-end}.compare-row--ok{background-color:#2ecc711f}.compare-row--warn{background-color:#f1c40f26}.compare-row--missing{background-color:#e74c3c1f;color:#f9e8e8}.pricing-accordion{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;width:100%}.pricing-accordion__card{border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:#ffffff08;overflow:visible;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%;position:relative}.pricing-accordion--pricing .pricing-accordion__card{border:1px solid rgba(255,255,255,.08);background:#ffffff08}.pricing-accordion--pricing .pricing-accordion__card.is-open{background:linear-gradient(145deg,#5475ff24,#419bff1a);border-color:#708fff85;box-shadow:0 10px 22px #419bff29}.pricing-accordion--pricing .pricing-accordion__card.is-complete{border-color:#2ecc7199;background:#2ecc7114;box-shadow:0 8px 18px #2ecc7133}.pricing-accordion--pricing .pricing-accordion__card.is-complete.is-open{background:linear-gradient(145deg,#2ecc712e,#419bff1f)}.pricing-accordion--pricing .pricing-accordion__card.is-rate-only{border-color:#9b59b699;background:#9b59b61f;box-shadow:0 8px 18px #9b59b633}.pricing-accordion--pricing .pricing-accordion__card.is-rate-only.is-open{background:linear-gradient(145deg,#9b59b63d,#419bff1f);border-color:#9b59b6cc}.pricing-accordion--pricing .pricing-accordion__card.is-rate-only.is-complete{border-color:#9b59b6bf;background:#9b59b629;box-shadow:0 10px 22px #9b59b640}.pricing-accordion--pricing .pricing-accordion__card.is-locked{border-color:#f1c40f99;background:#f1c40f1f;box-shadow:0 8px 18px #f1c40f2e}.pricing-accordion--pricing .pricing-accordion__card.is-locked.is-open{border-color:#f1c40fbf;background:linear-gradient(145deg,#f1c40f3d,#a47e1624);box-shadow:0 10px 22px #f1c40f38}.pricing-accordion__card--summary{border-color:#ff6384bf;background:linear-gradient(135deg,#ff638433,#6284ff24);box-shadow:0 18px 30px #ff638447,0 0 0 1px #ff638433}.pricing-accordion__header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1rem;background:transparent;border:none;color:#e3e9ff;font-weight:700;letter-spacing:.01em;cursor:pointer;text-align:left}.pricing-accordion__header--summary{cursor:default;background:transparent}.pricing-accordion__panel--summary{padding:0 .75rem 1rem}.pricing-accordion__block-code{display:flex;align-items:center;margin-left:auto;margin-right:.25rem}.pricing-block-code-label{display:inline-flex;align-items:center;gap:.5rem;margin:0;white-space:nowrap;font-size:.8rem;font-weight:500;color:#e3e9ffd9}.pricing-block-code-input{width:7rem;padding:.25rem .5rem;font-size:.85rem;background:#0f172ab3;border:1px solid rgba(114,252,209,.3);border-radius:6px;color:#e3e9ff}.pricing-block-code-input::placeholder{color:#e3e9ff66}.pricing-block-code-input:focus{outline:none;border-color:#72fcd199}.pricing-accordion__actions{display:inline-flex;align-items:center;gap:.35rem}.pricing-accordion__header:hover{background:transparent}.pricing-accordion__chevron{transition:transform .2s ease;color:#e3e9ffbf}.pricing-accordion__chevron.is-open{transform:rotate(180deg)}.pricing-table-wrapper--summary{padding:0 .5rem .75rem}.pricing-table--summary{border:1px solid rgba(98,132,255,.35);border-radius:.75rem;overflow:hidden;background:#0a122899}.pricing-summary-foot{display:grid;grid-template-columns:minmax(260px,1fr) repeat(13,minmax(180px,1fr));gap:0;row-gap:.35rem;padding:.35rem .5rem 0;color:#e3e9ffeb;font-weight:600}.pricing-summary-foot__label{grid-column:1;padding:.35rem .5rem}.pricing-summary-foot__value{grid-column:2;padding:.35rem .5rem;font-variant-numeric:tabular-nums}.pricing-table--summary th{color:#d8e2ffe6}.pricing-summary-row td{font-weight:700;color:#ecf3fff2;background:#6284ff1f}.pricing-summary-sell{background:#ff9e3d38;color:#ffe9cffa}.pricing-accordion__panel{padding:0 1rem 1rem;position:relative;overflow:visible;z-index:1}.pricing-block-fieldset{border:0;margin:0;padding:0;min-inline-size:0}.electrical-inputs-grid{display:grid;gap:.35rem .6rem;grid-template-columns:minmax(230px,1fr) 100px minmax(230px,1fr) 100px;background:#ffffff0a;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.08);border-radius:12px}.electrical-input{display:contents}.electrical-input__label{font-weight:600;color:#d9e2ff;align-self:center;font-size:.9rem;white-space:nowrap}.electrical-input__control{padding:3px 5px;font-size:.8rem;background:#ffffff0f;border-color:#ffffff26;color:#e3e9ff;width:90px;min-width:80px}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:999;padding:1rem}.modal{background:#13192df2;border:1px solid rgba(114,252,209,.2);border-radius:12px;width:min(700px,98vw);max-width:1500px;max-height:95vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000073}.modal__header,.modal__footer{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid rgba(114,252,209,.12)}.modal__footer{border-top:1px solid rgba(114,252,209,.12);border-bottom:none;justify-content:flex-end}.modal__title{margin:0;color:#e3e9ff;font-size:1rem}.modal__close{background:none;border:none;color:#e3e9ff;font-size:1.3rem;cursor:pointer}.modal__body{padding:1rem;overflow:visible}.modal__error{margin-top:.75rem;color:#ef4444;font-size:.95rem}.extraction-picker{width:min(720px,96vw)}.extraction-picker__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.85rem 0 .55rem}.extraction-picker__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:46vh;overflow-y:auto}.extraction-picker__row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.6rem .8rem;border-radius:.65rem;border:1px solid rgba(255,255,255,.07);background:#ffffff05;transition:border-color .16s ease,background .16s ease,opacity .16s ease}.extraction-picker__row.is-on{border-color:#72fcd159;background:linear-gradient(140deg,#72fcd114,#419bff0f)}.extraction-picker__row.is-off{opacity:.7}.extraction-picker__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.extraction-picker__name{font-weight:600;color:#e3e9ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.extraction-picker__hint{font-size:.76rem;color:#e3e9ff99}.extraction-picker__row.is-on .extraction-picker__hint{color:#72fcd1d9}body.modal-open{overflow:hidden}.user-management-modal{width:min(720px,95vw)}.user-management-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.user-management-modal__grid input,.user-management-modal__grid select{width:100%}.user-management-modal__input{width:100%;height:44px;padding:0 .85rem;border-radius:.75rem;border:1px solid rgba(114,252,209,.22);background:#030712bf;color:#e3e9ff;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.user-management-modal__input::placeholder{color:#e3e9ff80}.user-management-modal__input:focus{border-color:#72fcd199;box-shadow:0 0 0 3px #72fcd129;background:#030712eb}.user-management-modal__input option{background:#0a0f22;color:#e3e9ff}.user-management-modal__actions{gap:.5rem}@media(max-width:700px){.user-management-modal__grid{grid-template-columns:1fr}}.pricing-placeholder{margin:1.5rem 0;padding:1.5rem;border:1px dashed rgba(114,252,209,.3);border-radius:1rem;background:#ffffff05;text-align:center}.pricing-placeholder h3{margin:0 0 .35rem;color:#e3e9ff}.pricing-placeholder p{margin:0;color:#e3e9ffb3}.estimate-dashboard{display:grid;gap:1rem}.estimate-card{border:1px solid rgba(114,252,209,.2);border-radius:1rem;background:linear-gradient(180deg,#0c152df2,#080e21eb);box-shadow:0 10px 24px #050a1c40;padding:1rem}.estimate-card__head h3{margin:0;color:#e3e9ff;font-size:1.02rem}.estimate-card__head p{margin:.35rem 0 0;color:#cbd8ffbf;font-size:.88rem}.estimate-bars{margin-top:.85rem;display:grid;gap:.6rem}.estimate-bars__row{display:grid;grid-template-columns:minmax(140px,1.1fr) 2fr minmax(110px,.8fr);gap:.75rem;align-items:center}.estimate-bars__label{color:#e3e9fff0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-bars__track{height:.75rem;border-radius:999px;background:#97abe333;overflow:hidden}.estimate-bars__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#72fcd1,#62b8ff)}.estimate-bars__stats{display:flex;justify-content:flex-end;gap:.55rem;font-size:.85rem}.estimate-bars__stats strong{color:#f3f7ff}.estimate-bars__stats span{color:#cbd8ffe0}.estimate-markups{margin-top:.65rem;border:1px solid rgba(140,172,246,.22);background:#7496ee14;border-radius:.68rem;padding:.5rem .56rem}.estimate-markups h4{margin:0 0 .42rem;color:#cfe0ff;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.estimate-markups__rows{display:grid;gap:.36rem}.estimate-markups__row{display:flex;justify-content:space-between;gap:.66rem;align-items:flex-start;padding:.3rem .45rem;border-radius:.48rem;border:1px solid rgba(140,172,246,.2);background:#8cacf614}.estimate-markups__row>span{color:#deebff;font-weight:500;font-size:.81rem}.estimate-markups__row div{text-align:right}.estimate-markups__row strong{display:block;color:#f1f6ff;font-size:.82rem}.estimate-markups__row small{color:#dae6ffc4;font-size:.69rem}.estimate-card--split .estimate-breakdown{margin-top:.9rem;display:grid;gap:1rem;grid-template-columns:minmax(180px,240px) 1fr;align-items:center}.estimate-breakdown__pie-wrap{display:flex;justify-content:center}.estimate-breakdown__pie{width:230px;height:230px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #adc6ff33}.estimate-breakdown__pie-center{width:112px;height:112px;border-radius:50%;background:#070c1ceb;border:1px solid rgba(173,198,255,.2);display:grid;place-content:center;text-align:center}.estimate-breakdown__pie-center span{font-size:.68rem;color:#cbd8ffc7}.estimate-breakdown__pie-center strong{font-size:.78rem;color:#f0f5ff}.estimate-breakdown__legend{display:grid;gap:.55rem}.estimate-breakdown__legend-row{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:.7rem;border:1px solid rgba(173,198,255,.16);background:#adc6ff0f}.estimate-breakdown__legend-row p{margin:.16rem 0 0;color:#cbd8ffd6;font-size:.82rem}.estimate-breakdown__swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.estimate-breakdown__extra{margin-top:.2rem;border:1px solid rgba(114,252,209,.23);background:#72fcd114;border-radius:.72rem;padding:.55rem .65rem;display:grid;gap:.1rem}.estimate-breakdown__extra span{font-size:.8rem;color:#cbd8ffd9}.estimate-breakdown__extra strong{color:#f2f7ff}.estimate-breakdown__extra small{color:#cbd8ffb8;font-size:.75rem}.estimate-top-items{margin-top:.9rem;display:grid;gap:.65rem}.estimate-top-items__row{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(180px,2fr) minmax(110px,.8fr);gap:.7rem;align-items:center}.estimate-top-items__meta strong{display:block;color:#eaf0ff;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-top-items__meta span{color:#cbd8ffc2;font-size:.77rem}.estimate-top-items__bar{height:.66rem;background:#97abe32e;border-radius:999px;overflow:hidden}.estimate-top-items__bar div{height:100%;border-radius:999px;background:linear-gradient(90deg,#6f8eff,#9d79ff)}.estimate-top-items__stats{text-align:right}.estimate-top-items__stats strong{color:#f3f7ff;display:block;font-size:.86rem}.estimate-top-items__stats span{color:#cbd8ffc7;font-size:.8rem}.estimate-empty{margin:.2rem 0 0;color:#cbd8ffc2}.estimate-card--kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}.estimate-kpi{border-radius:.75rem;border:1px solid rgba(114,252,209,.22);background:#72fcd112;padding:.65rem .7rem}.estimate-kpi span{display:block;color:#cbd8ffcc;font-size:.77rem;margin-bottom:.2rem}.estimate-kpi strong{color:#f5f9ff;font-size:1rem}@media(max-width:900px){.estimate-card--split .estimate-breakdown{grid-template-columns:1fr}.estimate-bars__row,.estimate-top-items__row{grid-template-columns:1fr;gap:.45rem}.estimate-bars__stats,.estimate-top-items__stats{justify-content:flex-start;text-align:left}.estimate-markups__row{flex-direction:column;gap:.22rem}.estimate-markups__row div{text-align:left}}.compare-card{margin:1rem 0;padding:1rem;border:1px solid rgba(114,252,209,.2);border-radius:.75rem;background:#ffffff05}.compare-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.compare-card__body{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.compare-card__actions{display:flex;align-items:center;gap:.75rem}.upload-hint{color:#e3e9ffb3;font-size:.9rem}.stepper{display:flex;flex-wrap:nowrap;gap:.6rem;padding:.7rem .85rem;background:linear-gradient(135deg,#0a0f22a6,#0e163080);border:1px solid rgba(114,252,209,.16);border-radius:.9rem;box-shadow:0 6px 18px #00000047;margin:0 0 1rem;width:100%;box-sizing:border-box;align-self:stretch}.stepper-container{width:100%}.stepper--wide{gap:.7rem;margin:0 0 1rem}.stepper--compact{gap:.5rem}.stepper__segment{display:flex;align-items:center;gap:.6rem;flex:1 1 0;min-width:0;position:relative}.stepper__item{flex:1 1 0;width:100%;min-width:0;height:64px;display:inline-flex;align-items:center;gap:.7rem;padding:.55rem .85rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:.7rem;color:#e3e9ff;text-align:left;cursor:pointer;transition:all .18s ease;min-height:64px}.stepper__item.is-disabled{cursor:not-allowed;opacity:.6}.stepper__item.is-clickable:hover{border-color:#72fcd173;box-shadow:0 8px 18px #72fcd11f;transform:translateY(-1px)}.stepper__item--current{border-color:#72fcd1bf;background:linear-gradient(140deg,#72fcd12e,#419bff1f);box-shadow:0 12px 26px #72fcd138,0 0 0 1px #72fcd159,inset 0 0 18px #72fcd114;transform:translateY(-2px)}.stepper__item--complete{background:linear-gradient(145deg,#72fcd114,#419bff14);border-color:#72fcd147}.stepper__circle{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid rgba(114,252,209,.3);display:grid;place-items:center;background:#ffffff08;color:#e3e9ff;font-weight:700;font-size:.9rem;transition:all .18s ease}.stepper__circle.is-complete{background:linear-gradient(135deg,#72fcd1,#419bff);color:#0a0f22;border-color:transparent;box-shadow:0 6px 14px #72fcd14d}.stepper__meta{display:flex;flex-direction:column;gap:.05rem;align-items:flex-start;min-width:0}.stepper__label{font-weight:700;letter-spacing:.01em;color:#e3e9ff;font-size:.92rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper__desc{font-size:.78rem;color:#e3e9ffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper__connector{position:absolute;right:calc(-.6rem - 3px);top:50%;transform:translateY(-50%);width:calc(.6rem + 6px);height:3px;background:#ffffff14;border-radius:999px}.stepper__connector.is-complete{background:linear-gradient(90deg,#72fcd1,#419bff);box-shadow:0 0 10px #72fcd159}@media(max-width:960px){.stepper{flex-direction:column;flex-wrap:nowrap}.stepper__segment{flex-direction:column;align-items:stretch}.stepper__connector{display:none}}@keyframes spin{to{transform:rotate(360deg)}}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#72fcd114;border:1px solid rgba(114,252,209,.2);border-radius:1.5rem;color:#72fcd1;cursor:pointer;transition:all .2s ease;font-size:.75rem;font-weight:500}.user-menu-trigger:hover{background:#72fcd11f;border-color:#72fcd14d;transform:translateY(-1px);box-shadow:0 4px 12px #72fcd126}.user-menu-trigger svg:last-child{width:12px;height:12px}.user-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#72fcd133,#419bff33);border:1.5px solid rgba(114,252,209,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#72fcd1}.user-avatar svg{width:14px;height:14px}.user-avatar--large{width:36px;height:36px;border-width:2px}.user-avatar--large svg{width:18px;height:18px}.user-menu-username{font-weight:600;color:#e3e9ff;font-size:.75rem}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:linear-gradient(180deg,#0a0f22,#070b1c);border:1px solid rgba(114,252,209,.2);border-radius:.625rem;box-shadow:0 10px 40px #0006;z-index:1000;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.user-menu-info{flex:1;min-width:0}.user-menu-name{margin:0 0 .15rem;font-size:.85rem;font-weight:600;color:#e3e9ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{margin:0;font-size:.7rem;color:#e3e9ff99;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:#ffffff14;margin:.375rem 0}.user-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;background:none;border:none;color:#e3e9ffcc;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.user-menu-item svg{width:16px;height:16px}.user-menu-item:hover{background:#72fcd114;color:#72fcd1}.user-menu-item svg{flex-shrink:0;opacity:.7}.user-menu-item:hover svg{opacity:1}.user-menu-item--danger{color:#ef4444e6}.user-menu-item--danger:hover{background:#ef44441a;color:#ef4444}.productivity-page .panel__body{display:flex;flex-direction:column;gap:1rem}.productivity-header{align-items:flex-start;gap:1rem}.productivity-header__actions{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}.productivity-actions{display:flex;justify-content:flex-end}.productivity-actions .btn-match{padding:.3rem .6rem;font-size:.72rem;border-radius:.45rem}.productivity-actions--footer{margin-top:.5rem}.productivity-blocks{display:flex;flex-direction:column;gap:.75rem}.productivity-block{border:1px solid rgba(114,252,209,.15);border-radius:.6rem;padding:.75rem;background:#0a0f2299;display:flex;flex-direction:column;gap:.5rem}.productivity-block__header{display:flex;justify-content:flex-end;align-items:center;gap:1rem}.productivity-block__meta-actions{display:flex;gap:.35rem}.block-delete-button{width:20px;height:20px;border-radius:4px;border:1px solid rgba(239,68,68,.5);background:#ef444426;color:#ef4444e6;font-size:.9rem;font-weight:700;cursor:pointer;line-height:1;padding:0}.productivity-field{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:#e3e9ffcc}.productivity-field--inline{min-width:140px;align-self:flex-end}.productivity-field input{border-radius:.45rem;border:1px solid rgba(255,255,255,.15);background:#050a19b3;color:#e3e9ff;padding:.35rem .5rem;font-size:.82rem;height:36px}.productivity-header__actions .btn-secondary{height:36px;padding:0 1rem}.productivity-table-wrapper{overflow-x:auto}.productivity-table{width:100%;border-collapse:collapse;min-width:720px}.productivity-table th,.productivity-table td{border:1px solid rgba(255,255,255,.08);padding:.35rem .45rem;text-align:left;vertical-align:middle}.productivity-col-unit{width:56px;min-width:56px}.productivity-col-code{width:60px;min-width:60px;text-align:center}.productivity-col-mh,.productivity-col-rate{width:90px;min-width:90px}.productivity-col-hourly{width:90px;min-width:90px;text-align:right}.productivity-col-hourly input{text-align:right}.productivity-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#e3e9ffb3;background:#72fcd11f}.productivity-table input{width:100%;border-radius:.35rem;border:1px solid rgba(255,255,255,.15);background:#050a19b3;color:#e3e9ff;padding:.28rem .4rem;font-size:.78rem}.productivity-textarea{width:100%;border-radius:.35rem;border:1px solid rgba(255,255,255,.15);background:#050a19b3;color:#e3e9ff;padding:.28rem .4rem;font-size:.78rem;line-height:1.2;min-height:60px;resize:vertical;font-family:inherit}.productivity-table--compact td,.productivity-table--compact th{font-size:.72rem}.productivity-cell-with-action{display:flex;align-items:center;gap:.3rem}.row-action-buttons{display:flex;align-items:center;gap:.25rem}.pricing-table .row-action-buttons{margin-right:.35rem}.pricing-table .productivity-cell-with-action{align-items:flex-start}.inline-add-button{width:18px;height:18px;border-radius:4px;border:1px solid rgba(114,252,209,.4);background:#72fcd126;color:#72fcd1;font-size:.8rem;font-weight:700;cursor:pointer;line-height:1;padding:0}.inline-check-button{width:18px;height:18px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#ffffffb3;font-size:.75rem;font-weight:700;cursor:pointer;line-height:1;padding:0}.inline-check-button.is-active{border-color:#2ecc71cc;background:#2ecc7133;color:#2ecc71f2}.inline-copy-block-button{width:18px;height:18px;border-radius:4px;border:1px solid rgba(147,112,219,.5);background:#9370db33;color:#c8a2fff2;font-size:.85rem;font-weight:700;cursor:pointer;line-height:1;padding:0}.inline-copy-block-button:hover{background:#9370db59;color:#e0d4ff}.inline-remove-button{width:18px;height:18px;border-radius:4px;border:1px solid rgba(239,68,68,.45);background:#ef44441f;color:#ef4444e6;font-size:.9rem;font-weight:700;cursor:pointer;line-height:1;padding:0}.inline-remove-button:disabled{opacity:.4;cursor:not-allowed}.inline-add-button--equipment{border-color:#ff9b3f80;color:#ffb96ef2;background:#ff9b3f26}.inline-remove-button--equipment{border-color:#ff9b3f73;color:#ffb96ee6;background:#ff9b3f1f}.productivity-row--manpower,.productivity-row--manpower .productivity-cell--shared{background:transparent}.productivity-row--manpower td:not(.productivity-cell--shared){background:#5ab4ff42}.productivity-row--equipment{background:#ff9b3f1f}.productivity-row--equipment-start td{border-top:2px solid rgba(255,155,63,.35)}.productivity-cell--calc{background:#ffffff05;font-weight:600;text-align:center}.productivity-cell--shared input{min-width:160px}.productivity-col-code input{min-width:48px;text-align:center}.productivity-cell--shared .productivity-textarea{min-width:160px}.productivity-cell--empty{display:block;min-height:20px}.pricing-copy-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.pricing-copy-modal{background:var(--bg-secondary, #1a1d24);border:1px solid rgba(255,255,255,.1);border-radius:8px;max-width:1200px;width:95%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.pricing-copy-modal__title{margin:0;padding:1rem 1.25rem;font-size:1.1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}.pricing-copy-modal__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.pricing-copy-modal__label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#ffffffbf}.pricing-copy-modal__input{padding:.4rem .6rem;min-width:160px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0f;color:inherit;font-size:.9rem}.pricing-copy-modal__filter-btn{align-self:flex-end;min-height:38px;padding:.55rem 1rem}.pricing-copy-modal__table-wrap{flex:1;overflow:auto;padding:1rem 1.25rem;min-height:120px;position:relative}.pricing-copy-modal__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:160px;color:#ffffffb3}.pricing-copy-modal__loader .pricing-code-loader__spinner{display:block;width:32px;height:32px;border-width:3px}.pricing-copy-modal__loader-text{font-size:.9rem}.pricing-copy-modal__empty{margin:0;color:#ffffff80;font-size:.9rem}.pricing-copy-modal__table{width:100%;border-collapse:collapse;font-size:.85rem}.pricing-copy-modal__table th,.pricing-copy-modal__table td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.pricing-copy-modal__table th{font-weight:600;color:#fffc;background:#ffffff0a}.pricing-copy-modal__table tbody tr{cursor:pointer}.pricing-copy-modal__table tbody tr:hover{background:#ffffff0f}.pricing-copy-modal__row--selected{background:#9370db33}.pricing-copy-modal__row--selected:hover{background:#9370db47}.pricing-copy-modal__subitems{margin:0;padding-left:1.2rem;list-style:disc;max-height:80px;overflow-y:auto}.pricing-copy-modal__subitems li{margin:.2rem 0}.pricing-copy-modal__pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.pricing-copy-modal__pagination-info{font-size:.85rem;color:#ffffffb3}.pricing-copy-modal__pagination-btns{display:flex;gap:.5rem}.pricing-copy-modal__page-btn{padding:.35rem .75rem;font-size:.85rem}.pricing-copy-modal__page-btn:disabled{opacity:.5;cursor:not-allowed}.pricing-copy-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08)}.pricing-copy-modal .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.pricing-progress-card{margin:0 0 .85rem;padding:.7rem .85rem;border-radius:.8rem;border:1px solid rgba(114,252,209,.25);background:linear-gradient(135deg,#72fcd114,#72fcd105);box-shadow:0 10px 22px #00000024}.pricing-progress-card__main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.pricing-progress-card__ratio{font-size:.95rem;font-weight:700;color:#72fcd1}.pricing-progress-card__meta{font-size:.78rem;color:#e3e9ffd1}.pricing-progress-card__bar{width:100%;height:6px;border-radius:999px;overflow:hidden;background:#ffffff1a}.pricing-progress-card__bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#72fcd1,#8ad6ff);transition:width .22s ease}.pricing-go-estimate-modal{max-width:480px}@media(max-width:960px){.productivity-header{flex-direction:column}}.settings-page__header{margin-bottom:1rem}.settings-page__body{display:flex;flex-direction:column;gap:1rem}.settings-card{gap:1rem}.settings-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settings-card__title-row h3{margin:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-field span{font-size:.8rem;color:#e3e9ffbf;font-weight:600}.settings-field--toggle{display:flex;align-items:center;justify-content:space-between;background:#0a0f228c;border:1px solid rgba(114,252,209,.18);border-radius:.75rem;padding:.75rem .9rem}.settings-field--toggle input[type=checkbox]{width:18px;height:18px}.settings-field--toggle-inline{display:flex;align-items:center;justify-content:space-between;background:#0a0f228c;border:1px solid rgba(114,252,209,.18);border-radius:.75rem;padding:.75rem .9rem}.settings-field--toggle-inline span{margin-right:.8rem}.settings-field--toggle-inline input[type=checkbox]{width:18px;height:18px}.settings-field--checkbox{justify-content:flex-start}.settings-field__checkbox{height:44px;border-radius:.75rem;border:1px solid rgba(114,252,209,.22);background:#030712bf;display:inline-flex;align-items:center;padding:0 .85rem}.settings-field__checkbox input[type=checkbox]{width:18px;height:18px}.settings-actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.settings-meta{margin:.1rem 0 0}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}.drawing-version-report__split{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;align-items:start}.drawing-version-report__panel{border:1px solid rgba(148,163,184,.24);border-radius:12px;padding:.7rem;background:linear-gradient(180deg,#0f172a80,#0f172a40);box-shadow:inset 0 1px #ffffff0d}.drawing-version-report__panel--old{border-color:#f472b659}.drawing-version-report__panel--new{border-color:#2dd4bf59}.drawing-version-report__panel-title{margin:0 0 .45rem;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;color:#e2e8f0e6}.drawing-version-report__manual-map{border:1px solid rgba(59,130,246,.28);border-radius:12px;background:linear-gradient(180deg,#1e293b73,#0f172a40)}.drawing-version-report__manual-map .kb-table{width:100%;table-layout:fixed}.drawing-version-report__matched-description .cell-text,.drawing-version-report__new-description .cell-text{max-width:none;width:100%}.drawing-version-report__matched-code{width:5%;min-width:100px}.drawing-version-report__new-description{width:30%}.drawing-version-report__mapping-col{width:34%;min-width:210px}.drawing-version-report__mapping-select{width:100%;min-width:0;max-width:100%;height:40px;padding:0 2.15rem 0 .8rem;border-radius:.7rem;border:1px solid rgba(114,252,209,.24);background:linear-gradient(45deg,transparent 50%,rgba(114,252,209,.75) 50%) calc(100% - 18px) calc(50% - 2px) / 7px 7px no-repeat,linear-gradient(135deg,rgba(114,252,209,.75) 50%,transparent 50%) calc(100% - 13px) calc(50% - 2px) / 7px 7px no-repeat,#030712cc;color:#e3e9ff;outline:none;appearance:none;-webkit-appearance:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem}.drawing-version-report__mapping-select:focus{border-color:#72fcd19e;box-shadow:0 0 0 3px #72fcd129;background:linear-gradient(45deg,transparent 50%,rgba(114,252,209,.95) 50%) calc(100% - 18px) calc(50% - 2px) / 7px 7px no-repeat,linear-gradient(135deg,rgba(114,252,209,.95) 50%,transparent 50%) calc(100% - 13px) calc(50% - 2px) / 7px 7px no-repeat,#030712f0}.drawing-version-report__mapping-select option{background:#0a0f22;color:#e3e9ff}.drawing-version-report__mapping-select:disabled{opacity:.72;cursor:not-allowed}@media(max-width:900px){.drawing-version-report__split{grid-template-columns:1fr}}.equipment-rates-page .productivity-header__actions{align-items:flex-end}.equipment-rates-header__actions{display:flex;flex-wrap:wrap;gap:.6rem}.equipment-rates-header-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;width:100%}.equipment-rates-field{min-width:180px}.equipment-rates-page--project .equipment-rates-field{min-width:125px}.equipment-rates-page--project .equipment-rates-header__actions{gap:.4rem;align-items:stretch}.equipment-rates-page--project .equipment-rates-header-row--buttons,.equipment-rates-page--project .equipment-rates-header-row--fields{justify-content:flex-end}.equipment-rates-page--project .productivity-header__actions .btn-secondary{padding:0 .75rem}.equipment-rates-number-wrap{position:relative}.equipment-rates-input{width:100%;color:#fff!important;caret-color:#fff}.equipment-rates-input--numeric{text-align:right}.equipment-rates-input--with-suffix{padding-left:1.35rem}.equipment-rates-input::placeholder,.equipment-rates-table input::placeholder{color:#ffffff8c}.equipment-rates-table input{color:#fff!important;caret-color:#fff}.equipment-rates-input-suffix{position:absolute;left:.45rem;top:0;bottom:0;display:flex;align-items:center;font-size:.75rem;color:#e9eeffbf;pointer-events:none}.equipment-rates-table th,.equipment-rates-table td{min-width:150px}.equipment-rates-table th:first-child,.equipment-rates-table td:first-child{min-width:220px}.equipment-rates-table-block{overflow:hidden}.equipment-rates-table-block .productivity-table-wrapper{max-height:calc(100vh - 215px);overflow-y:auto;overflow-x:auto}.equipment-rates-col-hourly,.equipment-rates-cell-hourly{background:#ffcc522e!important;font-weight:700}.manpower-categories-table{min-width:420px}.manpower-categories-col-action{width:90px;min-width:90px;text-align:center}.manpower-categories-table td.manpower-categories-col-action{text-align:center}.manpower-categories-empty{text-align:center;color:#e3e9ffbf}.project-rag-chat{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1700;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem}.project-rag-chat__bubble{width:64px;height:64px;border:1px solid rgba(114,252,209,.35);border-radius:999px;background:radial-gradient(circle at 25% 25%,rgba(114,252,209,.2),transparent 46%),radial-gradient(circle at 85% 15%,rgba(65,155,255,.28),transparent 50%),linear-gradient(155deg,#0e1a34,#070f23);box-shadow:0 12px 24px #020a1685;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-rag-chat__bubble:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 18px 30px #020a169e;border-color:#72fcd199}.project-rag-chat__bubble.is-open{border-color:#72fcd1ad;box-shadow:0 16px 34px #12698f73}.project-rag-chat__bubble:focus-visible{outline:2px solid rgba(114,252,209,.65);outline-offset:2px}.project-rag-chat__bubble img{width:32px;height:32px;object-fit:contain}.project-rag-chat__panel{width:min(380px,calc(100vw - 2rem));height:min(560px,calc(100vh - 8rem));border-radius:16px;border:1px solid rgba(114,252,209,.18);background:radial-gradient(circle at 0% 0%,rgba(65,155,255,.16),transparent 34%),linear-gradient(165deg,#0b132bf7,#050b1bf7);box-shadow:0 22px 54px #010814b8;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto;transform-origin:bottom right;animation:project-rag-chat-panel-enter .22s ease-out}.project-rag-chat__panel.is-expanded{width:min(860px,calc(100vw - 2rem))}.project-rag-chat__header{padding:.85rem 1rem;border-bottom:1px solid rgba(114,252,209,.16);background:linear-gradient(180deg,#0b1933b3,#0b19334d);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-rag-chat__title{margin:0;font-size:.95rem;font-weight:700;color:#eaf4ff}.project-rag-chat__subtitle{margin:.15rem 0 0;font-size:.76rem;color:#bacffae6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:255px}.project-rag-chat__header-actions{display:inline-flex;align-items:center;gap:.35rem}.project-rag-chat__icon-btn{width:30px;height:30px;border-radius:10px;border:1px solid rgba(114,252,209,.2);background:#ffffff05;color:#d9e9ff;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.project-rag-chat__icon-btn:hover{transform:translateY(-1px);border-color:#72fcd175;background:#72fcd114}.project-rag-chat__icon-btn:focus-visible{outline:2px solid rgba(114,252,209,.62);outline-offset:1px}@media(max-width:900px){.project-rag-chat__panel.is-expanded{width:min(95vw,calc(100vw - 1.2rem))}}.project-rag-chat__messages{padding:.95rem;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;scrollbar-width:thin;scrollbar-color:rgba(114,252,209,.45) rgba(255,255,255,.06)}.project-rag-chat__message{max-width:90%;padding:.62rem .76rem;border-radius:12px;font-size:.85rem;line-height:1.35;animation:project-rag-chat-message-enter .22s ease-out;will-change:transform,opacity}.project-rag-chat__message p{margin:0;white-space:pre-wrap}.project-rag-chat__markdown{font-size:.84rem;line-height:1.4}.project-rag-chat__markdown>*:first-child{margin-top:0}.project-rag-chat__markdown>*:last-child{margin-bottom:0}.project-rag-chat__markdown h1,.project-rag-chat__markdown h2,.project-rag-chat__markdown h3,.project-rag-chat__markdown h4{margin:.4rem 0 .25rem;font-size:.9rem;font-weight:700;color:#eaf1ff}.project-rag-chat__markdown p,.project-rag-chat__markdown li{margin:.24rem 0}.project-rag-chat__markdown ul,.project-rag-chat__markdown ol{margin:.24rem 0 .24rem 1rem;padding:0}.project-rag-chat__markdown strong{color:#fff;font-weight:700}.project-rag-chat__markdown code{font-size:.78rem;padding:.08rem .28rem;border-radius:.32rem;background:#091124d9;border:1px solid rgba(130,166,255,.25)}.project-rag-chat__markdown pre{margin:.35rem 0;padding:.45rem;border-radius:.5rem;overflow-x:auto;background:#091124e6;border:1px solid rgba(130,166,255,.22)}.project-rag-chat__markdown pre code{border:0;background:transparent;padding:0}.project-rag-chat__markdown table{width:100%;border-collapse:collapse;margin-top:.35rem;font-size:.76rem}.project-rag-chat__markdown th,.project-rag-chat__markdown td{text-align:left;vertical-align:top;border:1px solid rgba(128,160,245,.25);padding:.28rem .35rem}.project-rag-chat__markdown th{background:#17264cb8;font-weight:700}.project-rag-chat__message--assistant{background:linear-gradient(155deg,#0e2b4c99,#11275166),#152e58ad;border:1px solid rgba(114,252,209,.18);align-self:flex-start;box-shadow:0 8px 18px #04102147}.project-rag-chat__message--user{background:linear-gradient(140deg,#419bfff0,#2e6fdcf0);border:1px solid rgba(137,193,255,.65);align-self:flex-end;box-shadow:0 10px 20px #08244b57}.project-rag-chat__typing{width:fit-content;margin:.2rem 0;padding:.5rem .6rem;border-radius:12px;border:1px solid rgba(114,252,209,.18);background:#142c54b3;display:inline-flex;align-items:center;gap:.35rem}.project-rag-chat__typing-dot{width:7px;height:7px;border-radius:50%;background:#d9e4ff;opacity:.35;animation:project-rag-chat-dot-bounce 1.2s ease-in-out infinite}.project-rag-chat__typing-dot:nth-child(2){animation-delay:.16s}.project-rag-chat__typing-dot:nth-child(3){animation-delay:.32s}@keyframes project-rag-chat-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:.95}}.project-rag-chat__error{margin:0;padding:.2rem .95rem .5rem;color:#ff9fa5;font-size:.8rem}.project-rag-chat__composer{padding:.8rem;border-top:1px solid rgba(114,252,209,.16);display:grid;grid-template-columns:1fr auto;gap:.5rem;background:#070d1ed1}.project-rag-chat__composer textarea{min-height:48px;max-height:120px;resize:vertical;border-radius:10px;border:1px solid rgba(114,252,209,.2);background:#0a1930db;color:#edf3ff;padding:.48rem .6rem;font-family:inherit;font-size:.84rem;transition:border-color .18s ease,box-shadow .18s ease}.project-rag-chat__composer textarea:focus-visible{outline:none;border-color:#72fcd1a8;box-shadow:0 0 0 3px #72fcd129}.project-rag-chat__send{border:none;border-radius:10px;padding:0 .9rem;min-width:76px;background:linear-gradient(125deg,#72fcd1f2,#419bfff2);color:#fff;font-weight:600;cursor:pointer;transition:transform .18s ease,filter .18s ease,opacity .18s ease}.project-rag-chat__send:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.project-rag-chat__send:disabled{opacity:.55;cursor:not-allowed}.project-rag-chat__citations{margin-top:.45rem;display:flex;flex-direction:column;gap:.35rem}.project-rag-chat__citation{border-radius:9px;padding:.35rem .45rem;border:1px solid rgba(126,156,247,.26);background:#081024b3}.project-rag-chat__citation-file{display:block;color:#bdd0ff;font-size:.72rem;font-weight:600}.project-rag-chat__citation-snippet{display:block;margin-top:.15rem;color:#ced9f8;font-size:.73rem}@keyframes project-rag-chat-panel-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes project-rag-chat-message-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.project-rag-chat__panel,.project-rag-chat__message,.project-rag-chat__typing-dot,.project-rag-chat__bubble,.project-rag-chat__icon-btn,.project-rag-chat__send,.project-rag-chat__composer textarea{animation:none!important;transition:none!important}}.nested-pricing{padding:0}.nested-pricing__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.nested-pricing__title{margin:0;font-size:1.35rem;color:#e6eeff}.nested-pricing__subtitle{margin:.2rem 0 0;color:#9fb0d3;font-size:.85rem}.nested-pricing__toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.nested-pricing__action-btn{background:transparent;color:#dfe8ff;border:1px solid rgba(126,156,247,.35);padding:.54rem .92rem;border-radius:.62rem;cursor:pointer;font-size:.84rem;transition:background .15s ease,border-color .15s ease,transform .12s ease}.nested-pricing__action-btn--icon{position:relative;width:2.55rem;height:2.55rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.8rem}.nested-pricing__action-btn--icon:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translate(-50%,6px);background:#080f20f7;color:#eaf1ff;border:1px solid rgba(126,156,247,.45);border-radius:.45rem;padding:.28rem .45rem;font-size:.68rem;letter-spacing:.01em;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:0 8px 20px #0207126b;transition:opacity .15s ease,transform .15s ease;z-index:30}.nested-pricing__action-btn--icon:hover:not(:disabled):after,.nested-pricing__action-btn--icon:focus-visible:after{opacity:1;transform:translate(-50%)}.nested-pricing__action-icon{width:1.15rem;height:1.15rem;fill:currentColor}.nested-pricing__action-icon.is-spinning{animation:spin 1s linear infinite}.nested-pricing__action-btn:hover:not(:disabled){border-color:#7e9cf7a6;background:#7e9cf71f}.nested-pricing__action-btn:disabled{opacity:.45;cursor:not-allowed}.nested-pricing__action-btn--primary{background:linear-gradient(120deg,#7e9cf742,#4dd8ff33);border-color:#7e9cf7b3;color:#f2f6ff}.nested-pricing__action-btn--primary:hover:not(:disabled){background:linear-gradient(120deg,#7e9cf759,#4dd8ff47);transform:translateY(-1px)}.nested-pricing__action-btn--ai{background:linear-gradient(120deg,#9f6fff42,#4dd8ff33);border-color:#a38bffb8;color:#f7f2ff}.nested-pricing__action-btn--ai-unique{box-shadow:0 0 0 1px #b782ff24,0 8px 20px #7944dc47}.nested-pricing__action-btn--ai:hover:not(:disabled){background:linear-gradient(120deg,#9f6fff61,#4dd8ff4d);border-color:#b09cffeb;transform:translateY(-1px)}.nested-pricing__action-btn--regulations{background:linear-gradient(120deg,#ff5d723d,#ffa14d42);border-color:#ff8264b3;color:#fff2ee}.nested-pricing__action-btn--regulations-unique{box-shadow:0 0 0 1px #ff905d29,0 8px 20px #b547344d}.nested-pricing__action-btn--regulations:hover:not(:disabled){background:linear-gradient(120deg,#ff5d725c,#ffa14d57);border-color:#ffa088e6;transform:translateY(-1px)}.nested-pricing__validation-pie-wrap{display:inline-flex;align-items:center;gap:.38rem;padding:.28rem .5rem .28rem .3rem;margin-right:.9rem;border-radius:999px;border:1px solid rgba(126,156,247,.28);background:#0c1836b8}.nested-pricing__validation-pie{width:1.9rem;height:1.9rem;position:relative;display:inline-flex;align-items:center;justify-content:center}.nested-pricing__validation-pie svg{width:100%;height:100%;transform:rotate(-90deg)}.nested-pricing__validation-pie-track{fill:none;stroke:#7e9cf73d;stroke-width:3.4}.nested-pricing__validation-pie-fill{fill:none;stroke-width:3.4;stroke-linecap:round;transition:stroke-dasharray .25s ease,stroke .25s ease}.nested-pricing__validation-pie-wrap.is-green .nested-pricing__validation-pie-fill{stroke:#36d399}.nested-pricing__validation-pie-wrap.is-blue .nested-pricing__validation-pie-fill{stroke:#56b4ff}.nested-pricing__validation-pie-wrap.is-yellow .nested-pricing__validation-pie-fill{stroke:#facc15}.nested-pricing__validation-pie-wrap.is-red .nested-pricing__validation-pie-fill{stroke:#fb7185}.nested-pricing__validation-pie-text{position:absolute;font-size:.56rem;font-weight:700;color:#ecf3ff;line-height:1}.nested-pricing__validation-pie-label{font-size:.7rem;color:#c7d8ff;letter-spacing:.03em}.nested-pricing__error{color:#fda4af;margin-bottom:.75rem}.nested-pricing__lock-banner{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;padding:.7rem .95rem;border:1px solid rgba(250,204,21,.4);border-radius:.7rem;background:#785a0a47;color:#fde68a;font-size:.9rem}.nested-pricing__lock-banner strong{color:#fef3c7}.nested-pricing__lock-dot{flex:0 0 auto;width:.6rem;height:.6rem;border-radius:50%;background:#facc15;box-shadow:0 0 #facc15b3;animation:nested-pricing-lock-pulse 1.8s infinite}@keyframes nested-pricing-lock-pulse{0%{box-shadow:0 0 #facc158c}70%{box-shadow:0 0 0 .5rem #facc1500}to{box-shadow:0 0 #facc1500}}.nested-pricing__loading{color:#9fb0d3}.nested-pricing__ai-progress{margin:0 0 .9rem;border:1px solid rgba(126,156,247,.28);border-radius:.75rem;background:#0f1c38cc;padding:.65rem .8rem}.nested-pricing__ai-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.45rem;color:#bfd0f5;font-size:.78rem}.nested-pricing__ai-progress-track{width:100%;height:.42rem;border-radius:999px;background:#7e9cf733;overflow:hidden}.nested-pricing__ai-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#739cffe6,#4dd8fff2);transition:width .2s ease}.nested-pricing__table-wrap{overflow-x:auto;border:1px solid rgba(126,156,247,.2);border-radius:12px;background:#081024d1;box-shadow:0 12px 32px #00061440}.nested-pricing__table{width:100%;border-collapse:collapse;font-size:.88rem;color:#dfe7fb}.nested-pricing__th{text-align:left;padding:.62rem .55rem;border-bottom:1px solid rgba(126,156,247,.22);font-weight:600;color:#c8d5f8;background:linear-gradient(180deg,#2f4a8340,#1726482e)}.nested-pricing__th--num{text-align:right}.nested-pricing__th--grip{width:2rem}.nested-pricing__th--menu{width:2.5rem}.nested-pricing__td{padding:.47rem .55rem;vertical-align:middle;border-bottom:1px solid rgba(126,156,247,.12);color:#dfe7fb}.nested-pricing__td--num{text-align:right;font-variant-numeric:tabular-nums}.nested-pricing__td--strong{font-weight:600;color:#eef3ff}.nested-pricing__td--muted{color:#95a6cb}.nested-pricing__tr--section .nested-pricing__td{background:#3867ce3d;border-bottom-color:#7e9cf738}.nested-pricing__tr--boq .nested-pricing__td{background:#4c6db724;border-bottom-color:#7e9cf72e}.nested-pricing__tr--resource .nested-pricing__td{font-size:.76rem;background:#20355f66;padding-top:.32rem;padding-bottom:.32rem;border-bottom-color:#7e9cf724}.nested-pricing__tr--resource .nested-pricing__td--res-desc{padding-left:1.75rem}.nested-pricing__grip{cursor:grab;color:#8ea3d1;-webkit-user-select:none;user-select:none;font-size:.75rem}.nested-pricing__chevron{border:none;background:transparent;cursor:pointer;padding:0 .2rem;color:#9eb1db;border-radius:4px}.nested-pricing__chevron:hover{background:#7e9cf726;color:#dbe7ff}.nested-pricing__chevron--inline{margin-right:.15rem}.nested-pricing__section-input{border:1px solid transparent;background:transparent;color:#eef3ff;font-weight:400;font-size:inherit;flex:1;min-width:120px;border-radius:6px;padding:.2rem .35rem}.nested-pricing__section-input:focus{outline:none;border-color:#7e9cf773;background:#0a173699}.nested-pricing__section-title{display:flex;align-items:center;gap:.35rem}.nested-pricing__pos{font-variant-numeric:tabular-nums;font-size:.78rem}.nested-pricing__kebab{border:1px solid transparent;background:transparent;color:#c8d6fb;cursor:pointer;font-size:1.1rem;line-height:1;padding:.2rem .35rem;border-radius:7px}.nested-pricing__kebab:hover:not(:disabled){background:#7e9cf724;border-color:#7e9cf747}.nested-pricing__td--actions{white-space:nowrap}.nested-pricing__violation-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:7px;border:1px solid rgba(255,110,129,.48);background:#58162461;color:#ff8ca0;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease;margin-right:.2rem}.nested-pricing__violation-icon-btn svg{width:.9rem;height:.9rem;fill:currentColor}.nested-pricing__violation-icon-btn:hover:not(:disabled){background:#91253973;border-color:#ff8196b8;transform:translateY(-1px)}.nested-pricing__type-badge{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:4px;font-size:.7rem;font-weight:700;color:#fff}.nested-pricing__type-badge.is-mat{background:#3b82f6;color:#fff}.nested-pricing__type-badge.is-lab{background:#facc15;color:#1f1500}.nested-pricing__type-badge.is-eq{background:#8b5cf6;color:#fff}.nested-pricing__input-num{width:100%;max-width:6.5rem;padding:.25rem .4rem;border:1px solid rgba(126,156,247,.35);border-radius:6px;font-size:inherit;background:#0a1634d9;color:#e8efff}.nested-pricing__input-num:focus{outline:none;border-color:#7e9cf7a6;box-shadow:0 0 0 2px #7e9cf733}.nested-pricing__link-danger{border:none;background:none;color:#fda4af;cursor:pointer;font-size:.78rem;text-decoration:underline;padding:0}.nested-pricing__link-danger:hover:not(:disabled){color:#fecdd3}.nested-pricing__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:8px;border:1px solid rgba(126,156,247,.32);background:#0b1631bf;color:#dbe7ff;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.nested-pricing__icon-btn svg{width:.9rem;height:.9rem;fill:currentColor}.nested-pricing__icon-btn:hover:not(:disabled){border-color:#7e9cf780;background:#27427a73;transform:translateY(-1px)}.nested-pricing__icon-btn--danger{color:#dbe7ff;border-color:#7e9cf752}.nested-pricing__icon-btn--danger:hover:not(:disabled){color:#eef4ff;border-color:#7e9cf780;background:#27427a73}.nested-pricing__row-menu{position:fixed;z-index:6000;min-width:11rem;background:#081024f7;border:1px solid rgba(126,156,247,.28);border-radius:10px;box-shadow:0 10px 28px #00061473;padding:.35rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nested-pricing__row-menu-item{display:block;width:100%;text-align:left;border:1px solid transparent;color:#dfe8ff;background:transparent;padding:.45rem .6rem;border-radius:8px;cursor:pointer;font-size:.88rem}.nested-pricing__row-menu-item:hover:not(:disabled){background:#7e9cf724;border-color:#7e9cf747}.nested-pricing__modal-backdrop{position:fixed;inset:0;z-index:1100;background:#030818a6;display:flex;align-items:center;justify-content:center;padding:1rem}.nested-pricing__modal{background:#081024f7;border:1px solid rgba(126,156,247,.3);color:#e6eeff;border-radius:12px;max-width:520px;width:100%;max-height:min(84vh,680px);overflow:hidden;padding:1.1rem 1.2rem;box-shadow:0 16px 48px #00061485}.nested-pricing__modal--compact{max-width:540px}.nested-pricing__modal--wide{max-width:860px}.nested-pricing__modal--xwide{max-width:1040px}.nested-pricing__modal--ai{max-width:1280px}.nested-pricing__modal--resource{border-color:#7e9cf757;box-shadow:0 16px 48px #122d6a59;background:linear-gradient(180deg,#081228f7,#080f22fa)}.nested-pricing__modal--cost{border-color:#7e9cf752;box-shadow:0 16px 48px #122d6a52}.nested-pricing__modal--regulations{border-color:#ff8c8c52;box-shadow:0 16px 48px #7a2c2c4d}.nested-pricing__modal--confirm{border-color:#ffa46c73}.nested-pricing__reg-report-wrap{border:1px solid rgba(126,156,247,.2);border-radius:10px;max-height:min(58vh,520px);overflow:auto}.nested-pricing__reg-report-table{width:100%;border-collapse:collapse;font-size:.77rem;color:#d9e6ff}.nested-pricing__reg-report-table th,.nested-pricing__reg-report-table td{text-align:left;padding:.46rem .52rem;border-bottom:1px solid rgba(126,156,247,.14);vertical-align:top}.nested-pricing__reg-mark-btn{padding:.24rem .5rem;font-size:.67rem;font-weight:700;letter-spacing:.02em;border-radius:999px;border:1px solid rgba(250,204,21,.78);background:linear-gradient(120deg,#6c4e1380,#4c340a94);color:#fff6cf;text-decoration:none;box-shadow:0 0 0 1px #facc1533,0 4px 10px #4c340a59;transition:background .16s ease,border-color .16s ease,transform .12s ease,color .16s ease}.nested-pricing__reg-mark-btn:hover:not(:disabled){background:linear-gradient(120deg,#8f67189e,#63420cad);border-color:#fde047f5;color:#fffce4;transform:translateY(-1px)}.nested-pricing__reg-mark-btn:disabled{background:#192d2466;border-color:#5f827066;color:#9eb9ab;box-shadow:none}.nested-pricing__reg-report-table th{font-size:.69rem;letter-spacing:.04em;text-transform:uppercase;color:#b9c9ee;background:#1625486b;position:sticky;top:0;z-index:1}.nested-pricing__reg-report-table tbody tr.is-ok{background:#22c55e1f}.nested-pricing__reg-report-table tbody tr.is-violation{background:#ef444424}.nested-pricing__reg-status{display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .44rem;font-size:.66rem;font-weight:600}.nested-pricing__reg-status.is-ok{color:#5ff2a6;background:#22c55e33}.nested-pricing__reg-status.is-violation{color:#ff9ca9;background:#ef44443b}.nested-pricing__reg-detail-grid{display:grid;gap:.55rem;margin-bottom:.85rem}.nested-pricing__reg-detail-card{border:1px solid rgba(126,156,247,.22);border-radius:10px;background:linear-gradient(180deg,#101f3e9e,#09142da3);padding:.5rem .6rem}.nested-pricing__reg-detail-label{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#9ab1e6;margin-bottom:.22rem}.nested-pricing__reg-detail-value{font-size:.79rem;color:#ecf3ff;line-height:1.35}.nested-pricing__reg-loader-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.45rem;color:#bfd0f5;font-size:.84rem}.nested-pricing__reg-loader-track{width:100%;height:.5rem;border-radius:999px;background:#7e9cf733;overflow:hidden;margin-bottom:.8rem}.nested-pricing__reg-loader-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6f82f2,#ffad66f2);transition:width .35s ease}.nested-pricing__reg-loader-phase{margin:.35rem 0 .7rem;font-size:.76rem;color:#c9d8fa;display:grid;gap:.24rem}.nested-pricing__reg-loader-logs{list-style:none;margin:0;padding:.45rem .6rem;border-radius:9px;border:1px solid rgba(126,156,247,.2);background:#0711288f;max-height:min(44vh,300px);overflow-y:auto;font-size:.76rem;color:#d8e5ff}.nested-pricing__reg-loader-logs li{padding:.3rem 0;border-bottom:1px dashed rgba(126,156,247,.16)}.nested-pricing__reg-loader-logs li:last-child{border-bottom:none}.nested-pricing__modal-title{margin:0 0 .75rem;font-size:1.05rem;color:#ecf2ff}.nested-pricing__modal-search{width:100%;padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(126,156,247,.35);background:#0b1631e6;color:#e7efff;margin-bottom:.75rem}.nested-pricing__modal-search:focus,.nested-pricing__modal-select:focus{outline:none;border-color:#7e9cf7a6;box-shadow:0 0 0 2px #7e9cf733}.nested-pricing__modal-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem;font-size:.82rem;color:#a7b7da}.nested-pricing__modal-select{padding:.4rem .5rem;border-radius:8px;border:1px solid rgba(126,156,247,.35);background:#0b1631e6;color:#e7efff}.nested-pricing__modal-list{list-style:none;margin:0;padding:0;max-height:min(56vh,520px);overflow-y:auto;border:1px solid rgba(126,156,247,.22);border-radius:9px;padding:.3rem .55rem;background:#0711288f}.nested-pricing__modal-label{display:flex;gap:.5rem;align-items:flex-start;padding:.35rem 0;cursor:pointer}.nested-pricing__modal-label--resource{align-items:center;justify-content:space-between;border:1px solid rgba(126,156,247,.28);border-radius:8px;padding:.4rem .52rem;background:linear-gradient(180deg,#11265252,#0d1e403d)}.nested-pricing__modal-label--resource:hover{background:linear-gradient(180deg,#1c3a7a59,#132c5a4d);border-color:#7e9cf775}.nested-pricing__modal-label-main{display:inline-flex;align-items:center;gap:.35rem}.nested-pricing__modal-name{color:#e9efff}.nested-pricing__modal-label-main--resource{min-width:0;flex-direction:column;align-items:flex-start;gap:.22rem}.nested-pricing__modal-name--resource{font-size:.76rem;line-height:1.2;max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nested-pricing__modal-resource-meta{display:inline-flex;align-items:center;gap:.32rem;font-size:.66rem;color:#9fb3df}.nested-pricing__type-pill{border:1px solid rgba(153,177,239,.45);background:#3457aa4d;color:#dce8ff;border-radius:999px;padding:.06rem .36rem;line-height:1.1}.nested-pricing__type-pill--material{border-color:#5fead480;background:#31847847}.nested-pricing__type-pill--equipment{border-color:#60a5fa8c;background:#2758a347}.nested-pricing__type-pill--labor{border-color:#f59e0b94;background:#885b1147}.nested-pricing__modal-resource-unit{opacity:.88}.nested-pricing__modal-resource-rate{font-variant-numeric:tabular-nums;color:#c8d9ff}.nested-pricing__modal-checkbox{width:.92rem;height:.92rem;accent-color:#7e9cf7}.nested-pricing__modal-pick{display:block;width:100%;text-align:left;color:#dfe8ff;padding:.45rem .35rem;border:1px solid transparent;background:transparent;border-radius:8px;cursor:pointer}.nested-pricing__modal-pick:hover{background:#1c3a7a47;border-color:#7e9cf76b}.nested-pricing__modal-pick-desc{color:#e7efff}.nested-pricing__ai-list{max-height:min(64vh,640px);padding:.45rem .65rem}.nested-pricing__ai-card{display:flex;gap:.85rem;align-items:flex-start;justify-content:space-between;border:1px solid rgba(126,156,247,.24);border-radius:10px;margin:.35rem 0;padding:.55rem .65rem;background:#12244f3d;position:relative}.nested-pricing__ai-card.is-ignored{opacity:.48}.nested-pricing__ai-main{min-width:0;flex:1}.nested-pricing__ai-boq-desc{font-size:.82rem;line-height:1.25}.nested-pricing__ai-meta{font-size:.75rem;margin-top:.15rem}.nested-pricing__ai-options{margin-top:.35rem;display:flex;flex-direction:column;gap:.2rem}.nested-pricing__ai-option-row{display:grid;grid-template-columns:24px 1fr auto auto auto;gap:.45rem;align-items:center;font-size:.7rem;color:#c4d2f0;border:1px dashed rgba(126,156,247,.2);border-radius:8px;padding:.25rem .35rem}.nested-pricing__ai-score{font-size:.62rem;font-weight:600;letter-spacing:.04em;padding:.14rem .42rem;border-radius:999px;border:1px solid transparent;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:help;-webkit-user-select:none;user-select:none}.nested-pricing__ai-score--high{color:#9ef8dc;background:#5eead41f;border-color:#5eead45c}.nested-pricing__ai-score--mid{color:#fcd766;background:#fcd7661a;border-color:#fcd76652}.nested-pricing__ai-score--low{color:#ffb4b4;background:#f871711a;border-color:#f8717157}.nested-pricing__ai-why-btn{border:1px solid rgba(167,139,250,.4);background:#43388252;color:#d9d2ff;border-radius:7px;font-size:.66rem;padding:.14rem .48rem;cursor:pointer;transition:background .14s ease,border-color .14s ease}.nested-pricing__ai-why-btn:hover{background:#6550b866;border-color:#a78bfaa6}.ai-why-popup{width:min(520px,94vw);border:1px solid rgba(167,139,250,.32);background:linear-gradient(165deg,#0d1226fc,#080c1cfc);border-radius:14px;padding:1.15rem 1.35rem 1.1rem;box-shadow:0 24px 60px #00000080;color:#e3e9ff;animation:ai-why-in .18s ease-out}@keyframes ai-why-in{0%{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-why-popup__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .85rem}.ai-why-popup__title{margin:0;font-size:.92rem;font-weight:600;letter-spacing:.02em;color:#e8edff;display:flex;align-items:center;gap:.4rem}.ai-why-popup__close{background:transparent;border:1px solid rgba(255,255,255,.1);color:#e3e9ffb3;border-radius:8px;width:1.7rem;height:1.7rem;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ai-why-popup__close:hover{background:#ffffff0f;color:#e8edff}.ai-why-popup__reason{margin:0 0 .95rem;padding:.65rem .8rem;background:#a78bfa14;border-left:3px solid rgba(167,139,250,.65);border-radius:6px;font-size:.86rem;line-height:1.45;color:#efe8ff}.ai-why-popup__grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.1rem;margin:0 0 .9rem}.ai-why-popup__field{min-width:0}.ai-why-popup__label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c7bfffd9;margin-bottom:.25rem}.ai-why-popup__value{font-size:.82rem;line-height:1.4;color:#e3e9ff;word-break:break-word}.ai-why-popup__tags{display:flex;flex-wrap:wrap;gap:.3rem}.ai-why-popup__tag{font-size:.7rem;padding:.1rem .5rem;border-radius:999px;background:#a78bfa1f;border:1px solid rgba(167,139,250,.32);color:#d9d2ff}.ai-why-popup__scores{display:flex;padding:.85rem .95rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;margin:0 0 .9rem}.ai-why-popup__score-cell{text-align:center;flex:1}.ai-why-popup__score-cell--solo{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;cursor:help}.ai-why-popup__score-label{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c7bfffbf}.ai-why-popup__score-value{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;color:#e8edff;line-height:1.05}.ai-why-popup__score-sub{font-size:.72rem;color:#e3e9ff99;margin-top:.15rem}.ai-why-popup__score-sub strong{color:#e3e9ffe6;font-weight:700}.ai-why-popup__flags{display:flex;flex-wrap:wrap;gap:.4rem}.ai-why-popup__flag{font-size:.66rem;padding:.18rem .55rem;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#e3e9ffd1}.ai-why-popup__flag--active{background:#5eead41a;border-color:#5eead459;color:#9ef8dc}.nested-pricing__ai-rank{color:#9eb2df;cursor:grab}.nested-pricing__ai-option-desc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce7ff}.nested-pricing__ai-option-rate{color:#c5d9ff;font-variant-numeric:tabular-nums}.nested-pricing__ai-option-actions{display:inline-flex;align-items:center;gap:.4rem}.nested-pricing__ai-radio{display:inline-flex;align-items:center;gap:.25rem;font-size:.66rem;color:#c7d6f8}.nested-pricing__ai-resource-btn{border:1px solid rgba(126,156,247,.35);background:#152b5a73;color:#dbe8ff;border-radius:7px;font-size:.66rem;padding:.14rem .38rem;cursor:pointer}.nested-pricing__ai-resource-btn:hover{background:#2546887a}.nested-pricing__ai-delete{position:absolute;right:.35rem;top:.35rem;width:1.45rem;height:1.45rem;border:1px solid rgba(236,102,124,.45);border-radius:8px;background:#ec667c1f;color:#ffb8c5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.nested-pricing__ai-delete svg{width:.8rem;height:.8rem;fill:currentColor}.nested-pricing__ai-delete:hover{background:#ec667c33}.nested-pricing__modal--ai-resource{max-width:980px}.nested-pricing__ai-resource-title{margin:-.3rem 0 .45rem;font-size:.74rem}.nested-pricing__ai-resource-list{max-height:min(52vh,460px)}.nested-pricing__ai-resource-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;padding:.28rem 0;border-bottom:1px dashed rgba(126,156,247,.18);font-size:.72rem}.nested-pricing__ai-resource-name{color:#dde8ff}.nested-pricing__ai-resource-meta{color:#9eb2de;font-variant-numeric:tabular-nums}.nested-pricing__muted{color:#95a6cb}.nested-pricing__modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.pricing-cost{margin-top:1rem;display:flex;flex-direction:column;gap:.9rem}.pricing-cost__summary,.pricing-cost__addons{border:1px solid rgba(120,160,255,.24);border-radius:12px;background:linear-gradient(180deg,#0b1836eb,#070f25f2);box-shadow:0 10px 24px #00081847}.pricing-cost__summary{padding:.9rem 1rem}.pricing-cost__title{margin:0 0 .65rem;color:#dfe8ff;font-size:.98rem}.pricing-cost__rows{display:flex;flex-direction:column;gap:.18rem}.pricing-cost__row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px dashed rgba(120,160,255,.16);color:#b7c7ea;font-size:.86rem}.pricing-cost__row strong{color:#ecf2ff;font-size:.87rem}.pricing-cost__row--net{color:#d2e0ff}.pricing-cost__row--gross{border-bottom:none;margin-top:.18rem;padding-top:.5rem;border-top:1px solid rgba(120,160,255,.24);color:#eef4ff}.pricing-cost__row--gross strong{font-size:.95rem;color:#f9fcff}.pricing-cost__addons{padding:.75rem .85rem .9rem}.pricing-cost__addons-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.pricing-cost__addons-head h4{margin:0;color:#e5edff;font-size:.95rem}.pricing-cost__addons-head span{color:#99d1c8;font-size:.78rem}.pricing-cost__addons-table-wrap{border:1px solid rgba(120,160,255,.2);border-radius:10px;overflow:hidden;background:#0915319e}.pricing-cost__addons-table{width:100%;border-collapse:collapse;color:#c8d5f8;font-size:.82rem}.pricing-cost__addons-table th,.pricing-cost__addons-table td{padding:.45rem .48rem;text-align:left;border-bottom:1px solid rgba(120,160,255,.13)}.pricing-cost__addons-table th{font-weight:600;color:#ddf5f0;background:#2c48863d}.pricing-cost__addons-table tbody tr:last-child td{border-bottom:none}.pricing-cost__pct-input{width:5.1rem;padding:.22rem .35rem;border:1px solid rgba(114,252,209,.35);border-radius:7px;background:#09222ad9;color:#e8efff;font-size:.8rem}.pricing-cost__pct-input:focus{outline:none;border-color:#72fcd19e;box-shadow:0 0 0 2px #72fcd12e}.pricing-cost__tag{display:inline-flex;align-items:center;padding:.08rem .42rem;border-radius:999px;font-size:.72rem;border:1px solid transparent}.pricing-cost__tag--overhead{background:#60a5fa29;color:#a6d0ff;border-color:#60a5fa57}.pricing-cost__tag--profit{background:#4ade8026;color:#aef5c4;border-color:#4ade8052}.pricing-cost__tag--contingency{background:#f59e0b2e;color:#ffd9a1;border-color:#f59e0b59}.pricing-cost__tag--tax{background:#c4b5fd2b;color:#ddd4ff;border-color:#c4b5fd5c}.pricing-cost__switch{position:relative;display:inline-block;width:36px;height:20px}.pricing-cost__switch input{opacity:0;width:0;height:0}.pricing-cost__switch-slider{position:absolute;inset:0;border-radius:999px;background:#72fcd14d;transition:background .15s ease}.pricing-cost__switch-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#f3f7ff;transition:transform .15s ease}.pricing-cost__switch input:checked+.pricing-cost__switch-slider{background:#2dd4bfb8}.pricing-cost__switch input:checked+.pricing-cost__switch-slider:before{transform:translate(16px)}@media(max-width:980px){.pricing-cost{gap:.8rem}}.regulations-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;align-items:flex-end;padding:.7rem;border-radius:10px;border:1px solid rgba(114,252,209,.14);background:#0a0f227a}.regulations-status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.16rem .56rem;text-transform:capitalize;font-size:.7rem;letter-spacing:.04em;border:1px solid rgba(255,255,255,.24);background:#ffffff14;color:#e3e9ffeb}.regulations-status-chip.is-ready{border-color:#4ade808c;background:#16653461;color:#bbf7d0}.regulations-status-chip.is-pending{border-color:#3b82f68c;background:#1e40af57;color:#bfdbfe}.regulations-status-chip.is-error{border-color:#f8717199;background:#7f1d1d66;color:#fecaca}.regulations-status-chip.is-paused{border-color:#facc1599;background:#713f1266;color:#fde68a}.mpl-type-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;background:#ffffff0d;color:#cfd8ff}.mpl-type-chip--material{border-color:#7dd3fc73;background:#7dd3fc1f;color:#bae6fd}.mpl-type-chip--equipment{border-color:#a78bfa73;background:#a78bfa1f;color:#ddd6fe}.mpl-type-chip--labor{border-color:#facc1580;background:#facc1524;color:#fde68a}.cost-db-row>td{position:relative}.cost-db-type-badge{display:inline-flex;align-items:center;max-width:100%;padding:.12rem .5rem;border-radius:999px;border:1px solid rgba(114,252,209,.3);background:#72fcd114;color:#b8f5e4;font-size:.72rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-db-type-badge:not(.is-user):not(.is-empty){border-color:#82aaff47;background:#82aaff14;color:#c2d4ff}.cost-db-type-badge.is-empty{border-style:dashed;border-color:#e3e9ff40;background:transparent;color:#e3e9ff80}.cost-db-type-input{width:100%;max-width:140px;padding:.2rem .4rem;border-radius:6px;border:1px solid rgba(114,252,209,.55);background:#070c1ce6;color:#eef3ff;font-size:.74rem;outline:none}.cost-db-type-input:focus{border-color:#72fcd1;box-shadow:0 0 0 2px #72fcd12e}.cost-type-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.4rem 0 1rem}.cost-type-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .3rem .2rem .65rem;border-radius:999px;border:1px solid rgba(114,252,209,.3);background:#72fcd114;color:#c8f6ea;font-size:.78rem;font-weight:600}.cost-type-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:#ffffff14;color:#e3e9ffcc;font-size:.9rem;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.cost-type-chip__remove:hover{background:#ff787840;color:#fff}.cost-type-add{display:flex;gap:.5rem;align-items:center;max-width:520px}.cost-type-add input{flex:1}.cost-db-expand-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid rgba(114,252,209,.18);background:#72fcd10d;color:#e3e9ffc7;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.cost-db-expand-btn:hover{background:#72fcd124;border-color:#72fcd173;color:#ecfdf5}.cost-db-expand-btn svg{width:12px;height:12px;transition:transform .22s cubic-bezier(.4,0,.2,1)}.cost-db-expand-btn.is-open svg{transform:rotate(90deg)}.cost-db-expand-btn.is-open{background:#72fcd129;border-color:#72fcd18c;color:#d1fae5}.cost-db-expand-badge{position:absolute;top:-6px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:linear-gradient(135deg,#5eead4,#38bdf8);color:#06121a;font-size:.62rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #5eead459;pointer-events:none}.cost-db-children-row>td{padding:0!important;background:transparent!important;border-bottom:none!important}.cost-db-children-card{margin:.4rem .4rem .9rem 2.2rem;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(125,211,252,.18);background:linear-gradient(180deg,#0f172a99,#0f172a5c);box-shadow:inset 0 1px #ffffff08,0 4px 16px #0000002e;animation:cost-db-children-pop .22s ease-out;position:relative}.cost-db-children-card:before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:2px;border-radius:2px;background:linear-gradient(180deg,#5eead499,#38bdf800)}@keyframes cost-db-children-pop{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.cost-db-children-card__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;flex-wrap:wrap}.cost-db-children-card__title{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5eead4;margin-right:.55rem}.cost-db-children-card__hint{font-size:.78rem;color:#cbd5e1b8}.cost-db-children-empty{padding:1rem .75rem;text-align:center;font-size:.82rem;color:#cbd5e1b3;border:1px dashed rgba(125,211,252,.18);border-radius:8px;background:#0a0f2259}.cost-db-children-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}.cost-db-children-table thead th{text-align:left;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8c7;padding:.45rem .55rem;border-bottom:1px solid rgba(148,163,184,.12);background:transparent}.cost-db-child-row>td{padding:.5rem .55rem;border-bottom:1px dashed rgba(125,211,252,.08);color:#e2e8f0eb;background:#7dd3fc06}.cost-db-child-row:hover>td{background:#7dd3fc0f}.cost-db-children-footer>td{padding:.55rem;border-top:1px solid rgba(94,234,212,.18);font-size:.8rem;background:#0f172a4d;color:#e2e8f0eb}.cost-db-child-qty{width:72px;padding:4px 8px;border-radius:6px;border:1px solid rgba(125,211,252,.22);background:#0f172a8c;color:#f1f5f9;font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right;outline:none}.cost-db-child-qty:focus{border-color:#5eead4b3;box-shadow:0 0 0 2px #5eead42e}.mpl-picker__toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.85rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.05)}.mpl-picker__toolbar .project-name-input{flex:1 1 280px;min-width:180px}.mpl-picker__table-wrap{flex:1;min-height:0;overflow-y:auto;border-radius:10px;border:1px solid rgba(125,211,252,.12);background:#0a0f226b}.mpl-picker__table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}.mpl-picker__table thead th{position:sticky;top:0;z-index:1;background:#0f172af0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:left;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8d9;padding:.55rem .7rem;border-bottom:1px solid rgba(148,163,184,.16)}.mpl-picker__row>td{padding:.55rem .7rem;border-bottom:1px solid rgba(148,163,184,.08);color:#e2e8f0eb;cursor:pointer;transition:background .15s ease}.mpl-picker__row:hover>td{background:#7dd3fc0f}.mpl-picker__row.is-selected>td{background:#5eead41a;color:#ecfeff}.mpl-picker__row.is-selected>td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#5eead4,#38bdf8)}.mpl-picker__row>td:first-child{position:relative}.mpl-picker__row input[type=checkbox]{accent-color:#5eead4;width:16px;height:16px;cursor:pointer}.mpl-picker__sentinel{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .75rem;font-size:.74rem;color:#94a3b8c7;letter-spacing:.04em}.mpl-picker__loading-more{display:inline-flex;align-items:center;gap:.5rem;color:#5eead4;font-weight:600}.mpl-picker__end-hint{opacity:.7;font-style:italic}.mpl-picker__spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(94,234,212,.25);border-top-color:#5eead4;animation:mpl-picker-spin .7s linear infinite}@keyframes mpl-picker-spin{to{transform:rotate(360deg)}}.cost-db-toolbar--compact{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;padding:0;border:none;background:transparent}.cost-db-search{flex:1 1 280px;max-width:360px;height:28px;padding:0 .6rem;border-radius:7px;border:1px solid rgba(114,252,209,.18);background:#0a0f2299;color:#e3e9ff;font-size:.74rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.cost-db-search::placeholder{color:#94a3b899;font-size:.72rem}.cost-db-search:focus{border-color:#5eead48c;box-shadow:0 0 0 2px #5eead424}.cost-db-search--select{flex:0 0 auto;width:140px;padding-right:1.6rem;background-image:linear-gradient(45deg,transparent 50%,#5eead4 50%),linear-gradient(135deg,#5eead4 50%,transparent 50%);background-position:calc(100% - 14px) 12px,calc(100% - 9px) 12px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;appearance:none;cursor:pointer}.cost-db-table--compact{font-size:.72rem}.cost-db-table--compact thead th{padding:.35rem .55rem;font-size:.62rem;letter-spacing:.06em}.cost-db-table--compact tbody td{padding:.32rem .55rem}.cost-db-table--compact code{font-size:.7rem}.cost-db-table-wrapper--compact .btn-icon{padding:3px;width:22px;height:22px}.cost-db-table-wrapper--compact .btn-icon svg{width:11px;height:11px}.cost-db-table-wrapper--compact .cost-db-expand-btn{width:18px;height:18px;border-radius:5px}.cost-db-table-wrapper--compact .cost-db-expand-btn svg{width:10px;height:10px}.cost-db-table-wrapper--compact .cost-db-expand-badge{min-width:13px;height:13px;font-size:.55rem;top:-5px;right:-5px}.cost-db-table-wrapper--compact .cost-db-children-card{margin:.25rem .4rem .55rem 1.7rem;padding:.5rem .65rem;border-radius:9px}.cost-db-table-wrapper--compact .cost-db-children-card__head{margin-bottom:.4rem;gap:.5rem}.cost-db-table-wrapper--compact .cost-db-children-card__title{font-size:.66rem}.cost-db-table-wrapper--compact .cost-db-children-card__hint{font-size:.68rem}.cost-db-table-wrapper--compact .cost-db-children-empty{padding:.55rem .6rem;font-size:.7rem}.cost-db-table-wrapper--compact .cost-db-children-table{font-size:.68rem}.cost-db-table-wrapper--compact .cost-db-children-table thead th{padding:.28rem .4rem;font-size:.58rem}.cost-db-table-wrapper--compact .cost-db-child-row>td{padding:.28rem .4rem}.cost-db-table-wrapper--compact .cost-db-children-footer>td{padding:.32rem .4rem;font-size:.7rem}.cost-db-table-wrapper--compact .cost-db-child-qty{width:58px;padding:2px 6px;font-size:.68rem;height:22px}.cost-db-table-wrapper--compact .mpl-type-chip{padding:1px 6px;font-size:.6rem}.cost-db-add-children-btn{display:inline-flex;align-items:center;gap:.3rem;height:24px;padding:0 .55rem;border-radius:6px;border:1px solid rgba(94,234,212,.45);background:#5eead41a;color:#99f6e4;font-size:.68rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.cost-db-add-children-btn svg{width:11px;height:11px}.cost-db-add-children-btn:hover{background:#5eead42e;border-color:#5eead4b3;color:#d1fae5}.cost-db-add-children-btn:active{background:#5eead440}.quote-gen-modal{width:min(640px,96vw);display:flex;flex-direction:column;max-height:min(86vh,760px)}.quote-gen-modal__body{overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.25rem}.quote-gen-modal__hint{margin:0;font-size:.78rem;color:#94a3b8d9;padding:.55rem .7rem;border-radius:8px;background:#5eead412;border:1px solid rgba(94,234,212,.18)}.quote-gen-modal__section{display:flex;flex-direction:column;gap:.5rem;padding:.7rem .85rem .85rem;border-radius:10px;border:1px solid rgba(125,211,252,.14);background:#0a0f2252}.quote-gen-modal__section-title{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5eead4}.quote-gen-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem}.quote-gen-modal__field{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem}.quote-gen-modal__field>span{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#cbd5e1c7}.quote-gen-modal__field--wide{grid-column:1 / -1}.quote-gen-modal__input{width:100%;padding:7px 10px;border-radius:7px;border:1px solid rgba(125,211,252,.2);background:#0a0f228c;color:#e3e9ff;font-size:.82rem;font-family:inherit;outline:none;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.quote-gen-modal__input:focus{border-color:#5eead48c;box-shadow:0 0 0 2px #5eead424}.quote-gen-modal__input:disabled,.quote-gen-modal__input[readonly]{opacity:.7;cursor:not-allowed}@media(max-width:540px){.quote-gen-modal__grid{grid-template-columns:1fr}}.nested-pricing__table{font-size:.78rem}.nested-pricing__th{padding:.42rem .5rem;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}.nested-pricing__td{padding:.35rem .5rem}.nested-pricing__tr--resource .nested-pricing__td{font-size:.7rem;padding-top:.26rem;padding-bottom:.26rem;background:linear-gradient(180deg,#5eead40d,#38bdf80a);border-bottom-color:#5eead414}.nested-pricing__tr--resource .nested-pricing__td:first-child{position:relative}.nested-pricing__tr--resource .nested-pricing__td:first-child:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:2px;background:linear-gradient(180deg,#5eead4a6,#38bdf81a)}.nested-pricing__tr--resource .nested-pricing__td--res-desc{padding-left:1.45rem;color:#cfe2ff}.nested-pricing__tr--section .nested-pricing__td{padding-top:.5rem;padding-bottom:.5rem;font-size:.78rem}.nested-pricing__tr--boq:hover .nested-pricing__td{background:#4c6db738}.nested-pricing__type-pill{font-size:.6rem!important;padding:1px 7px!important;letter-spacing:.04em}.nested-pricing__modal.pricing-picker{display:flex;flex-direction:column;max-height:min(82vh,720px);overflow:hidden}.pricing-picker__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap;flex:0 0 auto}.pricing-picker__count{font-size:.72rem;color:#94a3b8c7;letter-spacing:.02em}.pricing-picker .cost-db-search{flex:0 0 auto;width:100%;max-width:none;margin-bottom:.5rem}.pricing-picker .nested-pricing__modal-field{flex:0 0 auto;margin-bottom:.5rem}.pricing-picker .nested-pricing__modal-list{max-height:none;overflow:visible;border:none;border-radius:0;background:transparent;padding:.2rem .4rem}.pricing-picker__list-wrap{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;border-radius:9px;border:1px solid rgba(125,211,252,.12);background:#0a0f225c}.pricing-picker .nested-pricing__modal-actions{flex:0 0 auto;margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(126,156,247,.15)}.pricing-picker__placeholder{padding:1rem;text-align:center;color:#94a3b8bf;font-size:.78rem}.pricing-picker__sentinel{display:flex;align-items:center;justify-content:center;min-height:40px;padding:.45rem;font-size:.7rem;color:#94a3b8b3}.pricing-picker__children-badge{margin-left:auto;padding:1px 7px;border-radius:999px;font-size:.62rem;font-weight:600;background:#5eead429;color:#99f6e4;border:1px solid rgba(94,234,212,.35)}.nested-pricing__modal-pick{display:flex;align-items:center;gap:.5rem;width:100%}.boq-row-checkbox{width:16px;height:16px;margin:0;cursor:pointer;accent-color:rgb(114,252,209)}.boq-row-checkbox:disabled{cursor:not-allowed;opacity:.45}.kb-table__row--selected{box-shadow:inset 3px 0 #72fcd1b3}.boq-ai-suggestion-btn{border-color:#72fcd173;color:#d8fff3}.boq-ai-suggestion-btn:hover:not(:disabled){background:linear-gradient(135deg,#72fcd12e,#419bff24)}.boq-detail-modal__row-card{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.8rem .9rem;background:linear-gradient(180deg,#ffffff06,#ffffff03)}.boq-detail-modal__row-header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.55rem;padding-bottom:.5rem;border-bottom:1px dashed rgba(255,255,255,.08);flex-wrap:wrap}.boq-detail-modal__item-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;padding:.18rem .5rem;border-radius:6px;background:#72fcd11a;color:#c2fee8;border:1px solid rgba(114,252,209,.3);white-space:nowrap}.boq-detail-modal__row-desc{font-size:.82rem;color:#e3e9ffd9;flex:1 1 280px;min-width:0;line-height:1.45;max-height:4.2em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.boq-detail-modal__toggle-all{background:transparent;border:none;color:#72fcd1d9;cursor:pointer;font-size:.74rem;padding:.15rem .3rem;text-decoration:underline;text-underline-offset:2px}.boq-detail-modal__toggle-all:hover{color:#c2fee8}.boq-detail-modal__options{display:grid;gap:.45rem}.boq-detail-modal__option{display:flex;gap:.55rem;align-items:flex-start;padding:.55rem .65rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;background:#ffffff04;transition:border-color .15s ease,background .15s ease}.boq-detail-modal__option:hover{border-color:#72fcd166;background:#ffffff09}.boq-detail-modal__option.is-chosen{border-color:#72fcd1b3;background:#72fcd114}.boq-detail-modal__option input[type=radio]{margin-top:.2rem;accent-color:rgb(114,252,209);cursor:pointer}.boq-detail-modal__option--skip{border-style:dashed;font-size:.8rem;color:#e3e9ffbf;padding:.4rem .65rem;align-items:center}.boq-detail-modal__option-body{flex:1;min-width:0}.boq-detail-modal__option-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.3rem}.boq-detail-modal__score{font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:.12rem .45rem;border-radius:999px;border:1px solid currentColor;font-variant-numeric:tabular-nums}.boq-detail-modal__score--high{color:#72fcd1f2;background:#72fcd11f}.boq-detail-modal__score--mid{color:#ffce4df2;background:#ffce4d1a}.boq-detail-modal__score--low{color:#ff9191f2;background:#ff91911a}.boq-detail-modal__tag{font-size:.7rem;padding:.12rem .45rem;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#e3e9ffb8}.boq-detail-modal__option-desc{font-size:.8rem;line-height:1.45;color:#e3e9ffe0;white-space:pre-wrap;max-height:7em;overflow-y:auto;padding-right:.2rem}.boq-detail-modal__empty{font-size:.78rem;color:#e3e9ff8c;font-style:italic;padding:.4rem .1rem}.boq-detail-modal__bullets{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.boq-detail-modal__bullet{display:grid;grid-template-columns:24px 1fr 24px;gap:.4rem;align-items:start;padding:.4rem .5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px}.boq-detail-modal__bullet input[type=checkbox]{margin-top:.35rem}.boq-detail-modal__bullet-input{width:100%;resize:vertical;min-height:2rem;font:inherit;font-size:.82rem;line-height:1.4;padding:.35rem .5rem;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#0003;color:#eaf2ff}.boq-detail-modal__bullet-input:focus{outline:none;border-color:#72fcd199;box-shadow:0 0 0 2px #72fcd126}.boq-detail-modal__bullet-remove{background:transparent;border:1px solid rgba(255,120,120,.35);color:#ffc4c4;width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;line-height:1;margin-top:.2rem}.boq-detail-modal__bullet-remove:hover{background:#ff78781f;color:#ffd6d6}.boq-detail-modal__add-btn{margin-top:.55rem;background:transparent;border:1px dashed rgba(114,252,209,.5);color:#c2fee8;padding:.4rem .7rem;border-radius:8px;cursor:pointer;font-size:.78rem;letter-spacing:.02em;transition:background .15s ease,border-color .15s ease}.boq-detail-modal__add-btn:hover{background:#72fcd114;border-color:#72fcd1cc}.boq-detail-modal__row-footnote{margin-top:.45rem;font-size:.72rem;color:#e3e9ff8c;text-align:right}.boq-detail-modal__bullet--exists{background:#72fcd10a;border-color:#72fcd133;border-style:dashed}.boq-detail-modal__bullet-tick{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:.25rem;border-radius:999px;background:#72fcd12e;color:#c2fee8;font-size:.7rem;font-weight:700;line-height:1}.boq-detail-modal__bullet-readonly{display:flex;flex-direction:column;gap:.2rem;padding:.15rem 0}.boq-detail-modal__bullet-badge{align-self:flex-start;font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9becd2;background:#72fcd11f;border:1px solid rgba(114,252,209,.3);border-radius:999px;padding:.08rem .45rem}.boq-detail-modal__bullet-readonly-text{font-size:.8rem;line-height:1.4;color:#e3e9ffad;font-style:italic;white-space:pre-wrap}
