@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&display=swap";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);font-family:Segoe UI,Arial,sans-serif;padding:20px}.login-card{background:#fff;border-radius:16px;padding:40px 36px;width:100%;max-width:440px;box-shadow:0 20px 60px #00000059;animation:fadeSlideUp .4s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:28px}.login-logo{font-size:48px;margin-bottom:8px}.login-title{font-size:26px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.login-subtitle{font-size:13px;color:#888;margin:0}.login-logo-img{width:80px;height:80px;border-radius:18px;object-fit:cover;margin:0 auto 12px;display:block;box-shadow:0 4px 16px #ff50324d}css .login-header{text-align:center;margin-bottom:28px;display:flex;flex-direction:column;align-items:center}Why It Was Large The image had no explicit display: block + margin: auto so it was defaulting to inline rendering and stretching to fill the .login-header container width. Setting width: 80px,height: 80px,and display: block; margin: 0 auto locks it to exactly 80×80px centered. Prepared using Claude Sonnet 4.6 .login-upgrade-banner{display:flex;gap:14px;border-radius:10px;padding:16px;margin-bottom:20px;animation:fadeSlideUp .3s ease}.login-upgrade-banner.trial-expired{background-color:#fff8e1;border:1.5px solid #ffc107}.login-upgrade-banner.subscription-required{background-color:#fdecea;border:1.5px solid #f44336}.upgrade-banner-icon{font-size:28px;flex-shrink:0;line-height:1}.upgrade-banner-body{flex:1}.upgrade-banner-title{font-weight:700;font-size:14px;color:#1a1a2e;margin:0 0 4px}.upgrade-banner-msg{font-size:12px;color:#555;margin:0 0 12px;line-height:1.5}.upgrade-banner-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-upgrade{display:inline-block;background-color:#007bff;color:#fff;text-decoration:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:700;transition:background .2s}.btn-upgrade:hover{background-color:#0056b3}.btn-contact{display:inline-block;background-color:#f0f0f0;color:#333;text-decoration:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;transition:background .2s}.btn-contact:hover{background-color:#ddd}.login-trial-warning{display:flex;gap:8px;align-items:flex-start;background-color:#e3f2fd;border:1px solid #90caf9;border-radius:8px;padding:12px 14px;font-size:13px;color:#0d47a1;margin-bottom:16px;animation:fadeSlideUp .3s ease}.login-error{background-color:#fdecea;border:1px solid #f44336;border-radius:8px;padding:11px 14px;font-size:13px;color:#c62828;margin-bottom:16px;animation:fadeSlideUp .3s ease}.login-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:#333}.form-input{width:100%;padding:11px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fafafa;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;outline:none}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1f;background:#fff}.form-input:disabled{opacity:.6;cursor:not-allowed}.input-password-wrapper{position:relative}.input-password-wrapper .form-input{padding-right:44px}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;padding:0;line-height:1;opacity:.6;transition:opacity .2s}.toggle-password:hover{opacity:1}.login-options{display:flex;justify-content:flex-end;margin-top:-8px}.forgot-link{font-size:12px;color:#007bff;text-decoration:none}.forgot-link:hover{text-decoration:underline}.btn-login{width:100%;padding:13px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:4px}.btn-login:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-login:disabled,.btn-login.loading{opacity:.7;cursor:not-allowed;transform:none}.spinner-text{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-footer{text-align:center;margin-top:24px;font-size:13px;color:#666}.register-link{color:#007bff;font-weight:600;text-decoration:none}.register-link:hover{text-decoration:underline}@media (max-width: 480px){.login-card{padding:28px 20px;border-radius:12px}.login-title{font-size:22px}.upgrade-banner-actions{flex-direction:column}.btn-upgrade,.btn-contact{text-align:center}}:root{--bca-bg: #f0f2f7;--bca-sidebar: #0f172a;--bca-sidebar-w: 232px;--bca-right-w: 290px;--bca-card: #ffffff;--bca-border: #e2e8f0;--bca-text: #1e293b;--bca-muted: #64748b;--bca-orange: #f97316;--bca-orange-dk: #ea6f0a;--bca-blue: #3b82f6;--bca-blue-dk: #2563eb;--bca-topbar-h: 58px;--bca-radius: 12px;--bca-radius-sm: 8px;--bca-shadow: 0 2px 12px rgba(15,23,42,.08), 0 1px 3px rgba(15,23,42,.04);--bca-shadow-lg: 0 8px 32px rgba(15,23,42,.12), 0 2px 8px rgba(15,23,42,.06);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:13px}.bca-root{display:flex;height:100vh;overflow:hidden;background:var(--bca-bg);color:var(--bca-text)}.bca-sidebar{width:var(--bca-sidebar-w);min-width:var(--bca-sidebar-w);background:var(--bca-sidebar);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent;flex-shrink:0;z-index:20}.bca-sidebar::-webkit-scrollbar{width:4px}.bca-sidebar::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.bca-sidebar-logo{display:flex;align-items:center;gap:10px;padding:18px 14px 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.bca-sidebar-logo img{height:28px;width:auto}.bca-brand{font-size:14px;font-weight:800;color:#fff;letter-spacing:-.3px}.bca-brand-sub{font-size:10px;color:#ffffff61;letter-spacing:.3px}.bca-active-project-chip{margin:10px 10px 4px;background:linear-gradient(135deg,#f9731629,#f973160f);border:1px solid rgba(249,115,22,.25);border-radius:var(--bca-radius-sm);padding:8px 10px;flex-shrink:0}.bca-chip-label{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#f97316;font-weight:700}.bca-chip-name{font-size:12px;font-weight:700;color:#fff;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bca-chip-sub{font-size:10px;color:#ffffff6b;margin-top:1px}.bca-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#ffffff47;font-weight:700;padding:8px 14px 4px;flex-shrink:0}.bca-step{display:flex;align-items:center;gap:9px;padding:6px 10px 6px 12px;cursor:pointer;border-radius:var(--bca-radius-sm);margin:1px 6px;transition:background .15s;flex-shrink:0;position:relative}.bca-step:hover{background:#ffffff12}.bca-step-active{background:#f973161f!important;border:1px solid rgba(249,115,22,.22)}.bca-step-info{flex:1;min-width:0}.bca-step-label{font-size:11.5px;font-weight:500;color:#ffffffb3;white-space:nowrap}.bca-step-label-active{color:#fff;font-weight:700}.bca-step-pct{font-size:10px;color:#ffffff4d;margin-top:1px}.bca-step-pct.done{color:#22c55e}.bca-step-pct.mid{color:#f59e0b}.bca-step-arrow{font-size:13px;color:#ffffff40;transition:color .15s,transform .15s}.bca-step:hover .bca-step-arrow{color:#f97316;transform:translate(2px)}.bca-nav-item{align-items:center;gap:9px;padding:6px 10px 6px 14px;cursor:pointer;font-size:12px;font-weight:500;color:#fff9;border-radius:var(--bca-radius-sm);margin:1px 6px;transition:background .15s,color .15s;flex-shrink:0;position:relative;width:20px;display:flex}.bca-nav-item:hover{background:#ffffff14;color:#fff}.bca-nav-arrow{margin-left:auto;font-size:13px;color:#fff3;transition:color .15s,transform .15s}.bca-nav-item:hover .bca-nav-arrow{color:#f97316;transform:translate(2px)}.bca-user-btn{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;padding:7px 8px;border-radius:var(--bca-radius-sm);transition:background .15s}.bca-user-btn:hover{background:#ffffff14}.bca-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea6f0a);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bca-avatar-lg{width:36px;height:36px;font-size:14px}.bca-user-name{font-size:12px;font-weight:600;color:#ffffffe0;flex:1;text-align:left}.bca-caret{font-size:9px;color:#ffffff59}.bca-user-dropdown{position:absolute;bottom:52px;left:10px;right:10px;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:var(--bca-radius);box-shadow:var(--bca-shadow-lg);z-index:100;overflow:hidden}.bca-user-dropdown-header{display:flex;align-items:center;gap:10px;padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.bca-user-fullname{font-size:13px;font-weight:700;color:#fff}.bca-user-email{font-size:10px;color:#fff6;margin-top:1px}.bca-user-plan{font-size:10px;color:#f97316;font-weight:700;margin-top:2px}.bca-logout-btn{width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#ef4444;text-align:left;transition:background .15s}.bca-logout-btn:hover{background:#ef444414}.bca-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.bca-topbar{height:var(--bca-topbar-h);background:#fff;border-bottom:1px solid var(--bca-border);display:flex;align-items:center;gap:12px;padding:0 20px;flex-shrink:0;box-shadow:0 1px 4px #0f172a0d;z-index:10}.bca-topbar-project-select{max-width:260px;padding:6px 10px;border-radius:999px;border:1px solid var(--bca-border);background:#f8fafc;font-size:13px;font-weight:600;color:var(--bca-text);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 14px) 9px,calc(100% - 10px) 9px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.bca-topbar-project-select:hover{border-color:#cbd5e1;background-color:#f1f5f9}.bca-topbar-left-project{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.bca-topbar-left{flex:1;min-width:0}.bca-topbar-title-wrap{display:flex;align-items:center;gap:6px}.bca-topbar-title{font-size:15px;font-weight:800;color:var(--bca-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bca-topbar-sub{font-size:11px;color:var(--bca-muted);margin-top:1px}.bca-edit-name-btn{background:none;border:none;cursor:pointer;font-size:13px;color:#94a3b8;transition:color .15s}.bca-edit-name-btn:hover{color:var(--bca-orange)}.bca-name-input{font-size:14px;font-weight:700;border:2px solid var(--bca-orange);border-radius:6px;padding:4px 8px;outline:none;color:var(--bca-text)}.bca-topbar-badges,.bca-topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.bca-topbar-icon-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--bca-radius-sm);background:#f8fafc;border:1px solid var(--bca-border);font-size:12px;font-weight:600;color:var(--bca-muted);cursor:pointer;transition:all .15s}.bca-topbar-icon-btn:hover{background:#f1f5f9;color:var(--bca-text);border-color:#cbd5e1}.bca-topbar-icon-label{font-size:11.5px}.bca-topbar-divider{width:1px;height:20px;background:var(--bca-border);margin:0 4px}.bca-body{flex:1;display:flex;gap:0;overflow:hidden}.bca-center{flex:1;min-width:0;overflow-y:auto;padding:18px 16px 20px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.bca-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.bca-kpi-card{background:var(--bca-card);border-radius:var(--bca-radius);border:1px solid var(--bca-border);padding:12px 14px;box-shadow:var(--bca-shadow);transition:transform .15s,box-shadow .15s}.bca-kpi-card:hover{transform:translateY(-1px);box-shadow:var(--bca-shadow-lg)}.bca-kpi-val{font-size:22px;font-weight:800;letter-spacing:-.5px;margin:4px 0 2px}.bca-kpi-lbl{font-size:10.5px;color:var(--bca-muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.bca-cost-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bca-cost-card{background:var(--bca-card);border-radius:var(--bca-radius);border:1px solid var(--bca-border);border-top:3px solid transparent;padding:14px 16px;box-shadow:var(--bca-shadow);transition:transform .15s,box-shadow .15s}.bca-cost-card:hover{transform:translateY(-1px);box-shadow:var(--bca-shadow-lg)}.bca-cost-card-hi{border-top-color:#f97316}.bca-cost-label{font-size:11px;color:var(--bca-muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.bca-cost-val{font-size:21px;font-weight:800;letter-spacing:-.5px;color:var(--bca-text)}.bca-cost-trend{font-size:10.5px;margin-top:5px;font-weight:600}.bca-cost-trend.up{color:#22c55e}.bca-cost-trend.down{color:#ef4444}.bca-cost-trend.flat{color:var(--bca-muted)}.bca-table-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--bca-card);border-radius:var(--bca-radius);border:1px solid var(--bca-border);padding:8px 12px;box-shadow:var(--bca-shadow)}.bca-count{font-size:11px;font-weight:700;color:var(--bca-muted);padding:3px 8px;background:#f1f5f9;border-radius:20px}.bca-table-wrap{background:var(--bca-card);border-radius:var(--bca-radius);border:1px solid var(--bca-border);overflow:auto;box-shadow:var(--bca-shadow);max-height:320px}.bca-table{width:100%;border-collapse:collapse}.bca-th{background:#f8fafc;padding:9px 10px;text-align:left;font-size:10px;font-weight:700;color:var(--bca-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--bca-border);white-space:nowrap;position:sticky;top:0;z-index:1}.bca-tr{transition:background .1s}.bca-tr:hover{background:#f8fafc}.bca-tr-hov{background:#f8fafc!important}.bca-tr-missing{background:#ef44440a!important}.bca-tr-high{background:#f973160d!important}.bca-td{padding:8px 10px;font-size:12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.bca-td-muted{color:var(--bca-muted)}.bca-td-code{font-family:JetBrains Mono,monospace;font-size:10.5px;color:#6366f1}.bca-ai-badge{font-size:8px;font-weight:800;color:#0ea5e9;background:#e0f2fe;padding:1px 5px;border-radius:4px}.bca-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.bca-status-dot.green{background:#22c55e}.bca-status-dot.orange{background:#f59e0b}.bca-status-dot.red{background:#ef4444}.bca-status-text{font-size:11px;font-weight:600}.bca-status-text.green{color:#15803d}.bca-status-text.orange{color:#d97706}.bca-status-text.red{color:#ef4444}.bca-projects-panel{background:var(--bca-card);border-radius:var(--bca-radius);border:1px solid var(--bca-border);box-shadow:var(--bca-shadow);overflow:hidden;max-height:420px;display:flex;flex-direction:column}.bca-projects-header{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#f8fafc;border-bottom:1px solid var(--bca-border);cursor:pointer;-webkit-user-select:none;user-select:none}.bca-projects-header:hover{background:#f1f5f9}.bca-projects-toggle{font-size:10px;color:var(--bca-muted);width:12px}.bca-projects-title{font-size:12px;font-weight:700;color:var(--bca-text)}.bca-projects-count{font-size:10px;font-weight:700;background:#e2e8f0;color:var(--bca-muted);padding:1px 7px;border-radius:20px}.bca-projects-search{max-width:140px!important}.bca-projects-table-wrap{max-height:250px;overflow-y:auto}.bca-suggestion-cta{margin-top:6px;font-size:10.5px;font-weight:700;color:var(--bca-blue);background:none;border:1px solid var(--bca-border);border-radius:var(--bca-radius-sm);padding:3px 8px;cursor:pointer;transition:background .15s}.bca-suggestion-cta:hover{background:#eff6ff;border-color:var(--bca-blue)}.bca-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:8px;color:var(--bca-muted)}.bca-ai-insights-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.bca-ai-section{background:var(--bca-card);border-radius:var(--bca-radius-sm);border:1px solid var(--bca-border);padding:8px 10px;margin-top:6px;max-height:260px;overflow-y:auto}.bca-rpanel-section-title{display:flex;align-items:center;justify-content:space-between}.bca-right{width:var(--bca-right-w);min-width:var(--bca-right-w);background:#fff;border-left:1px solid var(--bca-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;flex-shrink:0}.bca-right::-webkit-scrollbar{width:4px}.bca-right::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.bca-right-body{padding:14px 12px;display:flex;flex-direction:column;gap:0}.bca-kpi-chips{display:flex;flex-direction:column;gap:7px;margin-bottom:4px}.bca-kpi-chip-sm{background:#f8fafc;border:1px solid var(--bca-border);border-radius:var(--bca-radius-sm);padding:8px 10px;transition:transform .12s}.bca-kpi-chip-sm:hover{transform:translate(1px)}.bca-kpi-chip-val{font-size:16px;font-weight:800;letter-spacing:-.4px}.bca-kpi-chip-lbl{font-size:10px;color:var(--bca-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.bca-kpi-chip-sub{font-size:9.5px;color:var(--bca-muted);font-style:italic}.bca-rpanel-divider{height:1px;background:var(--bca-border);margin:12px 0}.bca-rpanel-divider-label{text-align:center;font-size:9.5px;color:var(--bca-muted);font-weight:700;letter-spacing:.5px;margin:10px 0 8px;position:relative}.bca-rpanel-section-title{font-size:11px;font-weight:800;color:var(--bca-text);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.bca-impact-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.bca-impact-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1px 8px;background:#f8fafc;border:1px solid var(--bca-border);border-radius:var(--bca-radius-sm);padding:7px 10px}.bca-impact-label{font-size:10.5px;color:var(--bca-muted);font-weight:600;grid-column:1}.bca-impact-val{font-size:13px;font-weight:800;grid-column:2;grid-row:1/3;align-self:center;white-space:nowrap}.bca-impact-note{font-size:9.5px;color:var(--bca-muted);grid-column:1}.bca-impact-up{color:#22c55e}.bca-impact-down{color:#ef4444}.bca-impact-warn{color:#f59e0b}.bca-impact-ok{color:#3b82f6}.bca-suggestion{border:1px solid transparent;border-radius:var(--bca-radius-sm);padding:8px 10px;margin-bottom:6px}.bca-suggestion-title{font-size:11px;font-weight:700;color:var(--bca-text)}.bca-suggestion-text{font-size:11.5px;color:#374151;line-height:1.45;margin-top:2px}.bca-suggestion-saving{font-size:10.5px;font-weight:700;color:#22c55e;margin-top:4px}.bca-ai-tag{font-size:9px;font-weight:800;background:#e0f2fe;color:#0369a1;padding:1px 5px;border-radius:4px;flex-shrink:0}.bca-ai-loading{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--bca-muted);margin:6px 0}.bca-spinner-sm{width:14px;height:14px;border-radius:50%;border:2px solid rgba(249,115,22,.2);border-top-color:#f97316;animation:spin .8s linear infinite;flex-shrink:0}.bca-load-ai-btn{width:100%;padding:8px;background:#f8fafc;border:1px dashed var(--bca-border);border-radius:var(--bca-radius-sm);font-size:11.5px;font-weight:700;color:var(--bca-blue);cursor:pointer;transition:all .15s;margin-bottom:4px}.bca-load-ai-btn:hover{background:#eff6ff;border-color:var(--bca-blue)}.bca-revision{display:flex;gap:8px;padding:5px 0;align-items:flex-start}.bca-rev-line{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:3px}.bca-rev-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bca-rev-body{flex:1;min-width:0}.bca-rev-time{font-size:9.5px;color:var(--bca-muted)}.bca-rev-action{font-size:11.5px;font-weight:500;color:var(--bca-text);margin-top:1px;line-height:1.35}.bca-rev-delta{font-size:10.5px;font-weight:800;margin-top:2px}.bca-refresh-btn{background:none;border:none;cursor:pointer;font-size:12px;color:var(--bca-muted);transition:color .15s,transform .2s}.bca-refresh-btn:hover{color:var(--bca-orange);transform:rotate(180deg)}.bca-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}.bca-badge-blue{background:#dbeafe;color:#1d4ed8}.bca-badge-red{background:#fee2e2;color:#ef4444}.bca-btn-orange{background:linear-gradient(135deg,var(--bca-orange),var(--bca-orange-dk));color:#fff;border:none;border-radius:var(--bca-radius-sm);font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.bca-btn-orange:hover{opacity:.88;transform:translateY(-1px)}.bca-btn-blue{background:var(--bca-blue);color:#fff;border:none;border-radius:var(--bca-radius-sm);font-weight:700;cursor:pointer;transition:opacity .15s}.bca-btn-blue:hover{opacity:.88}.bca-btn-ghost{background:#f1f5f9;color:var(--bca-text);border:1px solid var(--bca-border);border-radius:var(--bca-radius-sm);font-weight:600;cursor:pointer;transition:background .15s}.bca-btn-ghost:hover{background:#e2e8f0}.bca-btn-danger{background:#fee2e2;color:#ef4444;border:1px solid #fecaca;border-radius:var(--bca-radius-sm);font-weight:700;cursor:pointer;transition:background .15s}.bca-btn-danger:hover{background:#fecaca}.bca-btn-sm{padding:5px 12px;font-size:12px}.bca-btn-xs{padding:3px 8px;font-size:11px}.bca-input{padding:5px 8px;border:1px solid var(--bca-border);border-radius:var(--bca-radius-sm);font-size:12px;font-family:inherit;background:#f8fafc;color:var(--bca-text);outline:none;transition:border-color .15s}.bca-input:focus{border-color:var(--bca-orange);background:#fff}.bca-select{padding:5px 8px;border:1px solid var(--bca-border);border-radius:var(--bca-radius-sm);font-size:12px;font-family:inherit;background:#f8fafc;color:var(--bca-text);outline:none;cursor:pointer}.bca-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.bca-modal{background:#fff;border-radius:16px;box-shadow:var(--bca-shadow-lg);width:780px;max-width:95vw;overflow:hidden}.bca-topbar-modal{background:#fff;border-radius:16px;box-shadow:var(--bca-shadow-lg);width:780px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.bca-topbar-modal-body{flex:1;overflow-y:auto;padding:16px 20px}.bca-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--bca-border);font-size:14px;font-weight:800;color:var(--bca-text)}.bca-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--bca-muted);transition:color .15s}.bca-modal-close:hover{color:#ef4444}.bca-modal-body{padding:20px}.bca-modal-subtitle{font-size:12px;color:var(--bca-muted);margin-bottom:16px}.bca-export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bca-export-card{border:1px solid var(--bca-border);border-radius:var(--bca-radius);padding:14px 12px;cursor:pointer;text-align:center;transition:all .15s}.bca-export-card:hover{border-color:var(--bca-orange);background:#fff7ed;transform:translateY(-2px)}.bca-export-icon{font-size:24px;margin-bottom:8px}.bca-export-title{font-size:12px;font-weight:700;color:var(--bca-text)}.bca-export-desc{font-size:10.5px;color:var(--bca-muted);margin-top:4px}.bca-export-badge{display:inline-block;margin-top:8px;font-size:9px;font-weight:800;background:#dcfce7;color:#15803d;padding:2px 8px;border-radius:20px}.bca-export-badge-pdf{background:#ede9fe;color:#7c3aed}.bca-confirm-modal{background:#fff;border-radius:16px;box-shadow:var(--bca-shadow-lg);width:380px;max-width:95vw;padding:28px 24px;text-align:center}.bca-confirm-icon{font-size:32px;margin-bottom:10px}.bca-confirm-title{font-size:16px;font-weight:800;color:var(--bca-text)}.bca-confirm-subtitle{font-size:12.5px;color:var(--bca-muted);margin-top:8px;line-height:1.5}.bca-confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.bca-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--bca-bg);color:var(--bca-muted);font-weight:600}.bca-spinner{width:32px;height:32px;border-radius:50%;border:3px solid rgba(249,115,22,.15);border-top-color:#f97316;animation:spin .8s linear infinite}@media (max-width: 1280px){:root{--bca-right-w: 256px;--bca-sidebar-w: 210px}.bca-kpi-row{grid-template-columns:repeat(3,1fr)}.bca-cost-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 960px){.bca-right,.bca-topbar-icon-label{display:none}:root{--bca-sidebar-w: 48px}.bca-brand,.bca-brand-sub,.bca-section-label,.bca-step-info,.bca-nav-item span:not(:first-child),.bca-active-project-chip,.bca-user-name,.bca-caret{display:none}.bca-step,.bca-nav-item{justify-content:center;padding:8px}}.up-wrap{position:relative;width:100%}.up-trigger{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:10px;border:none;background:#ffffff0d;cursor:pointer;transition:background .15s;text-align:left}.up-trigger:hover{background:#ffffff1a}.up-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.04em}.up-avatar--lg{width:40px;height:40px;font-size:14px}.up-info{display:flex;flex-direction:column;flex:1;overflow:hidden;min-width:0}.up-name{font-size:12px;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-plan{font-size:10px;color:#64748b;white-space:nowrap}.up-caret{font-size:9px;color:#475569;flex-shrink:0}.up-dropdown{position:fixed;bottom:72px;left:12px;width:240px;background:#1e2433;border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 20px 60px #00000073,0 2px 10px #00000040;z-index:99999;overflow:hidden;animation:up-fadein .15s ease}@keyframes up-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.up-dropdown-header{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}.up-dropdown-info{flex:1;min-width:0}.up-dropdown-name{font-size:13px;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-dropdown-email{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 5px}.up-plan-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;background:#f9731626;color:#f97316;border:1px solid rgba(249,115,22,.25);text-transform:uppercase;letter-spacing:.06em}.up-divider{height:1px;background:#ffffff12;margin:4px 0}.up-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 14px;border:none;background:transparent;color:#cbd5e1;font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .13s,color .13s}.up-menu-item:hover{background:#ffffff0f;color:#f1f5f9}.up-menu-item--danger{color:#f87171;font-weight:600}.up-menu-item--danger:hover{background:#ef44441f;color:#fca5a5}.bca-sidebar-footer{margin-top:auto;padding:10px 12px;border-top:1px solid rgba(255,255,255,.07)}.bca-chart-panel{background:var(--bca-card);border:1px solid var(--bca-border);border-radius:var(--bca-radius);padding:16px 18px;margin-top:14px}.bca-chart-header{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.bca-chart-title{font-size:13px;font-weight:700;color:var(--bca-text)}.bca-chart-sub{font-size:11px;color:var(--bca-muted)}.bca-bar-chart{display:flex;flex-direction:column;gap:14px}.bca-bar-group{display:flex;align-items:flex-start;gap:10px}.bca-bar-label{font-size:11px;font-weight:600;color:var(--bca-text);width:100px;min-width:100px;padding-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bca-bar-tracks{display:flex;flex-direction:column;gap:4px;flex:1}.bca-bar-row{display:flex;align-items:center;gap:6px}.bca-bar-tag{font-size:9px;font-weight:700;color:var(--bca-muted);width:28px;text-transform:uppercase}.bca-bar-bg{flex:1;height:10px;background:var(--bca-hover);border-radius:999px;overflow:hidden}.bca-bar-fill{height:100%;border-radius:999px;transition:width .6s ease}.bca-bar-val{font-size:10px;font-weight:600;color:var(--bca-text);width:44px;text-align:right}.bca-chart-legend{display:flex;gap:16px;margin-top:12px;font-size:10.5px;color:var(--bca-muted)}.bca-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.bca-topbar-modal--fullscreen{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;margin:0!important}.bca-topbar-modal--minimized{min-height:unset!important;height:auto!important;overflow:hidden}.bca-modal-ctrl{background:#f1f5f9;border:none;border-radius:5px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#475569;transition:background .15s,color .15s;flex-shrink:0}.bca-modal-ctrl:hover{background:#e2e8f0;color:#1e293b}.bca-modal-ctrl--minimize:hover{background:#fef9c3;color:#92400e}.bca-modal-ctrl--fullscreen:hover{background:#dcfce7;color:#15803d}.bca-modal-ctrl--close:hover{background:#fee2e2;color:#ef4444}@media (max-width: 768px){.dir-sidebar{position:fixed;height:100vh;z-index:100}.dir-sidebar:not(.dir-sidebar--collapsed){box-shadow:4px 0 24px #00000040}.dir-content{padding:16px}.dir-topbar{padding:12px 16px}.dir-filter-bar{padding:10px 16px}.dir-row3{grid-template-columns:1fr 1fr}}.account-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9999}.account-settings-modal{width:420px;max-width:calc(100vw - 24px);background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000002e;overflow:hidden}.account-settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eee}.account-settings-body{padding:18px}:root{--cp-primary: #f97316;--cp-primary-dark: #ea580c;--cp-primary-bg: #fff7ed;--cp-primary-ring: rgba(249, 115, 22, .15);--cp-success: #10b981;--cp-success-bg: #ecfdf5;--cp-error: #ef4444;--cp-error-bg: #fef2f2;--cp-border: #e2e8f0;--cp-bg: #f8fafc;--cp-surface: #ffffff;--cp-text: #0f172a;--cp-muted: #64748b;--cp-light: #94a3b8;--cp-radius: 10px;--cp-radius-sm: 6px;--cp-shadow: 0 4px 20px rgba(0, 0, 0, .08)}.cnpm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.cnpm-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #00000038;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:cnpm-slide-up .22s ease}@keyframes cnpm-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.cnpm-header{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:16px 16px 0 0;flex-shrink:0}.cnpm-title{font-size:1.5rem;font-weight:700;color:#111827;margin:1;flex:1}.cnpm-steps{display:flex;align-items:center;gap:.4rem}.cnpm-step-btn{background:none;border:1px solid #d1d5db;border-radius:8px;padding:.3rem .75rem;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s}.cnpm-step-btn:hover{background:#f3f4f6;color:#374151}.cnpm-step-btn.cnpm-step-active{background:#e86600;border-color:#e86600;color:#fff}.cnpm-step-arrow{color:#9ca3af;font-size:1rem}.cnpm-close-btn{background:none;border:none;font-size:1.1rem;color:#6b7280;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .15s}.cnpm-close-btn:hover{background:#fee2e2;color:#dc2626}.cnpm-body{overflow-y:auto;padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:1.25rem}.cnpm-docs-body{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cnpm-section{display:flex;flex-direction:column;gap:.8rem}.cnpm-section-title{font-size:.9rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;padding-bottom:.4rem;border-bottom:1px solid #e5e7eb;margin:1}.cnpm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cnpm-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.cnpm-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.75rem}@media (max-width: 640px){.cnpm-grid-2,.cnpm-grid-3,.cnpm-grid-4,.cnpm-docs-body{grid-template-columns:1fr}}.cnpm-label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;color:#374151}.cnpm-input,.cnpm-select,.cnpm-textarea{width:100%;padding:.45rem .65rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#111827;background:#fff;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.cnpm-input:focus,.cnpm-select:focus,.cnpm-textarea:focus{outline:none;border-color:#e86600;box-shadow:0 0 0 3px #6366f11f}.cnpm-textarea{resize:vertical}.cnpm-dropzone-wrapper{display:flex;flex-direction:column;gap:.5rem}.cnpm-dropzone-label{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;color:#374151}.cnpm-dropzone-badge{background:#e86600;color:#fff;border-radius:999px;font-size:.8rem;padding:.05rem .45rem;font-weight:700}.cnpm-dropzone{position:relative;border:2px dashed #d1d5db;border-radius:10px;min-height:80px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;padding:.75rem}.cnpm-dropzone:hover{border-color:#e86600;background:#f5f3ff}.cnpm-dropzone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.cnpm-dropzone-placeholder{font-size:.82rem;color:#9ca3af}.cnpm-dropzone-filelist{list-style:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;gap:.35rem}.cnpm-dropzone-file{display:flex;align-items:center;justify-content:space-between;background:#f3f4f6;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;color:#374151}.cnpm-dropzone-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.8rem;padding:0 .2rem}.cnpm-error{margin:0 1.5rem .5rem;padding:.55rem .85rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;font-size:.85rem;color:#dc2626;flex-shrink:0}.cnpm-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:.9rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px;flex-shrink:0}.cnpm-btn{padding:.45rem 1.1rem;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;border:none;transition:opacity .15s,transform .1s}.cnpm-btn:active{transform:scale(.97)}.cnpm-btn:disabled{opacity:.55;cursor:not-allowed}.cnpm-btn-primary{background:#e86600;color:#fff}.cnpm-btn-primary:hover:not(:disabled){background:#e7965c}.cnpm-btn-success{background:#16a34a;color:#fff}.cnpm-btn-success:hover:not(:disabled){background:#15803d}.cnpm-btn-secondary{background:#e5e7eb;color:#374151}.cnpm-btn-secondary:hover{background:#d1d5db}.cnpm-btn-ghost{background:transparent;color:#6b7280;border:1px solid #d1d5db}.cnpm-btn-ghost:hover{background:#f3f4f6}:root{--cc-primary: #f97316;--cc-primary-dark: #ea580c;--cc-primary-bg: #fff7ed;--cc-primary-ring: rgba(249, 115, 22, .15);--cc-bg: #f8fafc;--cc-surface: #ffffff;--cc-border: #e2e8f0;--cc-border-strong: #cbd5e1;--cc-text: #0f172a;--cc-muted: #64748b;--cc-light: #94a3b8;--cc-success: #10b981;--cc-success-bg: #ecfdf5;--cc-success-ring: #a7f3d0;--cc-error: #ef4444;--cc-error-bg: #fef2f2;--cc-error-ring: #fecaca;--cc-info: #3b82f6;--cc-info-bg: #eff6ff;--cc-info-ring: #bfdbfe;--cc-blue: #2563eb;--cc-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--cc-shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--cc-radius: 10px;--cc-radius-sm: 6px;--cc-radius-xs: 4px}.cc-root{display:flex;flex-direction:column;height:100%;background:var(--cc-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--cc-text);font-size:13px;position:relative}.cc-toast{position:fixed;top:20px;right:24px;z-index:9999;display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--cc-radius-sm);font-size:13px;font-weight:500;box-shadow:var(--cc-shadow-md);animation:cc-slide-in .25s ease;pointer-events:none}.cc-toast--success{background:var(--cc-success-bg);color:var(--cc-success);border:1px solid var(--cc-success-ring)}.cc-toast--error{background:var(--cc-error-bg);color:var(--cc-error);border:1px solid var(--cc-error-ring)}@keyframes cc-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.cc-stats-bar{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:12px 24px;background:var(--cc-surface);border-bottom:1px solid var(--cc-border)}.cc-stat{display:flex;flex-direction:column;gap:1px}.cc-stat-label{font-size:10px;font-weight:600;color:var(--cc-muted);text-transform:uppercase;letter-spacing:.06em}.cc-stat-value{font-size:20px;font-weight:700;color:var(--cc-primary);line-height:1.2}.cc-stat-value--blue{color:var(--cc-blue)}.cc-stat-divider{width:1px;height:36px;background:var(--cc-border);margin:0 4px}.cc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;background:var(--cc-surface);border-bottom:1px solid var(--cc-border)}.cc-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;background:var(--cc-surface);border-bottom:1px solid var(--cc-border)}.cc-search-wrap{position:relative;flex:1;min-width:220px}.cc-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--cc-muted);pointer-events:none}.cc-search-input{width:100%;padding:7px 32px;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);font-size:13px;background:var(--cc-bg);outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.cc-search-input:focus{border-color:var(--cc-primary);box-shadow:0 0 0 3px var(--cc-primary-ring)}.cc-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--cc-muted);display:flex;align-items:center;padding:2px;border-radius:50%;transition:color .15s}.cc-clear-btn:hover{color:var(--cc-error)}.cc-select{padding:7px 10px;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);font-size:13px;background:var(--cc-bg);cursor:pointer;outline:none;color:var(--cc-text);transition:border-color .2s}.cc-select:focus{border-color:var(--cc-primary)}.cc-filter-badge{display:inline-flex;align-items:center;padding:3px 10px;background:var(--cc-primary-bg);color:var(--cc-primary);border:1px solid rgba(249,115,22,.3);border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.cc-selection-banner{display:flex;align-items:center;gap:10px;padding:8px 20px;background:#eff6ff;border-bottom:1px solid #bfdbfe;color:var(--cc-blue);font-size:13px;font-weight:500;flex-wrap:wrap}.cc-selection-banner strong{font-weight:700}.cc-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:none;border-radius:var(--cc-radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;text-decoration:none}.cc-btn:disabled{opacity:.5;cursor:not-allowed}.cc-btn--primary{background:var(--cc-primary);color:#fff;box-shadow:0 1px 4px #f973164d}.cc-btn--primary:hover{background:var(--cc-primary-dark)}.cc-btn--secondary{background:var(--cc-bg);color:var(--cc-text);border:1px solid var(--cc-border)}.cc-btn--secondary:hover{background:var(--cc-border)}.cc-btn--ghost{background:transparent;color:var(--cc-muted);border:1px solid var(--cc-border)}.cc-btn--ghost:hover{background:var(--cc-bg);color:var(--cc-text)}.cc-btn--danger{background:var(--cc-error-bg);color:var(--cc-error);border:1px solid var(--cc-error-ring)}.cc-btn--danger:hover{background:#fee2e2}.cc-btn--sm{padding:5px 10px;font-size:11px}.cc-btn--xs{padding:4px 8px;font-size:11px}.cc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--cc-radius-sm);cursor:pointer;background:transparent;color:var(--cc-muted);transition:all .15s}.cc-icon-btn:hover{background:var(--cc-bg);color:var(--cc-text)}.cc-checkbox{width:15px;height:15px;cursor:pointer;accent-color:var(--cc-primary);border-radius:3px;flex-shrink:0}.cc-table-scroll{flex:1;overflow:auto;padding:12px 0}.cc-table-container{margin:0 16px;overflow-x:auto;border:1px solid var(--cc-border);border-radius:var(--cc-radius);background:var(--cc-surface);box-shadow:var(--cc-shadow-sm)}.cc-table{width:100%;border-collapse:collapse;font-size:13px;min-width:920px}.cc-table thead{background:#f1f5f9}.cc-th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--cc-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:1px solid var(--cc-border);-webkit-user-select:none;user-select:none}.cc-th--check{width:40px;text-align:center;padding:10px 8px}.cc-th--sortable{cursor:pointer;transition:color .15s,background .15s}.cc-th--sortable:hover{color:var(--cc-primary);background:var(--cc-primary-bg)}.cc-th--actions{text-align:right;min-width:120px;padding-right:16px}.cc-th-inner{display:inline-flex;align-items:center;gap:4px}.cc-sort-icon{opacity:.4;flex-shrink:0}.cc-sort-icon--active{opacity:1;color:var(--cc-primary)}.cc-td{padding:9px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.cc-td--check{width:40px;text-align:center;padding:9px 8px}.cc-td--code{font-family:SFMono-Regular,Consolas,monospace;font-weight:700;color:var(--cc-primary);white-space:nowrap}.cc-td--desc{max-width:200px}.cc-td--num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cc-td--total{color:var(--cc-primary);font-weight:700}.cc-td--actions{text-align:right;padding-right:12px;white-space:nowrap}.cc-tr:hover td{background:var(--cc-primary-bg)}.cc-tr--alt td{background:#fbfcfd}.cc-tr--selected td{background:#eff6ff!important}.cc-tr--editing td{background:#fff7ed!important}.cc-tr:last-child td{border-bottom:none}.cc-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-muted{color:var(--cc-light);font-size:12px}.cc-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.cc-badge--unit{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.cc-badge--cat{background:#f0fdf4;color:#166534;border:1px solid #a7f3d0}.cc-badge--synced{background:#f0fdf4;color:#15803d;border:1px solid #a7f3d0}.cc-badge--custom{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.cc-div-pill{display:flex;flex-direction:column;line-height:1.3}.cc-div-num{font-weight:700;font-size:12px;color:var(--cc-primary)}.cc-div-name{font-size:10px;color:var(--cc-muted)}.cc-action-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.cc-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--cc-radius-xs);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;border:1px solid transparent}.cc-action-btn--edit{background:var(--cc-info-bg);color:var(--cc-info);border-color:var(--cc-info-ring)}.cc-action-btn--edit:hover{background:#dbeafe}.cc-action-btn--save{background:var(--cc-success-bg);color:var(--cc-success);border-color:var(--cc-success-ring)}.cc-action-btn--save:hover{background:#d1fae5}.cc-action-btn--cancel{background:var(--cc-bg);color:var(--cc-muted);border-color:var(--cc-border);width:28px;height:28px;padding:0;justify-content:center;border-radius:var(--cc-radius-xs)}.cc-action-btn--cancel:hover{background:var(--cc-error-bg);color:var(--cc-error);border-color:var(--cc-error-ring)}.cc-action-btn--delete{background:transparent;color:var(--cc-muted);border-color:transparent;width:28px;height:28px;padding:0;justify-content:center;border-radius:var(--cc-radius-xs)}.cc-action-btn--delete:hover{background:var(--cc-error-bg);color:var(--cc-error)}.cc-inline-input{width:100%;padding:4px 7px;border:1.5px solid var(--cc-primary);border-radius:var(--cc-radius-xs);font-size:13px;font-family:inherit;background:#fff;outline:none;box-sizing:border-box;box-shadow:0 0 0 2px var(--cc-primary-ring);transition:box-shadow .15s}.cc-inline-input:focus{box-shadow:0 0 0 3px var(--cc-primary-ring)}.cc-inline-input--num{width:90px;text-align:right}.cc-inline-input--sm{width:110px}.cc-inline-select{padding:4px 7px;border:1.5px solid var(--cc-primary);border-radius:var(--cc-radius-xs);font-size:13px;font-family:inherit;background:#fff;outline:none;min-width:150px;box-shadow:0 0 0 2px var(--cc-primary-ring)}.cc-inline-select--sm{min-width:70px}.cc-tfoot-row{background:#f1f5f9;border-top:2px solid var(--cc-border-strong)}.cc-tfoot-label{padding:9px 12px;font-size:11px;font-weight:700;color:var(--cc-muted);text-transform:uppercase;letter-spacing:.04em}.cc-tfoot-num{padding:9px 12px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.cc-tfoot-total{color:var(--cc-primary);font-size:14px}.cc-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 20px;background:var(--cc-surface);border-top:1px solid var(--cc-border);font-size:12px;color:var(--cc-muted)}.cc-page-info{white-space:nowrap}.cc-page-btns{display:flex;gap:4px}.cc-page-btn{width:30px;height:30px;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);background:var(--cc-surface);font-size:12px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}.cc-page-btn:hover:not(:disabled){background:var(--cc-primary-bg);border-color:var(--cc-primary);color:var(--cc-primary)}.cc-page-btn--active{background:var(--cc-primary);color:#fff;border-color:var(--cc-primary);font-weight:700}.cc-page-btn:disabled{opacity:.4;cursor:not-allowed}.cc-empty{text-align:center;padding:52px 24px;color:var(--cc-muted)}.cc-empty h3{font-size:15px;font-weight:600;color:var(--cc-text);margin:12px 0 6px}.cc-empty p{font-size:13px;margin:0;color:var(--cc-muted)}.cc-skeleton{height:13px;border-radius:4px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:cc-shimmer 1.4s infinite}@keyframes cc-shimmer{to{background-position:-200% 0}}.cc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.cc-modal{background:var(--cc-surface);border-radius:var(--cc-radius);box-shadow:0 20px 60px #0003;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;animation:cc-modal-in .2s ease}@keyframes cc-modal-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cc-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 14px;border-bottom:1px solid var(--cc-border)}.cc-modal-title{font-size:16px;font-weight:700;margin:0}.cc-modal-subtitle{font-size:12px;color:var(--cc-muted);margin:4px 0 0}.cc-modal-body{padding:20px 24px}.cc-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--cc-border);background:var(--cc-bg);border-radius:0 0 var(--cc-radius) var(--cc-radius)}.cc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cc-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.cc-form-group{display:flex;flex-direction:column;gap:5px}.cc-form-label{font-size:12px;font-weight:600;color:var(--cc-text)}.cc-form-input,.cc-form-select{padding:8px 10px;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);font-size:13px;font-family:inherit;outline:none;background:var(--cc-bg);box-sizing:border-box;width:100%;transition:border-color .2s,box-shadow .2s}.cc-form-input:focus,.cc-form-select:focus{border-color:var(--cc-primary);box-shadow:0 0 0 3px var(--cc-primary-ring)}.cc-form-input:disabled{background:#f1f5f9;color:var(--cc-muted);cursor:not-allowed}.cc-div-hint{padding:3px 8px;background:var(--cc-primary-bg);border:1px solid rgba(249,115,22,.25);border-radius:var(--cc-radius-xs);font-size:11px;color:var(--cc-primary);font-weight:600;margin-top:3px}.cc-totals-box{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;padding:14px 16px;background:var(--cc-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm)}.cc-total-item{display:flex;flex-direction:column;gap:3px}.cc-total-label{font-size:10px;font-weight:600;color:var(--cc-muted);text-transform:uppercase;letter-spacing:.05em}.cc-total-value{font-size:16px;font-weight:700;color:var(--cc-primary)}.cc-total-item--grand .cc-total-label{color:var(--cc-text)}.cc-total-value--grand{font-size:20px;color:var(--cc-text)}@media (max-width: 768px){.cc-form-grid,.cc-form-grid-3,.cc-totals-box{grid-template-columns:1fr 1fr}.cc-stats-bar{gap:16px}}@media (max-width: 480px){.cc-form-grid,.cc-form-grid-3{grid-template-columns:1fr}.cc-totals-box{grid-template-columns:1fr 1fr}.cc-toolbar-right{margin-left:0}}.settings-root{display:flex;flex-direction:column;height:100%;min-height:0;background:#f4f5f7;font-family:inherit}.settings-page-header{padding:16px 20px 12px;border-bottom:1px solid #e2e4e9;background:#fff;flex-shrink:0}.settings-page-title{display:flex;align-items:center;gap:8px;color:#1a1a2e;margin-bottom:2px}.settings-page-title svg{color:#e67e22;flex-shrink:0}.settings-page-title h1{font-size:15px;font-weight:600;color:#1a1a2e;line-height:1.2;margin:0}.settings-page-sub{font-size:11.5px;color:#7a7e8a;margin:0;padding-left:26px}.settings-layout{display:flex;flex:1;min-height:0;overflow:hidden}.settings-sidebar{width:188px;min-width:188px;background:#0f172a;border-right:1px solid #2a2a3e;display:flex;flex-direction:column;gap:0;padding:10px 0 16px;overflow-y:auto;flex-shrink:0}.settings-sidebar-group{display:flex;flex-direction:column;gap:1px;padding:0 8px;margin-bottom:4px}.settings-sidebar-group+.settings-sidebar-group{margin-top:8px;padding-top:8px;border-top:1px solid #cdcdd8}.settings-sidebar-label{display:flex;align-items:center;gap:5px;font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#fffc;padding:0 6px 4px;margin-bottom:2px;margin-top:2px}.settings-sidebar-label svg{flex-shrink:0;opacity:.7}.settings-nav-btn{display:flex;align-items:center;gap:5px;width:100%;padding:7px 8px;border:none;background:transparent;border-radius:5px;cursor:pointer;font-size:12px;font-weight:400;color:#fdfdfd;text-align:left;transition:background .15s ease,color .15s ease;position:relative;white-space:nowrap;overflow:hidden}.settings-nav-btn:hover:not(:disabled){background:#fff;color:#e8a96a}.settings-nav-btn.active{background:#e67e2226;color:#fdfdfd;font-weight:500}.settings-nav-btn.active .settings-nav-chevron{color:#fdfdfd;opacity:1}.settings-nav-btn--disabled{cursor:not-allowed!important;opacity:.45}.settings-nav-btn--disabled:hover{background:transparent!important;color:#9090b0!important}.settings-nav-chevron{flex-shrink:0;color:#4a4a6a;opacity:.7;transition:color .15s ease}.settings-nav-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;flex-shrink:0;line-height:1.5}.settings-badge--admin{background:#e67e222e;color:#e67e22;border:1px solid rgba(230,126,34,.3)}.settings-badge--soon{background:#ffffff0f;color:#5a5a7a;border:1px solid rgba(255,255,255,.08)}.settings-content{flex:1;overflow-y:auto;padding:16px;min-width:0;background:#f4f5f7}.settings-content-card{background:#fff;border-radius:8px;border:1px solid #e2e4e9;box-shadow:0 1px 3px #0000000f;overflow:hidden;min-height:100%}.settings-content-card-header{padding:14px 18px 12px;border-bottom:1px solid #f0f1f4;background:#fafbfc}.settings-content-card-title{display:flex;align-items:center;gap:7px;margin-bottom:4px}.settings-content-card-title svg{color:#e67e22;flex-shrink:0}.settings-content-card-title h2{font-size:13.5px;font-weight:600;color:#1a1a2e;margin:0;line-height:1.2}.settings-content-card-title .settings-badge--admin{font-size:9px}.settings-content-card-desc{font-size:11.5px;color:#7a7e8a;margin:0;padding-left:22px;line-height:1.4}.settings-content-card-body{padding:0}@media (max-width: 540px){.settings-layout{flex-direction:column}.settings-sidebar{width:100%;min-width:unset;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:6px 8px;border-right:none;border-bottom:1px solid #2a2a3e;gap:4px}.settings-sidebar-group{flex-direction:row;flex-shrink:0;gap:2px;padding:0;margin:0;border-top:none!important}.settings-sidebar-label{display:none}.settings-nav-btn{white-space:nowrap;flex-shrink:0}}:root{--asm-orange: #f97316;--asm-orange-light: #fff7ed;--asm-orange-mid: #fed7aa;--asm-blue: #3b82f6;--asm-blue-light: #eff6ff;--asm-blue-mid: #bfdbfe;--asm-green: #22c55e;--asm-green-light: #f0fdf4;--asm-red: #ef4444;--asm-red-light: #fef2f2;--asm-gray-50: #f8fafc;--asm-gray-100: #f1f5f9;--asm-gray-200: #e2e8f0;--asm-gray-300: #cbd5e1;--asm-gray-400: #94a3b8;--asm-gray-600: #475569;--asm-gray-700: #334155;--asm-gray-900: #0f172a;--asm-radius: 10px;--asm-radius-sm: 6px;--asm-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--asm-shadow-md: 0 4px 12px rgba(0,0,0,.1);--asm-shadow-xl: 0 20px 60px rgba(0,0,0,.18);--asm-trans: all .15s ease}.asm-root{display:flex;flex-direction:column;gap:0;background:var(--asm-gray-50);min-height:400px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:var(--asm-gray-900);position:relative}.asm-toast{position:fixed;top:20px;right:20px;z-index:9999;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--asm-radius);font-size:13px;font-weight:500;box-shadow:var(--asm-shadow-md);animation:asm-slide-in .2s ease}@keyframes asm-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.asm-toast--success{background:var(--asm-green-light);color:#15803d;border:1px solid #bbf7d0}.asm-toast--error{background:var(--asm-red-light);color:#dc2626;border:1px solid #fecaca}.asm-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;border-bottom:1px solid transparent;margin-bottom:12px;border-radius:var(--asm-radius-sm)}.asm-banner--error{background:var(--asm-red-light);color:#dc2626;border-color:#fecaca}.asm-banner--success{background:var(--asm-green-light);color:#15803d;border-color:#bbf7d0}.asm-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--asm-gray-200);flex-wrap:wrap}.asm-toolbar-left{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;flex:1}.asm-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.asm-search-wrap{position:relative;display:flex;align-items:center}.asm-search-icon{position:absolute;left:10px;color:var(--asm-gray-400);pointer-events:none;font-size:15px}.asm-search{height:34px;padding:0 32px;border:1.5px solid var(--asm-gray-200);border-radius:var(--asm-radius-sm);font-size:13px;width:260px;color:var(--asm-gray-900);background:var(--asm-gray-50);transition:var(--asm-trans)}.asm-search:focus{outline:none;border-color:var(--asm-orange);box-shadow:0 0 0 3px #f973161f;background:#fff}.asm-clear-btn{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--asm-gray-400);padding:2px;display:flex;align-items:center}.asm-clear-btn:hover{color:var(--asm-gray-700)}.asm-filter-group{display:flex;flex-direction:column;gap:3px}.asm-filter-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--asm-gray-400)}.asm-select{height:34px;padding:0 10px;border:1.5px solid var(--asm-gray-200);border-radius:var(--asm-radius-sm);font-size:12.5px;color:var(--asm-gray-700);background:var(--asm-gray-50);cursor:pointer;transition:var(--asm-trans);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.asm-select:focus{outline:none;border-color:var(--asm-orange);box-shadow:0 0 0 3px #f973161f}.asm-select--sm{height:28px;font-size:12px}.asm-select--full{width:100%}.asm-btn{display:inline-flex;align-items:center;gap:5px;padding:0 14px;height:34px;border-radius:var(--asm-radius-sm);font-size:12.5px;font-weight:600;border:1.5px solid transparent;cursor:pointer;transition:var(--asm-trans);white-space:nowrap}.asm-btn--primary{background:var(--asm-orange);color:#fff;border-color:var(--asm-orange)}.asm-btn--primary:hover{background:#ea6c0a;border-color:#ea6c0a}.asm-btn--secondary{background:#fff;color:var(--asm-gray-700);border-color:var(--asm-gray-200)}.asm-btn--secondary:hover{background:var(--asm-gray-50);border-color:var(--asm-gray-300)}.asm-btn--danger{background:var(--asm-red-light);color:var(--asm-red);border-color:#fecaca}.asm-btn--danger:hover{background:#fecaca}.asm-btn--sm{height:28px;padding:0 10px;font-size:12px}.asm-btn:disabled{opacity:.4;cursor:not-allowed}.asm-stats-bar{display:flex;align-items:center;gap:0;padding:0 20px;background:#fff;border-bottom:1px solid var(--asm-gray-200);overflow-x:auto;min-height:44px}.asm-stat{display:flex;flex-direction:column;justify-content:center;padding:8px 20px;border-right:1px solid var(--asm-gray-200);white-space:nowrap}.asm-stat:last-child{border-right:none}.asm-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--asm-gray-400);margin-bottom:1px}.asm-stat-value{font-size:14px;font-weight:700;color:var(--asm-gray-900)}.asm-stat-value--orange{color:var(--asm-orange)}.asm-stat-value--blue{color:var(--asm-blue)}.asm-table-wrap{flex:1;overflow-x:auto;background:#fff}.asm-loading{display:flex;align-items:center;gap:10px;padding:60px 20px;justify-content:center;color:var(--asm-gray-400);font-size:14px}.asm-spinner{width:20px;height:20px;border:2px solid var(--asm-gray-200);border-top-color:var(--asm-orange);border-radius:50%;animation:asm-spin .65s linear infinite}@keyframes asm-spin{to{transform:rotate(360deg)}}.asm-table{width:100%;border-collapse:collapse;font-size:12.5px}.asm-th{padding:10px 12px;background:var(--asm-gray-50);border-bottom:2px solid var(--asm-gray-200);text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--asm-gray-600);white-space:nowrap}.asm-th--check{width:36px;padding:10px 0 10px 16px}.asm-th--actions{width:120px;text-align:center}.asm-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.asm-th--sortable:hover{background:var(--asm-gray-100)}.asm-th-inner{display:flex;align-items:center;gap:4px}.asm-sort-icon{font-size:10px;color:var(--asm-gray-400)}.asm-sort-icon.active{color:var(--asm-orange)}.asm-tr{border-bottom:1px solid var(--asm-gray-200);transition:background .1s}.asm-tr:hover{background:var(--asm-orange-light)!important}.asm-tr--alt{background:var(--asm-gray-50)}.asm-tr--selected{background:#fff7ed!important}.asm-tr--expanded{background:#fff7ed!important;border-bottom:none}.asm-td{padding:10px 12px;vertical-align:middle;color:var(--asm-gray-700)}.asm-td--check{padding:10px 0 10px 16px}.asm-td--code{font-family:JetBrains Mono,Fira Mono,monospace;font-weight:600;color:var(--asm-orange);font-size:12px}.asm-td--name{font-weight:500;color:var(--asm-gray-900);max-width:220px}.asm-td--num{text-align:right;font-variant-numeric:tabular-nums}.asm-td--total{font-weight:700;color:var(--asm-orange)}.asm-td--actions{text-align:center}.asm-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--asm-orange)}.asm-muted{color:var(--asm-gray-300)}.asm-division-pill{display:flex;flex-direction:column;gap:1px}.asm-division-num{font-weight:700;font-size:11.5px;color:var(--asm-blue)}.asm-division-name{font-size:10.5px;color:var(--asm-gray-400);white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.asm-category-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--asm-gray-100);color:var(--asm-gray-600);font-size:11px;font-weight:500;white-space:nowrap}.asm-unit-badge{display:inline-block;padding:2px 7px;border-radius:999px;background:var(--asm-gray-100);color:var(--asm-gray-600);font-size:11px;font-weight:600}.asm-comp-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--asm-blue-light);color:var(--asm-blue);font-size:11px;font-weight:700}.asm-type-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.asm-type-badge--material{background:#dbeafe;color:#1d4ed8}.asm-type-badge--labor{background:#dcfce7;color:#15803d}.asm-type-badge--equipment{background:#fef9c3;color:#a16207}.asm-type-badge--subcontractor{background:#f3e8ff;color:#7e22ce}.asm-type-badge--other{background:var(--asm-gray-100);color:var(--asm-gray-600)}.asm-type-badge--create{background:var(--asm-blue-light);color:var(--asm-blue)}.asm-type-badge--update{background:#fef9c3;color:#a16207}.asm-type-badge--delete{background:var(--asm-red-light);color:var(--asm-red)}.asm-actions-group{display:flex;align-items:center;justify-content:center;gap:4px}.asm-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--asm-radius-sm);border:1.5px solid transparent;cursor:pointer;background:none;transition:var(--asm-trans);font-size:13px}.asm-action-btn--view{color:var(--asm-blue);border-color:#bfdbfe;background:var(--asm-blue-light)}.asm-action-btn--view:hover,.asm-action-btn--view.active{background:var(--asm-blue);color:#fff}.asm-action-btn--edit{color:var(--asm-gray-600);border-color:var(--asm-gray-200)}.asm-action-btn--edit:hover{background:var(--asm-gray-100)}.asm-action-btn--history{color:#a16207;border-color:#fef08a;background:#fefce8}.asm-action-btn--history:hover{background:#fef08a}.asm-action-btn--delete{color:var(--asm-red);border-color:#fecaca;background:var(--asm-red-light)}.asm-action-btn--delete:hover{background:var(--asm-red);color:#fff}.asm-tfoot-row{background:var(--asm-gray-100);border-top:2px solid var(--asm-gray-200)}.asm-tfoot-label{padding:10px 12px;font-weight:600;font-size:12px;color:var(--asm-gray-600)}.asm-tfoot-num{padding:10px 12px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.asm-tfoot-total{color:var(--asm-orange);font-weight:700;font-size:13px}.asm-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-top:1px solid var(--asm-gray-200);flex-wrap:wrap;gap:8px}.asm-page-info{font-size:12px;color:var(--asm-gray-400)}.asm-page-controls{display:flex;align-items:center;gap:4px}.asm-page-btn{min-width:30px;height:30px;padding:0 8px;border:1.5px solid var(--asm-gray-200);border-radius:var(--asm-radius-sm);background:#fff;cursor:pointer;font-size:12px;color:var(--asm-gray-700);transition:var(--asm-trans)}.asm-page-btn:hover:not(:disabled){border-color:var(--asm-orange);color:var(--asm-orange)}.asm-page-btn.active{background:var(--asm-orange);color:#fff;border-color:var(--asm-orange);font-weight:700}.asm-page-btn:disabled{opacity:.35;cursor:not-allowed}.asm-tr-panel{border-bottom:2px solid var(--asm-orange-mid)}.asm-tr-panel>td{padding:0}.asm-panel{background:linear-gradient(180deg,#fff7ed,#fff 40px);border-left:3px solid var(--asm-orange);padding:16px 20px}.asm-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.asm-panel-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.asm-panel-code{font-family:monospace;font-weight:700;font-size:13px;color:var(--asm-orange)}.asm-panel-name{font-weight:600;font-size:13.5px;color:var(--asm-gray-900)}.asm-panel-div{font-size:11.5px;color:var(--asm-blue);background:var(--asm-blue-light);padding:2px 8px;border-radius:999px}.asm-panel-loading{display:flex;align-items:center;gap:8px;color:var(--asm-gray-400);padding:20px 0}.asm-panel-empty{padding:24px 0;color:var(--asm-gray-400);font-size:13px;text-align:center}.asm-panel-table-wrap{overflow-x:auto}.asm-panel-table{width:100%;border-collapse:collapse;font-size:12px}.asm-panel-table th{padding:8px 10px;background:var(--asm-gray-100);border-bottom:1.5px solid var(--asm-gray-200);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#6b7280;text-align:left;white-space:nowrap}.asm-panel-table td{padding:7px 10px;border-bottom:1px solid var(--asm-gray-200);vertical-align:middle}.asm-panel-table td.num{text-align:right;font-variant-numeric:tabular-nums}.asm-panel-table tbody tr:hover{background:var(--asm-gray-50)}.asm-panel-foot{background:var(--asm-gray-100);border-top:2px solid var(--asm-gray-200)}.asm-panel-foot-label{padding:9px 10px;font-weight:700;color:var(--asm-gray-700)}.asm-line-total{font-weight:700;color:var(--asm-orange)!important}.asm-panel-actions{display:flex;gap:4px;align-items:center}.asm-cell-input{height:28px;padding:0 6px;border:1.5px solid var(--asm-gray-200);border-radius:4px;font-size:12px;width:100%;min-width:60px;background:#fff;color:var(--asm-gray-900);transition:border-color .15s;box-sizing:border-box}.asm-cell-input:focus{outline:none;border-color:var(--asm-orange)}.asm-cell-input--num{width:72px;text-align:right}.asm-cell-select{height:28px;padding:0 4px;border:1.5px solid var(--asm-gray-200);border-radius:4px;font-size:12px;background:#fff;cursor:pointer;color:var(--asm-gray-700)}.asm-cell-select:focus{outline:none;border-color:var(--asm-orange)}.asm-cell-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;border:1.5px solid transparent;cursor:pointer;transition:var(--asm-trans);font-size:12px}.asm-cell-btn--save{background:var(--asm-green-light);color:#15803d;border-color:#bbf7d0}.asm-cell-btn--save:hover{background:var(--asm-green);color:#fff}.asm-cell-btn--cancel{background:var(--asm-gray-100);color:var(--asm-gray-600);border-color:var(--asm-gray-200)}.asm-cell-btn--cancel:hover{background:var(--asm-gray-200)}.asm-cell-btn--edit{background:var(--asm-blue-light);color:var(--asm-blue);border-color:#bfdbfe}.asm-cell-btn--edit:hover{background:var(--asm-blue);color:#fff}.asm-cell-btn--delete{background:var(--asm-red-light);color:var(--asm-red);border-color:#fecaca}.asm-cell-btn--delete:hover{background:var(--asm-red);color:#fff}.asm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:asm-fade-in .15s ease}@keyframes asm-fade-in{0%{opacity:0}to{opacity:1}}.asm-modal{background:#fff;border-radius:var(--asm-radius);box-shadow:var(--asm-shadow-xl);display:flex;flex-direction:column;max-height:90vh;width:100%;animation:asm-scale-in .18s ease;overflow:hidden}@keyframes asm-scale-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.asm-modal--lg{max-width:760px}.asm-modal--xl{max-width:1100px}.asm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--asm-gray-200);flex-shrink:0}.asm-modal-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--asm-gray-900)}.asm-modal-close{background:none;border:none;cursor:pointer;color:var(--asm-gray-400);padding:4px;border-radius:4px;display:flex;align-items:center;font-size:16px;transition:var(--asm-trans)}.asm-modal-close:hover{background:var(--asm-gray-100);color:var(--asm-gray-900)}.asm-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.asm-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--asm-gray-200);flex-shrink:0;background:var(--asm-gray-50)}.asm-section-label{display:flex;align-items:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--asm-gray-400);margin-bottom:12px;gap:10px}.asm-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.asm-form-group{display:flex;flex-direction:column;gap:5px}.asm-form-group--full{grid-column:1 / -1}.asm-form-group label{font-size:11.5px;font-weight:600;color:var(--asm-gray-600)}.asm-input{height:36px;padding:0 10px;border:1.5px solid var(--asm-gray-200);border-radius:var(--asm-radius-sm);font-size:13px;width:100%;color:var(--asm-gray-900);background:var(--asm-gray-50);transition:var(--asm-trans);box-sizing:border-box}.asm-input:focus{outline:none;border-color:var(--asm-orange);box-shadow:0 0 0 3px #f973161a;background:#fff}.asm-comp-table-wrap{overflow-x:auto;border:1px solid var(--asm-gray-200);border-radius:var(--asm-radius-sm)}.asm-panel-table--create td{padding:6px 8px}.asm-empty{padding:0}.asm-empty-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:8px;color:var(--asm-gray-400);text-align:center}.asm-empty-inner p{font-size:15px;font-weight:600;color:var(--asm-gray-600);margin:0}.asm-empty-inner span{font-size:13px}.asm-json-pre{font-size:11px;background:var(--asm-gray-50);border:1px solid var(--asm-gray-200);border-radius:4px;padding:8px;max-height:200px;overflow-y:auto;color:var(--asm-gray-700);white-space:pre-wrap;margin-top:4px}.asm-tr--mat-linked{background:#f0f9ff!important}.asm-tr--mat-linked:hover{background:#e0f2fe!important}.asm-mat-input{width:100%;padding-right:22px!important;font-size:11.5px;background:#f8fafc}.asm-mat-input:focus{border-color:var(--asm-blue)!important;box-shadow:0 0 0 3px #3b82f61a!important;background:#fff!important}.asm-mat-clear{position:absolute;right:5px;background:none;border:none;cursor:pointer;color:var(--asm-gray-400);font-size:11px;padding:1px 3px;border-radius:3px;line-height:1}.asm-mat-dropdown{position:absolute;top:calc(100% + 3px);left:0;z-index:500;background:#fff;border:1.5px solid var(--asm-gray-200);border-radius:var(--asm-radius-sm);box-shadow:var(--asm-shadow-md);min-width:280px;max-height:220px;overflow-y:auto}.asm-mat-option{display:flex;flex-direction:column;gap:1px;padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--asm-gray-100);transition:background .1s}.asm-mat-code{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;color:var(--asm-blue)}.asm-mat-name{font-size:12px;font-weight:500;color:var(--asm-gray-900)}.asm-mat-unit{font-size:10.5px;color:var(--asm-gray-400)}.asm-mat-linked-hint{display:block;font-size:10px;color:var(--asm-blue);font-weight:600;margin-top:2px;font-family:monospace}.asm-mat-link-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--asm-blue-light);color:var(--asm-blue);font-size:10.5px;font-weight:700;font-family:monospace;border:1px solid var(--asm-blue-mid)}.asm-mat-hint{font-size:11px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--asm-blue);margin-left:10px}@media (max-width: 768px){.asm-toolbar{flex-direction:column;align-items:stretch}.asm-search{width:100%}.asm-stats-bar{flex-wrap:wrap}.asm-modal--xl{max-width:100%;border-radius:0;max-height:100vh}.asm-modal-overlay{padding:0;align-items:flex-end}.asm-mat-dropdown{min-width:220px}}.asm-tr--mat-linked td{background:#f0f9ff}.asm-tr--mat-linked:hover td{background:#e0f2fe!important}.asm-mat-picker{position:relative;min-width:150px}.asm-mat-input{width:100%;padding-right:24px!important;font-size:11.5px;background:#f8fafc}.asm-mat-input:focus{border-color:var(--asm-blue)!important;box-shadow:0 0 0 2px #3b82f61f!important;background:#fff!important}.asm-mat-clear{position:absolute;right:4px;background:none;border:none;cursor:pointer;color:#94a3b8;font-size:11px;padding:1px 3px;border-radius:3px;line-height:1;transition:background .15s,color .15s}.asm-mat-clear:hover{background:var(--asm-red-light);color:var(--asm-red)}.asm-mat-dropdown{position:absolute;top:calc(100% + 3px);left:0;z-index:600;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000021;min-width:290px;max-height:210px;overflow-y:auto}.asm-mat-option{display:flex;flex-direction:column;gap:1px;padding:7px 11px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.asm-mat-option:hover,.asm-mat-option--active{background:var(--asm-blue-light)}.asm-mat-code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;color:var(--asm-blue);letter-spacing:.04em}.asm-mat-name{font-size:12px;font-weight:500;color:#0f172a}.asm-mat-meta{font-size:10.5px;color:#94a3b8}.asm-mat-linked-label{display:block;margin-top:2px;font-size:10px;font-weight:600;color:var(--asm-blue);font-family:ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.asm-mat-na{color:#cbd5e1;font-size:12px;padding:0 6px}.asm-panel-table--create{min-width:960px}.asm-comp-table-wrap{overflow-x:auto}.asm-quick-add{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;padding:10px 0 4px}.mat-td--lab{color:#2563eb;font-weight:600}.mat-td--eqp{color:#16a34a;font-weight:600}.mat-td--total{color:var(--mat-orange, #f97316);font-weight:700}.mat-form-group--total .mat-total-display{height:36px;display:flex;align-items:center;padding:0 10px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:700;color:var(--mat-orange, #f97316);letter-spacing:.02em}.asm-mat-picker{position:relative;min-width:180px}.asm-mat-input-wrap{position:relative;display:flex;align-items:center}.asm-mat-input{width:100%;padding-right:24px!important}.asm-mat-input--linked{border-color:#22c55e!important;background:#f0fdf4!important;color:#15803d!important;font-weight:600}.asm-mat-clear{position:absolute;right:5px;background:none;border:none;cursor:pointer;color:#94a3b8;font-size:11px;line-height:1;padding:2px 3px;border-radius:3px;transition:color .15s,background .15s}.asm-mat-clear:hover{color:#ef4444;background:#fef2f2}.asm-mat-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000021;max-height:240px;overflow-y:auto;min-width:260px}.asm-mat-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .12s;border-bottom:1px solid #f1f5f9;-webkit-user-select:none;user-select:none}.asm-mat-option:last-child{border-bottom:none}.asm-mat-option:hover{background:#eff6ff}.asm-mat-option--active{background:#f0fdf4}.asm-mat-code{font-family:ui-monospace,monospace;font-size:11px;font-weight:700;color:#3b82f6;min-width:80px;flex-shrink:0}.asm-mat-name{font-size:12.5px;font-weight:500;color:#0f172a;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asm-mat-meta{font-size:11px;color:#64748b;white-space:nowrap;flex-shrink:0}.asm-mat-linked-label{display:block;font-size:10.5px;color:#16a34a;font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asm-mat-na{color:#cbd5e1;font-size:13px}.asm-tr--mat-linked{background:#f0fdf4!important}.asm-panel-table td,.asm-panel-table--create td{overflow:visible!important;position:relative}.asm-panel-table-wrap,.asm-comp-table-wrap{overflow:visible!important}:root{--mat-orange: #f97316;--mat-orange-light: #fff7ed;--mat-orange-mid: #fed7aa;--mat-blue: #3b82f6;--mat-blue-light: #eff6ff;--mat-blue-mid: #bfdbfe;--mat-green: #22c55e;--mat-green-light: #f0fdf4;--mat-green-mid: #bbf7d0;--mat-red: #ef4444;--mat-red-light: #fef2f2;--mat-gray-50: #f8fafc;--mat-gray-100: #f1f5f9;--mat-gray-200: #e2e8f0;--mat-gray-300: #cbd5e1;--mat-gray-400: #94a3b8;--mat-gray-500: #64748b;--mat-gray-700: #334155;--mat-gray-900: #0f172a;--mat-radius: 8px;--mat-radius-sm: 5px;--mat-radius-lg: 12px;--mat-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--mat-shadow-md: 0 4px 12px rgba(0,0,0,.1);--mat-shadow-lg: 0 12px 36px rgba(0,0,0,.14);--mat-transition: .18s ease}.mat-root{display:flex;flex-direction:column;gap:16px;padding:20px 24px;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:13px;color:var(--mat-gray-900);min-height:400px;position:relative}.mat-toast{position:fixed;top:20px;right:24px;z-index:9999;display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--mat-radius);font-size:13px;font-weight:500;box-shadow:var(--mat-shadow-md);animation:mat-slide-in .22s ease}.mat-toast--success{background:var(--mat-green-light);border:1.5px solid var(--mat-green-mid);color:#15803d}.mat-toast--error{background:var(--mat-red-light);border:1.5px solid #fca5a5;color:#b91c1c}@keyframes mat-slide-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.mat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1.5px solid var(--mat-gray-200);border-radius:var(--mat-radius-lg);padding:12px 16px;box-shadow:var(--mat-shadow)}.mat-toolbar-left,.mat-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mat-search-wrap{position:relative;display:flex;align-items:center}.mat-search-icon{position:absolute;left:10px;color:var(--mat-gray-400);pointer-events:none}.mat-search{height:34px;padding:0 32px;border:1.5px solid var(--mat-gray-200);border-radius:var(--mat-radius);font-size:13px;background:var(--mat-gray-50);color:var(--mat-gray-900);width:280px;outline:none;transition:border-color var(--mat-transition),box-shadow var(--mat-transition)}.mat-search:focus{border-color:var(--mat-blue);box-shadow:0 0 0 3px #3b82f61a;background:#fff}.mat-clear-btn{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--mat-gray-400);padding:2px 4px;border-radius:4px;display:flex;align-items:center;transition:color var(--mat-transition),background var(--mat-transition)}.mat-clear-btn:hover{color:var(--mat-red);background:var(--mat-red-light)}.mat-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1.5px solid transparent;border-radius:var(--mat-radius);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--mat-transition),border-color var(--mat-transition),box-shadow var(--mat-transition),transform var(--mat-transition)}.mat-btn:active{transform:scale(.97)}.mat-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.mat-btn--primary{background:var(--mat-orange);border-color:var(--mat-orange);color:#fff}.mat-btn--primary:hover{background:#ea6c0a;border-color:#ea6c0a;box-shadow:0 2px 8px #f973164d}.mat-btn--secondary{background:#fff;border-color:var(--mat-gray-200);color:var(--mat-gray-700)}.mat-btn--secondary:hover{background:var(--mat-gray-50);border-color:var(--mat-gray-300)}.mat-btn--danger{background:var(--mat-red);border-color:var(--mat-red);color:#fff}.mat-btn--danger:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 2px 8px #ef444447}.mat-btn--sm{height:28px;padding:0 10px;font-size:11.5px}.mat-stats-bar{display:flex;gap:10px;flex-wrap:wrap}.mat-stat{display:flex;flex-direction:column;gap:2px;background:#fff;border:1.5px solid var(--mat-gray-200);border-radius:var(--mat-radius);padding:10px 18px;min-width:120px;box-shadow:var(--mat-shadow)}.mat-stat-label{font-size:10.5px;font-weight:600;color:var(--mat-gray-400);text-transform:uppercase;letter-spacing:.06em}.mat-stat-value{font-size:22px;font-weight:700;color:var(--mat-gray-900);line-height:1.1}.mat-stat-value--orange{color:var(--mat-orange)}.mat-stat-value--blue{color:var(--mat-blue)}.mat-stat-value--green{color:var(--mat-green)}.mat-table-wrap{background:#fff;border:1.5px solid var(--mat-gray-200);border-radius:var(--mat-radius-lg);box-shadow:var(--mat-shadow);overflow:auto}.mat-table{width:100%;border-collapse:collapse;font-size:12.5px}.mat-table thead tr{background:var(--mat-gray-50);border-bottom:2px solid var(--mat-gray-200)}.mat-table thead th{padding:10px 13px;text-align:left;font-size:11px;font-weight:700;color:var(--mat-gray-500);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.mat-table tbody tr{border-bottom:1px solid var(--mat-gray-100);transition:background var(--mat-transition)}.mat-table tbody tr:last-child{border-bottom:none}.mat-table tbody tr:hover{background:var(--mat-blue-light)}.mat-tr--alt{background:var(--mat-gray-50)}.mat-tr--alt:hover{background:var(--mat-blue-light)!important}.mat-td{padding:9px 13px;color:var(--mat-gray-700);white-space:nowrap}.mat-td--num{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--mat-gray-400);width:36px;text-align:center}.mat-td--code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;font-weight:700;color:var(--mat-blue);letter-spacing:.03em}.mat-td--name{font-weight:500;color:var(--mat-gray-900);max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-td--cost{font-family:ui-monospace,monospace;font-size:12.5px;font-weight:600;color:var(--mat-gray-700);text-align:right}.mat-td--lab{color:var(--mat-blue)}.mat-td--eqp{color:var(--mat-green)}.mat-td--total{font-family:ui-monospace,monospace;font-size:13px;font-weight:700;color:var(--mat-orange);text-align:right}.mat-td--actions{width:80px}.mat-actions-group{display:flex;align-items:center;gap:5px}.mat-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid transparent;border-radius:var(--mat-radius-sm);cursor:pointer;background:transparent;transition:background var(--mat-transition),border-color var(--mat-transition),color var(--mat-transition)}.mat-action-btn--edit{color:var(--mat-blue);border-color:var(--mat-blue-mid)}.mat-action-btn--edit:hover{background:var(--mat-blue-light);border-color:var(--mat-blue)}.mat-action-btn--delete{color:var(--mat-red);border-color:#fca5a5}.mat-action-btn--delete:hover{background:var(--mat-red-light);border-color:var(--mat-red)}.mat-empty{text-align:center;padding:48px 24px;color:var(--mat-gray-400);font-size:13px}.mat-tfoot{background:var(--mat-gray-50);border-top:2px solid var(--mat-gray-200)}.mat-tfoot td{padding:9px 13px}.mat-foot-label{font-size:11.5px;font-weight:600;color:var(--mat-gray-500);font-style:italic}.mat-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:56px 24px;color:var(--mat-gray-400)}.mat-spinner{width:22px;height:22px;border:3px solid var(--mat-gray-200);border-top:3px solid var(--mat-orange);border-radius:50%;animation:mat-spin .75s linear infinite;flex-shrink:0}.mat-spinner--sm{width:15px;height:15px;border-width:2px}@keyframes mat-spin{to{transform:rotate(360deg)}}.mat-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:mat-fade-in .18s ease}@keyframes mat-fade-in{0%{opacity:0}to{opacity:1}}.mat-modal{background:#fff;border-radius:var(--mat-radius-lg);box-shadow:var(--mat-shadow-lg);width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:mat-modal-in .22s ease}.mat-modal--sm{max-width:420px}@keyframes mat-modal-in{0%{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.mat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1.5px solid var(--mat-gray-100);flex-shrink:0}.mat-modal-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--mat-gray-900)}.mat-modal-title svg{color:var(--mat-orange)}.mat-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;cursor:pointer;color:var(--mat-gray-400);border-radius:var(--mat-radius-sm);transition:background var(--mat-transition),color var(--mat-transition)}.mat-modal-close:hover{background:var(--mat-red-light);color:var(--mat-red)}.mat-modal-body{padding:20px 22px;overflow-y:auto;flex:1}.mat-modal-body p{color:var(--mat-gray-700);font-size:13.5px;line-height:1.6;margin:0}.mat-modal-body p strong{color:var(--mat-gray-900)}.mat-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1.5px solid var(--mat-gray-100);background:var(--mat-gray-50);flex-shrink:0}.mat-form-section-label{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;color:var(--mat-gray-400);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;padding-bottom:7px;border-bottom:1.5px solid var(--mat-gray-100)}.mat-code-row{margin-bottom:6px}.mat-code-input-wrap{display:flex;align-items:center;gap:8px;margin-bottom:5px}.mat-input--code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;font-weight:700;letter-spacing:.06em;flex:1}.mat-input--locked{background:var(--mat-gray-100)!important;color:var(--mat-gray-500)!important;border-color:var(--mat-gray-200)!important;cursor:default}.mat-input--unlocked{background:#fff;border-color:var(--mat-orange)!important;box-shadow:0 0 0 3px #f973161f;color:var(--mat-gray-900)}.mat-code-lock-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid var(--mat-gray-200);border-radius:var(--mat-radius);background:var(--mat-gray-50);color:var(--mat-gray-400);cursor:pointer;flex-shrink:0;transition:background var(--mat-transition),border-color var(--mat-transition),color var(--mat-transition)}.mat-code-lock-btn:hover{background:var(--mat-orange-light);border-color:var(--mat-orange-mid);color:var(--mat-orange)}.mat-code-lock-btn--unlocked{background:var(--mat-orange-light);border-color:var(--mat-orange);color:var(--mat-orange)}.mat-code-loading{display:flex;align-items:center;gap:8px;height:36px;padding:0 11px;border:1.5px dashed var(--mat-gray-200);border-radius:var(--mat-radius);background:var(--mat-gray-50);color:var(--mat-gray-400);font-size:12.5px;flex:1}.mat-code-hint{font-size:11.5px;color:var(--mat-gray-400);margin:0;line-height:1.4}.mat-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.mat-form-group--span2{grid-column:1 / -1}.mat-form-grid--costs{grid-template-columns:repeat(4,1fr);gap:12px}.mat-form-group{display:flex;flex-direction:column;gap:5px}.mat-form-group label{font-size:11.5px;font-weight:600;color:var(--mat-gray-500)}.mat-input,.mat-select{height:36px;padding:0 11px;border:1.5px solid var(--mat-gray-200);border-radius:var(--mat-radius);font-size:13px;color:var(--mat-gray-900);background:var(--mat-gray-50);outline:none;transition:border-color var(--mat-transition),box-shadow var(--mat-transition),background var(--mat-transition);width:100%;box-sizing:border-box}.mat-input:focus,.mat-select:focus{border-color:var(--mat-orange);box-shadow:0 0 0 3px #f973161f;background:#fff}.mat-input::placeholder{color:var(--mat-gray-300)}.mat-input--num{text-align:right;font-family:ui-monospace,monospace}.mat-input--lab:focus{border-color:var(--mat-blue)!important;box-shadow:0 0 0 3px #3b82f61f!important}.mat-input--eqp:focus{border-color:var(--mat-green)!important;box-shadow:0 0 0 3px #22c55e1f!important}.mat-total-display{height:36px;display:flex;align-items:center;padding:0 11px;background:var(--mat-orange-light);border:1.5px solid var(--mat-orange-mid);border-radius:var(--mat-radius);font-size:14px;font-weight:700;color:var(--mat-orange);font-family:ui-monospace,monospace;letter-spacing:.02em;box-sizing:border-box}@media (max-width: 900px){.mat-form-grid--costs{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.mat-toolbar{flex-direction:column;align-items:stretch}.mat-search{width:100%}.mat-stats-bar{flex-wrap:wrap}.mat-form-grid{grid-template-columns:1fr}.mat-form-grid--costs{grid-template-columns:repeat(2,1fr)}.mat-modal{max-width:100%;border-radius:0;max-height:100vh}.mat-modal-overlay{padding:0;align-items:flex-end}}@media (max-width: 480px){.mat-form-grid--costs{grid-template-columns:1fr}}:root{--mdb-primary: #f97316;--mdb-primary-dark: #ea580c;--mdb-primary-light: #fff7ed;--mdb-bg: #f8fafc;--mdb-surface: #ffffff;--mdb-border: #e2e8f0;--mdb-text: #0f172a;--mdb-muted: #64748b;--mdb-radius: 12px;--mdb-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--mdb-shadow-md: 0 4px 16px rgba(0, 0, 0, .08)}.mdb-root{display:flex;flex-direction:column;gap:0;background:var(--mdb-bg);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.mdb-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 18px;background:var(--mdb-surface);border-bottom:1px solid var(--mdb-border)}.mdb-header-left{display:flex;align-items:center;gap:14px}.mdb-header-icon{width:42px;height:42px;background:var(--mdb-primary-light);color:var(--mdb-primary);border-radius:10px;display:flex;align-items:center;justify-content:center}.mdb-title{font-size:18px;font-weight:700;color:var(--mdb-text);margin:0}.mdb-subtitle{font-size:13px;color:var(--mdb-muted);margin:2px 0 0}.mdb-admin-badge{display:flex;align-items:center;gap:5px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;letter-spacing:.6px;padding:5px 12px;border-radius:20px;border:1px solid #fde68a}.mdb-notice{display:flex;align-items:flex-start;gap:14px;margin:20px 28px 0;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #22c55e;border-radius:var(--mdb-radius);padding:16px 20px}.mdb-notice-icon{font-size:20px;line-height:1;margin-top:1px}.mdb-notice-title{font-size:14px;font-weight:600;color:#14532d;margin:0 0 3px}.mdb-notice-desc{font-size:13px;color:#166534;margin:0}.mdb-controls-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 28px 0}.mdb-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--mdb-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.mdb-select-wrap{display:flex;align-items:center;gap:8px}.mdb-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--mdb-surface);border:1.5px solid var(--mdb-border);border-radius:8px;padding:9px 36px 9px 14px;font-size:14px;font-weight:500;color:var(--mdb-text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s,box-shadow .2s}.mdb-select:focus{outline:none;border-color:var(--mdb-primary);box-shadow:0 0 0 3px #f973161f}.mdb-select-badge{background:var(--mdb-primary);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}.mdb-tab-switcher{display:flex;gap:4px;background:#f1f5f9;border-radius:10px;padding:4px}.mdb-tab-btn{display:flex;align-items:center;gap:7px;padding:9px 20px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--mdb-muted);background:transparent}.mdb-tab-btn:hover{color:var(--mdb-text);background:#fff9}.mdb-tab-btn.active{background:var(--mdb-primary);color:#fff;box-shadow:0 2px 8px #f9731659}.mdb-content{padding:20px 28px;flex:1}.mdb-footer{display:flex;align-items:center;gap:8px;padding:14px 28px;background:var(--mdb-surface);border-top:1px solid var(--mdb-border);font-size:12px;color:var(--mdb-muted)}:root{--cdb-primary: #f97316;--cdb-primary-dark: #ea580c;--cdb-primary-light: #fff7ed;--cdb-bg: #f8fafc;--cdb-surface: #ffffff;--cdb-border: #e2e8f0;--cdb-border-hover: #cbd5e1;--cdb-text: #0f172a;--cdb-text-muted: #64748b;--cdb-text-light: #94a3b8;--cdb-success: #10b981;--cdb-error: #ef4444;--cdb-warning: #f59e0b;--cdb-info: #3b82f6;--cdb-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--cdb-shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--cdb-radius: 10px;--cdb-radius-sm: 6px}.cdb-root{display:flex;flex-direction:column;height:100%;background:var(--cdb-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--cdb-text);position:relative;overflow:hidden}.cdb-toast{position:fixed;top:20px;right:24px;z-index:9999;display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:var(--cdb-radius-sm);font-size:13px;font-weight:500;box-shadow:var(--cdb-shadow-md);animation:cdb-slideIn .25s ease;max-width:380px}.cdb-toast.success{background:#ecfdf5;color:var(--cdb-success);border:1px solid #a7f3d0}.cdb-toast.error{background:#fef2f2;color:var(--cdb-error);border:1px solid #fecaca}@keyframes cdb-slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.cdb-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:var(--cdb-surface);border-bottom:1px solid var(--cdb-border);gap:16px;flex-wrap:wrap;flex-shrink:0}.cdb-header-left{display:flex;align-items:center;gap:12px}.cdb-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cdb-header-icon{width:42px;height:42px;border-radius:var(--cdb-radius-sm);background:linear-gradient(135deg,var(--cdb-primary),var(--cdb-primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #f973164d}.cdb-title{font-size:17px;font-weight:700;margin:0;line-height:1.2}.cdb-subtitle{font-size:12px;color:var(--cdb-text-muted);margin:3px 0 0}.cdb-sync-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--cdb-primary);color:#fff;border:none;border-radius:var(--cdb-radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 2px 6px #f973164d;white-space:nowrap}.cdb-sync-btn:hover:not(:disabled){background:var(--cdb-primary-dark);box-shadow:0 4px 12px #f9731659}.cdb-sync-btn:active:not(:disabled){transform:scale(.98)}.cdb-sync-btn:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:cdb-spin 1s linear infinite}@keyframes cdb-spin{to{transform:rotate(360deg)}}.cdb-tabs{display:flex;gap:2px;padding:0 24px;background:var(--cdb-surface);border-bottom:2px solid var(--cdb-border);flex-shrink:0}.cdb-tab{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;font-size:13px;font-weight:500;color:var(--cdb-text-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;border-radius:var(--cdb-radius-sm) var(--cdb-radius-sm) 0 0;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.cdb-tab:hover{color:var(--cdb-text);background:var(--cdb-bg)}.cdb-tab.active{color:var(--cdb-primary);border-bottom-color:var(--cdb-primary);font-weight:600;background:var(--cdb-primary-light)}.cdb-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.cdb-footer{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 24px;background:var(--cdb-surface);border-top:1px solid var(--cdb-border);font-size:11px;color:var(--cdb-text-light);flex-shrink:0}.cdb-stats-bar{display:flex;gap:24px;flex-wrap:wrap;padding:12px 20px;background:var(--cdb-surface);border-bottom:1px solid var(--cdb-border);flex-shrink:0}.cdb-stat{display:flex;flex-direction:column;gap:1px}.cdb-stat-label{font-size:10px;color:var(--cdb-text-muted);text-transform:uppercase;letter-spacing:.05em}.cdb-stat-value{font-size:18px;font-weight:700;color:var(--cdb-primary);line-height:1.2}.cdb-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 20px;background:var(--cdb-surface);border-bottom:1px solid var(--cdb-border);flex-shrink:0}.cdb-toolbar-right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cdb-filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 20px;background:var(--cdb-surface);border-bottom:1px solid var(--cdb-border);flex-shrink:0}.cdb-search-wrap{position:relative;flex:1;min-width:200px}.cdb-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--cdb-text-muted);pointer-events:none}.cdb-search-input{width:100%;padding:7px 30px 7px 32px;border:1px solid var(--cdb-border);border-radius:var(--cdb-radius-sm);font-size:13px;outline:none;background:var(--cdb-bg);color:var(--cdb-text);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.cdb-search-input:focus{border-color:var(--cdb-primary);box-shadow:0 0 0 3px #f973161a}.cdb-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--cdb-text-muted);display:flex;align-items:center;padding:2px;border-radius:50%;transition:background .15s,color .15s}.cdb-clear-btn:hover{color:var(--cdb-text);background:var(--cdb-border)}.cdb-select{padding:7px 10px;border:1px solid var(--cdb-border);border-radius:var(--cdb-radius-sm);font-size:13px;background:var(--cdb-bg);color:var(--cdb-text);cursor:pointer;outline:none;transition:border-color .2s}.cdb-select:focus{border-color:var(--cdb-primary)}.cdb-filter-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--cdb-primary-light);color:var(--cdb-primary);border:1px solid rgba(249,115,22,.3);border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.cdb-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border:none;border-radius:var(--cdb-radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1}.cdb-btn-primary{background:var(--cdb-primary);color:#fff;box-shadow:0 1px 4px #f973164d}.cdb-btn-primary:hover:not(:disabled){background:var(--cdb-primary-dark)}.cdb-btn-secondary{background:var(--cdb-bg);color:var(--cdb-text);border:1px solid var(--cdb-border)}.cdb-btn-secondary:hover:not(:disabled){background:var(--cdb-border)}.cdb-btn-ghost{background:transparent;color:var(--cdb-text-muted);border:1px solid var(--cdb-border)}.cdb-btn-ghost:hover:not(:disabled){background:var(--cdb-bg);color:var(--cdb-text)}.cdb-btn-danger{background:#fee2e2;color:var(--cdb-error);border:1px solid #fecaca}.cdb-btn-danger:hover:not(:disabled){background:var(--cdb-error);color:#fff}.cdb-btn:disabled{opacity:.5;cursor:not-allowed}.cdb-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--cdb-radius-sm);cursor:pointer;transition:all .15s;background:transparent;color:var(--cdb-text-muted);flex-shrink:0}.cdb-btn-icon:hover{background:var(--cdb-bg);color:var(--cdb-text)}.cdb-btn-icon.danger:hover{background:#fee2e2;color:var(--cdb-error)}.cdb-btn-icon.edit:hover{background:#eff6ff;color:var(--cdb-info)}.cdb-btn-icon.success:hover{background:#dcfce7;color:var(--cdb-success)}.cdb-table-container{overflow-x:auto;border:1px solid var(--cdb-border);border-radius:var(--cdb-radius);background:var(--cdb-surface)}.cdb-table{width:100%;border-collapse:collapse;font-size:13px;min-width:800px}.cdb-table thead{background:#f1f5f9;position:sticky;top:0;z-index:1}.cdb-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--cdb-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--cdb-border);-webkit-user-select:none;user-select:none}.cdb-table th.sortable{cursor:pointer}.cdb-table th.sortable:hover{color:var(--cdb-primary);background:var(--cdb-primary-light)}.cdb-th-inner{display:inline-flex;align-items:center;gap:4px}.cdb-sort-icon{opacity:.35}.cdb-sort-icon.active{opacity:1;color:var(--cdb-primary)}.cdb-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;color:var(--cdb-text);vertical-align:middle}.cdb-table tbody tr:hover td{background:var(--cdb-primary-light)}.cdb-table tbody tr:last-child td{border-bottom:none}.cdb-table tbody tr.expanded-parent td{background:var(--cdb-primary-light);border-bottom:none}.cdb-table td .cell-display{cursor:pointer;transition:color .15s}.cdb-table td .cell-display:hover{color:var(--cdb-primary);text-decoration:underline dotted var(--cdb-primary)}.cdb-expanded-panel td{padding:0!important;background:#f8fafc!important}.cdb-expanded-inner{padding:14px 20px 18px;border-top:2px solid var(--cdb-primary);border-bottom:1px solid var(--cdb-border)}.cdb-expanded-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.cdb-expanded-title{font-size:13px;font-weight:700;color:var(--cdb-primary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cdb-expanded-actions{display:flex;gap:6px}.cdb-comp-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border-radius:var(--cdb-radius-sm);overflow:hidden;border:1px solid var(--cdb-border)}.cdb-comp-table th{padding:7px 10px;background:#f1f5f9;text-align:left;font-size:10px;font-weight:700;color:var(--cdb-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--cdb-border);white-space:nowrap}.cdb-comp-table td{padding:7px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.cdb-comp-table tr:last-child td{border-bottom:none}.cdb-comp-table tbody tr:hover td{background:#fafafa}.cdb-comp-table tfoot td{background:#f1f5f9;font-weight:700;font-size:12px;border-top:2px solid var(--cdb-border);color:var(--cdb-text)}.cdb-comp-table td input{padding:3px 7px;border:1px solid var(--cdb-border);border-radius:3px;font-size:12px;width:100%;outline:none;box-sizing:border-box;background:#fff;transition:border-color .15s}.cdb-comp-table td input:focus{border-color:var(--cdb-primary);box-shadow:0 0 0 2px #f973161a}.cdb-comp-table td select{padding:3px 6px;border:1px solid var(--cdb-border);border-radius:3px;font-size:12px;background:#fff;outline:none;cursor:pointer}.cdb-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;line-height:1.5}.cdb-badge-material{background:#dbeafe;color:#1d4ed8}.cdb-badge-labor{background:#dcfce7;color:#166534}.cdb-badge-equipment{background:#fef3c7;color:#92400e}.cdb-badge-synced{background:#f0fdf4;color:#15803d;border:1px solid #a7f3d0}.cdb-badge-modified{background:#fff7ed;color:#c2410c;border:1px solid #fdba74}.cdb-badge-div{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.cdb-badge-custom{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.cdb-div-pill{display:flex;flex-direction:column;line-height:1.25}.cdb-div-pill .div-num{font-weight:700;font-size:12px;color:var(--cdb-primary)}.cdb-div-pill .div-name{font-size:10px;color:var(--cdb-text-muted)}.cdb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.cdb-modal{background:var(--cdb-surface);border-radius:var(--cdb-radius);box-shadow:0 20px 60px #0003;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;animation:cdb-modalIn .2s ease}.cdb-modal-lg{max-width:980px}.cdb-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid var(--cdb-border);position:sticky;top:0;background:var(--cdb-surface);z-index:1}.cdb-modal-title{font-size:16px;font-weight:700;margin:0}.cdb-modal-subtitle{font-size:12px;color:var(--cdb-text-muted);margin:3px 0 0}.cdb-modal-body{padding:20px 24px}.cdb-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--cdb-border);background:#f8fafc;position:sticky;bottom:0}@keyframes cdb-modalIn{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cdb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cdb-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.cdb-form-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cdb-form-full{grid-column:1 / -1}.cdb-form-group{display:flex;flex-direction:column;gap:5px}.cdb-form-label{font-size:12px;font-weight:600;color:var(--cdb-text)}.cdb-form-input,.cdb-form-select,.cdb-form-textarea{padding:8px 10px;border:1px solid var(--cdb-border);border-radius:var(--cdb-radius-sm);font-size:13px;outline:none;width:100%;background:var(--cdb-bg);color:var(--cdb-text);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.cdb-form-input:focus,.cdb-form-select:focus,.cdb-form-textarea:focus{border-color:var(--cdb-primary);box-shadow:0 0 0 3px #f973161a}.cdb-form-textarea{resize:vertical;min-height:60px}.cdb-div-preview{padding:4px 8px;background:var(--cdb-primary-light);border:1px solid rgba(249,115,22,.3);border-radius:4px;font-size:11px;color:var(--cdb-primary);font-weight:600;margin-top:4px}.cdb-totals-box{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 16px;background:var(--cdb-bg);border:1px solid var(--cdb-border);border-radius:var(--cdb-radius-sm);margin-top:14px}.cdb-totals-box .tot-label{font-size:10px;color:var(--cdb-text-muted);text-transform:uppercase;letter-spacing:.04em}.cdb-totals-box .tot-value{font-size:16px;font-weight:700;color:var(--cdb-primary);margin-top:2px}.cdb-totals-box .tot-grand .tot-label{color:var(--cdb-text)}.cdb-totals-box .tot-grand .tot-value{font-size:20px;color:var(--cdb-text)}.cdb-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--cdb-surface);border-top:1px solid var(--cdb-border);font-size:12px;color:var(--cdb-text-muted);flex-wrap:wrap;gap:8px;flex-shrink:0}.cdb-pagination-btns{display:flex;gap:4px}.cdb-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--cdb-border);border-radius:var(--cdb-radius-sm);background:var(--cdb-surface);font-size:12px;cursor:pointer;transition:all .15s;color:var(--cdb-text)}.cdb-page-btn:hover:not(:disabled){background:var(--cdb-primary-light);border-color:var(--cdb-primary);color:var(--cdb-primary)}.cdb-page-btn.active{background:var(--cdb-primary);color:#fff;border-color:var(--cdb-primary);font-weight:700}.cdb-page-btn:disabled{opacity:.4;cursor:not-allowed}.cdb-empty{text-align:center;padding:52px 24px;color:var(--cdb-text-muted)}.cdb-empty-icon{font-size:42px;margin-bottom:12px}.cdb-empty h3{font-size:15px;font-weight:600;color:var(--cdb-text);margin:0 0 6px}.cdb-empty p{font-size:13px;margin:0}.cdb-loading-row td{padding:12px}.cdb-skeleton{height:13px;border-radius:4px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:cdb-shimmer 1.4s infinite}@keyframes cdb-shimmer{to{background-position:-200% 0}}@media (max-width: 900px){.cdb-header{flex-direction:column;align-items:flex-start}.cdb-header-right{width:100%}.cdb-stats-bar{gap:14px}}@media (max-width: 768px){.cdb-form-grid,.cdb-form-grid-3,.cdb-form-grid-4,.cdb-totals-box{grid-template-columns:1fr 1fr}.cdb-modal{max-width:100%;border-radius:var(--cdb-radius-sm)}.cdb-tabs{padding:0 12px;overflow-x:auto}.cdb-tab{padding:10px 14px;font-size:12px}}@media (max-width: 480px){.cdb-form-grid,.cdb-form-grid-3,.cdb-form-grid-4{grid-template-columns:1fr}.cdb-totals-box{grid-template-columns:1fr 1fr}.cdb-toolbar{flex-direction:column;align-items:flex-start}.cdb-toolbar-right{margin-left:0;width:100%}.cdb-filter-row{flex-direction:column}.cdb-search-wrap{width:100%}}.cdb-control-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--cdb-surface);border-bottom:1px solid var(--cdb-border);flex-shrink:0;gap:12px;flex-wrap:wrap}.cdb-control-left{display:flex;align-items:center;gap:10px}.cdb-control-right{display:flex;align-items:center;gap:10px;margin-left:auto}@media (max-width: 520px){.cdb-control-bar{flex-direction:column;align-items:flex-start}.cdb-control-right{margin-left:0;width:100%}.cdb-sync-btn{width:100%;justify-content:center}}.cas-root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:#1e293b;position:relative}.cas-toast{position:fixed;top:20px;right:24px;z-index:9999;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000026;animation:cas-slide-in .25s ease;max-width:380px}.cas-toast--success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.cas-toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}@keyframes cas-slide-in{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.cas-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.cas-header-left{display:flex;align-items:center;gap:10px}.cas-header-icon{color:#f97316;flex-shrink:0}.cas-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 2px}.cas-subtitle{font-size:12px;color:#64748b;margin:0}.cas-header-actions{display:flex;gap:8px;flex-wrap:wrap}.cas-stats{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}.cas-stat{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 18px;display:flex;flex-direction:column;align-items:center;min-width:78px}.cas-stat-val{font-size:20px;font-weight:700;color:#0f172a}.cas-stat-val--blue{color:#3b82f6}.cas-stat-val--purple{color:#8b5cf6}.cas-stat-val--orange{color:#f59e0b}.cas-stat-lbl{font-size:11px;color:#64748b;margin-top:2px}.cas-toolbar{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.cas-search-wrap{position:relative;flex:1;min-width:200px}.cas-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.cas-search{width:100%;padding:7px 32px;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;outline:none;background:#fff;box-sizing:border-box;transition:border-color .15s}.cas-search:focus{border-color:#f97316}.cas-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px;display:inline-flex;align-items:center}.cas-filter-select{padding:7px 10px;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;background:#fff;outline:none;color:#374151;min-width:190px}.cas-filter-select:focus{border-color:#f97316}.cas-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s;white-space:nowrap}.cas-btn:disabled{opacity:.55;cursor:not-allowed}.cas-btn--primary{background:#f97316;color:#fff}.cas-btn--primary:hover:not(:disabled){background:#ea6c0a}.cas-btn--sync{background:#f1f5f9;color:#374151;border:1px solid #e2e8f0}.cas-btn--sync:hover:not(:disabled){background:#e2e8f0}.cas-btn--ghost{background:#f8fafc;color:#374151;border:1px solid #e2e8f0}.cas-btn--ghost:hover:not(:disabled){background:#e2e8f0}.cas-btn--danger{background:#ef4444;color:#fff}.cas-btn--danger:hover:not(:disabled){background:#dc2626}.cas-table-outer{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.cas-table-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.cas-table{width:100%;min-width:860px;border-collapse:collapse;font-size:13px;table-layout:fixed}.cas-table thead th:nth-child(1){width:32px}.cas-table thead th:nth-child(2){width:90px}.cas-table thead th:nth-child(3){min-width:220px}.cas-table thead th:nth-child(4){width:200px}.cas-table thead th:nth-child(5){width:55px}.cas-table thead th:nth-child(6){width:100px}.cas-table thead th:nth-child(7){width:100px}.cas-table thead th:nth-child(8){width:100px}.cas-table thead th:nth-child(9){width:80px}.cas-table thead th:nth-child(10){width:80px}.cas-table thead th:nth-child(11){width:120px}.cas-th--sticky,.cas-td--sticky{position:sticky;left:0;background:inherit;z-index:2}.cas-th--sticky-2,.cas-td--sticky-2{position:sticky;left:32px;background:inherit;z-index:2}thead .cas-th--sticky,thead .cas-th--sticky-2{z-index:3}.cas-th{background:#f8fafc;padding:9px 10px;text-align:left;font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;white-space:nowrap;-webkit-user-select:none;user-select:none}.cas-th--sortable{cursor:pointer}.cas-th--sortable:hover{color:#f97316}.cas-th--num{text-align:right}.cas-th--exp{width:32px;padding:9px 6px}.cas-th--name{min-width:180px}.cas-sort-inactive{opacity:.35}.cas-tr{transition:background .12s}.cas-tr:hover{background:#f8fafc}.cas-tr--expanded{background:#fff4ed}.cas-tr--expanded:hover{background:#ffe8d5}.cas-td{padding:9px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cas-td--exp{text-align:center;width:32px;padding:9px 6px}.cas-td--code{font-size:12px;color:#f97316;font-weight:600;white-space:nowrap}.cas-td--name{max-width:240px}.cas-asm-name{font-weight:500;color:#0f172a}.cas-td-sub{font-size:11px;color:#94a3b8;margin:2px 0 0}.cas-td--num{text-align:right}.cas-td--total{font-weight:600;color:#0f172a}.cas-td--div{white-space:normal;overflow:visible}.cas-muted{color:#94a3b8;font-style:italic}.cas-div-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#374151}.cas-div-label{color:#f97316;font-weight:500}.cas-unit-badge{background:#fff7ed;color:#c2560a;border:1px solid #fed7aa;padding:1px 7px;border-radius:9px;font-size:11px;font-weight:600}.cas-source-badge{padding:2px 8px;border-radius:9px;font-size:11px;font-weight:600}.cas-source-badge--master{background:#fff7ed;color:#c2560a;border:1px solid #fed7aa}.cas-source-badge--custom{background:#ffedd5;color:#9a3412;border:1px solid #fdba74}.cas-modified-badge{margin-left:5px;padding:1px 6px;border-radius:8px;font-size:10px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.cas-div-stack{display:flex;flex-direction:column;gap:1px;line-height:1.3}.cas-div-code{font-size:12px;font-weight:700;color:#f97316}.cas-div-name{font-size:10px;color:#94a3b8;text-transform:lowercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cas-expand-btn{background:none;border:none;cursor:pointer;color:#64748b;padding:3px;border-radius:4px;display:inline-flex;align-items:center;transition:color .12s}.cas-expand-btn:hover{color:#f97316}.cas-action-btn{background:none;border:none;cursor:pointer;padding:4px 5px;border-radius:5px;display:inline-flex;align-items:center;transition:background .12s,color .12s;margin:0 1px}.cas-action-btn--view{color:#64748b}.cas-action-btn--view:hover{background:#f0f9ff;color:#0ea5e9}.cas-action-btn--view-active{color:#0ea5e9;background:#e0f2fe}.cas-action-btn--edit{color:#64748b}.cas-action-btn--edit:hover{background:#f0fdf4;color:#16a34a}.cas-action-btn--history{color:#64748b}.cas-action-btn--history:hover{background:#fff7ed;color:#f97316}.cas-action-btn--delete{color:#64748b}.cas-action-btn--delete:hover{background:#fff1f2;color:#ef4444}.cas-tfoot-row{background:#f8fafc}.cas-tfoot-label{padding:8px 10px;font-size:12px;color:#64748b;font-weight:500}.cas-tfoot-num{padding:8px 10px;text-align:right;font-size:12px;font-weight:600;color:#0f172a}.cas-tfoot-right{padding:8px 10px;text-align:right}.cas-page-btn{padding:4px 10px;font-size:12px;border:1px solid #e2e8f0;border-radius:5px;background:#fff;cursor:pointer;color:#374151;margin-left:4px}.cas-page-btn:disabled{opacity:.4;cursor:not-allowed}.cas-page-btn:hover:not(:disabled){background:#f1f5f9}.cas-page-info{font-size:12px;color:#64748b;margin:0 6px}.cas-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:40px;color:#64748b}.cas-spinner{width:22px;height:22px;border-radius:50%;border:3px solid #e2e8f0;border-top-color:#f97316;animation:cas-spin .7s linear infinite}@keyframes cas-spin{to{transform:rotate(360deg)}}.cas-empty{display:flex;flex-direction:column;align-items:center;padding:50px 20px;gap:10px}.cas-empty-title{font-size:15px;font-weight:600;color:#374151;margin:0}.cas-empty-sub{font-size:13px;color:#94a3b8;margin:0}.cas-tr-detail>.cas-td-detail{padding:0!important;background:#fffaf7}.cas-detail-panel{padding:12px 16px 16px;border-top:2px solid #fed7aa}.cas-detail-header{margin-bottom:10px;font-size:12px;font-weight:600;color:#c2560a;display:flex;align-items:center;gap:6px}.cas-detail-code{color:#f97316;margin-right:6px}.cas-detail-div{color:#94a3b8;font-weight:400}.cas-detail-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;padding:8px 0}.cas-spinner-sm{width:14px;height:14px;border-radius:50%;border:2px solid #e2e8f0;border-top-color:#f97316;animation:cas-spin .7s linear infinite;flex-shrink:0}.cas-detail-empty{font-size:12px;color:#94a3b8;margin:6px 0;font-style:italic}.cas-comp-view-wrap{overflow-x:auto;border-radius:7px;border:1px solid #ffedd5}.cas-comp-view-table{width:100%;border-collapse:collapse;font-size:12px;min-width:700px}.cas-comp-view-table th{background:#fff7ed;padding:6px 10px;text-align:left;font-size:11px;font-weight:600;color:#c2560a;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #fed7aa;white-space:nowrap}.cas-comp-view-table th.cas-th--num{text-align:right}.cas-comp-view-table td{padding:6px 10px;border-bottom:1px solid #ffedd5;color:#1e293b}.cas-comp-view-table td.cas-td--num{text-align:right}.cas-comp-view-table td.cas-td--total{text-align:right;font-weight:600;color:#c2560a}.cas-comp-view-table tbody tr:last-child td{border-bottom:none}.cas-comp-view-table tbody tr:hover{background:#fff4ed}.cas-type-badge{padding:2px 8px;border-radius:9px;font-size:10px;font-weight:600;text-transform:capitalize}.cas-type-badge--material{background:#dcfce7;color:#166534}.cas-type-badge--labor{background:#dbeafe;color:#1e40af}.cas-type-badge--equipment{background:#fff7ed;color:#9a3412}.cas-linked-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#f97316;font-weight:500}.cas-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;box-sizing:border-box}.cas-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;width:100%;box-sizing:border-box}.cas-modal--sm{max-width:420px}.cas-modal--md{max-width:680px}.cas-modal--wide{max-width:88vw;width:88vw}.cas-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.cas-modal-title{font-size:14px;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:7px}.cas-modal-close{background:none;border:none;cursor:pointer;color:#64748b;padding:4px;border-radius:5px;display:inline-flex;transition:color .12s}.cas-modal-close:hover{color:#ef4444}.cas-modal-body{padding:16px;overflow-y:auto;overflow-x:hidden;flex:1;box-sizing:border-box}.cas-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.cas-form-row-name{display:flex;gap:12px;margin-bottom:12px;align-items:flex-end}.cas-form-group--name{flex:1;min-width:0}.cas-form-group--base-unit{flex:0 0 120px;min-width:100px}.cas-form-group--base-unit .cas-select{width:100%}.cas-form-row-meta{display:grid;grid-template-columns:150px 1fr 1fr;gap:12px;margin-bottom:12px;align-items:end}.cas-form-group{display:flex;flex-direction:column;gap:4px}.cas-label{font-size:12px;font-weight:600;color:#374151}.cas-req{color:#ef4444}.cas-input,.cas-select{padding:7px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;outline:none;background:#fff;color:#0f172a;box-sizing:border-box;width:100%;transition:border-color .15s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cas-input:focus,.cas-select:focus{border-color:#f97316}.cas-textarea{padding:7px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;outline:none;background:#fff;color:#0f172a;resize:vertical;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;box-sizing:border-box;transition:border-color .15s}.cas-textarea:focus{border-color:#f97316}.cas-form-error{display:flex;align-items:center;gap:6px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:12px}.cas-section-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase}.cas-section-divider:before,.cas-section-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.cas-comp-table-wrap{overflow-x:auto;overflow-y:visible;border:1px solid #e2e8f0;border-radius:8px;width:100%;box-sizing:border-box}.cas-comp-table{width:100%;min-width:960px;border-collapse:collapse;font-size:11px;table-layout:fixed}.cas-comp-table thead th:nth-child(1){width:165px}.cas-comp-table thead th:nth-child(2){width:150px}.cas-comp-table thead th:nth-child(3){width:82px}.cas-comp-table thead th:nth-child(4){width:48px}.cas-comp-table thead th:nth-child(5){width:50px}.cas-comp-table thead th:nth-child(6){width:72px}.cas-comp-table thead th:nth-child(7){width:72px}.cas-comp-table thead th:nth-child(8){width:82px}.cas-comp-table thead th:nth-child(9){width:52px}.cas-comp-table thead th:nth-child(10){width:85px}.cas-comp-table thead th:nth-child(11){width:26px}.cas-comp-th{background:#f8fafc;padding:5px 6px;text-align:left;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0;white-space:nowrap;overflow:hidden}.cas-td--actions{text-align:center;white-space:nowrap;width:180px;min-width:180px;padding:6px 10px}.cas-th--actions{text-align:center;width:180px;min-width:180px}.cas-comp-th--num{text-align:right}.cas-comp-th--del{text-align:center}.cas-comp-row:hover{background:#f8fafc}.cas-comp-td{padding:4px 5px;border-bottom:1px solid #f1f5f9;vertical-align:middle;overflow:hidden;box-sizing:border-box}.cas-comp-td--num{text-align:right}.cas-comp-td--total{text-align:right;font-weight:600;color:#0f172a;white-space:nowrap}.cas-comp-td--del{text-align:center}.cas-comp-td--picker{overflow:visible}.cas-comp-input{width:100%;padding:3px 5px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;outline:none;background:#fff;box-sizing:border-box;transition:border-color .12s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cas-comp-input:focus{border-color:#f97316}.cas-comp-input--num{text-align:right}.cas-comp-select{width:100%;padding:3px 4px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;outline:none;background:#fff;color:#0f172a;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cas-comp-select:focus{border-color:#f97316}.cas-comp-del-btn{background:none;border:none;cursor:pointer;color:#94a3b8;padding:3px;border-radius:4px;display:inline-flex;align-items:center;transition:color .12s,background .12s}.cas-comp-del-btn:hover{color:#ef4444;background:#fff1f2}.cas-comp-add-cell{padding:7px 5px}.cas-add-row-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px dashed #cbd5e1;border-radius:6px;background:none;cursor:pointer;color:#64748b;font-size:12px;transition:border-color .12s,color .12s}.cas-add-row-btn:hover{border-color:#f97316;color:#f97316}.cas-comp-grand-total{padding:8px 8px 8px 6px;text-align:right;font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap;border-left:1px solid #e2e8f0}.cas-matpicker{position:relative;width:100%}.cas-matpicker-trigger{display:flex;align-items:center;gap:4px;width:100%;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;cursor:pointer;min-height:26px;box-sizing:border-box;transition:border-color .12s;overflow:hidden}.cas-matpicker-trigger:hover{border-color:#fdba74}.cas-matpicker-trigger--set{border-color:#fdba74;background:#fff7ed}.cas-matpicker-icon{color:#f97316;flex-shrink:0}.cas-matpicker-chevron{color:#94a3b8;flex-shrink:0}.cas-matpicker-label{font-size:11px;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#374151;min-width:0}.cas-matpicker-placeholder{color:#94a3b8;font-style:italic}.cas-matpicker-linked{display:inline-flex;align-items:center;gap:3px;color:#ea6c0a;font-size:11px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cas-matpicker-clear{background:none;border:none;cursor:pointer;color:#94a3b8;padding:1px;border-radius:3px;display:inline-flex;flex-shrink:0;transition:color .12s}.cas-matpicker-clear:hover{color:#ef4444}.cas-matpicker-dropdown{position:fixed;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 28px #00000024;min-width:300px}.cas-matpicker-search-wrap{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid #f1f5f9}.cas-matpicker-search-icon{color:#94a3b8;flex-shrink:0}.cas-matpicker-search{flex:1;border:none;outline:none;font-size:12px;color:#0f172a;background:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cas-matpicker-search-clear{background:none;border:none;cursor:pointer;color:#94a3b8;padding:1px;border-radius:3px;display:inline-flex;flex-shrink:0}.cas-matpicker-search-clear:hover{color:#ef4444}.cas-matpicker-count{padding:3px 10px;font-size:10px;color:#94a3b8;border-bottom:1px solid #f1f5f9;min-height:18px}.cas-matpicker-list{max-height:240px;overflow-y:auto}.cas-matpicker-state{padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;color:#64748b;line-height:1.6}.cas-matpicker-state--error{color:#dc2626}.cas-matpicker-state--empty{color:#94a3b8}.cas-matpicker-hint{font-size:11px;color:#94a3b8;display:block;margin-top:4px}.cas-matpicker-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #e2e8f0;border-top-color:#f97316;animation:cas-spin .6s linear infinite}.cas-matpicker-item{display:grid;grid-template-columns:90px 1fr 36px 58px;gap:6px;padding:7px 10px;cursor:pointer;align-items:center;font-size:12px;transition:background .1s}.cas-matpicker-item:hover{background:#fff7ed}.cas-matpicker-item-code{font-size:11px;color:#f97316;font-weight:600}.cas-matpicker-item-name{font-size:12px;color:#0f172a;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cas-matpicker-item-unit{font-size:11px;color:#64748b;text-align:center}.cas-matpicker-item-cost{font-size:11px;color:#059669;font-weight:600;text-align:right}.cas-matpicker-footer{padding:5px 10px;font-size:10px;color:#94a3b8;border-top:1px solid #f1f5f9;text-align:center;font-style:italic}.cas-history-table{width:100%;border-collapse:collapse;font-size:12px}.cas-history-table th{padding:7px 10px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:600;color:#475569;text-transform:uppercase}.cas-history-table td{padding:7px 10px;border-bottom:1px solid #f1f5f9}.cas-history-empty{color:#94a3b8;font-style:italic;text-align:center;padding:20px}.cas-history-summary{cursor:pointer;color:#f97316;font-size:11px;display:inline-flex;align-items:center;gap:4px}.cas-history-pre{background:#f8fafc;border-radius:5px;padding:8px;font-size:10px;max-height:120px;overflow-y:auto;margin:6px 0 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cas-action-badge{padding:2px 7px;border-radius:8px;font-size:10px;font-weight:700}.cas-action-badge--create{background:#dcfce7;color:#166534}.cas-action-badge--update{background:#fff7ed;color:#c2560a}.cas-action-badge--delete{background:#fef2f2;color:#991b1b}.cas-delete-msg{font-size:13px;color:#374151;line-height:1.6}.cas-spin{animation:cas-spin .7s linear infinite}@media (max-width:700px){.cas-form-row-name{flex-direction:column}.cas-form-row-meta{grid-template-columns:1fr}.cas-form-group--base-unit{flex:unset;width:100%}.cas-modal--wide{max-width:100%;width:100%}.cas-stats{gap:8px}.cas-stat{padding:8px 12px;min-width:60px}}.cms-root{position:relative;display:flex;flex-direction:column;gap:14px;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:#1e293b}.cms-toast{position:fixed;top:16px;right:16px;z-index:9999;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:0 4px 20px #00000026;animation:cms-slide-in .22s ease}.cms-toast--success{background:#16a34a;color:#fff}.cms-toast--error{background:#dc2626;color:#fff}@keyframes cms-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.cms-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.cms-header-left{display:flex;align-items:flex-start;gap:10px}.cms-header-icon{color:#3b82f6;margin-top:2px;flex-shrink:0}.cms-title{margin:0;font-size:15px;font-weight:700;color:#0f172a}.cms-subtitle{margin:2px 0 0;font-size:11.5px;color:#64748b}.cms-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cms-stats{display:flex;gap:16px;flex-wrap:wrap}.cms-stat{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 16px;min-width:72px}.cms-stat-val{font-size:18px;font-weight:700;color:#1e293b}.cms-stat-val--blue{color:#3b82f6}.cms-stat-val--purple{color:#7c3aed}.cms-stat-val--orange{color:#ea580c}.cms-stat-val--amber{color:#d97706}.cms-stat-lbl{font-size:10.5px;color:#94a3b8;margin-top:1px}.cms-search-wrap{position:relative;max-width:420px}.cms-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.cms-search{width:100%;padding:7px 32px 7px 30px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;outline:none;background:#fff;box-sizing:border-box}.cms-search:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f620}.cms-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px}.cms-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:7px;font-size:12.5px;font-weight:600;cursor:pointer;border:none;transition:background .15s,opacity .15s}.cms-btn:disabled{opacity:.55;cursor:not-allowed}.cms-btn--primary{background:#3b82f6;color:#fff}.cms-btn--primary:hover:not(:disabled){background:#2563eb}.cms-btn--sync{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.cms-btn--sync:hover:not(:disabled){background:#e2e8f0}.cms-btn--ghost{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.cms-btn--ghost:hover{background:#e2e8f0}.cms-btn--danger{background:#dc2626;color:#fff}.cms-btn--danger:hover{background:#b91c1c}.cms-btn--auto{padding:5px 9px;font-size:11.5px;background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe;border-radius:6px;white-space:nowrap;flex-shrink:0}.cms-btn--auto:hover{background:#dbeafe}.cms-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0}.cms-table{width:100%;border-collapse:collapse;font-size:12.5px}.cms-th{padding:9px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.cms-th--num{text-align:right}.cms-th--actions{text-align:center;width:72px}.cms-tr{transition:background .1s}.cms-tr:hover{background:#f0f9ff}.cms-tr--expanded{background:#eff6ff}.cms-td{padding:8px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.cms-td--code{font-family:monospace;font-weight:600;color:#3b82f6;white-space:nowrap}.cms-td--name{display:flex;align-items:center;gap:5px;font-weight:500}.cms-td--num{text-align:right;font-variant-numeric:tabular-nums}.cms-td--actions{text-align:center;white-space:nowrap}.cms-expand-btn{background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px;line-height:0;flex-shrink:0}.cms-expand-btn:hover{color:#3b82f6}.cms-tr-detail td{background:#f0f9ff;padding:6px 16px 8px}.cms-detail-panel{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#475569}.cms-detail-item{display:flex;align-items:center;gap:4px}.cms-detail-synced{color:#16a34a;font-weight:500}.cms-unit-badge{display:inline-block;padding:2px 7px;background:#f1f5f9;border-radius:5px;font-size:11px;font-weight:600;color:#475569}.cms-source-badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:11px;font-weight:600}.cms-source-badge--master{background:#dbeafe;color:#1d4ed8}.cms-source-badge--custom{background:#f3e8ff;color:#6d28d9}.cms-modified-badge{display:inline-block;margin-left:4px;padding:1px 5px;background:#fff7ed;color:#c2410c;border-radius:4px;font-size:10px;font-weight:600}.cms-tfoot-row{background:#f8fafc}.cms-tfoot-label{padding:7px 12px;font-size:11px;color:#94a3b8}.cms-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 0;color:#94a3b8;font-size:13px}.cms-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:cms-spin .7s linear infinite}@keyframes cms-spin{to{transform:rotate(360deg)}}.cms-spin{animation:cms-spin .7s linear infinite}.cms-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 0;color:#94a3b8}.cms-empty-title{font-size:14px;font-weight:600;color:#64748b;margin:0}.cms-empty-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12.5px;text-decoration:underline}.cms-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.cms-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;width:100%;max-width:680px;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}.cms-modal--sm{max-width:380px}.cms-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #f1f5f9}.cms-modal-title{display:flex;align-items:center;gap:7px;margin:0;font-size:15px;font-weight:700;color:#0f172a}.cms-modal-title-icon{color:#3b82f6}.cms-modal-close{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:6px;line-height:0}.cms-modal-close:hover{background:#f1f5f9;color:#475569}.cms-modal-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.cms-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f1f5f9;background:#f8fafc}.cms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cms-form-group{display:flex;flex-direction:column;gap:4px}.cms-form-group--full{grid-column:1 / -1}.cms-label{font-size:11.5px;font-weight:600;color:#475569}.cms-required{color:#ef4444;margin-left:2px}.cms-input{padding:8px 11px;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.cms-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f620}.cms-input--code{font-family:monospace;font-weight:600;color:#1d4ed8}.cms-code-input-wrap{display:flex;gap:6px;align-items:center}.cms-code-input-wrap .cms-input{flex:1}.cms-code-hint{font-size:10.5px;color:#94a3b8;margin-top:1px}.cms-select{padding:8px 11px;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;outline:none;background:#fff;width:100%;box-sizing:border-box}.cms-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f620}.cms-cost-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cms-cost-input-wrap{position:relative;display:flex;align-items:center}.cms-cost-prefix{position:absolute;left:9px;color:#94a3b8;font-size:13px;pointer-events:none}.cms-input--cost{padding-left:20px}.cms-section-divider{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:2px 0}.cms-section-divider:before,.cms-section-divider:after{content:"";flex:1;height:1px;background:#f1f5f9}.cms-checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;color:#475569}.cms-checkbox{width:14px;height:14px;accent-color:#3b82f6;cursor:pointer}.cms-form-error{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;color:#dc2626;font-size:12.5px}.cms-delete-msg{font-size:13px;color:#475569;line-height:1.6;margin:0}.cms-code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:11.5px}.cms-action-btn{background:none;border:none;cursor:pointer;padding:5px;border-radius:6px;line-height:0;transition:background .12s,color .12s}.cms-action-btn--edit{color:#3b82f6}.cms-action-btn--edit:hover{background:#dbeafe}.cms-action-btn--delete{color:#ef4444}.cms-action-btn--delete:hover{background:#fee2e2}.dir-root{display:flex;min-height:100vh;background:#f8fafc;font-family:Inter,system-ui,sans-serif}.dir-sidebar{width:260px;min-height:100vh;background:#0f172a;display:flex;flex-direction:column;position:sticky;top:0;flex-shrink:0;transition:width .22s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:20}.dir-sidebar--collapsed{width:64px}.dir-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 14px 14px;border-bottom:1px solid rgba(255,255,255,.07);min-height:60px}.dir-sidebar-brand{display:flex;align-items:center;gap:10px;overflow:hidden}.dir-sidebar-brand-icon{font-size:20px;flex-shrink:0}.dir-sidebar-brand-name{font-size:16px;font-weight:700;color:#f1f5f9;white-space:nowrap;letter-spacing:-.01em}.dir-sidebar-collapse-btn{background:#ffffff14;border:none;color:#94a3b8;border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.dir-sidebar-collapse-btn:hover{background:#ffffff26;color:#f1f5f9}.dir-sidebar-back{display:flex;align-items:center;gap:10px;padding:10px 14px;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:13px;width:100%;text-align:left;transition:background .15s,color .15s;border-radius:0;white-space:nowrap;overflow:hidden}.dir-sidebar-back:hover{background:#ffffff0f;color:#cbd5e1}.dir-sidebar-divider{height:1px;background:#ffffff12;margin:4px 0}.dir-sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px;flex:1}.dir-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px;background:none;border:none;border-radius:10px;color:#94a3b8;cursor:pointer;font-size:13px;width:100%;text-align:left;transition:background .15s,color .15s;position:relative;white-space:nowrap;overflow:hidden}.dir-sidebar-item:hover{background:#ffffff12;color:#e2e8f0}.dir-sidebar-item--active{background:#6366f12e;color:#a5b4fc}.dir-sidebar-item--active:hover{background:#6366f13d}.dir-sidebar-item-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center;line-height:1}.dir-sidebar-item-text{display:flex;flex-direction:column;flex:1;min-width:0}.dir-sidebar-item-label{font-size:13px;font-weight:600;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dir-sidebar-item-desc{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.dir-sidebar-item--active .dir-sidebar-item-desc{color:#818cf8}.dir-sidebar-badge{background:#ffffff1a;color:#94a3b8;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700;flex-shrink:0;min-width:20px;text-align:center}.dir-sidebar-badge--active{background:#6366f159;color:#a5b4fc}.dir-sidebar-footer{display:flex;justify-content:space-around;padding:14px 10px;border-top:1px solid rgba(255,255,255,.07);gap:4px}.dir-sidebar-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.dir-sidebar-stat-value{font-size:18px;font-weight:700;color:#f1f5f9}.dir-sidebar-stat-label{font-size:10px;color:#64748b;text-align:center;white-space:nowrap}.dir-main{flex:1;display:flex;flex-direction:column;min-width:0}.dir-topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.dir-topbar-left{display:flex;align-items:center;gap:14px}.dir-topbar-icon{font-size:28px;line-height:1}.dir-topbar-title{margin:0;font-size:20px;font-weight:700;color:#1e293b;line-height:1.2}.dir-topbar-subtitle{margin:2px 0 0;font-size:13px;color:#64748b}.dir-topbar-right{display:flex;align-items:center;gap:10px}.dir-filter-bar{display:flex;gap:10px;padding:12px 28px;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;flex-wrap:wrap}.dir-search-wrap{position:relative;display:flex;align-items:center;flex:1;max-width:340px}.dir-search-icon{position:absolute;left:10px;font-size:14px;pointer-events:none}.dir-search-input{width:100%;padding:8px 36px 8px 32px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;background:#f8fafc;transition:border-color .15s,background .15s}.dir-search-input:focus{border-color:#6366f1;background:#fff}.dir-search-clear{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:#94a3b8;font-size:12px;padding:2px 4px}.dir-search-clear:hover{color:#475569}.dir-select-input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;background:#f8fafc;min-width:150px;transition:border-color .15s}.dir-select-input:focus{border-color:#6366f1}.dir-result-count{font-size:12px;color:#94a3b8;white-space:nowrap}.dir-api-hint{font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:4px}.dir-api-hint code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:11px;color:#475569}.dir-content{padding:24px 28px;flex:1}.dir-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px;color:#94a3b8}.dir-spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:dir-spin .7s linear infinite}@keyframes dir-spin{to{transform:rotate(360deg)}}.dir-empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px;color:#94a3b8;font-size:14px;text-align:center}.dir-empty-icon{font-size:40px;opacity:.5}.dir-cards-list{display:flex;flex-direction:column;gap:10px}.dir-org-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #6366f1;border-radius:12px;box-shadow:0 1px 4px #0000000d;position:relative;-webkit-user-select:none;user-select:none;transition:box-shadow .15s}.dir-org-card--expanded{border-left-color:#f97316;box-shadow:0 4px 16px #6366f11a}.dir-org-card--dragging{box-shadow:0 10px 30px #0000002e;z-index:99;opacity:.96}.dir-org-card-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:grab;border-radius:12px;background:#f8fafc;border-bottom:1px solid transparent;transition:border-color .15s}.dir-org-card--expanded .dir-org-card-header{border-bottom-color:#e2e8f0;border-radius:12px 12px 0 0}.dir-org-drag{font-size:18px;color:#cbd5e1;cursor:grab;flex-shrink:0}.dir-org-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;letter-spacing:.02em}.dir-org-header-info{display:flex;flex-direction:column;flex:1;min-width:0}.dir-org-name{font-weight:700;font-size:14px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dir-org-location{font-size:11px;color:#94a3b8;margin-top:2px}.dir-org-status-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}.dir-org-status-badge.active{background:#dcfce7;color:#15803d}.dir-org-status-badge.inactive{background:#f1f5f9;color:#64748b}.dir-org-member-chip{background:#eef2ff;border:none;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:600;color:#4f46e5;cursor:pointer;flex-shrink:0;transition:background .15s;white-space:nowrap}.dir-org-member-chip:hover{background:#e0e7ff}.dir-org-header-actions{display:flex;gap:4px;flex-shrink:0}.dir-org-card-body{padding:16px 18px;background:#fff;border-radius:0 0 12px 12px}.dir-entity-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #0ea5e9;border-radius:12px;box-shadow:0 1px 4px #0000000d;transition:box-shadow .15s}.dir-entity-card--expanded{box-shadow:0 4px 16px #0ea5e91a}.dir-entity-card-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f8fafc;border-radius:12px;border-bottom:1px solid transparent;transition:border-color .15s}.dir-entity-card--expanded .dir-entity-card-header{border-bottom-color:#e2e8f0;border-radius:12px 12px 0 0}.dir-entity-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;color:#fff;letter-spacing:.02em}.dir-avatar-company{background:linear-gradient(135deg,#0ea5e9,#38bdf8)}.dir-avatar-sub{background:linear-gradient(135deg,#f97316,#fb923c)}.dir-entity-header-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dir-entity-name{font-weight:700;font-size:14px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.dir-entity-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dir-entity-location{font-size:11px;color:#94a3b8}.dir-entity-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dir-entity-card-body{padding:16px 18px;background:#fff;border-radius:0 0 12px 12px}.dir-org-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.dir-org-detail-item{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#334155}.dir-org-detail-full{grid-column:1 / -1}.dir-detail-label{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.dir-link{color:#6366f1;text-decoration:none;word-break:break-all}.dir-link:hover{text-decoration:underline}.dir-status-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0;white-space:nowrap}.dir-status-badge.active{background:#dcfce7;color:#15803d}.dir-status-badge.inactive{background:#f1f5f9;color:#64748b}.dir-trade-badge{background:#ede9fe;color:#7c3aed;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap}.dir-specialty-badge{background:#e0f2fe;color:#0369a1;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap}.dir-license-badge{background:#f1f5f9;color:#475569;font-size:11px;padding:2px 8px;border-radius:6px;white-space:nowrap}.dir-rate-badge,.dir-preferred-inline{background:#fef9c3;color:#92400e;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap}.dir-member-chip{background:#eef2ff;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;color:#4f46e5;cursor:pointer;white-space:nowrap;transition:background .15s}.dir-member-chip:hover{background:#e0e7ff}.dir-icon-btn-sm{background:#f1f5f9;border:none;padding:5px 9px;border-radius:7px;cursor:pointer;font-size:13px;color:#475569;transition:background .15s,color .15s;flex-shrink:0}.dir-icon-btn-sm:hover{background:#e2e8f0}.dir-icon-btn-danger:hover{background:#fee2e2;color:#ef4444}.dir-expand-btn{font-size:11px;font-weight:700;color:#6366f1;background:#eef2ff}.dir-expand-btn:hover{background:#e0e7ff}.dir-stars{display:inline-flex;gap:1px}.dir-star-filled{color:#f59e0b;font-size:13px}.dir-star-empty{color:#e2e8f0;font-size:13px}.dir-btn-primary{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 20px;cursor:pointer;font-weight:600;font-size:14px;transition:background .15s;white-space:nowrap}.dir-btn-primary:hover{background:#4f46e5}.dir-btn-sm{padding:5px 12px;font-size:13px}.dir-btn-secondary{background:#f1f5f9;color:#475569;border:none;border-radius:8px;padding:8px 20px;cursor:pointer;font-size:14px;transition:background .15s}.dir-btn-secondary:hover{background:#e2e8f0}.dir-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dir-modal{background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 24px 64px #0000002e;overflow:hidden}.dir-modal-lg{max-width:640px}.dir-members-modal{max-width:560px}.dir-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.dir-modal-title-block{display:flex;flex-direction:column;gap:2px}.dir-modal-title{font-size:16px;font-weight:700;color:#1e293b}.dir-modal-subtitle{font-size:12px;color:#64748b}.dir-modal-section-title{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:-4px}.dir-modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:12px}.dir-modal-scroll{max-height:68vh;overflow-y:auto}.dir-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid #e2e8f0;background:#f8fafc}.dir-close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;padding:2px 6px;border-radius:6px;transition:background .15s,color .15s}.dir-close-btn:hover{background:#fee2e2;color:#ef4444}.dir-label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#475569;gap:4px}.dir-label-inline{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#475569;cursor:pointer}.dir-input{border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:14px;outline:none;width:100%;box-sizing:border-box;background:#f8fafc;transition:border-color .15s,background .15s;font-family:inherit}.dir-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.dir-textarea{height:72px;resize:vertical}.dir-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dir-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.dir-members-list{padding:16px 20px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.dir-member-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px;transition:background .12s}.dir-member-row:hover{background:#f8fafc}.dir-member-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);display:flex;align-items:center;justify-content:center;font-weight:700;color:#4f46e5;font-size:13px;flex-shrink:0}.dir-member-info{flex:1;min-width:0}.dir-member-name{font-weight:600;font-size:14px;color:#1e293b}.dir-member-meta{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}.dir-member-role-badge{background:#ede9fe;color:#7c3aed;font-size:10px;font-weight:600;padding:1px 7px;border-radius:6px}.dir-member-contact{font-size:12px;color:#64748b;margin-top:1px}.dir-member-actions{display:flex;gap:4px}:root{--pw-sidebar-w: 248px;--pw-topbar-h: 52px;--pw-orange: #f97316;--pw-orange-dark: #ea580c;--pw-blue: #2563eb;--pw-green: #22c55e;--pw-red: #ef4444;--pw-yellow: #f59e0b;--pw-sidebar-bg: #0f1623;--pw-sidebar-border: rgba(255,255,255,.07);--pw-sidebar-text: #94a3b8;--pw-sidebar-text-active: #f8fafc;--pw-content-bg: #f8fafc;--pw-card-bg: #ffffff;--pw-border: #e2e8f0;--pw-text: #1e293b;--pw-text-muted: #64748b;--pw-radius: 10px;--pw-shadow: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--pw-shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06)}.pw-root{min-height:100vh;background:var(--pw-content-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pw-root--with-sidebar{display:flex;min-height:100vh}.pw-workflow-sidebar{width:var(--pw-sidebar-w);min-width:var(--pw-sidebar-w);background:var(--pw-sidebar-bg);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;z-index:100;border-right:1px solid var(--pw-sidebar-border)}.pw-workflow-sidebar::-webkit-scrollbar{width:4px}.pw-workflow-sidebar::-webkit-scrollbar-track{background:transparent}.pw-workflow-sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.pw-sidebar-logo-block{padding:18px 16px 14px;border-bottom:1px solid var(--pw-sidebar-border);display:flex;align-items:center;flex-shrink:0}.pw-sidebar-logo{height:30px;max-width:160px;object-fit:contain}.pw-sidebar-project-block{padding:12px 16px;border-bottom:1px solid var(--pw-sidebar-border);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.pw-sidebar-project-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--pw-sidebar-text)}.pw-sidebar-project-name{font-size:13px;font-weight:700;color:#f1f5f9;line-height:1.35;word-break:break-word;max-width:100%}.pw-sidebar-project-num{font-size:10px;color:#64748b;font-weight:500;font-family:monospace}.pw-sidebar-project-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;width:fit-content;margin-top:2px}.pw-sidebar-user-block{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--pw-sidebar-border);flex-shrink:0}.pw-sidebar-user-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pw-sidebar-user-info{display:flex;flex-direction:column;min-width:0}.pw-sidebar-user-name{font-size:13px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1px}.pw-sidebar-user-role{font-size:11px;font-weight:500;color:#94a3b8;margin-top:2px}.pw-workflow-progress-card{display:flex;align-items:center;gap:10px;margin:10px 10px 4px;padding:10px 12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.07);flex-shrink:0}.pw-workflow-progress-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pw-workflow-progress-pct{position:absolute;font-size:10px;font-weight:700;color:#f97316}.pw-workflow-progress-info{display:flex;flex-direction:column;min-width:0}.pw-workflow-progress-label{font-size:9px;color:var(--pw-sidebar-text);text-transform:uppercase;letter-spacing:.5px}.pw-workflow-progress-stage{font-size:12px;font-weight:600;color:var(--pw-sidebar-text-active);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-workflow-user{display:flex;align-items:center;gap:10px;padding:16px 14px 12px;border-bottom:1px solid var(--pw-sidebar-border)}.pw-workflow-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pw-workflow-user-info{display:flex;flex-direction:column;min-width:0}.pw-workflow-user-name{font-size:12px;font-weight:600;color:var(--pw-sidebar-text-active);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-workflow-user-role{font-size:10px;color:var(--pw-sidebar-text);margin-top:1px}.pw-sidebar-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#475569;padding:8px 16px 4px;flex-shrink:0}.pw-sidebar-section-label--sm{font-size:9px;padding:0 0 6px}.pw-workflow-steps{display:flex;flex-direction:column;gap:2px;padding:4px 8px;flex:1}.pw-workflow-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .15s,color .15s;width:100%}.pw-workflow-step:hover:not(:disabled){background:#ffffff0f}.pw-workflow-step--active{background:#f973161f!important;border-left:3px solid #f97316;padding-left:7px}.pw-workflow-step--complete .pw-workflow-step-label{color:#94a3b8}.pw-workflow-step--active .pw-workflow-step-label{color:#f97316;font-weight:600}.pw-workflow-step--pending .pw-workflow-step-label,.pw-workflow-step--warning .pw-workflow-step-label{color:#64748b}.pw-workflow-step:disabled{opacity:.4;cursor:not-allowed}.pw-workflow-step-indicator{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0f}.pw-workflow-step--complete .pw-workflow-step-indicator{background:#22c55e26}.pw-workflow-step--complete .pw-workflow-step-icon{color:#22c55e;font-size:13px;font-weight:700}.pw-workflow-step--complete .pw-workflow-step-label{color:#64748b}.pw-workflow-step-number{font-size:11px;font-weight:600;color:#64748b}.pw-workflow-step--active .pw-workflow-step-number{color:#f97316}.pw-workflow-step-icon{font-size:11px}.pw-workflow-step-content{display:flex;flex-direction:column;min-width:0;flex:1}.pw-workflow-step-label{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pw-workflow-step-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:10px;background:#f9731633;color:#f97316;margin-top:2px;width:fit-content;text-transform:uppercase;letter-spacing:.3px}.pw-workflow-step-badge--locked{background:#64748b33;color:#94a3b8}.pw-workflow-next-action{padding:10px 10px 6px;border-top:1px solid var(--pw-sidebar-border);flex-shrink:0}.pw-next-action-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:7px}.pw-next-action-hint{font-size:10px;color:#64748b;line-height:1.4;margin:0}.pw-next-action-btn{border:none;border-radius:6px;padding:7px 12px;font-size:11px;font-weight:700;color:#fff;cursor:pointer;text-align:center;transition:opacity .15s}.pw-next-action-btn:hover{opacity:.85}.pw-workflow-home-btn{margin:8px 10px 14px;padding:8px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:#64748b;font-size:11px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s,color .15s;flex-shrink:0}.pw-workflow-home-btn:hover{background:#ffffff0d;color:#94a3b8}.pw-content-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--pw-content-bg)}.pw-topbar{height:var(--pw-topbar-h);background:#fff;border-bottom:1px solid var(--pw-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:50;box-shadow:var(--pw-shadow);gap:12px}.pw-topbar__breadcrumb{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.pw-topbar__right{flex-shrink:0}.pw-breadcrumb__name{font-size:14px;font-weight:700;color:var(--pw-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-breadcrumb__num{font-size:12px;color:var(--pw-text-muted);font-weight:500;white-space:nowrap}.pw-breadcrumb__status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.pw-main{flex:1;padding:24px;overflow-y:auto}.pw-overview{display:flex;flex-direction:column;gap:20px;max-width:100%;width:100%}.pw-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pw-page-title{font-size:22px;font-weight:800;color:var(--pw-text);margin:0}.pw-page-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.pw-stage-pill,.pw-type-pill,.pw-bid-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}.pw-stage-pill{background:#dbeafe;color:#1d4ed8}.pw-type-pill{background:#ede9fe;color:#6d28d9}.pw-bid-pill{background:#fef3c7;color:#92400e}.pw-page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pw-cost-banner{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.pw-cost-banner__item{background:var(--pw-card-bg);border:1px solid var(--pw-border);border-radius:var(--pw-radius);padding:14px 16px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--pw-shadow)}.pw-cost-banner__val{font-size:20px;font-weight:800;line-height:1}.pw-cost-banner__item small{font-size:11px;color:var(--pw-text-muted);font-weight:500}.pw-card{background:var(--pw-card-bg);border:1px solid var(--pw-border);border-radius:var(--pw-radius);box-shadow:var(--pw-shadow);overflow:hidden}.pw-card__hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-bottom:1px solid var(--pw-border);background:#fafafa}.pw-card__title{font-size:14px;font-weight:700;color:var(--pw-text)}.pw-info-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:16px 22px}.pw-info-item{padding:10px 12px 10px 0;border-bottom:1px solid #f1f5f9}.pw-info-item.pw--span2{grid-column:span 2}.pw-info-item.pw--span3{grid-column:span 3}.pw-info-item.pw--span5{grid-column:span 5}.pw-info-label{display:block;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.pw-info-value{font-size:13px;color:var(--pw-text);font-weight:500}.pw-muted{color:var(--pw-text-muted)}.pw-input,.pw-select,.pw-textarea{width:100%;padding:6px 10px;border:1.5px solid var(--pw-border);border-radius:6px;font-size:13px;color:var(--pw-text);background:#fff;outline:none;transition:border-color .15s;box-sizing:border-box}.pw-input:focus,.pw-select:focus,.pw-textarea:focus{border-color:#e86600}.pw-input.pw--sm{padding:4px 8px;font-size:12px}.pw-textarea{resize:vertical;min-height:60px}.pw-address-wrap{position:relative}.pw-address-drop{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--pw-border);border-radius:6px;box-shadow:var(--pw-shadow-md);z-index:100;max-height:200px;overflow-y:auto;list-style:none;margin:2px 0 0;padding:4px 0}.pw-address-drop li{padding:8px 12px;font-size:12px;color:var(--pw-text);cursor:pointer}.pw-address-drop li:hover{background:#f8fafc}.pw-addr-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}.pw-map-pin{margin-top:8px}.pw-map-link{display:inline-block;margin-top:6px;font-size:12px;color:#2563eb;text-decoration:none}.pw-map-link:hover{text-decoration:underline}.pw-doc-filter{display:flex;gap:4px}.pw-filter-btn{padding:4px 10px;border-radius:20px;border:1px solid var(--pw-border);background:transparent;font-size:11px;font-weight:600;color:var(--pw-text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.pw-filter-btn.active,.pw-filter-btn:hover{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.pw-doc-table{padding:0 22px 16px}.pw-doc-table__head{display:grid;grid-template-columns:1fr 120px 100px 80px;gap:8px;padding:8px 0;border-bottom:2px solid var(--pw-border);font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.pw-doc-table__row{display:grid;grid-template-columns:1fr 120px 100px 80px;gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9;align-items:center}.pw-doc-table__row:hover{background:#fafafa}.pw-upload-section{padding:16px 22px;border-top:1px solid var(--pw-border);background:#fafafa}.pw-dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;border:2px dashed var(--pw-border);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;background:#fff}.pw-dropzone:hover,.pw-dropzone.pw--dragging{border-color:#e86600;background:#fff7ed}.pw-dropzone--sm{padding:10px 16px;flex-direction:row}.pw-dropzone__icon{font-size:24px}.pw-dropzone__title{font-size:13px;font-weight:600;color:var(--pw-text)}.pw-dropzone__hint{font-size:11px;color:var(--pw-text-muted)}.pw-staged-files{margin-top:12px;display:flex;flex-direction:column;gap:6px}.pw-staged-file{display:flex;align-items:center;gap:8px;padding:7px 12px;background:#fff;border:1px solid var(--pw-border);border-radius:6px;font-size:12px}.pw-staged-file__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--pw-text)}.pw-staged-file__cat{padding:3px 8px;border:1px solid var(--pw-border);border-radius:5px;font-size:11px;background:#fff}.pw-staged-file__rm{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:2px;line-height:1}.pw-staged-file__rm:hover{color:var(--pw-red)}.pw-upload-actions{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--pw-border)}.pw-takeoff-stats{display:flex;gap:0;padding:14px 22px;border-bottom:1px solid var(--pw-border);background:#fafafa}.pw-takeoff-stat{display:flex;flex-direction:column;gap:2px;padding:0 20px 0 0;margin-right:20px;border-right:1px solid var(--pw-border)}.pw-takeoff-stat:last-child{border-right:none}.pw-takeoff-stat__val{font-size:18px;font-weight:800;line-height:1}.pw-takeoff-stat__lbl{font-size:10px;color:var(--pw-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.4px}.pw-takeoff-tbl-wrap{padding:0 22px;overflow-x:auto}.pw-takeoff-thead{display:grid;grid-template-columns:30px 1fr 90px 60px 60px 70px 70px 70px 80px 90px;gap:6px;padding:8px 0;border-bottom:2px solid var(--pw-border);font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}.pw-takeoff-row{display:grid;grid-template-columns:30px 1fr 90px 60px 60px 70px 70px 70px 80px 90px;gap:6px;padding:8px 0;border-bottom:1px solid #f1f5f9;align-items:center;font-size:12px}.pw-takeoff-row:hover{background:#fafafa}.pw-takeoff-row.pw--editing{background:#fffbf5}.pw-takeoff-row__idx{font-size:11px;color:#94a3b8;font-weight:600;text-align:center}.pw-takeoff-row__desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--pw-text)}.pw-code-chip{font-size:10px;font-family:monospace;background:#ede9fe;color:#6d28d9;padding:2px 6px;border-radius:4px;font-weight:600}.pw-cost-ok{color:#15803d;font-weight:700}.pw-cost-zero{color:#ef4444;font-weight:700}.pw-takeoff-total{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:#fafafa;border-top:2px solid var(--pw-border);margin-top:4px}.pw-takeoff-total__lbl{font-size:12px;font-weight:700;color:var(--pw-text-muted)}.pw-takeoff-total__sub{font-size:11px;color:#94a3b8;margin-top:2px}.pw-takeoff-total__val{font-size:22px;font-weight:800;color:#e86600}.pw-takeoff-total__note{font-size:11px;color:#94a3b8;text-align:right}.pw-takeoff-actions{display:flex;align-items:center;gap:10px;padding:12px 22px;border-top:1px solid var(--pw-border);background:#f8fafc}.pw-assignee-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pw-assignee-chip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;font-size:12px;font-weight:600;color:#1e40af}.pw-assignee-chip__av{width:22px;height:22px;border-radius:50%;background:#2563eb;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.pw-company-chip{padding:4px 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;font-size:12px;font-weight:600;color:#15803d}.pw-status-pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}.pw-btn-primary{padding:8px 16px;background:#e86600;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap}.pw-btn-primary:hover:not(:disabled){background:#d45d00}.pw-btn-primary:disabled{opacity:.5;cursor:not-allowed}.pw-btn-blue{padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.pw-btn-blue:hover:not(:disabled){background:#1d4ed8}.pw-btn-blue:disabled{opacity:.5;cursor:not-allowed}.pw-btn-ghost{padding:8px 14px;background:transparent;border:1px solid var(--pw-border);border-radius:8px;font-size:13px;font-weight:600;color:var(--pw-text-muted);cursor:pointer;transition:background .15s;white-space:nowrap}.pw-btn-ghost:hover{background:#f1f5f9}.pw-btn-outline{padding:8px 14px;background:transparent;border:1.5px solid #e86600;border-radius:8px;font-size:13px;font-weight:700;color:#e86600;cursor:pointer;transition:background .15s;white-space:nowrap}.pw-btn-outline:hover:not(:disabled){background:#fff7ed}.pw-btn-outline:disabled{opacity:.5;cursor:not-allowed}.pw-btn-danger{padding:4px 10px;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;font-size:11px;font-weight:700;color:#dc2626;cursor:pointer;transition:background .15s}.pw-btn-danger:hover{background:#fecaca}.pw-btn-edit{padding:4px 8px;background:#f1f5f9;border:1px solid var(--pw-border);border-radius:6px;font-size:12px;cursor:pointer}.pw-btn-edit:hover{background:#e2e8f0}.pw-btn-save{padding:4px 10px;background:#dcfce7;border:1px solid #86efac;border-radius:6px;font-size:12px;font-weight:700;color:#15803d;cursor:pointer}.pw-btn-save:hover{background:#bbf7d0}.pw-alert{padding:12px 16px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:10px}.pw-alert.pw--error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.pw-alert.pw--warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.pw-tab-pane{flex:1}.pw-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.pw-modal{background:#fff;border-radius:14px;width:520px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.pw-modal.pw--lg{width:680px}.pw-modal__hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--pw-border)}.pw-modal__title{font-size:16px;font-weight:700;color:var(--pw-text)}.pw-modal__close{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;padding:2px}.pw-modal__body{padding:20px;overflow-y:auto;flex:1}.pw-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--pw-border);background:#f8fafc}.pw-dir-list{display:flex;flex-direction:column;gap:4px}.pw-dir-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;border:1px solid var(--pw-border);cursor:pointer;transition:border-color .15s,background .15s}.pw-dir-item:hover{border-color:#e86600;background:#fff7ed}.pw-dir-item.pw--sel{border-color:#22c55e;background:#f0fdf4}.pw-dir-item__av{width:36px;height:36px;border-radius:50%;background:#e86600;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pw-dir-item__av.pw--co{background:#2563eb}.pw-dir-item__name{font-size:13px;font-weight:600;color:var(--pw-text)}.pw-dir-item__sub{font-size:11px;color:var(--pw-text-muted);margin-top:1px}.pw-dir-item__check{margin-left:auto;font-size:14px;color:#22c55e;font-weight:700}.pw-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.pw-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.pw-field label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.pw-empty{text-align:center;padding:24px 0;color:var(--pw-text-muted)}.pw-empty__icon{font-size:32px;display:block;margin-bottom:8px}.pw-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:12px;color:var(--pw-text-muted);font-size:14px}.pw-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#e86600;border-radius:50%;animation:pw-spin .8s linear infinite}@keyframes pw-spin{to{transform:rotate(360deg)}}.db-profile{position:relative}.db-profile__trigger{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:8px;transition:background .15s}.db-profile__trigger:hover{background:#f1f5f9}.db-profile__avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.db-profile__info{display:flex;flex-direction:column;text-align:left}.db-profile__name{font-size:12px;font-weight:700;color:var(--pw-text)}.db-profile__plan{font-size:10px;color:var(--pw-text-muted)}.db-profile__chevron{font-size:10px;color:#94a3b8}.db-profile__dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--pw-border);border-radius:10px;box-shadow:var(--pw-shadow-md);min-width:220px;z-index:200;overflow:hidden}.db-profile__dh{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fafafa;border-bottom:1px solid var(--pw-border)}.db-profile__da{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.db-profile__dn{font-size:13px;font-weight:700;color:var(--pw-text);margin:0}.db-profile__de{font-size:11px;color:var(--pw-text-muted);margin:2px 0 0}.db-profile__dp{font-size:10px;font-weight:700;padding:2px 8px;background:#ede9fe;color:#6d28d9;border-radius:20px;margin-top:4px;display:inline-block}.db-divider{border:none;border-top:1px solid var(--pw-border);margin:0}.db-profile__mi{display:flex;width:100%;padding:10px 16px;background:none;border:none;font-size:13px;color:var(--pw-text);cursor:pointer;text-align:left;transition:background .15s}.db-profile__mi:hover{background:#f8fafc}.db-profile__mi.db--danger{color:#ef4444}.db-profile__mi.db--danger:hover{background:#fef2f2}@media (max-width: 1200px){.pw-cost-banner{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.pw-workflow-sidebar{width:210px;min-width:210px}:root{--pw-sidebar-w: 210px}.pw-cost-banner{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.pw-root--with-sidebar{flex-direction:column}.pw-workflow-sidebar{width:100%;min-width:unset;height:auto;position:relative;flex-direction:row;overflow-x:auto;padding:8px}.pw-sidebar-logo-block,.pw-sidebar-project-block{flex-direction:row;align-items:center;border-bottom:none;border-right:1px solid var(--pw-sidebar-border);padding:8px 12px}.pw-sidebar-user-block{border-bottom:none;border-right:1px solid var(--pw-sidebar-border);padding:8px 12px}.pw-workflow-steps{flex-direction:row;padding:0}.pw-workflow-step{min-width:120px}.pw-cost-banner,.pw-info-grid{grid-template-columns:repeat(2,1fr)}.pw-info-item.pw--span5,.pw-info-item.pw--span3{grid-column:span 2}.pw-workflow-next-action{display:none}}.package-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:13px 15px;cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;overflow:visible;margin-bottom:8px}.package-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.package-card--selected{border-color:#f97316!important;background:#fffbf5;box-shadow:0 0 0 3px #f973161a}.package-card__selected-stripe{position:absolute;left:0;top:0;bottom:0;width:3px;background:#f97316;border-radius:10px 0 0 10px}.package-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.package-card__trade{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.package-code{font-size:10px;font-family:monospace;font-weight:700;color:#7c3aed;background:#ede9fe;padding:1px 6px;border-radius:4px;width:fit-content}.package-name{font-size:14px;font-weight:700;color:#1e293b;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-scope{font-size:12px;color:#64748b;margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-clamp:2}.package-card__footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.package-meta{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.package-meta--value{margin-left:auto;font-weight:700;color:#1e293b}.due-label{color:#94a3b8;font-size:10px;font-weight:600}.package-arrow{color:#cbd5e1;margin-left:auto}.package-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#f1f5f9;border-radius:0 0 10px 10px;overflow:hidden}.package-progress__bar{height:100%;background:#22c55e;border-radius:0 2px 2px 0;transition:width .4s ease}.package-card__header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.status-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;white-space:nowrap;text-transform:capitalize}.status-badge--neutral{background:#f1f5f9;color:#64748b}.status-badge--blue{background:#dbeafe;color:#1d4ed8}.status-badge--warning{background:#fef3c7;color:#92400e}.status-badge--success{background:#dcfce7;color:#15803d}.status-badge--primary{background:#fff7ed;color:#ea580c}.pkg-menu{position:relative;z-index:10}.pkg-menu-trigger{background:none;border:1px solid transparent;border-radius:5px;cursor:pointer;color:#94a3b8;padding:3px 5px;display:flex;align-items:center;transition:background .12s,color .12s,border-color .12s;line-height:1}.pkg-menu-trigger:hover{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.pkg-menu-drop{position:absolute;top:calc(100% + 4px);right:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:9px;box-shadow:0 8px 24px #00000024,0 2px 6px #00000014;min-width:160px;overflow:visible;animation:pkg-menu-in .1s ease}@keyframes pkg-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.pkg-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:none;border:none;font-size:13px;font-weight:500;color:#374151;cursor:pointer;text-align:left;transition:background .12s}.pkg-menu-item:hover{background:#f8fafc}.pkg-menu-item--danger{color:#dc2626}.pkg-menu-item--danger:hover{background:#fef2f2}.pkg-menu-item+.pkg-menu-item{border-top:1px solid #f1f5f9}.pkg-inline-actions{display:flex;align-items:center;gap:6px;margin-left:8px}.pkg-action-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;line-height:1}.pkg-action-btn--edit{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.pkg-action-btn--edit:hover{background:#e2e8f0;border-color:#cbd5e1;color:#1e293b}.pkg-action-btn--delete{background:#fef2f2;border-color:#fecaca;color:#dc2626}.pkg-action-btn--delete:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}@media (max-width: 540px){.pkg-action-btn span{display:none}.pkg-action-btn{padding:5px 7px}}.package-list{list-style:none;margin:0;padding:0}.package-count{font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;background:#ede9fe;color:#6d28d9}.bid-packages{display:flex;flex-direction:column;flex:1;overflow:hidden}.bid-packages__header{padding:14px 16px 10px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0}.bid-packages__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.bid-packages__title-left{display:flex;align-items:center;gap:8px}.bid-packages__title-left h2{font-size:15px;font-weight:800;color:#1e293b;margin:0}.bid-packages__actions{display:flex;align-items:center;gap:6px}.bid-packages__stats{display:flex;align-items:center;gap:16px;padding:4px 0 6px}.bp-stat{display:flex;align-items:center;gap:4px}.bp-stat__val{font-size:15px;font-weight:800;line-height:1}.bp-stat__lbl{font-size:10px;color:#94a3b8;font-weight:600}.bid-packages__filters{display:flex;align-items:center;gap:8px;margin-top:6px}.search-input-wrap{position:relative;flex:1}.search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.search-input{width:100%;padding:7px 10px 7px 28px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:12px;background:#fff;color:#1e293b;outline:none;box-sizing:border-box;transition:border-color .12s}.search-input:focus{border-color:#f97316}.filter-select{padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:12px;background:#fff;color:#1e293b;outline:none;cursor:pointer;min-width:100px}.bid-packages__content{flex:1;overflow-y:auto;padding:12px 16px}.btn{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:7px;font-weight:700;cursor:pointer;transition:background .12s,opacity .12s;white-space:nowrap}.btn-primary{background:#f97316;color:#fff;padding:7px 14px;font-size:12px}.btn-primary:hover:not(:disabled){background:#ea580c}.btn-ai{background:#7c3aed;color:#fff;padding:7px 14px;font-size:12px}.btn-ai:hover:not(:disabled){opacity:.85}.btn-ghost{background:transparent;border:1px solid #e2e8f0;color:#64748b;padding:7px 12px;font-size:12px}.btn-ghost:hover:not(:disabled){background:#f8fafc}.btn-sm{padding:5px 11px;font-size:11px}.spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:bp-spin .7s linear infinite;display:inline-block}@keyframes bp-spin{to{transform:rotate(360deg)}}.bp-empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;text-align:center}.bp-empty-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#fed7aa);display:flex;align-items:center;justify-content:center;color:#f97316}.bp-empty-title{font-size:17px;font-weight:800;color:#1e293b;margin:0}.bp-empty-sub{font-size:13px;color:#64748b;max-width:380px;line-height:1.5;margin:0}.bp-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.bp-empty-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:opacity .12s,background .12s;white-space:nowrap}.bp-empty-btn--primary{background:#f97316;color:#fff}.bp-empty-btn--primary:hover{background:#ea580c}.bp-empty-btn--outline{background:transparent;border:2px solid #e2e8f0;color:#475569}.bp-empty-btn--outline:hover{border-color:#cbd5e1;background:#f8fafc}.bp-empty-btn--ai{background:#7c3aed;color:#fff}.bp-empty-btn--ai:hover:not(:disabled){opacity:.85}.bp-empty-btn--ai:disabled{opacity:.45;cursor:not-allowed}.bp-empty-note{font-size:11px;color:#94a3b8;margin:0}.bp-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:bp-spin .7s linear infinite;display:inline-block}.empty-search{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;color:#94a3b8;font-size:13px;text-align:center}.package-meta--budget{display:flex;align-items:center;gap:3px;font-size:12px;color:#374151;font-weight:500}.package-meta__label{color:#6b7280;font-weight:500}.package-meta__value{color:#111827;font-weight:700}* ── Nearby Subs action button on package card ─────────────── */ .pkg-action-btn--nearby{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;border-radius:6px;border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #f8fafc);color:var(--color-text-secondary, #64748b);cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.pkg-action-btn--nearby:hover{background:var(--color-primary-ghost, #eff6ff);border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6);box-shadow:0 1px 4px #3b82f61f}.pkg-action-btn--nearby-active{background:var(--color-primary-ghost, #eff6ff)!important;border-color:var(--color-primary, #3b82f6)!important;color:var(--color-primary, #3b82f6)!important}.nearby-drawer{margin:0 0 8px;border:1.5px solid var(--color-primary, #3b82f6);border-top:none;border-radius:0 0 12px 12px;background:var(--color-surface, #fff);box-shadow:0 4px 20px #3b82f614;overflow:hidden;animation:nearbySlideDown .2s ease}@keyframes nearbySlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nearby-drawer__header{padding:14px 16px 10px;background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-bottom:1px solid var(--color-border, #e2e8f0)}.nearby-drawer__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.nearby-drawer__title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--color-text-primary, #0f172a)}.nearby-drawer__title-icon{color:var(--color-primary, #3b82f6)}.nearby-drawer__close{padding:4px;border:none;background:transparent;color:var(--color-text-secondary, #64748b);cursor:pointer;border-radius:5px;transition:background .15s}.nearby-drawer__close:hover{background:var(--color-border, #e2e8f0);color:var(--color-text-primary, #0f172a)}.nearby-drawer__subtitle{font-size:11px;color:var(--color-text-secondary, #64748b);margin:0 0 10px;display:flex;align-items:center;gap:4px}.nearby-drawer__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nearby-drawer__radius-row{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary, #64748b)}.nearby-drawer__radius-label{font-size:11px;font-weight:600;color:var(--color-text-secondary, #64748b)}.nearby-drawer__radius-select{padding:3px 6px;font-size:12px;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;background:var(--color-bg, #fff);color:var(--color-text-primary, #0f172a);cursor:pointer}.nearby-drawer__search-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--color-primary, #3b82f6);background:var(--color-primary, #3b82f6);color:#fff;cursor:pointer;transition:background .15s,opacity .15s}.nearby-drawer__search-btn:disabled{opacity:.6;cursor:not-allowed}.nearby-drawer__search-btn:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.nearby-drawer__add-all-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid #22c55e;background:#f0fdf4;color:#16a34a;cursor:pointer;transition:background .15s;margin-left:auto}.nearby-drawer__add-all-btn:hover{background:#dcfce7}.nearby-drawer__body{padding:12px 14px 16px;max-height:480px;overflow-y:auto}.nearby-drawer__loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 16px;font-size:13px;color:var(--color-text-secondary, #64748b)}.nearby-drawer__loading-spinner{width:20px;height:20px;border:2.5px solid var(--color-border, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nearby-drawer__error{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:12px}.nearby-drawer__empty{text-align:center;padding:32px 16px;color:var(--color-text-secondary, #94a3b8)}.nearby-drawer__empty p{margin:8px 0 0;font-size:13px}.nearby-drawer__empty-hint{font-size:11px!important;color:#cbd5e1}.nearby-drawer__count{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:11px;font-weight:600;color:var(--color-text-secondary, #64748b)}.nearby-drawer__source{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:var(--color-primary-ghost, #eff6ff);color:var(--color-primary, #3b82f6);border-radius:20px;font-size:10px;font-weight:600}.nearby-drawer__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.nearby-sub-card{position:relative;padding:12px;border:1px solid var(--color-border, #e2e8f0);border-radius:10px;background:var(--color-bg, #fff);transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:7px}.nearby-sub-card:hover{box-shadow:0 2px 12px #0f172a12;border-color:var(--color-primary-ghost-border, #bfdbfe)}.nearby-sub-card--added{border-color:#bbf7d0;background:#f0fdf4}.nearby-sub-card__ai-score{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:700;color:#fff}.nearby-sub-card__header{display:flex;align-items:center;gap:8px;padding-right:52px}.nearby-sub-card__icon{width:28px;height:28px;border-radius:7px;background:var(--color-primary-ghost, #eff6ff);color:var(--color-primary, #3b82f6);display:flex;align-items:center;justify-content:center;flex-shrink:0}.nearby-sub-card__title{display:flex;flex-direction:column;gap:2px;overflow:hidden}.nearby-sub-card__name{font-size:12px;font-weight:700;color:var(--color-text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nearby-sub-card__dist{display:inline-flex;align-items:center;gap:2px;font-size:10px;color:var(--color-text-secondary, #94a3b8)}.nearby-sub-card__rating{display:flex;align-items:center;gap:2px}.nearby-sub-card__rating-val{font-size:11px;font-weight:600;color:#92400e;margin-left:3px}.nearby-sub-card__reviews{font-size:10px;color:var(--color-text-secondary, #94a3b8)}.nearby-sub-card__details{display:flex;flex-direction:column;gap:4px}.nearby-sub-detail{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-secondary, #64748b);overflow:hidden}.nearby-sub-detail svg{flex-shrink:0;color:var(--color-text-muted, #94a3b8)}.nearby-sub-detail a{color:var(--color-primary, #3b82f6);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nearby-sub-detail a:hover{text-decoration:underline}.nearby-sub-card__ai-notes{margin:0;font-size:10.5px;font-style:italic;color:var(--color-text-secondary, #64748b);line-height:1.4;display:flex;align-items:flex-start;gap:4px;padding:6px 8px;background:var(--color-surface, #f8fafc);border-radius:6px;border-left:2.5px solid var(--color-primary-light, #93c5fd)}.nearby-sub-card__add-btn{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:6px 10px;font-size:11.5px;font-weight:600;border-radius:7px;border:1.5px solid var(--color-primary, #3b82f6);background:var(--color-primary-ghost, #eff6ff);color:var(--color-primary, #3b82f6);cursor:pointer;transition:background .15s,border-color .15s,color .15s;margin-top:auto}.nearby-sub-card__add-btn:hover:not(:disabled){background:var(--color-primary, #3b82f6);color:#fff}.nearby-sub-card__add-btn:disabled{cursor:not-allowed;opacity:.6}.nearby-sub-card__add-btn--added{border-color:#22c55e!important;background:#f0fdf4!important;color:#16a34a!important}.spin{animation:spin .7s linear infinite}.apb{display:flex;flex-direction:column;width:500px;min-width:300px;height:100%;background:#fff;border-left:1px solid #e2e8f0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:#1e293b}.apb__header{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:13px 14px 11px;border-bottom:1px solid #e2e8f0;background:#fafafa;flex-shrink:0}.apb__header-left{display:flex;flex-direction:column;gap:3px;min-width:0}.apb__code{font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#7c3aed;background:#ede9fe;padding:2px 6px;border-radius:4px;width:fit-content}.apb__trade{font-size:14px;font-weight:800;color:#0f172a;margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.apb__close{background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;border-radius:5px;flex-shrink:0;display:flex;align-items:center;transition:background .12s,color .12s}.apb__close:hover{background:#f1f5f9;color:#475569}.apb-csv-error{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-error, #a12c7b);padding:4px 0 0}.apb-csv-group{display:flex;align-items:center;gap:4px}.apb-ghost--muted{opacity:.65;font-size:10px}.apb-ghost--muted:hover{opacity:1}.apb-trade-filter{background:var(--color-surface, #f9f8f5);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;padding:10px 12px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}.apb-trade-filter__header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--color-text-muted, #64748b);text-transform:uppercase;letter-spacing:.4px}.apb-trade-select{font-size:12px}.apb-trade-preview{display:flex;flex-direction:column;gap:4px}.apb-trade-count{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--color-text, #28251d)}.apb-trade-none{font-size:11px;color:var(--color-text-muted, #64748b);text-align:center;padding:4px 0}.apb-trade-preview-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.apb-trade-preview-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text, #28251d)}.apb-trade-more{font-size:10px;color:var(--color-text-muted, #64748b);padding-left:26px}.apb-ghost--active{background:var(--color-primary-highlight, #cedcd8);color:var(--color-primary, #01696f)}.apb-search-block{display:flex;flex-direction:column;gap:6px}.apb-trade-row{display:flex;align-items:center;gap:6px}.apb-trade-select{flex:1;font-size:12px;padding:5px 8px;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text, #28251d);cursor:pointer}.apb-trade-add-btn{white-space:nowrap;font-size:11px;padding:5px 10px;height:30px}.apb-trade-more{font-size:10px;color:var(--color-text-muted, #64748b);padding:4px 8px;list-style:none}.apb-trade-groups{display:flex;flex-direction:column;gap:2px;margin-top:4px}.apb-tg-header{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #64748b);padding:4px 2px 6px}.apb-tg-count{margin-left:auto;font-weight:400}.apb-tg-row{border:1px solid var(--color-border, #e2e8f0);border-radius:7px;overflow:hidden;background:var(--color-surface, #fafaf9)}.apb-tg-row--highlight{border-color:#f97316;background:#fff7ed}.apb-tg-trade-btn{width:100%;display:flex;align-items:center;gap:6px;padding:7px 8px;background:none;border:none;cursor:pointer;text-align:left;font-size:12px;font-weight:600;color:var(--color-text, #28251d);transition:background .15s}.apb-tg-trade-btn:hover{background:var(--color-surface-offset, #f3f0ec)}.apb-tg-chevron{font-size:10px;color:var(--color-text-muted, #64748b);width:10px}.apb-tg-trade-name{flex:1}.apb-tg-badge{font-size:9px;font-weight:700;background:#f97316;color:#fff;padding:1px 5px;border-radius:99px}.apb-tg-pill{font-size:10px;font-weight:700;background:var(--color-surface-dynamic, #e6e4df);color:var(--color-text-muted, #64748b);padding:1px 6px;border-radius:99px;min-width:18px;text-align:center}.apb-tg-addall{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:3px 7px;border-radius:5px;background:var(--color-primary-highlight, #cedcd8);color:var(--color-primary, #01696f);border:none;cursor:pointer;white-space:nowrap;transition:background .15s}.apb-tg-addall:hover:not(:disabled){background:var(--color-primary, #01696f);color:#fff}.apb-tg-addall:disabled{opacity:.5;cursor:not-allowed}.apb-tg-sublist{list-style:none;padding:0 0 4px;margin:0;border-top:1px solid var(--color-border, #e2e8f0)}.apb-tg-sub{display:flex;align-items:center;gap:7px;padding:6px 10px;font-size:12px;transition:background .12s}.apb-tg-sub:hover{background:var(--color-surface-offset, #f3f0ec)}.apb-subav--sm{width:22px!important;height:22px!important;font-size:9px!important;flex-shrink:0}.apb-spinner--xs{width:10px;height:10px;border-width:1.5px}.apb-remove-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:var(--radius-full, 9999px);background:transparent;border:1px solid transparent;color:var(--color-text-muted, #64748b);cursor:pointer;transition:background .15s,color .15s,border-color .15s;margin-left:auto;flex-shrink:0}.apb-remove-btn:hover:not(:disabled){background:var(--color-error-highlight, #fde8e8);color:var(--color-error, #a12c7b);border-color:var(--color-error, #a12c7b)}.apb-remove-btn:disabled{opacity:.5;cursor:not-allowed}.apb-sub--removing{opacity:.4;pointer-events:none;transition:opacity .2s}.apb-rail{display:flex;align-items:center;padding:10px 12px 8px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;gap:0}.apb-rail__step{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:2px 3px;border-radius:5px;flex-shrink:0;transition:background .1s}.apb-rail__step:disabled{cursor:not-allowed}.apb-rail__step:not(:disabled):hover{background:#f1f5f9}.apb-rail__circle{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #e2e8f0;background:#fff;color:#94a3b8;transition:border-color .15s,background .15s,color .15s}.apb-rail__step--done .apb-rail__circle{border-color:#22c55e;background:#dcfce7;color:#16a34a}.apb-rail__step--active .apb-rail__circle{border-color:#f97316;background:#fff7ed;color:#ea580c}.apb-rail__step--unlocked .apb-rail__circle{border-color:#cbd5e1;background:#f8fafc;color:#64748b}.apb-rail__step--locked .apb-rail__circle{border-color:#e2e8f0;background:#f8fafc;color:#cbd5e1}.apb-rail__num{font-size:9px;font-weight:800}.apb-rail__label{font-size:8.5px;font-weight:600;letter-spacing:.1px;white-space:nowrap;transition:color .12s}.apb-rail__step--done .apb-rail__label{color:#16a34a}.apb-rail__step--active .apb-rail__label{color:#ea580c}.apb-rail__step--unlocked .apb-rail__label{color:#64748b}.apb-rail__step--locked .apb-rail__label{color:#cbd5e1}.apb-rail__connector{flex:1;height:2px;background:#e2e8f0;border-radius:1px;margin:0 2px 12px;transition:background .2s}.apb-rail__connector--done{background:#22c55e}.apb__step-label{display:flex;align-items:center;gap:6px;padding:7px 14px 6px;border-bottom:1px solid #f1f5f9;background:#fafafa;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.apb__step-icon{color:#f97316;display:flex;align-items:center}.apb__body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.apb__body::-webkit-scrollbar{width:4px}.apb__body::-webkit-scrollbar-track{background:transparent}.apb__body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.apb-step-body{display:flex;flex-direction:column;gap:12px;padding:14px}.apb-pkg-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.apb-pkg-code{font-family:monospace;font-size:10px;font-weight:800;color:#7c3aed;background:#ede9fe;padding:3px 8px;border-radius:4px}.apb-status-pill{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:capitalize}.apb-status-pill--draft{background:#f1f5f9;color:#64748b}.apb-status-pill--active{background:#dbeafe;color:#1d4ed8}.apb-status-pill--invited,.apb-status-pill--pending_response{background:#fef3c7;color:#92400e}.apb-status-pill--received{background:#dcfce7;color:#15803d}.apb-status-pill--awarded{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.apb-status-pill--closed{background:#f1f5f9;color:#64748b}.apb-facts{list-style:none;margin:0;padding:0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.apb-facts__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 11px;border-bottom:1px solid #f1f5f9}.apb-facts__row:last-child{border-bottom:none}.apb-facts__key{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.apb-facts__val{font-size:12px;font-weight:600;color:#1e293b;text-align:right}.apb-scope{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 11px}.apb-scope__label{font-size:9px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px}.apb-scope__text{font-size:12px;color:#475569;margin:0;line-height:1.5}.apb-section{display:flex;flex-direction:column;gap:6px}.apb-section__hd{display:flex;align-items:center;gap:5px}.apb-section__title{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.apb-section__star{color:#f59e0b}.apb-section__done{color:#22c55e}.apb-icon--blue,.apb-section__icon--blue{color:#3b82f6}.apb-section__icon--yellow{color:#f59e0b}.apb-section__icon--red{color:#ef4444}.apb-pill{font-size:9px;font-weight:800;padding:1px 6px;border-radius:10px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.apb-sub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.apb-sub-list--compact{margin-top:-4px}.apb-sub-list--dim{opacity:.8}.apb-sub{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;border:1px solid #e2e8f0;background:#fff;transition:border-color .1s}.apb-sub--added{background:#eff6ff;border-color:#bfdbfe}.apb-sub--responded{background:#f0fdf4;border-color:#bbf7d0}.apb-sub--declined{background:#fef2f2;border-color:#fecaca;opacity:.7}.apb-sub__av{width:26px;height:26px;border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.apb-sub__av--orange{background:#f97316}.apb-sub__av--slate{background:#64748b}.apb-sub__av--green{background:#16a34a}.apb-sub__av--blue{background:#2563eb}.apb-sub__av--red{background:#dc2626}.apb-sub__icon{color:#94a3b8;flex-shrink:0}.apb-sub__info{flex:1;min-width:0;display:flex;flex-direction:column}.apb-sub__info--flex{justify-content:center}.apb-sub__name{font-size:12px;font-weight:700;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apb-sub__meta{font-size:10px;color:#94a3b8;margin-top:1px}.apb-sub__rating{display:flex;align-items:center;gap:3px;font-size:10px;color:#f59e0b;font-weight:700;margin-top:1px}.apb-sub__amount{font-size:11px;font-weight:700;color:#15803d;margin-top:1px}.apb-sub__amount--lg{font-size:13px}.apb-sub__tags{display:flex;align-items:center;gap:4px}.apb-bid-status{font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;text-transform:capitalize;white-space:nowrap}.apb-bid-status--invited{background:#dbeafe;color:#1d4ed8}.apb-bid-status--responded{background:#dcfce7;color:#15803d}.apb-bid-status--viewed{background:#fef3c7;color:#92400e}.apb-bid-status--declined{background:#fee2e2;color:#dc2626}.apb-bid-status--added{background:#ede9fe;color:#6d28d9}.apb-low-tag{font-size:9px;font-weight:800;padding:2px 6px;border-radius:10px;background:#d1fae5;color:#059669;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.apb-view-btn{background:none;border:1px solid #e2e8f0;border-radius:5px;padding:3px 5px;cursor:pointer;color:#64748b;display:flex;align-items:center;transition:background .1s}.apb-view-btn:hover{background:#f1f5f9}.apb-search{position:relative}.apb-search__icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.apb-search__input{width:100%;box-sizing:border-box;padding:7px 10px 7px 27px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:12px;color:#1e293b;background:#fff;outline:none;transition:border-color .12s}.apb-search__input:focus{border-color:#f97316}.apb-add-btn{display:flex;align-items:center;gap:3px;padding:4px 8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:11px;font-weight:700;color:#475569;cursor:pointer;flex-shrink:0;white-space:nowrap;transition:background .1s,border-color .1s}.apb-add-btn:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.apb-input{width:100%;box-sizing:border-box;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:12px;color:#1e293b;background:#fff;outline:none;transition:border-color .12s;font-family:inherit}.apb-input:focus{border-color:#f97316}.apb-textarea{width:100%;box-sizing:border-box;padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:12px;color:#1e293b;background:#fff;outline:none;resize:vertical;min-height:100px;font-family:inherit;line-height:1.55;transition:border-color .12s}.apb-textarea:focus{border-color:#f97316}.apb-form{display:flex;flex-direction:column;gap:10px}.apb-field{display:flex;flex-direction:column;gap:4px}.apb-label{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.apb-checkbox{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.apb-manual{display:flex;flex-direction:column;gap:7px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.apb-manual__row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.apb-manual__actions{display:flex;justify-content:flex-end;gap:6px}.apb-save-btn{padding:6px 12px;background:#f97316;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.apb-save-btn:disabled{opacity:.4;cursor:not-allowed}.apb-row-btns{display:flex;gap:6px;flex-wrap:wrap}.apb-recipients{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;padding:8px 11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;font-size:12px;color:#475569}.apb-recipients__names{font-size:10px;color:#94a3b8;width:100%}.apb-notice{display:flex;align-items:flex-start;gap:7px;padding:9px 11px;border-radius:7px;font-size:12px;line-height:1.45}.apb-notice--blue{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.apb-notice--yellow{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.apb-gauge{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.apb-gauge__row{display:flex;justify-content:space-between;align-items:center}.apb-gauge__label{font-size:9px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.apb-gauge__pct{font-size:16px;font-weight:800;color:#0f172a}.apb-gauge__track{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.apb-gauge__fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.apb-gauge__counts{display:flex;justify-content:space-between;font-size:10px;color:#94a3b8}.apb-bid-stats{display:flex;gap:6px}.apb-bid-stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:7px}.apb-bid-stat--green{border-color:#86efac;background:#f0fdf4}.apb-bid-stat__lbl{font-size:9px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}.apb-bid-stat__val{font-size:13px;font-weight:800;color:#0f172a}.apb-bid-stat--green .apb-bid-stat__val{color:#15803d}.apb-award-hint{font-size:12px;color:#64748b;margin:0;line-height:1.45}.apb-award-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.apb-award-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;-webkit-user-select:none;user-select:none}.apb-award-row:hover{border-color:#f97316;background:#fffbf5}.apb-award-row--selected{border-color:#f97316!important;background:#fff7ed!important;box-shadow:0 0 0 3px #f973161f}.apb-radio{width:16px;height:16px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;transition:border-color .12s,background .12s}.apb-radio--on{border-color:#f97316;background:#f97316;box-shadow:inset 0 0 0 3px #fff}.apb-award-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 12px 18px;text-align:center}.apb-award-success__badge{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex;align-items:center;justify-content:center;color:#d97706;box-shadow:0 4px 16px #d9770640}.apb-award-success__body{display:flex;flex-direction:column;gap:4px}.apb-award-success__body strong{font-size:15px;font-weight:800;color:#0f172a}.apb-award-success__body p{font-size:13px;color:#64748b;margin:0;line-height:1.5}.apb-award-success__winner{font-weight:700;color:#f97316}.apb-award-success__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.apb-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;text-align:center;color:#94a3b8}.apb-empty p{font-size:12px;line-height:1.5;margin:0;max-width:200px}.apb-locked-hint{display:flex;align-items:center;gap:5px;font-size:11px;color:#94a3b8;justify-content:center;padding:6px 0}.apb-cta{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px 14px;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .12s,transform .1s;margin-top:2px}.apb-cta:active{transform:scale(.98)}.apb-cta:disabled,.apb-cta--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.apb-cta--loading{opacity:.7}.apb-cta--orange{background:#f97316;color:#fff;box-shadow:0 2px 8px #f973164d}.apb-cta--orange:hover:not(:disabled){opacity:.88}.apb-cta--gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #d977064d}.apb-cta--gold:hover:not(:disabled){opacity:.88}.apb-cta--green{background:#16a34a;color:#fff;box-shadow:0 2px 8px #16a34a40}.apb-cta--green:hover:not(:disabled){opacity:.88}.apb-ghost{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;background:transparent;border:1px solid #e2e8f0;border-radius:7px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;transition:background .1s,border-color .1s;white-space:nowrap}.apb-ghost:hover{background:#f8fafc;border-color:#cbd5e1}.apb-ghost--full{width:100%;justify-content:center}.apb-ghost--sm{padding:5px 9px;font-size:11px}.apb-ghost--xs{padding:3px 6px;font-size:10px}.apb-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:apb-spin .65s linear infinite;display:inline-block;flex-shrink:0}@keyframes apb-spin{to{transform:rotate(360deg)}}.apb-spinner-xs{width:10px;height:10px;border:2px solid #cbd5e1;border-top-color:#475569;border-radius:50%;animation:apb-spin .65s linear infinite;display:inline-block;flex-shrink:0}@media (max-width: 1280px){.apb{width:272px;min-width:272px}}@media (max-width: 1024px){.apb{width:100%;min-width:unset;border-left:none;border-top:1px solid #e2e8f0;max-height:50vh}}.apb-response-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.apb-resp-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease;white-space:nowrap}.apb-resp-btn--bid{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.apb-resp-btn--bid:hover{background:#16a34a;color:#fff;border-color:#16a34a}.apb-resp-btn--decline{background:#fee2e2;color:#dc2626;border-color:#fecaca}.apb-resp-btn--decline:hover{background:#dc2626;color:#fff;border-color:#dc2626}.apb-resp-btn:disabled{opacity:.5;cursor:not-allowed}.apb-response-pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:600;letter-spacing:.3px}.apb-response-pill--bidding{background:#dcfce7;color:#15803d}.apb-response-pill--declined{background:#fee2e2;color:#dc2626}.apb-response-pill--pending{background:#fef3c7;color:#b45309}.apb-subav{width:26px;height:26px;border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.apb-subav--orange{background:#f97316}.apb-subav--slate{background:#64748b}.apb-subav--green{background:#16a34a}.apb-subav--blue{background:#2563eb}.apb-subav--red{background:#dc2626}.apb-search__clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:2px;cursor:pointer;color:#94a3b8;border-radius:3px;display:flex;align-items:center;transition:color .12s}.apb-search__clear:hover{color:#475569}.apb-refresh-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:600;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;color:#64748b;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.apb-refresh-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd;color:#2563eb}.apb-refresh-btn:disabled{opacity:.55;cursor:not-allowed}@keyframes apb-refresh-spin{to{transform:rotate(360deg)}}.apb-spin{animation:apb-refresh-spin .7s linear infinite}.apb-refresh-hint{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#eff6ff;border:1px dashed #93c5fd;border-radius:7px;font-size:11px;color:#2563eb}.apb-refresh-hint__btn{background:none;border:none;font-size:11px;font-weight:700;color:#2563eb;cursor:pointer;text-decoration:underline;padding:0}.apb-refresh-hint__btn:disabled{opacity:.6;cursor:not-allowed}.apb-refresh-hint__btn:hover:not(:disabled){color:#1d4ed8}.apb-checkbox-input{width:14px;height:14px;accent-color:#f97316;cursor:pointer;flex-shrink:0}.apb-select-all{display:flex;align-items:center;cursor:pointer;padding:2px}.apb-sub-checkbox{display:flex;align-items:center;padding:0 2px;cursor:pointer;flex-shrink:0}.apb-sub--checked{background:#fff7ed!important;border-color:#fed7aa!important}.apb-sub-actions{display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0}.apb-icon-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;border:1px solid transparent;background:transparent;cursor:pointer;color:#94a3b8;transition:background .12s,color .12s,border-color .12s;flex-shrink:0}.apb-icon-action--send:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.apb-icon-action--edit:hover,.apb-icon-action--active{background:#fefce8;border-color:#fde047;color:#ca8a04}.apb-send-selected-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:700;border-radius:6px;background:#f97316;color:#fff;border:none;cursor:pointer;margin-left:2px;white-space:nowrap;transition:opacity .12s}.apb-send-selected-btn:hover{opacity:.85}.apb-sub--editing{background:#fafafa!important;border-color:#e2e8f0!important;padding:6px 9px!important}.apb-inline-edit{display:flex;flex-direction:column;gap:6px;width:100%}.apb-input--sm{padding:5px 8px!important;font-size:11px!important}.apb-inline-edit__actions{display:flex;justify-content:flex-end;gap:6px}.apb-recipients--partial{border-color:#fed7aa;background:#fff7ed}.apb-recipients__partial-hint{font-size:10px;font-weight:600;color:#ea580c;width:100%;margin-top:2px}.bft-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.bft-header__title{font-size:14px;font-weight:700;color:#1e293b;margin:0}.bft-new-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:7px;background:#e86600;color:#fff;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s}.bft-new-btn:hover{opacity:.92}.bft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.bft-card{background:#fff;border-radius:9px;border:1px solid #e8eaed;padding:12px 14px;transition:border-color .15s}.bft-card:hover{border-color:#cbd5e1}.bft-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.bft-card__name{font-size:13px;font-weight:700;color:#1e293b;margin:0}.bft-card__meta{font-size:10px;color:#94a3b8;display:block;margin-top:1px}.bft-card__actions{display:flex;gap:3px}.bft-icon-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:#94a3b8;border-radius:4px;transition:all .15s}.bft-icon-btn:hover{background:#f1f5f9;color:#64748b}.bft-icon-btn--danger:hover{background:#fee2e2;color:#dc2626}.bft-card__desc{font-size:11px;color:#64748b;margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bft-card__sections{display:flex;gap:3px;flex-wrap:wrap}.bft-section-chip{display:inline-block;padding:1px 6px;border-radius:10px;font-size:9px;font-weight:600;background:#f1f5f9;color:#64748b}.bft-card__footer{margin-top:8px;display:flex;gap:5px}.bft-card__btn{display:inline-flex;align-items:center;gap:3px;padding:4px 9px;border:1px solid #e2e8f0;border-radius:5px;background:#fff;color:#1e293b;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.bft-card__btn:hover{background:#f8fafc}.bft-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;text-align:center;color:#94a3b8}.bft-empty p{margin:0;font-size:12px}.bft-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.bft-modal{background:#fff;border-radius:12px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000001f;animation:bft-fade-in .15s ease-out}@keyframes bft-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bft-modal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f1f3f5}.bft-modal__title{font-size:15px;font-weight:700;color:#1e293b;margin:0}.bft-modal__close{width:26px;height:26px;border:none;background:none;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;border-radius:5px}.bft-modal__close:hover{background:#f1f5f9}.bft-modal__body{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px}.bft-modal__footer{display:flex;justify-content:flex-end;gap:6px;padding:12px 20px;border-top:1px solid #f1f3f5}.bft-field{margin-bottom:10px}.bft-label{display:block;font-size:10px;font-weight:700;color:#64748b;margin-bottom:3px;text-transform:uppercase;letter-spacing:.3px}.bft-input{width:100%;border:1px solid #e2e8f0;border-radius:6px;padding:6px 9px;font-size:12px;outline:none;color:#1e293b;box-sizing:border-box;background:#fff;font-family:inherit}.bft-input:focus{border-color:#e86600}.bft-textarea{width:100%;border:1px solid #e2e8f0;border-radius:6px;padding:6px 9px;font-size:12px;outline:none;color:#1e293b;box-sizing:border-box;resize:vertical;font-family:inherit;background:#fff}.bft-textarea:focus{border-color:#e86600}.bft-checkbox-row{display:flex;align-items:center;gap:5px;font-size:11px;color:#1e293b;cursor:pointer;margin-bottom:12px}.bft-check{accent-color:#e86600}.bft-section-heading{font-size:11px;font-weight:700;color:#1e293b;margin-bottom:6px;margin-top:4px}.bft-section-toggle{padding:5px 0;border-bottom:1px solid #f8fafc}.bft-section-toggle__label{display:flex;align-items:flex-start;gap:6px;cursor:pointer}.bft-section-name{font-size:12px;font-weight:600;color:#1e293b;display:block}.bft-section-desc{font-size:10px;color:#94a3b8;display:block}.bft-preview{background:#f8fafc;border-radius:8px;padding:12px;border:1px solid #e2e8f0}.bft-preview__header{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.bft-preview__form{background:#fff;border-radius:7px;padding:12px;border:1px solid #e2e8f0}.bft-preview__title{font-size:13px;font-weight:700;color:#1e293b;margin:0 0 10px}.bft-preview__field{margin-bottom:7px}.bft-preview__field--row{display:flex;align-items:center;gap:5px;font-size:11px;color:#1e293b}.bft-preview__label{font-size:10px;font-weight:600;color:#64748b;display:block;margin-bottom:2px}.bft-preview__input{border:1px solid #e2e8f0;border-radius:5px;padding:5px 7px;font-size:11px;color:#1e293b;min-height:16px}.bft-preview__input--placeholder{color:#94a3b8}.bft-preview__input--small{width:60px}.bft-preview__dropzone{border:1px dashed #cbd5e1;border-radius:5px;padding:10px;text-align:center;font-size:10px;color:#94a3b8}.bft-preview__submit{margin-top:10px;background:#e86600;color:#fff;padding:7px 14px;border-radius:6px;font-size:11px;font-weight:700;text-align:center}.bft-btn-ghost{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}.bft-btn-ghost:hover{background:#f8fafc}.bft-btn-primary{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:6px;background:#e86600;color:#fff;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}.bft-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.bft-modal__body{grid-template-columns:1fr}}.sbl-root{--sbl-orange: #f97316;--sbl-orange-d:#ea580c;--sbl-blue: #0369a1;--sbl-teal: #0891b2;--sbl-green: #15803d;--sbl-amber: #b45309;--sbl-indigo: #4f46e5;--sbl-purple: #7c3aed;--sbl-red: #dc2626;--sbl-slate: #64748b;--sbl-border: #e2e8f0;--sbl-bg: #f8fafc;--sbl-card: #ffffff;--sbl-text: #1e293b;--sbl-muted: #64748b;--sbl-faint: #94a3b8;--sbl-radius: 10px;--sbl-radius-sm: 6px;--sbl-shadow: 0 1px 4px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04);font-family:DM Sans,-apple-system,sans-serif;color:var(--sbl-text);font-size:13px;line-height:1.5}.sbl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.sbl-header__title{margin:0;font-size:22px;font-weight:800;color:var(--sbl-text);letter-spacing:-.5px;line-height:1.2}.sbl-header__sub{margin:4px 0 0;font-size:13px;color:var(--sbl-muted);font-weight:400}.sbl-header__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sbl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:20px}.sbl-stat{background:var(--sbl-card);border:1px solid var(--sbl-border);border-radius:var(--sbl-radius);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.sbl-stat__val{font-size:20px;font-weight:800;line-height:1;letter-spacing:-.5px}.sbl-stat__lbl{font-size:10.5px;font-weight:600;color:var(--sbl-faint);text-transform:uppercase;letter-spacing:.4px}.sbl-tabs{display:flex;gap:0;border-bottom:2px solid var(--sbl-border);margin-bottom:16px}.sbl-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--sbl-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap}.sbl-tab:hover{color:var(--sbl-text)}.sbl-tab--active{color:var(--sbl-orange);border-bottom-color:var(--sbl-orange)}.sbl-panel{background:var(--sbl-card);border:1px solid var(--sbl-border);border-radius:var(--sbl-radius);box-shadow:var(--sbl-shadow);overflow:hidden}.sbl-panel--empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;text-align:center;color:var(--sbl-faint);background:var(--sbl-bg);border-radius:var(--sbl-radius);border:1.5px dashed var(--sbl-border)}.sbl-panel--empty h3{margin:0;font-size:16px;font-weight:700;color:var(--sbl-muted)}.sbl-panel--empty p{margin:0;font-size:13px;max-width:340px}.sbl-panel--empty-sm{padding:28px 16px}.sbl-filter-bar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--sbl-border);background:var(--sbl-bg);flex-wrap:wrap}.sbl-search{position:relative;flex:1;min-width:200px}.sbl-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--sbl-faint);pointer-events:none}.sbl-search__input{width:100%;padding:8px 10px 8px 30px;border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius-sm);font-family:inherit;font-size:13px;color:var(--sbl-text);background:var(--sbl-card);outline:none;box-sizing:border-box;transition:border-color .15s}.sbl-search__input:focus{border-color:var(--sbl-orange)}.sbl-search__clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--sbl-faint);padding:0;display:flex;align-items:center}.sbl-select{padding:8px 10px;border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius-sm);font-family:inherit;font-size:13px;color:var(--sbl-text);background:var(--sbl-card);outline:none;cursor:pointer;min-width:130px;transition:border-color .15s}.sbl-select:focus{border-color:var(--sbl-orange)}.sbl-filter-count{font-size:11px;color:var(--sbl-faint);font-weight:600;margin-left:auto;white-space:nowrap}.sbl-table-wrap{overflow-x:auto}.sbl-table{width:100%;border-collapse:collapse;font-size:13px}.sbl-table thead tr{background:var(--sbl-bg);border-bottom:2px solid var(--sbl-border)}.sbl-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--sbl-muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.sbl-th--center{text-align:center}.sbl-th--right{text-align:right}.sbl-tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.sbl-tr:last-child{border-bottom:none}.sbl-tr:hover{background:#fffbf5}.sbl-tr--selected{background:#fff7ed!important}.sbl-tr--lowest{background:#f0fdf4!important}.sbl-td{padding:11px 14px;vertical-align:middle}.sbl-td--center{text-align:center}.sbl-td--right{text-align:right}.sbl-td--empty{padding:0}.sbl-td--date{color:var(--sbl-muted);font-size:12px;white-space:nowrap}.sbl-td--amount{white-space:nowrap}.sbl-td--pkg{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sbl-muted)}.sbl-td--notes{max-width:150px;font-size:12px;color:var(--sbl-muted)}.sbl-td--email-to{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sbl-blue);font-size:12px}.sbl-td--subject{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbl-sub-name{font-weight:700;color:var(--sbl-text)}.sbl-sub-meta{font-size:11px;color:var(--sbl-muted);margin-top:1px}.sbl-sub-email{font-size:11px;color:var(--sbl-blue);margin-top:1px}.sbl-sub-pkg{font-size:11px;color:var(--sbl-faint)}.sbl-dash{color:#cbd5e1}.sbl-overdue{color:var(--sbl-red);font-weight:600}.sbl-amount{font-weight:800;font-size:14px;color:var(--sbl-text)}.sbl-trade-chip{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;background:#ede9fe;color:#5b21b6;white-space:nowrap}.sbl-dot-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--sbl-faint)}.sbl-dot-badge__dot{width:7px;height:7px;border-radius:50%;background:#e2e8f0;flex-shrink:0}.sbl-dot-badge--yes{color:var(--sbl-blue)}.sbl-dot-badge--yes .sbl-dot-badge__dot{background:#3b82f6}.sbl-dot-badge--responded{color:var(--sbl-green)}.sbl-dot-badge--responded .sbl-dot-badge__dot{background:#22c55e}.sbl-status-select{padding:4px 10px;border:1.5px solid #e2e8f0;border-radius:20px;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;outline:none;background:#f8fafc;color:var(--sbl-muted);transition:border-color .12s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.sbl-status-select:focus{border-color:var(--sbl-orange)}.sbl-status-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.sbl-file-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:#dcfce7;color:var(--sbl-green);font-size:11px;font-weight:600}.sbl-lowest-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;background:#dcfce7;color:var(--sbl-green);font-size:10px;font-weight:800;letter-spacing:.5px}.sbl-diff-zero{color:var(--sbl-faint)}.sbl-diff{font-weight:700}.sbl-diff--mild{color:var(--sbl-amber)}.sbl-diff--high{color:var(--sbl-red)}.sbl-action-group{display:flex;gap:4px;justify-content:center}.sbl-icon-btn{width:28px;height:28px;border-radius:6px;border:1.5px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s;background:transparent;flex-shrink:0}.sbl-icon-btn--edit{color:#f97316;border-color:#fed7aa}.sbl-icon-btn--edit:hover{background:#fff7ed}.sbl-icon-btn--email{color:#0369a1;border-color:#bfdbfe}.sbl-icon-btn--email:hover{background:#eff6ff}.sbl-icon-btn--addendum{color:#7c3aed;border-color:#ddd6fe}.sbl-icon-btn--addendum:hover{background:#f5f3ff}.sbl-icon-btn--delete{color:#dc2626;border-color:#fecaca}.sbl-icon-btn--delete:hover{background:#fef2f2}.sbl-icon-btn--upload{color:#0369a1;border-color:#bfdbfe}.sbl-icon-btn--upload:hover{background:#eff6ff}.sbl-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--sbl-radius-sm);border:none;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s,opacity .12s,transform .08s}.sbl-btn:active{transform:translateY(1px)}.sbl-btn:disabled{opacity:.5;cursor:not-allowed}.sbl-btn--primary{background:var(--sbl-orange);color:#fff}.sbl-btn--primary:hover:not(:disabled){background:var(--sbl-orange-d)}.sbl-btn--send{background:linear-gradient(135deg,var(--sbl-orange),var(--sbl-orange-d));color:#fff}.sbl-btn--send:hover:not(:disabled){opacity:.9}.sbl-btn--ghost{background:transparent;color:var(--sbl-muted);border:1.5px solid var(--sbl-border)}.sbl-btn--ghost:hover:not(:disabled){background:var(--sbl-bg);color:var(--sbl-text)}.sbl-btn--sm{padding:6px 11px;font-size:12px;border-radius:6px}.sbl-count-badge{display:inline-block;padding:1px 8px;border-radius:20px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:700}.sbl-leveling-header{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--sbl-border);background:var(--sbl-bg);font-weight:700;color:var(--sbl-text)}.sbl-leveling-header__left{display:flex;align-items:center;gap:8px;flex:1}.sbl-carry-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:2px solid var(--sbl-orange);background:linear-gradient(135deg,#fff7ed,#fff);flex-wrap:wrap}.sbl-carry-bar__info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sbl-carry-bar__label{font-size:11px;font-weight:700;color:var(--sbl-faint);text-transform:uppercase;letter-spacing:.5px}.sbl-carry-bar__amount{font-size:22px;font-weight:800;color:var(--sbl-orange);letter-spacing:-.5px}.sbl-carry-bar__sub{font-size:13px;color:var(--sbl-muted)}.sbl-addenda-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--sbl-border);background:var(--sbl-bg)}.sbl-addenda-header__left{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--sbl-text)}.sbl-addenda-form{padding:16px;border-bottom:1px solid var(--sbl-border);background:#f0f9ff}.sbl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.sbl-form-grid--2col{grid-template-columns:1fr 1fr}.sbl-form-grid__full{grid-column:1 / -1}.sbl-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.sbl-addenda-list{padding:14px;display:flex;flex-direction:column;gap:10px}.sbl-addendum-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--sbl-bg);border:1px solid var(--sbl-border);border-radius:var(--sbl-radius)}.sbl-addendum-card__badge{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--sbl-orange),var(--sbl-orange-d));color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sbl-addendum-card__body{flex:1;min-width:0}.sbl-addendum-card__title{font-weight:700;color:var(--sbl-text);font-size:14px}.sbl-addendum-card__desc{font-size:12px;color:var(--sbl-muted);margin-top:3px}.sbl-addendum-card__meta{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:11px;color:var(--sbl-faint)}.sbl-addendum-card__meta span{display:inline-flex;align-items:center;gap:4px}.sbl-addendum-card__actions{display:flex;gap:8px;flex-shrink:0}.sbl-email-bulk-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:linear-gradient(135deg,#fff7ed,#fffbf5);border-bottom:1px solid #fed7aa;flex-wrap:wrap}.sbl-email-bulk-strip__title{font-size:14px;font-weight:700;color:var(--sbl-text)}.sbl-email-bulk-strip__sub{font-size:12px;color:var(--sbl-muted);margin-top:2px}.sbl-email-bulk-btns{display:flex;gap:6px;flex-wrap:wrap}.sbl-email-group{border-bottom:1px solid var(--sbl-border)}.sbl-email-group:last-child{border-bottom:none}.sbl-email-group__header{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--sbl-bg);flex-wrap:wrap}.sbl-email-group__trade{font-weight:700;color:var(--sbl-text);font-size:13px}.sbl-email-group__count{font-size:11px;color:var(--sbl-faint)}.sbl-email-group__btns{display:flex;gap:5px;flex-wrap:wrap;margin-left:auto}.sbl-email-sub-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px 9px 24px;border-top:1px solid #f8fafc;flex-wrap:wrap}.sbl-email-sub-row__info{font-size:12px;min-width:0;flex:1}.sbl-email-sub-row__btns{display:flex;gap:3px;flex-wrap:wrap}.sbl-template-quick-btn{padding:5px 12px;border-radius:20px;border:none;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:color-mix(in srgb,var(--chip-color) 12%,white);color:var(--chip-color);border:1.5px solid color-mix(in srgb,var(--chip-color) 25%,white);transition:background .12s;white-space:nowrap}.sbl-template-quick-btn:hover{background:var(--chip-color);color:#fff}.sbl-template-quick-btn--sm{padding:4px 10px;font-size:11px}.sbl-tmpl-micro{padding:3px 7px;border-radius:4px;border:none;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer;background:color-mix(in srgb,var(--chip-color) 10%,white);color:var(--chip-color);border:1px solid color-mix(in srgb,var(--chip-color) 20%,white);transition:background .1s}.sbl-tmpl-micro:hover{background:var(--chip-color);color:#fff}.sbl-tmpl-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--chip-color) 15%,white);color:var(--chip-color)}.sbl-send-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700}.sbl-send-status--ok{color:var(--sbl-green)}.sbl-send-status--fail{color:var(--sbl-red)}.sbl-email-history{padding:20px 16px 16px;border-top:1px solid var(--sbl-border)}.sbl-email-history__title{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--sbl-text)}.sbl-input{width:100%;padding:9px 11px;border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius-sm);font-family:inherit;font-size:13px;color:var(--sbl-text);background:var(--sbl-card);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.sbl-input:focus{border-color:var(--sbl-orange);box-shadow:0 0 0 3px #f973161a}.sbl-textarea{width:100%;padding:9px 11px;border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius-sm);font-family:inherit;font-size:13px;color:var(--sbl-text);background:var(--sbl-card);outline:none;box-sizing:border-box;resize:vertical;line-height:1.5;transition:border-color .15s}.sbl-textarea:focus{border-color:var(--sbl-orange)}.sbl-textarea--sm{min-height:60px}.sbl-label{display:block;font-size:11px;font-weight:700;color:var(--sbl-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.sbl-label-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}.sbl-input-wrap{position:relative}.sbl-input-spin{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.sbl-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sbl-email-modal{background:var(--sbl-card);border-radius:14px;width:min(660px,96vw);max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px #00000040;display:flex;flex-direction:column}.sbl-email-modal__handle{display:flex;align-items:center;gap:10px;padding:13px 18px;background:var(--sbl-bg);border-bottom:1px solid var(--sbl-border);border-radius:14px 14px 0 0;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.sbl-email-modal__handle:active{cursor:grabbing}.sbl-email-modal__handle-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--sbl-text);flex:1}.sbl-email-modal__handle-hint{font-size:11px;color:var(--sbl-faint)}.sbl-modal-close{background:none;border:none;cursor:pointer;color:var(--sbl-faint);padding:4px;border-radius:5px;display:flex;align-items:center;transition:background .12s,color .12s;line-height:1;flex-shrink:0}.sbl-modal-close:hover{background:#f1f5f9;color:var(--sbl-text)}.sbl-email-section{padding:12px 18px 8px}.sbl-email-to-row{display:flex;gap:8px;align-items:center;margin-top:5px}.sbl-email-to-row .sbl-input{flex:1}.sbl-template-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.sbl-template-chip{padding:5px 13px;border-radius:20px;border:1.5px solid color-mix(in srgb,var(--chip-color) 25%,white);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:color-mix(in srgb,var(--chip-color) 10%,white);color:var(--chip-color);transition:background .12s,color .12s;display:inline-flex;align-items:center;gap:5px}.sbl-template-chip--active{background:var(--chip-color)!important;color:#fff!important;border-color:var(--chip-color)!important}.sbl-template-chip:hover:not(.sbl-template-chip--active){background:color-mix(in srgb,var(--chip-color) 18%,white)}.sbl-body-loading{display:flex;align-items:center;gap:8px;height:140px;border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius-sm);justify-content:center;color:var(--sbl-faint);font-size:13px;background:var(--sbl-bg);margin-top:5px}.sbl-preview{margin:0 18px 8px}.sbl-preview summary{cursor:pointer;font-size:12px;color:var(--sbl-muted);font-weight:600;padding:4px 0;-webkit-user-select:none;user-select:none}.sbl-preview__content{border:1px solid var(--sbl-border);border-radius:8px;padding:12px 14px;margin-top:6px;font-size:13px;line-height:1.6;color:var(--sbl-text);max-height:200px;overflow-y:auto}.sbl-email-status{font-size:13px;font-weight:700}.sbl-email-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--sbl-border);background:var(--sbl-bg);flex-wrap:wrap;flex-shrink:0;border-radius:0 0 14px 14px}.sbl-email-modal__footer-btns{display:flex;gap:8px;align-items:center}.sbl-form-modal{background:var(--sbl-card);border-radius:14px;width:min(720px,96vw);max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px #00000040;display:flex;flex-direction:column}.sbl-form-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--sbl-border);background:var(--sbl-bg);flex-shrink:0}.sbl-form-modal__header h3{margin:0;font-size:17px;font-weight:800;color:var(--sbl-text)}.sbl-form-modal__body{padding:18px 20px;flex:1;overflow-y:auto}.sbl-form-modal__footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--sbl-border);background:var(--sbl-bg);flex-shrink:0}.sbl-loading-dots{display:flex;align-items:center;justify-content:center;gap:6px;padding:48px}.sbl-loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--sbl-orange);animation:sbl-pulse 1.2s ease-in-out infinite}.sbl-loading-dots span:nth-child(2){animation-delay:.2s}.sbl-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes sbl-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.sbl-spin{animation:sbl-rotate .65s linear infinite}.sbl-spin-sm{display:inline-block;width:13px;height:13px;border:2px solid rgba(249,115,22,.2);border-top-color:var(--sbl-orange);border-radius:50%;animation:sbl-rotate .65s linear infinite}.sbl-spin-xs{display:inline-block;width:10px;height:10px;border:1.5px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:sbl-rotate .65s linear infinite}@keyframes sbl-rotate{to{transform:rotate(360deg)}}.sbl-table--compact th{font-size:11px;padding:8px 12px}.sbl-table--compact .sbl-td{padding:9px 12px}.sbl-table--leveling .sbl-amount{font-size:15px;font-weight:800}.sbl-select-btn{padding:6px 14px;border:2px solid var(--sbl-border);border-radius:8px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:var(--sbl-card);color:var(--sbl-faint);transition:border-color .12s,background .12s,color .12s;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.sbl-select-btn:hover{border-color:var(--sbl-orange);color:var(--sbl-orange)}.sbl-select-btn--on{background:var(--sbl-orange);border-color:var(--sbl-orange);color:#fff}.sbl-tpl-selected-row{display:flex;align-items:center;gap:10px;margin-top:5px;flex-wrap:wrap}.sbl-tpl-selected{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:color-mix(in srgb,var(--chip-color) 12%,white);color:var(--chip-color);border:1.5px solid color-mix(in srgb,var(--chip-color) 25%,white);font-size:13px;font-weight:700}.sbl-tpl-selected__desc{font-size:11px;font-weight:400;opacity:.8}.sbl-tpl-selected-none{font-size:13px;color:var(--sbl-faint)}.sbl-tpl-toggle{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1.5px solid var(--sbl-border);border-radius:8px;font-family:inherit;font-size:12px;font-weight:600;color:var(--sbl-muted);cursor:pointer;background:var(--sbl-bg);transition:border-color .12s,color .12s;white-space:nowrap;margin-left:auto}.sbl-tpl-toggle:hover{border-color:var(--sbl-orange);color:var(--sbl-orange)}.sbl-tpl-picker{border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius);background:var(--sbl-card);margin-top:8px;overflow:hidden;box-shadow:0 4px 16px #00000014}.sbl-tpl-group{padding:12px 14px;border-bottom:1px solid var(--sbl-border)}.sbl-tpl-group:last-child{border-bottom:none}.sbl-tpl-group__label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.sbl-tpl-group__chips{display:flex;flex-wrap:wrap;gap:6px}.sbl-tpl-chip{display:flex;flex-direction:column;align-items:flex-start;padding:7px 12px;border-radius:8px;border:1.5px solid color-mix(in srgb,var(--chip-color) 20%,white);background:color-mix(in srgb,var(--chip-color) 6%,white);color:var(--chip-color);cursor:pointer;transition:background .12s,border-color .12s;text-align:left;font-family:inherit}.sbl-tpl-chip:hover{background:color-mix(in srgb,var(--chip-color) 12%,white);border-color:var(--chip-color)}.sbl-tpl-chip--active{background:var(--chip-color)!important;border-color:var(--chip-color)!important;color:#fff!important}.sbl-tpl-chip__name{font-size:12px;font-weight:700;line-height:1}.sbl-tpl-chip__desc{font-size:10px;font-weight:400;opacity:.7;margin-top:2px;line-height:1}.sbl-icon-btn--thread{color:var(--sbl-teal);border-color:#a5f3fc;position:relative}.sbl-icon-btn--thread:hover{background:#ecfeff}.sbl-msg-count{position:absolute;top:-4px;right:-4px;width:14px;height:14px;border-radius:50%;background:var(--sbl-orange);color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.sbl-thread-modal{background:var(--sbl-card);border-radius:14px;width:min(700px,96vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000040}.sbl-thread-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--sbl-border);background:var(--sbl-bg);border-radius:14px 14px 0 0;flex-shrink:0}.sbl-thread-modal__title{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800;color:var(--sbl-text)}.sbl-thread-modal__sub{margin:4px 0 0;font-size:12px;color:var(--sbl-muted)}.sbl-thread-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.sbl-thread-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;color:var(--sbl-faint);text-align:center}.sbl-thread-msg{border:1px solid var(--sbl-border);border-radius:var(--sbl-radius);overflow:hidden}.sbl-thread-msg--failed{border-color:#fecaca}.sbl-thread-msg__header{padding:10px 14px;background:var(--sbl-bg);border-bottom:1px solid var(--sbl-border)}.sbl-thread-msg--failed .sbl-thread-msg__header{background:#fef2f2}.sbl-thread-msg__meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.sbl-thread-msg__dir{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--sbl-faint)}.sbl-thread-msg__dir--sent{color:var(--sbl-green)}.sbl-thread-msg__tmpl{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--chip-color) 12%,white);color:var(--chip-color)}.sbl-thread-msg__time{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--sbl-faint);margin-left:auto}.sbl-thread-msg__to{font-size:12px;color:var(--sbl-blue);margin-bottom:3px}.sbl-thread-msg__subject{font-size:13px;font-weight:700;color:var(--sbl-text)}.sbl-thread-msg__body{padding:4px 14px 8px}.sbl-thread-msg__body summary{cursor:pointer;font-size:11px;color:var(--sbl-muted);font-weight:600;padding:6px 0;display:inline-flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.sbl-thread-msg__html{border:1px solid var(--sbl-border);border-radius:8px;padding:12px 14px;margin-top:4px;font-size:13px;color:var(--sbl-text);line-height:1.6;max-height:300px;overflow-y:auto;background:var(--sbl-card)}.sbl-thread-modal__footer{padding:12px 20px;border-top:1px solid var(--sbl-border);background:var(--sbl-bg);border-radius:0 0 14px 14px;display:flex;justify-content:flex-end;flex-shrink:0}.sbl-log-view-modal{background:var(--sbl-card);border-radius:14px;width:min(680px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow-y:auto;box-shadow:0 24px 64px #00000040}.sbl-log-view-meta{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--sbl-bg);border:1px solid var(--sbl-border);border-radius:var(--sbl-radius);margin-bottom:14px;font-size:13px}.sbl-log-view-meta>div{display:flex;align-items:center;gap:8px}.sbl-label-inline{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sbl-faint);min-width:54px}.sbl-log-view-body{border:1px solid var(--sbl-border);border-radius:var(--sbl-radius);padding:16px 18px;font-size:13px;color:var(--sbl-text);line-height:1.6;background:var(--sbl-card)}.sbl-log-view-nobody{padding:20px;text-align:center;color:var(--sbl-faint);font-style:italic;font-size:13px}.sbl-history-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;border:none;background:var(--sbl-bg);border-top:1px solid var(--sbl-border);cursor:pointer;font-family:inherit;transition:background .12s}.sbl-history-toggle:hover{background:#f1f5f9}.sbl-history-toggle__left{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--sbl-text)}.sbl-history-toggle__right{display:flex;align-items:center;gap:8px;color:var(--sbl-muted)}.sbl-fail-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:#fef2f2;color:var(--sbl-red);font-size:11px;font-weight:700;border:1px solid #fecaca}.sbl-email-status{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.sbl-email-status--ok{color:var(--sbl-green)}.sbl-email-status--err{color:var(--sbl-red)}.sbl-email-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--sbl-bg);border-bottom:1px solid var(--sbl-border);flex-wrap:wrap}.sbl-email-action-bar__left,.sbl-email-action-bar__right{display:flex;align-items:center;gap:10px}.sbl-selection-hint{font-size:12px;color:var(--sbl-muted);font-weight:500;white-space:nowrap}.sbl-checkbox-wrap{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sbl-checkbox-wrap--row{padding:0 4px;flex-shrink:0}.sbl-checkbox{width:15px;height:15px;border-radius:4px;border:1.5px solid #cbd5e1;cursor:pointer;accent-color:var(--sbl-orange);flex-shrink:0}.sbl-checkbox-label{font-size:13px;font-weight:600;color:var(--sbl-text)}.sbl-tpl-dropdown{position:relative;display:inline-block}.sbl-tpl-dropdown__trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;background:var(--sbl-orange);color:#fff;border:none;border-radius:var(--sbl-radius-sm);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s}.sbl-tpl-dropdown__trigger:hover{background:var(--sbl-orange-d)}.sbl-tpl-dropdown--ghost .sbl-tpl-dropdown__trigger{background:transparent;color:var(--sbl-muted);border:1.5px solid var(--sbl-border)}.sbl-tpl-dropdown--ghost .sbl-tpl-dropdown__trigger:hover{border-color:var(--sbl-orange);color:var(--sbl-orange);background:transparent}.sbl-tpl-dropdown__menu{position:absolute;top:calc(100% + 4px);z-index:200;min-width:240px;background:var(--sbl-card);border:1.5px solid var(--sbl-border);border-radius:var(--sbl-radius);box-shadow:0 8px 24px #0000001f;overflow:hidden}.sbl-tpl-dropdown__menu--right{right:0}.sbl-tpl-dropdown__menu--left{left:0}.sbl-tpl-dropdown__group{padding:8px 10px;border-bottom:1px solid #f1f5f9}.sbl-tpl-dropdown__group:last-child{border-bottom:none}.sbl-tpl-dropdown__group-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:2px 4px 6px;opacity:.85}.sbl-tpl-dropdown__item{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:6px;font-family:inherit;cursor:pointer;text-align:left;transition:background .1s}.sbl-tpl-dropdown__item:hover{background:color-mix(in srgb,var(--chip-color) 8%,white)}.sbl-tpl-dropdown__item-name{font-size:13px;font-weight:700;color:var(--chip-color);white-space:nowrap}.sbl-tpl-dropdown__item-desc{font-size:11px;color:var(--sbl-faint);font-weight:400}.sbl-email-group__header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--sbl-bg);border-bottom:1px solid #f1f5f9}.sbl-email-sub-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid #f8fafc;transition:background .1s}.sbl-email-sub-row:hover{background:#fffbf5}.sbl-email-sub-row--checked{background:#fff7ed}.sbl-email-sub-row__info{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbl-email-sub-row__action{flex-shrink:0}.sbl-history-actions{display:flex;gap:5px;justify-content:center}.sbl-icon-btn--reply{color:#7c3aed;border-color:#ddd6fe}.sbl-icon-btn--reply:hover{background:#f5f3ff}.sbl-email-bulk-strip,.sbl-email-bulk-btns,.sbl-email-group__btns,.sbl-tmpl-micro,.sbl-template-quick-btn{display:none!important}.sbl-stat--clickable{cursor:pointer;transition:transform .12s}.sbl-stat--clickable:hover{transform:translateY(-1px)}.sbl-stat--active .sbl-stat__val{text-decoration:underline}.sbl-stat--active{border-bottom:2px solid var(--sbl-orange);border-radius:0 0 4px 4px}.sbl-inline-edit-trigger{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--sbl-muted, #94a3b8);background:none;border:none;padding:2px 4px;border-radius:4px;cursor:pointer;margin-top:3px;transition:color .12s,background .12s}.sbl-inline-edit-trigger:hover{color:var(--sbl-blue, #3b82f6);background:#eff6ff}.sbl-tr--inline-edit{background:#f8fafc}.sbl-td--inline-edit{padding:8px 12px!important}.sbl-inline-edit{width:100%}.sbl-inline-edit__row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sbl-inline-input{flex:1;min-width:120px;padding:5px 8px;font-size:12px;border:1px solid #e2e8f0;border-radius:6px;outline:none;transition:border-color .15s}.sbl-inline-input:focus{border-color:var(--sbl-blue, #3b82f6)}.sbl-icon-btn--save{color:#16a34a}.sbl-icon-btn--save:hover{background:#f0fdf4}.sbl-icon-btn--cancel{color:#dc2626}.sbl-icon-btn--cancel:hover{background:#fef2f2}.sbl-sender-row{display:flex;align-items:center;gap:10px}.sbl-label-hint{font-size:10px;font-weight:400;color:#94a3b8;margin-left:4px}.sbl-checkbox-wrap--inline{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;cursor:pointer}.sbl-individual-badge{display:inline-block;padding:1px 7px;font-size:10px;font-weight:700;background:#eff6ff;color:#3b82f6;border-radius:20px;margin-left:6px}.sbl-btn--xs{padding:3px 8px;font-size:11px;line-height:1.4}.sbl-btn--personal{border-color:#3b82f6;color:#3b82f6}.sbl-btn--personal:hover{background:#eff6ff}.sbl-addenda-form__title{font-size:13px;font-weight:700;color:#0f172a;padding:10px 14px 6px;border-bottom:1px solid #f1f5f9;margin-bottom:10px}.sbl-btn--primary{background:var(--sbl-orange, #f97316);color:#fff;border-color:transparent}.sbl-btn--primary:hover{opacity:.9}.bds-template-chip--on{border-color:#e86600;background:#fff7ed;color:#e86600}.bw-health-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;text-transform:capitalize}.bw-health-badge--excellent{background:#dcfce7;color:#15803d}.bw-health-badge--good{background:#e0f2fe;color:#0369a1}.bw-health-badge--fair{background:#fef3c7;color:#d97706}.bw-health-badge--poor{background:#fed7aa;color:#c2410c}.bw-health-badge--critical{background:#fee2e2;color:#dc2626}.bw-kpi-item--health{margin-left:auto}.bw-ai-insights-list{padding:4px 12px 6px}.bw-ai-insight{display:flex;align-items:flex-start;gap:4px;padding:3px 0;font-size:10px;line-height:1.3}.bw-ai-insight--warning{color:#d97706}.bw-ai-insight--success{color:#15803d}.bw-ai-insight--info{color:#0369a1}.bw-ai-insight span{flex:1}.bw-ai-coverage{padding:6px 12px 4px}.bw-ai-coverage-pct{font-size:22px;font-weight:800;color:#e86600;line-height:1}.bw-ai-coverage-sub{font-size:10px;color:#64748b;margin-top:1px}.bw-bid-health-chips{display:flex;gap:4px;padding:4px 12px 6px;flex-wrap:wrap}.bw-bid-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700}.bw-bid-chip--green{background:#dcfce7;color:#15803d}.bw-bid-chip--yellow{background:#fef3c7;color:#d97706}.bw-bid-chip--red{background:#fee2e2;color:#dc2626}.bw-kpi-bar{display:flex;align-items:center;gap:2px;padding:8px 16px;background:#fff;border-bottom:1px solid #e8eaed;overflow-x:auto}.bw-kpi-item{display:flex;align-items:center;gap:5px;padding:4px 10px;border-right:1px solid #f1f5f9;white-space:nowrap}.bw-kpi-item:last-child{border-right:none}.bw-kpi-icon{flex-shrink:0}.bw-kpi-body{display:flex;flex-direction:column}.bw-kpi-value{font-size:14px;font-weight:800;line-height:1}.bw-kpi-label{font-size:9px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.bw-kpi-progress{position:relative;width:40px;height:40px;margin-left:auto;flex-shrink:0}.bw-kpi-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#1e293b}.bw-body{display:grid;grid-template-columns:200px minmax(0,1fr) auto;flex:1;min-height:0}.bw-left-col{background:#fff;border-right:1px solid #e8eaed;overflow-y:auto;padding-bottom:16px}.bw-left-section{border-bottom:1px solid #f1f3f5;padding-bottom:4px}.bw-left-section__head{display:flex;align-items:center;gap:5px;padding:10px 12px 4px;position:sticky;top:0;background:#fff;z-index:1}.bw-left-icon{color:#64748b;flex-shrink:0}.bw-left-icon--orange{color:#e86600}.bw-left-title{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;flex:1}.bw-left-count{font-size:10px;font-weight:700;color:#94a3b8;background:#f1f5f9;padding:0 5px;border-radius:8px;min-width:16px;text-align:center}.bw-left-count--orange{color:#e86600;background:#fff7ed}.bw-left-action{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:#94a3b8;border-radius:4px}.bw-left-action:hover{background:#f1f5f9;color:#64748b}.bw-left-empty{font-size:11px;color:#94a3b8;padding:6px 12px 8px;margin:0}.bw-left-list{list-style:none;margin:0;padding:0 6px 4px}.bw-left-list__item{display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:4px;font-size:11px;color:#475569;cursor:pointer}.bw-left-list__item:hover{background:#f8fafc}.bw-left-list__icon{font-size:10px;flex-shrink:0}.bw-left-list__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.bw-left-list__badge{font-size:8px;font-weight:700;color:#e86600;background:#fff7ed;padding:0 4px;border-radius:3px}.bw-left-list__cost{font-size:10px;font-weight:600;color:#1e293b;font-variant-numeric:tabular-nums}.bw-left-list__item--insight{justify-content:space-between}.bw-left-actions{display:flex;gap:4px;padding:4px 12px 6px}.bw-left-action-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;font-size:10px;font-weight:600;cursor:pointer}.bw-left-action-btn:hover{background:#f8fafc}.bw-left-action-btn--ai{border-color:#e86600;color:#e86600}.bw-left-cta{padding:6px 12px}.bw-left-cta__btn{display:flex;align-items:center;gap:4px;width:100%;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:11px;font-weight:600;cursor:pointer;justify-content:center}.bw-left-cta__btn:hover{background:#f8fafc;border-color:#cbd5e1}.bw-left-loading{display:flex;align-items:center;gap:4px;font-size:11px;color:#e86600;padding:6px 12px}.bw-left-template{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;cursor:pointer;border-radius:4px;margin:0 4px}.bw-left-template:hover{background:#f8fafc}.bw-left-template__name{font-size:11px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bw-left-template__ver{font-size:9px;color:#94a3b8;flex-shrink:0}.bw-health-bars{padding:4px 12px 8px}.bw-health-bar{margin-bottom:8px}.bw-health-bar__header{display:flex;justify-content:space-between;font-size:10px;color:#64748b;margin-bottom:2px}.bw-health-bar__pct{font-weight:700}.bw-health-bar__track{height:3px;background:#f1f5f9;border-radius:2px}.bw-health-bar__fill{height:3px;border-radius:2px;transition:width .3s}.bw-center{overflow-y:auto;padding:0 16px 16px;min-width:0}.bw-center-tabs{display:flex;gap:0;border-bottom:2px solid #f1f3f5;margin:0 0 12px;position:sticky;top:0;background:#f8f9fb;z-index:10;padding-top:8px;overflow-x:auto}.bw-center-tab{display:flex;align-items:center;gap:5px;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:#94a3b8;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .15s;font-family:inherit}.bw-center-tab:hover{color:#64748b}.bw-center-tab--active{color:#1e293b;border-bottom-color:#e86600}.bw-center-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;font-size:9px;font-weight:700;background:#e2e8f0;color:#64748b;padding:0 4px}.bw-center-tab-count--active{background:#e86600;color:#fff}.bw-sub{overflow-y:auto;padding:0 16px 16px;min-width:0}.bw-sub-tabs{display:flex;gap:0;border-bottom:2px solid #f1f3f5;margin:0 0 12px;position:sticky;top:0;background:#f8f9fb;z-index:10;padding-top:8px;overflow-x:auto}.bw-sub-tab{display:flex;align-items:center;gap:5px;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:#94a3b8;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .15s;font-family:inherit}.bw-sub-tab:hover{color:#64748b}.bw-sub-tab--active{color:#422e1e;border-bottom-color:#e86600}.bw-sub-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;font-size:9px;font-weight:700;background:#e2e8f0;color:#64748b;padding:0 4px}.bw-sub-tab-count--active{background:#e86600;color:#fff}.bw-issue-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;background:#fef3c7;border:1px solid #fde68a;margin-bottom:10px;font-size:12px}.bw-issue-banner__content{flex:1}.bw-issue-banner__content strong{color:#92400e}.bw-issue-banner__content p{margin:2px 0 0;color:#a16207;font-size:11px}.bw-warnings{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-bottom:10px;align-items:center}.bw-warning-row{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#92400e}.bw-warnings-close{margin-left:auto;border:none;background:none;cursor:pointer;color:#d97706;padding:2px}.bw-btn-warning{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:6px;background:#f59e0b;color:#fff;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.bw-btn-ai{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:6px;background:#7c3aed;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.bw-btn-ai:disabled{opacity:.5;cursor:not-allowed}.bw-btn-primary{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border:none;border-radius:8px;background:#e86600;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.bw-loading{display:flex;align-items:center;justify-content:center;min-height:400px;background:#f8f9fb}.bw-skeleton-layout{display:grid;grid-template-columns:200px 1fr 300px;gap:12px;width:100%;max-width:1400px;padding:20px}.bw-skeleton{border-radius:8px;height:500px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:bw-shimmer 1.5s infinite}@keyframes bw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.bw-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;min-height:300px;text-align:center;color:#64748b}.bw-subbids-wrap{background:#fff;border-radius:10px;border:1px solid #e8eaed;overflow:hidden;margin:auto}.bw-spinner-xs{display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:bw-spin .6s linear infinite}.bw-spinner-sm{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:bw-spin .6s linear infinite}@keyframes bw-spin{to{transform:rotate(360deg)}}.bid-workspace{display:flex;flex-direction:column;min-height:100vh;background:#f8f9fb;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e293b}.bds-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:20px;animation:bds-fade-in .15s ease-out}@keyframes bds-fade-in{0%{opacity:0}to{opacity:1}}.bds-modal{background:#fff;border-radius:14px 14px 0 0;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 -8px 40px #00000026;animation:bds-slide-up .2s ease-out}@keyframes bds-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.bds-modal__hdr,.bds-modalhdr{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #f1f3f5}.bds-modal__title,.bds-modaltitle{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#1e293b}.bds-modal__close,.bds-modalclose{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:#94a3b8;border-radius:6px;transition:background .15s}.bds-modal__close:hover,.bds-modalclose:hover{background:#f1f5f9;color:#64748b}.bds-trade-picker{padding:10px 18px;border-bottom:1px solid #f1f3f5}.bds-trade-picker__lbl,.bds-trade-pickerlbl{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}.bds-trade-grid{display:flex;flex-wrap:wrap;gap:5px}.bds-trade-chip{padding:5px 11px;border:1.5px solid #e2e8f0;border-radius:7px;background:#fff;color:#475569;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s;font-family:inherit}.bds-trade-chip:hover{border-color:#cbd5e1;background:#f8fafc}.bds-trade-chip--on{border-color:#f97316;background:#fff7ed;color:#ea580c;box-shadow:0 0 0 1px #f9731626}.bds-form{padding:14px 18px}.bds-row{display:flex;gap:10px;margin-bottom:10px}.bds-field{display:flex;flex-direction:column;margin-bottom:10px}.bds-field--grow{flex:1;margin-bottom:0}.bds-field--w80{width:100px;flex-shrink:0;margin-bottom:0}.bds-label{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.bds-input{width:100%;padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:13px;color:#1e293b;background:#fff;outline:none;box-sizing:border-box;font-family:inherit;transition:border-color .15s}.bds-input:focus{border-color:#f97316;box-shadow:0 0 0 2px #f9731614}.bds-input::placeholder{color:#cbd5e1}.bds-textarea{width:100%;padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:13px;color:#1e293b;background:#fff;outline:none;box-sizing:border-box;font-family:inherit;resize:vertical;min-height:48px;transition:border-color .15s}.bds-textarea:focus{border-color:#f97316;box-shadow:0 0 0 2px #f9731614}.bds-textarea::placeholder{color:#cbd5e1}.bds-template-picker{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.bds-template-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:7px;background:#fff;color:#475569;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.bds-template-chip:hover{border-color:#cbd5e1;background:#f8fafc}.bds-template-chip--on{border-color:#f97316;background:#fff7ed;color:#ea580c}.bds-template-chip__ver{font-size:9px;color:#94a3b8;font-weight:500}.bds-template-chip--on .bds-template-chip__ver{color:#ea580c}.bds-template-hint{font-size:10px;color:#94a3b8;margin:4px 0 0;line-height:1.4}.bds-modal__footer,.bds-modalfooter{display:flex;justify-content:flex-end;gap:8px;padding:12px 0 0;margin-top:6px;border-top:1px solid #f1f3f5}.bds-btn-ghost{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s}.bds-btn-ghost:hover{background:#f8fafc;border-color:#cbd5e1}.bds-btn-primary{display:inline-flex;align-items:center;gap:4px;padding:8px 18px;border:none;border-radius:8px;background:#f97316;color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .12s}.bds-btn-primary:hover:not(:disabled){background:#ea580c}.bds-btn-primary:disabled{opacity:.5;cursor:not-allowed}:root{--color-background: #f9fafb;--color-surface: #ffffff;--color-text: #241306;--color-text-secondary: #92766c;--color-primary: #e68443;--color-secondry: #f3be9b;--color-primary-hover: #e66930;--color-success: #b64f26;--color-warning: #f59e0b;--color-danger: #dc2626;--radius-sm: 6px;--radius-base: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-loose: 1.75;--letter-spacing-tight: -.01em;--font-family-base: "FKGroteskNeue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-loose);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:var(--color-background);color:var(--color-text);margin:10;line-height:var(--line-height-loose)}ul,ol,p,li{line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative;margin-top:10px;margin-bottom:10px;margin-right:10px}.btn--primary{background:var(--color-primary);color:var(--color-btn-primary-text);margin-top:10px;margin-bottom:10px;margin-right:10px}.btn--primary:hover{background:var(--color-primary-hover);margin-top:10px;margin-bottom:10px;margin-right:10px}.back-button{background-color:#241306;margin-bottom:10px;margin-right:10px}.apr-root{margin-top:20px;padding:24px 26px 28px;background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 4px 12px #0f172a0f,0 1px 3px #0f172a14;border:1px solid rgba(148,163,184,.25);position:relative;overflow:hidden}.apr-summary-card{padding:18px 18px 20px;border-radius:16px;background:#fff;border:none;position:relative;transition:all .25s ease;box-shadow:0 4px 14px #0f172a0f;overflow:hidden}.apr-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.apr-summary-title h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em}.apr-summary-subtitle{display:block;margin-top:4px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.apr-summary-chip{font-size:12px;font-weight:600;padding:6px 14px;border-radius:999px;background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.apr-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 900px){.apr-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.apr-summary-grid{grid-template-columns:1fr}}.apr-summary-item{padding:16px 20px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;background:#fff;box-shadow:0 4px 14px #0f172a0f;transition:all .2s ease;font-weight:600;font-size:15px}.apr-summary-item--total{background:linear-gradient(135deg,#f8fafc,#eef2f7);border-left:5px solid #64748b}.apr-summary-item--success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-left:6px solid #10b981}.apr-summary-item--warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left:6px solid #f59e0b}.apr-summary-item--emphasis{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:6px solid #3b82f6}.apr-summary-label{font-size:14px;font-weight:600;color:#475569;text-transform:none;letter-spacing:0}.apr-summary-value{font-size:18px;font-weight:700;color:#0f172a;margin-top:0}.apr-summary-value--primary,.apr-summary-value--currency{font-size:18px}.apr-method-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.apr-method-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border-width:1px;border-style:solid;font-size:12px}.apr-method-count{min-width:26px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:600;background:#fff}.apr-method-label{font-weight:500}.apr-method-pill--assembly{background:#3b82f614;border-color:#3b82f680;color:#1d4ed8}.apr-method-pill--costcode{background:#16a34a14;border-color:#16a34a80;color:#15803d}.apr-method-pill--manual{background:#94a3b81a;border-color:#94a3b8b3;color:#475569}.apr-method-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.apr-method-pill{font-size:11px;padding:3px 9px;border-radius:999px;border-width:1px;border-style:solid}.apr-method-pill--assembly{background:#3b82f612;border-color:#3b82f659;color:#1d4ed8}.apr-method-pill--costcode{background:#16a34a12;border-color:#16a34a59;color:#15803d}.apr-method-pill--manual{background:#94a3b814;border-color:#94a3b880;color:#475569}.apr-controls{display:flex;align-items:center;gap:12px;margin:10px 0 14px;flex-wrap:wrap}.apr-control-group{display:flex;flex-direction:column;gap:4px}.apr-control-label{font-size:11px;text-transform:uppercase;color:var(--color-text-secondary, #6b7280);letter-spacing:.06em}.apr-select{min-width:160px;padding:6px 24px 6px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.7);background:var(--color-surface, #fff);font-size:13px}.apr-controls-spacer{flex:1 1 auto}.apr-control-actions{display:flex;gap:8px}.apr-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative}.apr-btn-sm{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;box-shadow:0 4px 10px #2563eb4d;transition:all .2s ease;border:none}.apr-btn-primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.apr-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2563eb66}.apr-btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.apr-btn-outline:hover{background:var(--color-secondary)}.apr-btn-ghost{background:#0f172a0a;color:#475569;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;border:1px solid rgba(148,163,184,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .2s ease}.apr-btn-ghost:hover{background:#3b82f614;color:#1d4ed8;border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 6px 14px #3b82f626}.apr-btn-danger{background:#b91c1c;color:#fef2f2}.apr-btn-danger:hover{background:#991b1b}.apr-table-shell{border-radius:18px;background:#fff;box-shadow:0 8px 24px #0f172a14,0 2px 6px #0f172a0f;border:1px solid rgba(148,163,184,.25);padding:0;overflow:hidden}.apr-table-scroll{width:100%;overflow-x:auto;overflow-y:hidden}.apr-table{width:100%;min-width:920px;border-collapse:collapse;font-size:13px}.apr-table thead{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:1px solid rgba(148,163,184,.3)}.apr-table th,.apr-table td{padding:8px 10px;text-align:left;white-space:nowrap}.apr-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#64748b;padding:14px}.apr-table tbody tr:nth-child(2n){background:#fff;transition:all .2s ease;border-bottom:1px solid rgba(226,232,240,.8)}.apr-table tbody tr:hover{background:#f8fafc;transform:scale(1.003);box-shadow:0 4px 14px #0f172a0d}.apr-col-id{width:64px}.apr-col-description{min-width:260px}.apr-col-costcode{width:90px}.apr-col-method{color:var(--color-primary);width:140px}.apr-col-number{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#1e293b}.apr-col-total{background:linear-gradient(to right,#eff6ff,transparent);padding-right:12px;border-radius:6px}.apr-col-actions{width:90px;text-align:center}@media (max-width: 900px){.apr-col-actions{position:sticky;right:0;background:var(--color-surface);color:var(--color-text);box-shadow:-4px 0 6px #0f172a14}.apr-table-scroll{overflow-x:auto;padding-right:4px}}.apr-desc-main{font-weight:600;color:#0f172a;line-height:1.4}.apr-method-cell{display:flex;flex-direction:column;gap:2px}.apr-method-badge{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 6px #0f172a14}.apr-method-badge.assembly{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.apr-method-badge.manual{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.apr-method-source{font-size:11px;color:#64748b;margin-top:4px}.apr-empty-row{text-align:center;padding:18px 0;color:#6b7280}.apr-loading,.apr-empty-state,.apr-error{padding:22px 24px;border-radius:16px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;box-shadow:0 8px 24px #b91c1c14;display:flex;flex-direction:column;gap:16px}.apr-error-text{font-size:14px;font-weight:600;color:#991b1b}.apr-error-actions{background:#b91c1c0f;padding:14px;border-radius:12px;display:flex;justify-content:flex-end;border:1px dashed rgba(185,28,28,.3)}.apr-btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:600;box-shadow:0 6px 14px #b91c1c59;transition:all .2s ease;border:none}.apr-btn-danger:hover{transform:translateY(-2px);box-shadow:0 10px 22px #b91c1c73}.apr-spinner{width:20px;height:20px;border-radius:999px;border:1px dashed rgba(148,163,184,.6);border-top-color:var(--color-spinner);margin:0 auto 8px;animation:apr-spin .8s linear infinite}@keyframes apr-spin{to{transform:rotate(360deg)}}.apr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:40}.apr-modal{max-width:640px;max-height:88vh;border-radius:16px;background:#fff;box-shadow:0 18px 40px #0f172a38,0 4px 10px #0f172a14;display:flex;flex-direction:column;overflow:hidden}.apr-modal-header{padding:20px 24px;border-bottom:1px solid rgba(148,163,184,.3);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,#f8fafc,#f1f5f9)}.apr-modal-header h3{font-size:18px;font-weight:700;letter-spacing:-.01em;color:#0f172a}.apr-modal-close{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#6b7280}.apr-modal-body{padding:16px 18px 8px;overflow-y:auto}.apr-modal-section{margin-bottom:14px;padding:12px 14px;background:#fff;border-radius:12px;border:1px solid rgba(148,163,184,.25);box-shadow:0 2px 8px #0f172a0d}.apr-modal-section h4{margin-bottom:6px;font-size:14px;font-weight:600}.apr-modal-help{font-size:13px;color:#64748b;margin-bottom:12px;line-height:1.5}.apr-detail-table{width:100%;border-collapse:collapse;font-size:13px}.apr-detail-table td{padding:8px 10px;border-bottom:1px solid rgba(226,232,240,.8)}.apr-detail-table td.label{width:120px;font-weight:600;color:#475569}.apr-detail-table td.number{text-align:right;font-weight:600}.apr-detail-table td.emphasis{font-weight:700;font-size:16px;color:#dc2626;background:linear-gradient(135deg,#fee2e2,#fecaca)}.apr-modal-footer{padding:18px 24px;border-top:1px solid rgba(148,163,184,.3);background:#f8fafc;display:flex;justify-content:flex-end}.apr-modal-footer .apr-btn{background:linear-gradient(135deg,#e68443,#e66930);color:#fff;border-radius:999px;padding:8px 22px;font-weight:600;box-shadow:0 6px 14px #e6693059}@media (max-width: 768px){.apr-root{padding:12px 12px 18px}.apr-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apr-controls{flex-direction:column;align-items:stretch}.apr-select{padding:8px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.4);background:#fff;font-weight:500;box-shadow:0 2px 6px #0f172a0d}.apr-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.apr-control-actions{justify-content:flex-end}}@media (max-width: 640px){.apr-summary-grid{grid-template-columns:1fr}.apr-desc-main{max-width:240px}.apr-modal{max-width:100%;margin:0 10px}}.cea-auto-process-bar{position:relative;background:linear-gradient(135deg,#fff,#f0f7ff)!important;border:none!important;border-radius:14px!important;padding:18px 22px!important;margin-bottom:22px!important;display:flex!important;align-items:center!important;gap:16px!important;box-shadow:0 0 0 1.5px #3b82f6,0 4px 24px #3b82f61f;overflow:hidden}.cea-auto-process-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3b82f6,#6366f1);border-radius:14px 0 0 14px}.cea-auto-process-bar>span{color:#475569!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important}.cea-auto-process-btn{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:11px 22px!important;background:linear-gradient(135deg,#2563eb,#4f46e5)!important;color:#fff!important;border:none!important;border-radius:9px!important;font-size:14px!important;font-weight:700!important;letter-spacing:.01em!important;cursor:pointer!important;white-space:nowrap!important;position:relative!important;overflow:hidden!important;box-shadow:0 2px 8px #3b82f659,inset 0 1px #ffffff26!important;transition:transform .15s ease,box-shadow .15s ease,background .2s ease!important}.cea-auto-process-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none;border-radius:9px}.cea-auto-process-btn:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 6px 20px #3b82f673,inset 0 1px #ffffff26!important;background:linear-gradient(135deg,#1d4ed8,#4338ca)!important}.cea-auto-process-btn:active:not(:disabled){transform:translateY(0)!important;box-shadow:0 2px 6px #3b82f640!important}.cea-auto-process-btn:disabled,.cea-auto-process-btn.loading{background:linear-gradient(135deg,#93c5fd,#a5b4fc)!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.cea-auto-process-btn.loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.25) 50%,transparent 100%);animation:cea-shimmer 1.5s infinite}@keyframes cea-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.cea-breakdown-toggle-btn{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:6px 14px!important;background:#eff6ff!important;color:#2563eb!important;border:1.5px solid #bfdbfe!important;border-radius:7px!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;white-space:nowrap!important;transition:background .15s,border-color .15s,color .15s!important}.cea-breakdown-toggle-btn:hover{background:#dbeafe!important;border-color:#93c5fd!important;color:#1d4ed8!important}.cea-cost-summary{background:#fff!important;border-radius:14px!important;border:1px solid #e2e8f0!important;padding:20px!important;margin-bottom:22px!important;box-shadow:0 2px 12px #0000000f!important}.cea-cost-summary>h3{margin:0 0 16px!important;font-size:17px!important;font-weight:700!important;color:#1e293b!important}.cea-direct-costs-section{background:linear-gradient(135deg,#eff6ff,#f0f9ff)!important;border:none!important;border-radius:12px!important;padding:18px!important;margin-bottom:16px!important;box-shadow:inset 0 0 0 1.5px #3b82f62e!important}.cea-direct-costs-section>div:first-child>h4{font-size:14px!important;font-weight:700!important;color:#1d4ed8!important;margin:0!important}.cea-cost-cards-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:12px!important;margin-top:6px!important}.cea-cost-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:10px!important;padding:14px 16px!important;position:relative!important;overflow:hidden!important;transition:box-shadow .2s ease,transform .15s ease!important}.cea-cost-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#e2e8f0;border-radius:10px 10px 0 0;transition:background .2s}.cea-cost-card:hover{box-shadow:0 4px 18px #00000017!important;transform:translateY(-2px)!important;border-color:#cbd5e1!important}.cea-cost-card>div:first-child{font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:#64748b!important;margin-bottom:7px!important}.cea-cost-card>div:last-child{font-size:20px!important;font-weight:700!important;font-variant-numeric:tabular-nums!important;line-height:1.2!important}.cea-cost-cards-grid>.cea-cost-card:nth-child(1):before{background:linear-gradient(90deg,#10b981,#34d399)!important}.cea-cost-cards-grid>.cea-cost-card:nth-child(1)>div:last-child{color:#059669!important}.cea-cost-cards-grid>.cea-cost-card:nth-child(2):before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)!important}.cea-cost-cards-grid>.cea-cost-card:nth-child(2)>div:last-child{color:#0284c7!important}.cea-cost-cards-grid>.cea-cost-card:nth-child(3):before{background:linear-gradient(90deg,#f97316,#fb923c)!important}.cea-cost-cards-grid>.cea-cost-card:nth-child(3)>div:last-child{color:#ea580c!important}.cea-cost-card.cea-cost-card-total{background:linear-gradient(135deg,#1e293b,#334155)!important;border:none!important}.cea-cost-card.cea-cost-card-total:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)!important}.cea-cost-card.cea-cost-card-total:hover{box-shadow:0 6px 22px #1e293b4d!important;border:none!important}.cea-cost-card.cea-cost-card-total>div:first-child{color:#94a3b8!important}.cea-cost-card.cea-cost-card-total>div:last-child{color:#f1f5f9!important;font-size:22px!important}@media (max-width: 640px){.cea-auto-process-bar{flex-direction:column!important;align-items:flex-start!important;padding:14px 16px!important}.cea-auto-process-btn{width:100%!important;justify-content:center!important}.cea-cost-cards-grid{grid-template-columns:1fr 1fr!important}}@media (max-width: 400px){.cea-cost-cards-grid{grid-template-columns:1fr!important}}.cea-action-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:20px;box-shadow:0 1px 4px #0000000f}.cea-action-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.01em;white-space:nowrap;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.cea-action-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.cea-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026;filter:brightness(1.06)}.cea-action-btn:active{transform:translateY(0);box-shadow:none;filter:brightness(.97)}.cea-action-btn-icon{font-size:15px;line-height:1}.cea-action-btn-add{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 2px 6px #16a34a4d}.cea-action-btn-add:hover{box-shadow:0 4px 14px #16a34a66!important}.cea-action-btn-factors{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;box-shadow:0 2px 6px #0891b24d}.cea-action-btn-factors:hover{box-shadow:0 4px 14px #0891b266!important}.cea-action-btn-export{background:linear-gradient(135deg,#475569,#334155);color:#fff;box-shadow:0 2px 6px #47556940}.cea-action-btn-export:hover{box-shadow:0 4px 14px #47556959!important}@media (max-width: 640px){.cea-action-bar{padding:12px 14px}.cea-action-btn{padding:8px 14px;font-size:12px}}.cem-root{padding:20px;background-color:#f5f5f5;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cem-toast{position:fixed;top:20px;right:20px;z-index:9999;padding:12px 20px;border-radius:8px;font-weight:600;font-size:14px;box-shadow:0 4px 12px #0000001a;transition:opacity .3s ease}.cem-toast.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.cem-toast.warning{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.cem-toast.info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.cem-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.cem-header-left{display:flex;align-items:center;gap:12px}.cem-header-right{display:flex;gap:10px}.cem-title{margin:0;font-size:22px;font-weight:700;color:#0f172a}.cem-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.cem-btn:disabled{opacity:.5;cursor:not-allowed}.cem-btn-back{background:#fff;border:1px solid #ddd;color:#374151}.cem-btn-back:hover{border-color:#6366f1;color:#6366f1}.cem-btn-primary{background:#007bff;color:#fff}.cem-btn-primary:hover{background:#0056b3}.cem-btn-success{background:#28a745;color:#fff}.cem-btn-success:hover{background:#218838}.cem-btn-secondary{background:#6c757d;color:#fff}.cem-btn-secondary:hover{background:#5a6268}.cem-btn-info{background:#17a2b8;color:#fff}.cem-btn-info:hover{background:#138496}.cem-btn-danger{background:#dc3545;color:#fff}.cem-btn-danger:hover{background:#c82333}.cem-btn-neutral{background:#f0f0f0;color:#374151;border:1px solid #ddd}.cem-btn-neutral:hover{background:#e2e8f0}.cem-btn-full{width:100%}.cem-btn-lg{padding:12px 20px;font-size:15px;font-weight:600}.cem-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}.cem-summary-card{padding:14px;background:#fff;border-radius:8px;border:1px solid #dee2e6;box-shadow:0 1px 3px #0000000d}.cem-summary-card.bold{border-width:2px}.cem-summary-card__label{font-size:11px;color:#666;margin-bottom:4px}.cem-summary-card__value{font-size:16px;font-weight:600}.cem-summary-card__value.bold{font-weight:700}.cem-summary-card__value.green{color:#28a745}.cem-summary-card__value.teal{color:#17a2b8}.cem-summary-card__value.orange{color:#fd7e14}.cem-summary-card__value.yellow{color:#856404}.cem-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #00000014;margin-bottom:16px}.cem-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.cem-panel-title{margin:0;font-size:16px;font-weight:700;color:#0f172a}.cem-filters{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.cem-search-input{flex:1;min-width:180px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px}.cem-search-input:focus{outline:none;border-color:#6366f1}.cem-filter-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#374151}.cem-bulk-actions{display:flex;gap:8px;margin-bottom:14px}.cem-item-list{display:grid;gap:12px}.cem-item-card{padding:16px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;transition:all .15s}.cem-item-card.editing{background:#f0f7ff;border-color:#93c5fd}.cem-item-card-top{display:flex;gap:10px;align-items:flex-start}.cem-item-checkbox{width:16px;height:16px;margin-top:2px;cursor:pointer}.cem-item-body{flex:1}.cem-item-name{font-weight:600;font-size:14px;color:#0f172a}.cem-item-meta{font-size:12px;color:#666;margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cem-item-total{font-size:16px;font-weight:700;color:#28a745;white-space:nowrap}.cem-code-badge{padding:1px 7px;background:#e7f3ff;color:#1d4ed8;border-radius:999px;font-size:11px;font-weight:500}.assignment-badge{padding:1px 7px;border-radius:999px;font-size:11px;font-weight:500}.assignment-badge.manual{background:#f1f5f9;color:#64748b}.assignment-badge.custom{background:#eff6ff;color:#2563eb}.assignment-badge.master{background:#f0fdf4;color:#16a34a}.cem-base-note{margin-top:8px;padding:6px 10px;background:#fff;border-radius:4px;font-size:11px;color:#666}.cem-edit-panel{margin-top:14px;display:grid;gap:12px}.cem-field-group{position:relative}.cem-field-label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:4px}.cem-field-row{display:flex;gap:8px}.cem-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box;transition:border-color .15s;font-family:inherit}.cem-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.cem-input:disabled{background:#f8fafc;opacity:.6}.cem-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box;background:#fff;cursor:pointer}.cem-select:focus{outline:none;border-color:#6366f1}.cem-input-spinner{padding:8px 12px;color:#6366f1;font-size:12px;align-self:center;white-space:nowrap}.cem-suggestions{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:280px;overflow-y:auto}.cem-suggestions-header{padding:6px 12px;font-size:11px;color:#6b7280;border-bottom:1px solid #f3f4f6;font-weight:600}.cem-suggestion-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .1s}.cem-suggestion-item:hover{background:#f0f7ff}.cem-suggestion-top{display:flex;justify-content:space-between;align-items:center}.cem-suggestion-code{font-weight:600;font-size:13px;color:#1d4ed8}.cem-suggestion-desc{font-size:12px;color:#374151;margin-top:1px}.cem-suggestion-meta{font-size:11px;color:#6b7280;margin-top:2px}.cem-confidence-badge{font-size:10px;padding:1px 6px;border-radius:999px}.cem-confidence-badge.high{background:#dcfce7;color:#15803d}.cem-confidence-badge.low{background:#fef9c3;color:#92400e}.cem-live-total{padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:13px}.cem-live-total-value{color:#15803d;font-weight:700;font-size:15px}.cem-live-total-breakdown{color:#6b7280;font-size:11px;margin-left:8px}.cem-edit-actions{display:flex;gap:10px}.cem-empty{padding:32px;text-align:center;color:#999;background:#f9f9f9;border-radius:6px}.cem-loading{padding:40px;text-align:center;color:#666;font-size:15px}.cem-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.cem-modal{background:#fff;padding:28px;border-radius:10px;width:90%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.cem-modal-lg{max-width:680px}.cem-modal-title{margin-top:0;margin-bottom:16px;font-size:18px;font-weight:700;color:#0f172a}.cem-modal-footer{display:flex;gap:10px;margin-top:20px}.cem-modal-field{margin-top:12px}.cem-modal-field-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:4px}.cem-analysis-section{padding:16px;border-radius:8px;margin-top:16px}.cem-analysis-section.blue{background:#f0f8ff}.cem-analysis-section.yellow{background:#fff3cd}.cem-analysis-section-title{margin-top:0;margin-bottom:12px;font-size:14px;font-weight:700}.cem-analysis-section-title.blue{color:#0056b3}.cem-analysis-section-title.yellow{color:#856404}.cem-table{width:100%;border-collapse:collapse;margin-top:8px}.cem-table th{padding:8px;text-align:left;background:#ffebd1;border-bottom:2px solid #d4a574;font-size:13px}.cem-table th.right{text-align:right}.cem-table td{padding:8px;border-bottom:1px solid #ddd;font-size:13px}.cem-table td.right{text-align:right}.cem-table tr.bold td{font-weight:700;background:#e7f3ff}.cem-totals-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.cem-total-card{padding:16px;border-radius:8px}.cem-total-card.blue{background:#e7f3ff;border:2px solid #0056b3}.cem-total-card.green{background:#e8f5e9;border:2px solid #28a745}.cem-total-card__label{font-size:12px;color:#666;margin-bottom:4px}.cem-total-card__value{font-size:22px;font-weight:700}.cem-total-card__value.blue{color:#0056b3}.cem-total-card__value.green{color:#28a745}.cem-total-card__sub{font-size:11px;color:#666;margin-top:4px}.cem-stats-section{padding:14px;background:#f9f9f9;border-radius:8px;margin-top:14px;border-left:4px solid #17a2b8}.cem-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:8px}.cem-stat-label{font-size:11px;color:#666}.cem-stat-value{font-size:16px;font-weight:700;color:#0f172a}.cem-suggestions::-webkit-scrollbar,.cem-modal::-webkit-scrollbar{width:5px}.cem-suggestions::-webkit-scrollbar-thumb,.cem-modal::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:999px}@media (max-width: 640px){.cem-totals-grid{grid-template-columns:1fr}.cem-header{flex-direction:column;align-items:flex-start}}.cem-summary-wrapper{background:#fff;border-radius:14px;border:1px solid #e2e8f0;padding:20px;margin-bottom:22px;box-shadow:0 2px 12px #0000000f}.cem-summary-wrapper-title{margin:0 0 14px;font-size:17px;font-weight:700;color:#1e293b}.cem-summary-section{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-radius:12px;padding:18px;box-shadow:inset 0 0 0 1.5px #3b82f62e}.cem-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:0;margin-top:4px}.cem-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;position:relative;overflow:hidden;transition:box-shadow .2s ease,transform .15s ease}.cem-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:10px 10px 0 0;background:#e2e8f0}.cem-summary-card:hover{box-shadow:0 4px 18px #00000017;transform:translateY(-2px);border-color:#cbd5e1}.cem-summary-card__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:7px}.cem-summary-card__value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.cem-summary-grid>.cem-summary-card:nth-child(1):before{background:linear-gradient(90deg,#10b981,#34d399)}.cem-summary-grid>.cem-summary-card:nth-child(1) .cem-summary-card__value{color:#059669}.cem-summary-grid>.cem-summary-card:nth-child(2):before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}.cem-summary-grid>.cem-summary-card:nth-child(2) .cem-summary-card__value{color:#0284c7}.cem-summary-grid>.cem-summary-card:nth-child(3):before{background:linear-gradient(90deg,#f97316,#fb923c)}.cem-summary-grid>.cem-summary-card:nth-child(3) .cem-summary-card__value{color:#ea580c}.cem-summary-grid>.cem-summary-card:nth-child(4){background:linear-gradient(135deg,#1e293b,#334155);border:none}.cem-summary-grid>.cem-summary-card:nth-child(4):before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.cem-summary-grid>.cem-summary-card:nth-child(4):hover{box-shadow:0 6px 22px #1e293b4d}.cem-summary-grid>.cem-summary-card:nth-child(4) .cem-summary-card__label{color:#94a3b8}.cem-summary-grid>.cem-summary-card:nth-child(4) .cem-summary-card__value{color:#f1f5f9;font-size:22px}.cem-summary-grid>.cem-summary-card:nth-child(5){background:linear-gradient(135deg,#78350f,#92400e);border:none}.cem-summary-grid>.cem-summary-card:nth-child(5):before{background:linear-gradient(90deg,#fbbf24,#fde68a)}.cem-summary-grid>.cem-summary-card:nth-child(5):hover{box-shadow:0 6px 22px #78350f4d}.cem-summary-grid>.cem-summary-card:nth-child(5) .cem-summary-card__label{color:#fde68a}.cem-summary-grid>.cem-summary-card:nth-child(5) .cem-summary-card__value{color:#fff7ed;font-size:22px}.cem-summary-card__value.green{color:#059669}.cem-summary-card__value.teal{color:#0284c7}.cem-summary-card__value.orange{color:#ea580c}.cem-summary-card__value.yellow{color:#fde68a}.cem-direct-costs-section{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-radius:12px;padding:18px;box-shadow:inset 0 0 0 1.5px #3b82f62e}.cem-direct-costs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.cem-direct-costs-heading{margin:0;font-size:14px;font-weight:700;color:#1d4ed8}.cem-direct-costs-actions{display:flex;gap:8px;flex-wrap:wrap}.cem-breakdown-toggle-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;background:#eff6ff;color:#2563eb;border:1.5px solid #bfdbfe;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.cem-breakdown-toggle-btn:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.cem-cost-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:4px}.cem-cost-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;position:relative;overflow:hidden;transition:box-shadow .2s ease,transform .15s ease}.cem-cost-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:10px 10px 0 0;background:#e2e8f0}.cem-cost-card:hover{box-shadow:0 4px 18px #00000017;transform:translateY(-2px);border-color:#cbd5e1}.cem-cost-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:7px}.cem-cost-card-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.cem-cost-card-material:before{background:linear-gradient(90deg,#10b981,#34d399)}.cem-cost-card-value-green{color:#059669}.cem-cost-card-labor:before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}.cem-cost-card-value-blue{color:#0284c7}.cem-cost-card-equipment:before{background:linear-gradient(90deg,#f97316,#fb923c)}.cem-cost-card-value-orange{color:#ea580c}.cem-cost-card-total{background:linear-gradient(135deg,#1e293b,#334155);border:none}.cem-cost-card-total:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.cem-cost-card-total:hover{box-shadow:0 6px 22px #1e293b4d;border:none}.cem-cost-card-total .cem-cost-card-label{color:#94a3b8}.cem-cost-card-value-total{color:#f1f5f9;font-size:22px}.cem-cost-card-factors{background:linear-gradient(135deg,#78350f,#92400e);border:none}.cem-cost-card-factors:before{background:linear-gradient(90deg,#fbbf24,#fde68a)}.cem-cost-card-factors:hover{box-shadow:0 6px 22px #78350f4d;border:none}.cem-cost-card-factors .cem-cost-card-label{color:#fde68a}.cem-cost-card-value-factors{color:#fff7ed;font-size:22px}@media (max-width: 640px){.cem-direct-costs-header{flex-direction:column;align-items:flex-start}.cem-cost-cards-grid{grid-template-columns:1fr 1fr}}@media (max-width: 400px){.cem-cost-cards-grid{grid-template-columns:1fr}}.cef-root{padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8fafc;min-height:100vh;outline:none;position:relative;box-sizing:border-box}.cef-loading{padding:60px;text-align:center;color:#64748b;font-size:16px}.cef-empty{text-align:center;padding:48px;color:#94a3b8;font-size:14px}@keyframes cef-fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cef-toast{position:fixed;top:20px;right:20px;z-index:9999;padding:11px 20px;border-radius:8px;font-weight:600;font-size:13px;box-shadow:0 4px 16px #0000002e;animation:cef-fadein .2s ease;pointer-events:none}.cef-toast.success{background:#10b981;color:#fff}.cef-toast.warning{background:#f59e0b;color:#fff}.cef-overlay-dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000073;display:flex;align-items:center;justify-content:center}.cef-confirm-dialog{background:#fff;border-radius:12px;padding:28px 30px;width:380px;max-width:96vw;box-shadow:0 12px 40px #00000038;animation:cef-fadein .15s ease}.cef-confirm-title{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:8px}.cef-confirm-body{font-size:13.5px;color:#475569;line-height:1.6;margin:0 0 20px}.cef-confirm-actions{display:flex;gap:10px;justify-content:flex-end}.cef-confirm-cancel{padding:8px 18px;border:1px solid #e2e8f0;border-radius:7px;background:#f1f5f9;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}.cef-confirm-cancel:hover{background:#e2e8f0}.cef-confirm-remove{padding:8px 18px;border:none;border-radius:7px;background:#ef4444;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}.cef-confirm-remove:hover{background:#dc2626}.cef-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.cef-toolbar-left,.cef-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cef-title{margin:0;font-size:20px;font-weight:700;color:#1e293b}.cef-subtitle{color:#64748b;font-size:13px}.cef-stat-pills{display:flex;gap:5px}.cef-pill{padding:2px 9px;border-radius:12px;font-size:12px;font-weight:600}.cef-pill.auto{background:#dcfce7;color:#166534}.cef-pill.manual{background:#ede9fe;color:#6d28d9}.cef-pill.nocost{background:#fef3c7;color:#92400e}.cef-dirty-badge{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.cef-btn{padding:7px 14px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.cef-btn:disabled{opacity:.45;cursor:not-allowed}.cef-btn-primary{background:#3b82f6;color:#fff}.cef-btn-primary:hover:not(:disabled){background:#2563eb}.cef-btn-secondary{background:#e2e8f0;color:#334155}.cef-btn-secondary:hover{background:#cbd5e1}.cef-btn-ghost{background:transparent;color:#475569;border:1px solid #e2e8f0}.cef-btn-ghost:hover{background:#f1f5f9}.cef-btn-outline{background:transparent;color:#3b82f6;border:1.5px dashed #93c5fd;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.cef-btn-outline:hover{background:#eff6ff;border-style:solid}.cef-summary-section{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.cef-summary-group{flex:1 1 260px;min-width:0;background:#fff;border:1px solid #e2e8f0;border-top:3px solid transparent;border-radius:10px;padding:12px 12px 14px;box-shadow:0 1px 3px #0000000d;box-sizing:border-box;overflow:hidden}.cef-group-title{font-size:12px;font-weight:700;color:#475569;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}.cef-group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media (max-width: 360px){.cef-group-grid{grid-template-columns:repeat(2,1fr)}}.cef-sum-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 6px;min-width:0;overflow:hidden;box-sizing:border-box}.cef-sum-lbl{font-size:10px;font-weight:600;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.cef-sum-val{font-size:13px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cef-sum-total{border:none}.cef-sum-total .cef-sum-lbl,.cef-sum-total .cef-sum-val{color:#fff}.cef-breakdown-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 20px;margin-bottom:14px}.cef-breakdown-title{margin:0 0 12px;font-size:16px;color:#1e293b;font-weight:700}.cef-breakdown-grid{display:flex;gap:24px;flex-wrap:wrap}.cef-breakdown-table{border-collapse:collapse;font-size:13px;flex:1;min-width:300px}.cef-breakdown-table td{padding:6px 10px;border-bottom:1px solid #f1f5f9}.cef-factor-label-cell{color:#334155;font-weight:600}.cef-factor-note{color:#64748b;font-style:italic;font-size:12px;padding-left:12px}.cef-subtotal-row td{border-top:2px solid #e2e8f0;background:#f8fafc}.cef-info-row td{background:#eff6ff;color:#1d4ed8}.cef-grand-row td{background:#1e293b;color:#fff!important;font-size:14px}.cef-live-summary{flex:1;min-width:190px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px 14px}.cef-live-title{font-size:11px;font-weight:700;color:#166534;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.cef-live-row{display:flex;justify-content:space-between;font-size:13px;color:#166534;padding:3px 0;border-bottom:1px solid #bbf7d0}.cef-live-row.total-row{border-top:2px solid #86efac;border-bottom:none;font-weight:700;font-size:14px;margin-top:4px}.cef-filters{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.cef-search{padding:7px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;width:240px;outline:none}.cef-search:focus{border-color:#3b82f6}.cef-filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.cef-filter-tab{padding:5px 11px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;font-size:12px;font-weight:600;cursor:pointer;color:#475569;transition:background .12s}.cef-filter-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.cef-filter-tab:hover:not(.active){background:#f1f5f9}.cef-table-wrapper{background:#fff;border-radius:10px;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 1px 3px #0000000f;margin-bottom:12px}.cef-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12.5px}.cef-th-group{font-size:10px;text-align:center;padding:4px 6px;border-bottom:1px solid #cbd5e1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#e2e8f0}.cef-group-info{background:#f1f5f9;color:#475569}.cef-group-auto{background:#dcfce7;color:#166534}.cef-group-eff{background:#ede9fe;color:#5b21b6}.cef-group-custom{background:#fef3c7;color:#92400e}.cef-th{background:#f1f5f9;color:#475569;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:2px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:2;overflow:hidden;-webkit-user-select:none;user-select:none}.cef-th-fixed{cursor:default;z-index:3}.cef-th-drag{cursor:grab}.cef-th-drag:hover{background:#e8edf4}.cef-th-auto{background:#d1fae5!important;color:#065f46}.cef-th-total{background:#fefce8!important;color:#713f12}.cef-th-actions{text-align:center;cursor:default;width:72px}.cef-th.col-dragging{opacity:.4;background:#bfdbfe!important}.cef-th.col-drag-over{background:#818cf8!important;color:#fff!important;box-shadow:inset 3px 0 #4f46e5}.cef-th-inner{display:flex;align-items:center;gap:3px;overflow:hidden;position:relative}.cef-col-grip{font-size:13px;color:#cbd5e1;flex-shrink:0;cursor:grab;opacity:0;transition:opacity .15s}.cef-th-drag:hover .cef-col-grip{opacity:1}.cef-col-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.cef-sort-icon{font-size:10px;color:#94a3b8;flex-shrink:0}.cef-col-name-input{border:none;background:transparent;font-size:11px;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.04em;width:0;flex:1 1 auto;min-width:0;outline:none;cursor:text}.cef-col-name-input:focus{background:#fffbeb;border-radius:3px}.cef-col-remove-btn{display:none;background:#ef4444;color:#fff;border:none;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700;cursor:pointer;line-height:1.4;flex-shrink:0;margin-left:auto;transition:background .12s}.cef-th:hover .cef-col-remove-btn{display:inline-block}.cef-col-remove-btn:hover{background:#dc2626}.cef-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background:transparent;z-index:3}.cef-resize-handle:hover{background:#93c5fd}.cef-td{padding:7px 10px;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;max-width:260px}.cef-td:hover:not(.readonly):not(.cef-td-drag):not(.cef-td-src):not(.cef-td-actions){background:#eff6ff;cursor:pointer}.cef-td.active{background:#dbeafe!important;outline:2px solid #3b82f6;outline-offset:-2px;padding:0}.cef-td.readonly{cursor:default}.cef-td.manual-set{background:#faf5ff}.cef-auto-cell{background:#f0fdf4;color:#166534;cursor:default}.cef-td-total{background:#fefce8;font-weight:600}.cef-fallback{background:#fffbeb!important}.cef-fallback .cef-num{color:#92400e}.cef-formula-clickable{cursor:pointer}.cef-formula-clickable:hover{background:#fef9c3!important}.cef-td-drag{cursor:grab;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:7px 6px}.cef-drag-handle{font-size:14px;color:#cbd5e1;margin-right:2px}.cef-row-num{font-size:11px;color:#94a3b8}.cef-td-src{cursor:default;vertical-align:middle}.cef-td-actions{text-align:center;cursor:default;padding:4px 6px}.cef-row-actions{display:flex;align-items:center;gap:4px;justify-content:center}.cef-btn-save-row{background:#10b981;color:#fff;border:none;border-radius:5px;padding:3px 8px;font-size:12px;cursor:pointer;font-weight:600;line-height:1.4;transition:background .12s}.cef-btn-save-row:hover{background:#059669}.cef-btn-save-row:disabled{opacity:.5}.cef-btn-drop-row{background:transparent;color:#ef4444;border:1px solid #fca5a5;border-radius:5px;padding:3px 7px;font-size:12px;font-weight:700;cursor:pointer;line-height:1.4;transition:background .12s,color .12s;display:none}.cef-tr:hover .cef-btn-drop-row{display:inline-block}.cef-btn-drop-row:hover{background:#fef2f2;color:#dc2626}.cef-row-saved{opacity:.35;font-size:14px;color:#10b981}.cef-num{text-align:right;display:block;font-variant-numeric:tabular-nums}.cef-manual-dot{color:#8b5cf6;font-size:7px;margin-left:3px;vertical-align:super}.cef-formula-icon{font-size:10px;color:#3b82f6;margin-left:4px;font-style:normal;opacity:.75;vertical-align:middle}.cef-formula-icon.fallback{color:#f59e0b}.cef-cell-input{width:100%;height:100%;min-height:32px;border:none;outline:none;background:transparent;font-size:12.5px;padding:7px 10px;box-sizing:border-box;font-family:inherit}.cef-tr:hover td{background:#f8fafc}.cef-tr.dirty td{background:#fffbeb!important}.cef-tr.dirty td:first-child{border-left:3px solid #f59e0b}.cef-tr.dragging{opacity:.4}.cef-src-no_cost td{color:#9ca3af}.cef-tr-totals td{background:#f1f5f9;border-top:2px solid #e2e8f0;font-size:13px;padding:9px 10px}.cef-tr-spacer td{height:14px;background:#f8fafc}.cef-factor-row{background:#fafafa}.cef-factor-row td{border-top:1px solid #f1f5f9}.cef-factor-left-cell{padding:8px 16px!important;text-align:left!important;vertical-align:middle}.cef-factor-label-text{color:#334155;font-weight:600;font-size:12.5px}.cef-factor-note-inline{color:#94a3b8;font-style:italic;font-size:11.5px;margin-left:4px}.cef-factor-amount-cell{padding:8px 10px!important;text-align:right!important;font-variant-numeric:tabular-nums;min-width:110px;vertical-align:middle}.cef-factor-dash{color:#94a3b8;font-size:12px}.cef-factor-sub{background:#f0fdf4}.cef-factor-sub td{border-top:2px solid #bbf7d0!important}.cef-factor-sub .cef-factor-label-text{font-weight:700}.cef-factor-info{background:#eff6ff}.cef-factor-info .cef-factor-label-text{color:#1d4ed8}.cef-factor-info .cef-factor-note-inline{color:#3b82f6}.cef-factor-grand{background:#1e293b}.cef-factor-grand td{border-top:2px solid #475569!important}.cef-factor-grand .cef-factor-label-text{color:#f1f5f9;font-size:14px}.grand-lbl{color:#34d399!important}.cef-grand-amt{color:#34d399;font-size:15px}.cef-source-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}.cef-source-badge.manual{background:#ede9fe;color:#6d28d9}.cef-source-badge.auto{background:#dcfce7;color:#166534}.cef-source-badge.nocost{background:#fef3c7;color:#92400e}.cef-ai-icon{margin-left:4px;font-size:12px}.cef-formula-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8999;background:transparent}.cef-formula-popover{position:fixed;z-index:9000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:360px;max-width:96vw;box-shadow:0 8px 32px #0000002e;animation:cef-fadein .15s ease}.cef-formula-header{display:flex;justify-content:space-between;align-items:center;padding:11px 15px;background:#1e293b;border-radius:12px 12px 0 0}.cef-formula-title{color:#fff;font-size:13px;font-weight:700;flex:1}.cef-formula-close{background:transparent;border:none;color:#94a3b8;font-size:16px;cursor:pointer;padding:0 3px;line-height:1}.cef-formula-close:hover{color:#fff}.cef-formula-source{padding:7px 15px;border-bottom:1px solid #f1f5f9}.cef-formula-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700}.cef-formula-badge.effective{background:#dcfce7;color:#166534}.cef-formula-badge.fallback{background:#fef3c7;color:#92400e}.cef-formula-table{width:100%;border-collapse:collapse;font-size:12.5px}.cef-formula-table td{padding:5px 15px;color:#334155}.cef-formula-table td:first-child{color:#64748b}.cef-fnum{text-align:right;font-variant-numeric:tabular-nums}.cef-formula-divider td{border-top:1px solid #f1f5f9;padding:0!important;height:4px}.cef-formula-sub td{background:#f8fafc;font-weight:600}.cef-formula-result td{background:#f0fdf4;font-weight:700;border-top:2px solid #86efac;font-size:13px}.cef-formula-formula td{font-family:Courier New,monospace;font-size:11px;color:#64748b;background:#f8fafc;padding:6px 15px;border-top:1px solid #e2e8f0;word-break:break-all;white-space:pre-wrap}.cef-formula-edit-section{padding:12px 15px;border-top:1px solid #f1f5f9;background:#fffbeb;border-radius:0 0 12px 12px}.cef-formula-edit-label{font-size:12px;font-weight:600;color:#92400e;margin-bottom:6px}.cef-formula-edit-input{width:100%;padding:7px 10px;border:1px solid #fcd34d;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.cef-formula-edit-input:focus{border-color:#f59e0b}.cef-formula-edit-actions{display:flex;gap:8px;margin-top:8px}.cef-formula-apply-btn{flex:1;background:#10b981;color:#fff;border:none;border-radius:6px;padding:7px;font-size:13px;font-weight:600;cursor:pointer}.cef-formula-apply-btn:hover{background:#059669}.cef-formula-cancel-btn{flex:1;background:#e2e8f0;color:#475569;border:none;border-radius:6px;padding:7px;font-size:13px;font-weight:600;cursor:pointer}.cef-formula-cancel-btn:hover{background:#cbd5e1}.cef-formula-edit-trigger{width:100%;padding:10px;background:transparent;color:#3b82f6;border:none;border-top:1px solid #f1f5f9;cursor:pointer;font-size:13px;font-weight:600;text-align:center;border-radius:0 0 12px 12px}.cef-formula-edit-trigger:hover{background:#eff6ff}.cef-footer-total{background:#1e293b;color:#fff;padding:12px 20px;border-radius:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;margin-top:8px}.cef-footer-sep{color:#475569}.cef-grand-highlight{color:#34d399;font-size:17px;font-weight:700}.cef-footer-note{color:#fcd34d;font-size:12px;margin-left:auto}.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.status{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status--success{background-color:rgba(var(--color-success-rgb, 33, 128, 141),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb, 33, 128, 141),var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb, 192, 21, 47),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb, 192, 21, 47),var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb, 98, 108, 113),var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb, 98, 108, 113),var(--status-border-opacity))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:var(--focus-outline);outline-offset:2px}[data-color-scheme=dark] .btn--outline{border:1px solid var(--color-border-secondary)}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}.table-wrapper{overflow-x:auto;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.cost-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-base);min-width:1200px}.cost-table th{background:linear-gradient(135deg,var(--color-warning) 0%,var(--color-orange-400) 100%);color:var(--color-cream-50);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);padding:var(--space-16) var(--space-12);text-align:left;border-bottom:2px solid var(--color-orange-500);position:sticky;top:0;z-index:10}.cost-table th:first-child{border-top-left-radius:var(--radius-lg)}.cost-table th:last-child{border-top-right-radius:var(--radius-lg)}.cost-table td{padding:var(--space-16) var(--space-12);border-bottom:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-base);vertical-align:middle}.cost-table tbody tr:hover{background:var(--color-secondary)}.cost-table tbody tr.selected{background:rgba(var(--color-warning-rgb),.1);border-left:4px solid var(--color-warning)}.quantity-input,.cost-input,.costcode-input{width:100%;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text);transition:all var(--duration-normal) var(--ease-standard)}.quantity-input:focus,.cost-input:focus,.costcode-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.unit-select{width:100%;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}.unit-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}@media (prefers-color-scheme: dark){.unit-select{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] .unit-select{background-image:var(--select-caret-dark)}[data-color-scheme=light] .unit-select{background-image:var(--select-caret-light)}.description-cell{min-width:300px;max-width:400px}.item-description{font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:var(--line-height-tight)}.total-cell{font-weight:700;color:#0f172a;text-align:right;font-size:15px;background:linear-gradient(to right,#eff6ff,transparent);border-radius:6px}.source-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;box-shadow:0 2px 6px #0f172a14}.source-badge.ai{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.source-badge.manual{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.action-buttons{display:flex;gap:var(--space-8)}.edit-btn,.delete-btn{padding:var(--space-8);border:none;border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);font-size:var(--font-size-base)}.edit-btn{background:var(--color-bg-1);color:var(--color-primary)}.edit-btn:hover{background:rgba(var(--color-teal-500-rgb),.2);transform:scale(1.1)}.delete-btn{background:rgba(var(--color-error-rgb),.15);color:var(--color-error)}.delete-btn:hover{background:rgba(var(--color-error-rgb),.25);transform:scale(1.1)}.total-row{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-hover) 100%);font-weight:var(--font-weight-bold);border-top:3px solid var(--color-warning)}.total-row td{padding:var(--space-20) var(--space-12);font-size:var(--font-size-lg);border-bottom:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-secondary)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-secondary);border-top:4px solid var(--color-warning);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-16)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:18px;box-shadow:0 20px 40px #0f172a33,0 4px 10px #0f172a14;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;border:1px solid rgba(148,163,184,.25)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-24);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.modal-header button{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-8);border-radius:var(--radius-base);transition:color var(--duration-fast) var(--ease-standard)}.modal-header button:hover{color:var(--color-text);background:var(--color-secondary)}.modal-body{padding:var(--space-24)}@media (max-width: 480px){.cost-table{min-width:600px}.table-wrapper{border-radius:var(--radius-base);margin:0 -var(--space-16)}.cost-table th,.cost-table td{padding:var(--space-8) var(--space-6)}.cost-table th{font-size:var(--font-size-sm)}.cost-table td{font-size:var(--font-size-xs)}.description-cell{min-width:150px;max-width:200px}.item-description{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.quantity-input,.cost-input,.costcode-input,.unit-select{padding:6px 10px;border:1px solid rgba(148,163,184,.35);border-radius:8px;font-size:13px;background:#fff;transition:all .2s ease}.source-badge{padding:var(--space-4) var(--space-8);font-size:var(--font-size-xs)}.action-buttons{gap:var(--space-4)}.edit-btn,.delete-btn{padding:var(--space-6);font-size:var(--font-size-sm)}.modal-content{width:95%;max-height:90vh}.modal-header,.modal-body{padding:var(--space-16)}.modal-header h3{font-size:var(--font-size-xl)}}@media (max-width: 1024px){.cost-table{min-width:900px}.description-cell{min-width:250px;max-width:300px}}@media (max-width: 768px){.table-wrapper{border-radius:var(--radius-base)}.cost-table th,.cost-table td{padding:var(--space-12) var(--space-8)}.cost-table th{font-size:var(--font-size-base)}.cost-table td{font-size:var(--font-size-sm)}.description-cell{min-width:200px;max-width:250px}.item-description{font-size:var(--font-size-sm)}}@media print{.cost-estimation-header{background:var(--color-surface)!important;color:var(--color-text)!important}.action-button,.table-button,.edit-btn,.delete-btn{display:none!important}.cost-table{min-width:auto!important}.table-wrapper{overflow:visible!important;box-shadow:none!important}}.cost-estimation-container{display:flex;flex-direction:column;gap:20px;padding:20px;width:100%;height:auto!important;max-height:none!important;overflow:visible;border-radius:10px;background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.cost-estimation-tabs{display:flex;gap:12px;margin-bottom:24px;align-items:stretch}.tab-button{background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:14px 28px;font-size:14px;font-weight:600;color:#475569;transition:all .2s ease}.tab-button:hover{background:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #e6844326}.tab-button.active{background:linear-gradient(135deg,#e68443,#e66930);color:#fff;border-color:transparent;box-shadow:0 6px 16px #e6844359}.tab-button.active:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.tab-icon{font-size:20px;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 768px){.cost-estimation-tabs{flex-direction:column}.tab-button{width:100%}}.back-button{padding:10px 16px;background:#8b7355;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;width:fit-content;margin-top:10px}.back-button:hover{background:#7a6249}.back-button:active{transform:scale(.98)}:root{--color-background: #f9fafb;--color-surface: #ffffff;--color-text: #241306;--color-text-secondary: #92766c;--color-primary: #e68443;--color-secondry: #f3be9b;--color-primary-hover: #e66930;--color-success: #b64f26;--color-warning: #f59e0b;--color-danger: #dc2626;--radius-sm: 6px;--radius-base: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--font-family-base: "FKGroteskNeue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:active{background:var(--color-primary-active)}.btn--secondary{background:var(--color-secondary);color:var(--color-text)}.btn--secondary:hover{background:var(--color-secondary-hover)}.btn--secondary:active{background:var(--color-secondary-active)}.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{background:var(--color-secondary)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn--full-width{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.form-control{display:block;width:100%;max-width:100%;box-sizing:border-box;min-width:0;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}@media (prefers-color-scheme: dark){select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--space-16)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow:var(--shadow-md)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.ai-analysis header{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.back-button{background:var(--color-background);color:var(--color-text-secondary);border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#fff;border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 4px 12px #0f172a14}.ai-analysis header button:first-child{background:#fff;border:1px solid rgba(148,163,184,.35);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.ai-analysis header button:first-child:hover{background:linear-gradient(135deg,#e68443,#e66930);color:#fff;box-shadow:0 10px 24px #e6693059}.ai-analysis h2{font-size:20px;font-weight:700;color:#0f172a;letter-spacing:-.01em;margin:0}.tabs{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap}.tabs button{background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:10px 20px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.tabs button:hover{background:linear-gradient(135deg,#e68443,#e66930);color:#fff;border-color:transparent;box-shadow:0 10px 24px #4f46e559;transform:translateY(-2px)}.tabs button.active{background:linear-gradient(135deg,#e68443,#e66930);color:#fff;box-shadow:0 10px 24px #e6693059}.ai-analysis{padding:24px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);min-height:100vh;display:flex;flex-direction:column;gap:24px}.analysis-content{background:#fff;border-radius:20px;padding:28px;width:100%;min-width:0;box-shadow:0 12px 30px #0f172a14,0 2px 6px #0f172a0d;border:1px solid rgba(148,163,184,.25);transition:all .3s ease;overflow-x:hidden}@media (max-width: 768px){.ai-analysis{padding:16px}.tabs{margin-left:0;width:100%}.tabs button{flex:1;justify-content:center}.analysis-content{padding:18px}}.analysis-main textarea.form-control{width:100%;max-width:100%;box-sizing:border-box}:root{--da-primary: #e68443;--da-primary-dark: #e66930;--da-accent: #6366f1;--da-accent-dark: #4f46e5;--da-danger: #ef4444;--da-success: #22c55e;--da-surface: #ffffff;--da-bg: #f8fafc;--da-border: rgba(148, 163, 184, .35);--da-border-solid: #e2e8f0;--da-text: #0f172a;--da-text-secondary: #64748b;--da-text-muted: #94a3b8;--da-radius-sm: 6px;--da-radius: 10px;--da-radius-lg: 14px;--da-radius-xl: 18px;--da-shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--da-shadow: 0 4px 12px rgba(15, 23, 42, .08);--da-shadow-lg: 0 10px 28px rgba(15, 23, 42, .12);--da-font: "FKGroteskNeue", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--da-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}.ai-analysis{display:flex;flex-direction:column;gap:16px;width:100%;font-family:var(--da-font);color:var(--da-text);background:transparent;min-height:unset;padding:0}.da-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;background:var(--da-surface);border-radius:var(--da-radius-lg);border:1px solid var(--da-border);box-shadow:var(--da-shadow-sm)}.da-back-btn{background:none;border:1px solid var(--da-border-solid);border-radius:var(--da-radius);padding:6px 14px;font-size:13px;font-weight:500;color:var(--da-text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.da-back-btn:hover{background:var(--da-bg);color:var(--da-text)}.da-title{font-size:17px;font-weight:700;color:var(--da-text);letter-spacing:-.01em;margin:0}.da-analyzing-badge{font-size:12px;font-weight:500;color:var(--da-accent-dark);background:#eef2ff;border:1px solid #c7d2fe;padding:3px 10px;border-radius:999px}.da-header-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.da-tier-badge{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.da-tier-badge.basic{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.da-tier-badge.free{background:#fef9c3;color:#92400e;border:1px solid #fcd34d}.da-token-counter{font-size:12px;font-weight:500;white-space:nowrap}.da-token-counter.ok{color:#16a34a}.da-token-counter.warning{color:#d97706}.da-token-counter.exhausted{color:#dc2626}.da-model-badge{font-size:11px;color:var(--da-text-muted)}.da-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--da-surface);border-radius:var(--da-radius-lg);border:1px solid var(--da-border)}.da-toolbar-group{display:flex;align-items:center;gap:8px}.da-label{font-size:12px;font-weight:600;color:var(--da-text-secondary);white-space:nowrap}.da-select{height:34px;padding:0 28px 0 10px;border:1px solid var(--da-border-solid);border-radius:var(--da-radius);font-size:13px;color:var(--da-text);background:var(--da-surface);min-width:220px;cursor:pointer;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.da-select:focus{outline:none;border-color:var(--da-accent);box-shadow:0 0 0 3px #6366f11f}.da-select--sm{min-width:160px}.da-usage-pill{padding:5px 12px;border-radius:var(--da-radius);font-size:12px;font-weight:500;white-space:nowrap}.da-usage-pill.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.da-usage-pill.exhausted{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626}.da-usage-pill.unlimited{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.analysis-content{background:var(--da-surface);border-radius:20px;padding:24px;border:1px solid var(--da-border);box-shadow:var(--da-shadow)}.da-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}@media (max-width: 900px){.da-layout{grid-template-columns:1fr}}.da-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.da-panel{background:var(--da-surface);border-radius:var(--da-radius-lg);border:1px solid var(--da-border);overflow:hidden}.da-panel__header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--da-bg);border-bottom:1px solid var(--da-border)}.da-panel__title{font-size:13px;font-weight:600;color:var(--da-text)}.da-panel__actions{display:flex;gap:6px}.da-sessions-count{background:#f1f5f9;color:var(--da-text-secondary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.da-panel--sessions{max-height:260px;overflow-y:auto}.da-upload-btn{padding:3px 12px;border-radius:999px;border:1px solid var(--da-border-solid);background:var(--da-surface);font-size:11px;font-weight:500;color:var(--da-text-secondary);cursor:pointer;transition:all .15s}.da-upload-btn:hover{background:var(--da-bg);color:var(--da-primary);border-color:var(--da-primary)}.da-pill-btn{padding:2px 8px;border-radius:999px;border:1px solid var(--da-border-solid);background:var(--da-surface);font-size:11px;font-weight:500;color:var(--da-text-secondary);cursor:pointer;transition:all .15s}.da-pill-btn:hover{background:var(--da-bg)}.da-pill-btn.danger{color:var(--da-danger);border-color:#ef44444d}.da-pill-btn.danger:hover{background:#fef2f2}.da-doc-list{max-height:200px;overflow-y:auto;padding:4px 0}.da-doc-item{display:flex;align-items:flex-start;gap:8px;padding:7px 14px;cursor:pointer;transition:background .1s;border-bottom:1px solid rgba(148,163,184,.1)}.da-doc-item:hover{background:#f8fafc}.da-doc-item.selected{background:#eff6ff}.da-doc-check{margin-top:2px;flex-shrink:0;accent-color:var(--da-accent)}.da-doc-info{flex:1;min-width:0}.da-doc-name{font-size:12px;font-weight:500;color:var(--da-text);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.da-doc-meta{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}.da-badge{font-size:10px;padding:1px 6px;border-radius:999px;font-weight:500}.da-badge.analyzed{background:#dcfce7;color:#15803d}.da-badge.filetype{background:#f1f5f9;color:#64748b}.da-badge.size{color:#94a3b8}.da-doc-summary{display:flex;justify-content:space-between;padding:6px 14px;font-size:11px;color:var(--da-text-muted);border-top:1px solid var(--da-border);background:var(--da-bg)}.da-create-session-btn{width:100%;padding:9px;background:linear-gradient(135deg,var(--da-primary),var(--da-primary-dark));color:#fff;border:none;border-radius:var(--da-radius-lg);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #e6693040}.da-create-session-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #e6693059}.da-create-session-btn:disabled{opacity:.45;cursor:not-allowed}.da-session-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid rgba(148,163,184,.1);transition:background .1s}.da-session-item:hover{background:var(--da-bg)}.da-session-item.active{background:#eff6ff;border-left:3px solid var(--da-accent-dark)}.da-session-item__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.da-session-item__name{font-size:13px;font-weight:600;color:var(--da-text)}.da-session-item__actions{display:flex;gap:4px}.da-session-item__meta{font-size:11px;color:var(--da-text-muted)}.da-main{display:flex;flex-direction:column;gap:14px;min-height:500px}.da-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;border-radius:var(--da-radius-lg);border:1px dashed rgba(148,163,184,.5);background:var(--da-bg);gap:12px}.da-welcome__icon{font-size:40px}.da-welcome h3{font-size:16px;font-weight:700;color:var(--da-text);margin:0}.da-welcome p{font-size:13px;color:var(--da-text-secondary);margin:0;max-width:400px}.da-welcome__features{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.da-feature-item{background:var(--da-surface);border:1px solid var(--da-border);border-radius:var(--da-radius);padding:6px 12px;font-size:12px;color:var(--da-text-secondary)}.da-chat-header{padding:12px 16px;background:var(--da-bg);border-radius:var(--da-radius-lg);border:1px solid var(--da-border)}.da-chat-title{font-size:15px;font-weight:700;margin:0 0 4px;color:var(--da-text)}.da-chat-subtitle{font-size:12px;color:var(--da-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.da-messages{flex:1;min-height:280px;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--da-bg);border-radius:var(--da-radius-lg);border:1px solid var(--da-border)}.da-messages-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--da-text-muted);text-align:center}.da-msg{display:flex;flex-direction:column;gap:3px}.da-msg__meta{display:flex;justify-content:space-between;font-size:11px;color:var(--da-text-muted)}.da-msg__role{font-weight:600}.da-msg__content{font-size:13px;line-height:1.6;color:var(--da-text);padding:9px 12px;border-radius:var(--da-radius);white-space:pre-wrap;word-break:break-word}.da-msg.user .da-msg__content{background:#eef2ff;border:1px solid rgba(99,102,241,.15)}.da-msg.assistant .da-msg__content{background:var(--da-surface);border:1px solid var(--da-border)}.da-typing{display:flex!important;gap:5px;align-items:center;min-height:24px}.da-typing span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--da-accent);animation:da-bounce 1.2s ease-in-out infinite}.da-typing span:nth-child(2){animation-delay:.2s}.da-typing span:nth-child(3){animation-delay:.4s}@keyframes da-bounce{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}.da-input-area{background:var(--da-surface);border-radius:var(--da-radius-lg);border:1px solid var(--da-border);overflow:hidden}.da-template-row{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--da-bg);border-bottom:1px solid var(--da-border);flex-wrap:wrap}.da-template-label{font-size:11px;font-weight:600;color:var(--da-text-muted);white-space:nowrap}.da-template-chip{padding:3px 10px;border-radius:999px;border:1px solid var(--da-border-solid);background:var(--da-surface);font-size:11px;font-weight:500;color:var(--da-text-secondary);cursor:pointer;transition:all .15s}.da-template-chip:hover{border-color:var(--da-primary);color:var(--da-primary);background:#fff8f5}.da-template-chip.active{background:linear-gradient(135deg,var(--da-primary),var(--da-primary-dark));color:#fff;border-color:transparent}.da-input-row{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.da-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--da-border-solid);border-radius:var(--da-radius);font-size:13px;font-family:var(--da-font);resize:none;transition:border-color .15s;background:var(--da-surface);color:var(--da-text)}.da-textarea:focus{outline:none;border-color:var(--da-accent);box-shadow:0 0 0 3px #6366f11a}.da-textarea:disabled{background:var(--da-bg);opacity:.6}.da-input-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px}.da-token-hint{font-size:11px}.da-token-hint.exhausted{color:#dc2626}.da-token-hint.warning{color:#d97706}.da-char-count{font-size:11px;color:var(--da-text-muted)}.da-send-btn{background:linear-gradient(135deg,var(--da-primary),var(--da-primary-dark));color:#fff;border:none;border-radius:999px;padding:7px 18px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #e6693040}.da-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #e6693059}.da-send-btn:disabled{opacity:.4;cursor:not-allowed}.da-messages::-webkit-scrollbar,.da-doc-list::-webkit-scrollbar,.da-panel--sessions::-webkit-scrollbar{width:5px}.da-messages::-webkit-scrollbar-thumb,.da-doc-list::-webkit-scrollbar-thumb,.da-panel--sessions::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:999px}.da-hint{font-size:12px;color:var(--da-text-muted);padding:10px 14px;margin:0}.da-loading-text{font-size:13px;color:var(--da-text-muted)}@media (max-width: 768px){.da-toolbar{flex-direction:column;align-items:stretch}.da-toolbar-group{width:100%}.da-select{width:100%;min-width:unset}}:root{--bp-primary: #e68443;--bp-primary-dark: #e66930;--bp-accent: #6366f1;--bp-accent-dark: #4f46e5;--bp-danger: #ef4444;--bp-success: #22c55e;--bp-warning: #f59e0b;--bp-surface: #ffffff;--bp-bg: #f8fafc;--bp-border: rgba(148, 163, 184, .35);--bp-border-solid: #e2e8f0;--bp-text: #0f172a;--bp-text-secondary: #64748b;--bp-text-muted: #94a3b8;--bp-radius-sm: 6px;--bp-radius: 10px;--bp-radius-lg: 14px;--bp-radius-xl: 18px;--bp-shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--bp-shadow: 0 4px 12px rgba(15, 23, 42, .08);--bp-shadow-lg: 0 10px 28px rgba(15, 23, 42, .12);--bp-font: "FKGroteskNeue", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bp-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}.bid-proposal{display:flex;flex-direction:column;gap:16px;width:100%;font-family:var(--bp-font);color:var(--bp-text)}.bp-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;background:var(--bp-surface);border-radius:var(--bp-radius-lg);border:1px solid var(--bp-border);box-shadow:var(--bp-shadow-sm)}.bp-back-btn{background:none;border:1px solid var(--bp-border-solid);border-radius:var(--bp-radius);padding:6px 14px;font-size:13px;font-weight:500;color:var(--bp-text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.bp-back-btn:hover{background:var(--bp-bg);color:var(--bp-text)}.bp-header-center{flex:1}.bp-title{font-size:17px;font-weight:700;color:var(--bp-text);letter-spacing:-.01em;margin:0}.bp-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bp-token-counter{font-size:12px;font-weight:500;white-space:nowrap}.bp-token-counter.ok{color:#16a34a}.bp-token-counter.warning{color:#d97706}.bp-token-counter.exhausted{color:#dc2626}.bp-model-badge{font-size:11px;color:var(--bp-text-muted);white-space:nowrap}.bp-preview-btn{background:var(--bp-surface);color:var(--bp-accent-dark);border:1.5px solid var(--bp-accent);border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.bp-preview-btn:hover:not(:disabled){background:#eef2ff;box-shadow:0 4px 12px #6366f133;transform:translateY(-1px)}.bp-preview-btn:disabled{opacity:.4;cursor:not-allowed}.bp-export-btn{background:linear-gradient(135deg,var(--bp-primary),var(--bp-primary-dark));color:#fff;border:none;border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 4px 12px #e669304d}.bp-export-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #e6693066}.bp-export-btn:disabled{opacity:.4;cursor:not-allowed}.bp-export-btn-txt{background:var(--bp-surface);color:var(--bp-text-secondary);border:1px solid var(--bp-border-solid);border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.bp-export-btn-txt:hover:not(:disabled){background:var(--bp-bg);color:var(--bp-text)}.bp-export-btn-txt:disabled{opacity:.4;cursor:not-allowed}.bp-project-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--bp-surface);border-radius:var(--bp-radius-lg);border:1px solid var(--bp-border)}.bp-project-bar__group{display:flex;align-items:center;gap:8px}.bp-project-bar__label{font-size:12px;font-weight:600;color:var(--bp-text-secondary);white-space:nowrap}.bp-project-bar__loading{font-size:12px;color:var(--bp-text-muted)}.bp-project-bar__select{height:34px;padding:0 10px;border:1px solid var(--bp-border-solid);border-radius:var(--bp-radius);font-size:13px;color:var(--bp-text);background:var(--bp-surface);min-width:200px;cursor:pointer}.bp-project-bar__pill{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.bp-project-bar__pill.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.bp-project-bar__pill.warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.bp-project-bar__pill.exhausted{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626}.bp-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}@media (max-width: 900px){.bp-layout{grid-template-columns:1fr}}.bp-sidebar{display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}.bp-collapsible{background:var(--bp-surface);border-radius:var(--bp-radius-lg);border:1px solid var(--bp-border);box-shadow:var(--bp-shadow-sm);overflow:hidden}.bp-collapsible__header{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;background:var(--bp-bg);border:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--bp-border);transition:background .15s}.bp-collapsible__header:hover{background:#f1f5f9}.bp-collapsible__icon{font-size:14px}.bp-collapsible__title{flex:1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bp-text-secondary)}.bp-collapsible__badge{background:var(--bp-accent);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px}.bp-collapsible__chevron{font-size:14px;color:var(--bp-text-muted);transition:transform .2s ease}.bp-collapsible__body{padding:12px 14px}.bp-sidebar-doc-actions{display:flex;gap:6px;margin-bottom:8px;align-items:center}.bp-pill-btn{padding:2px 10px;border-radius:999px;border:1px solid var(--bp-border-solid);background:var(--bp-surface);font-size:11px;font-weight:500;color:var(--bp-text-secondary);cursor:pointer}.bp-pill-btn:hover{background:var(--bp-bg);color:var(--bp-text)}.bp-upload-label{padding:2px 10px;border-radius:999px;border:1px solid var(--bp-accent);background:#eff6ff;color:var(--bp-accent-dark);font-size:11px;font-weight:500;cursor:pointer}.bp-doc-list{max-height:220px;overflow-y:auto}.bp-doc-item{display:flex;align-items:flex-start;gap:8px;padding:7px 0;cursor:pointer;border-bottom:1px solid rgba(148,163,184,.1)}.bp-doc-item:hover{background:#f8fafc;border-radius:6px}.bp-doc-item.selected{background:#eff6ff;border-radius:6px}.bp-doc-check{margin-top:2px;flex-shrink:0;accent-color:var(--bp-accent)}.bp-doc-info{flex:1;min-width:0}.bp-doc-name{font-size:12px;font-weight:500;color:var(--bp-text);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-doc-meta{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}.bp-badge{font-size:10px;padding:1px 6px;border-radius:999px;font-weight:500}.bp-badge.analyzed{background:#dcfce7;color:#15803d}.bp-badge.size{color:#94a3b8;background:none}.bp-muted-text{font-size:12px;color:var(--bp-text-muted);margin:6px 0}.bp-bp-actions{display:flex;gap:6px;margin-bottom:8px}.bp-bp-action-btn{padding:4px 12px;border-radius:999px;border:1px solid var(--bp-border-solid);background:var(--bp-surface);font-size:11px;font-weight:500;color:var(--bp-text-secondary);cursor:pointer}.bp-bp-action-btn:hover,.bp-bp-action-btn.active{background:#eff6ff;color:var(--bp-accent-dark);border-color:var(--bp-accent)}.bp-bp-action-btn--upload{border-color:var(--bp-primary);color:var(--bp-primary)}.bp-bp-action-btn--upload:hover{background:#fff8f5}.bp-form-box{background:var(--bp-bg);border-radius:var(--bp-radius);padding:12px;margin-bottom:8px;border:1px solid var(--bp-border)}.bp-form-box__title{font-size:12px;font-weight:700;color:var(--bp-text);margin:0 0 8px}.bp-form-box__sub{font-size:11px;font-weight:600;color:var(--bp-text-secondary);margin:8px 0 4px}.bp-form-box__hint{font-size:11px;color:var(--bp-text-muted);margin:0 0 8px}.bp-field{width:100%;padding:7px 10px;border:1px solid var(--bp-border-solid);border-radius:var(--bp-radius-sm);font-size:12px;color:var(--bp-text);background:var(--bp-surface);box-sizing:border-box}.bp-field:focus{outline:none;border-color:var(--bp-accent);box-shadow:0 0 0 3px #6366f11a}.bp-icon-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.bp-icon-btn{width:30px;height:30px;border-radius:6px;border:1.5px solid var(--bp-border-solid);background:var(--bp-surface);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.bp-icon-btn:hover{border-color:var(--bp-accent);background:#eef2ff}.bp-icon-btn.active{border-color:var(--bp-accent);background:#eef2ff;box-shadow:0 0 0 2px #6366f140}.bp-icon-btn:after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:10px;font-weight:500;white-space:nowrap;padding:3px 8px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:200;font-family:var(--bp-font)}.bp-icon-btn:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#1e293b;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:200}.bp-icon-btn:hover:after,.bp-icon-btn:hover:before{opacity:1}.bp-color-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bp-label-xs{font-size:11px;color:var(--bp-text-secondary)}.bp-color-swatch{width:26px;height:26px;border-radius:6px;border:1px solid var(--bp-border-solid);cursor:pointer;padding:0}.bp-form-actions{display:flex;gap:8px;margin-top:8px}.bp-btn-save{padding:5px 14px;background:linear-gradient(135deg,var(--bp-primary),var(--bp-primary-dark));color:#fff;border:none;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.bp-btn-save:disabled{opacity:.4;cursor:not-allowed}.bp-btn-cancel{padding:5px 14px;background:var(--bp-surface);color:var(--bp-text-secondary);border:1px solid var(--bp-border-solid);border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.bp-dropzone{border:2px dashed var(--bp-border-solid);border-radius:var(--bp-radius);padding:14px;text-align:center;cursor:pointer;margin:8px 0;transition:border-color .15s}.bp-dropzone:hover,.bp-dropzone.has-file{border-color:var(--bp-accent)}.bp-dropzone__placeholder{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--bp-text-muted);align-items:center}.bp-dropzone__file{display:flex;align-items:center;gap:8px;font-size:12px;justify-content:center}.bp-dropzone__remove{background:none;border:none;cursor:pointer;color:var(--bp-danger);font-size:14px}.bp-upload-msg{padding:6px 10px;border-radius:6px;font-size:12px;margin-top:6px}.bp-upload-msg.success{background:#dcfce7;color:#15803d}.bp-upload-msg.error{background:#fef2f2;color:#dc2626}.bp-cat-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.bp-cat-tab{padding:3px 10px;border-radius:999px;border:1px solid var(--bp-border-solid);background:var(--bp-surface);font-size:11px;font-weight:500;color:var(--bp-text-secondary);cursor:pointer}.bp-cat-tab.active{background:var(--bp-accent);color:#fff;border-color:var(--bp-accent)}.bp-bp-list{display:flex;flex-direction:column;gap:4px}.bp-bp-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--bp-radius-sm);border:1px solid transparent;cursor:pointer;transition:all .15s}.bp-bp-item:hover{background:#f8fafc;border-color:var(--bp-border-solid)}.bp-bp-item.selected{background:#eff6ff;border-color:#6366f14d}.bp-bp-check{accent-color:var(--bp-accent);flex-shrink:0}.bp-bp-info{flex:1;min-width:0}.bp-bp-name-row{display:flex;align-items:center;gap:4px}.bp-bp-name{font-size:12px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-bp-status{font-size:10px}.bp-bp-status.ready{color:#16a34a}.bp-bp-status.error{color:#dc2626}.bp-bp-meta{display:flex;gap:4px;margin-top:2px;flex-wrap:wrap;align-items:center}.bp-bp-cat{font-size:10px;padding:1px 6px;border-radius:999px;font-weight:500}.bp-bp-summary{font-size:10px;color:var(--bp-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.bp-bp-del{background:none;border:none;color:var(--bp-text-muted);cursor:pointer;font-size:12px;padding:2px 4px;flex-shrink:0}.bp-bp-del:hover{color:var(--bp-danger)}.bp-bp-footer{font-size:11px;color:var(--bp-accent-dark);padding:6px 0 0;text-align:center;font-weight:500}.bp-empty-sm{text-align:center;padding:12px}.bp-empty-sm p{font-size:12px;color:var(--bp-text-muted);margin:0 0 6px}.bp-link-btn{background:none;border:none;color:var(--bp-accent-dark);font-size:12px;cursor:pointer;font-weight:500}.bp-context-toggles{display:flex;flex-direction:column;gap:6px}.bp-toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--bp-text-secondary);cursor:pointer}.bp-toggle input{accent-color:var(--bp-accent)}.bp-template-grid{display:flex;flex-direction:column;gap:6px}.bp-template-btn{width:100%;text-align:left;padding:8px 12px;border-radius:var(--bp-radius);border:1px solid var(--bp-border-solid);background:var(--bp-surface);font-size:12px;font-weight:500;color:var(--bp-text);cursor:pointer;transition:all .15s ease}.bp-template-btn:hover:not(:disabled){border-color:var(--bp-primary);color:var(--bp-primary);background:#fff8f5;transform:translate(2px)}.bp-template-btn:disabled{opacity:.45;cursor:not-allowed}.bp-template-btn--custom{border-color:var(--bp-accent);color:var(--bp-accent-dark);background:#f5f3ff}.bp-template-btn--custom:hover:not(:disabled){background:#ede9fe;border-color:var(--bp-accent-dark);color:var(--bp-accent-dark)}.bp-custom-section-form{margin-top:10px;padding:12px;background:var(--bp-bg);border-radius:var(--bp-radius);border:1px solid var(--bp-border)}.bp-custom-section-form__title{font-size:13px;font-weight:700;color:var(--bp-text);margin:0 0 4px}.bp-custom-section-form__hint{font-size:11px;color:var(--bp-text-muted);margin:0 0 10px}.bp-custom-section-form__label{font-size:12px;font-weight:600;color:var(--bp-text-secondary);display:block;margin-bottom:4px}.bp-custom-section-form__input{width:100%;padding:8px 10px;border:1px solid var(--bp-border-solid);border-radius:var(--bp-radius-sm);font-size:13px;box-sizing:border-box;color:var(--bp-text)}.bp-custom-section-form__textarea{width:100%;padding:8px 10px;border:1px solid var(--bp-border-solid);border-radius:var(--bp-radius-sm);font-size:12px;font-family:var(--bp-font);resize:vertical;box-sizing:border-box;color:var(--bp-text)}.bp-custom-section-form__actions{display:flex;gap:8px;margin-top:10px}.bp-custom-section-form__generate{padding:7px 16px;background:linear-gradient(135deg,var(--bp-primary),var(--bp-primary-dark));color:#fff;border:none;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.bp-custom-section-form__generate:disabled{opacity:.4;cursor:not-allowed}.bp-custom-section-form__cancel{padding:7px 16px;background:var(--bp-surface);color:var(--bp-text-secondary);border:1px solid var(--bp-border-solid);border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.bp-required{color:var(--bp-danger)}.bp-qt-generating{font-size:12px;color:var(--bp-text-muted);padding:8px 0;text-align:center}.bp-chat-messages{min-height:120px;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:8px;background:var(--bp-bg);border-radius:var(--bp-radius)}.bp-chat-msg{display:flex;flex-direction:column;gap:3px}.bp-chat-msg__meta{display:flex;justify-content:space-between;font-size:11px;color:var(--bp-text-muted)}.bp-chat-msg__role{font-weight:600}.bp-chat-msg__content{font-size:13px;line-height:1.55;color:var(--bp-text);padding:8px 10px;border-radius:var(--bp-radius);white-space:pre-wrap;word-break:break-word}.bp-chat-msg.user .bp-chat-msg__content{background:#eef2ff;border:1px solid rgba(99,102,241,.15)}.bp-chat-msg.assistant .bp-chat-msg__content{background:var(--bp-surface);border:1px solid var(--bp-border)}.bp-chat-typing{font-size:12px;color:var(--bp-text-muted);padding:4px 8px}.bp-chat-input-area{display:flex;flex-direction:column;gap:6px;margin-top:6px}.bp-chat-textarea{width:100%;padding:10px 12px;border:1px solid var(--bp-border-solid);border-radius:var(--bp-radius);font-size:13px;font-family:var(--bp-font);resize:none;box-sizing:border-box;transition:border-color .15s}.bp-chat-textarea:focus{outline:none;border-color:var(--bp-accent);box-shadow:0 0 0 3px #6366f11a}.bp-chat-textarea:disabled{background:var(--bp-bg);opacity:.6}.bp-send-btn{align-self:flex-end;background:linear-gradient(135deg,var(--bp-primary),var(--bp-primary-dark));color:#fff;border:none;border-radius:999px;padding:7px 18px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.bp-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #e6693059}.bp-send-btn:disabled{opacity:.4;cursor:not-allowed}.bp-add-to-proposal-btn{align-self:flex-start;margin-top:6px;padding:4px 12px;font-size:11px;font-weight:600;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;border-radius:999px;cursor:pointer;transition:all .15s}.bp-add-to-proposal-btn:hover{background:#dcfce7;border-color:#16a34a}.bp-main{display:flex;flex-direction:column;gap:16px}.bp-sections-header{display:flex;justify-content:space-between;align-items:center}.bp-sections-title{font-size:15px;font-weight:700;color:var(--bp-text);margin:0;display:flex;align-items:center;gap:8px}.bp-sections-count{background:#f1f5f9;color:var(--bp-text-secondary);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500}.bp-sections-actions{display:flex;gap:8px;align-items:center}.bp-context-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bp-context-tag{padding:2px 10px;border-radius:999px;font-size:11px;font-weight:500;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.bp-context-tag.bp--green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.bp-context-hint{font-size:11px;color:var(--bp-text-muted)}.bp-empty-state{text-align:center;padding:40px 24px;border-radius:var(--bp-radius-lg);border:1px dashed rgba(148,163,184,.5);background:var(--bp-bg)}.bp-empty-state__icon{font-size:36px;margin-bottom:10px}.bp-empty-state__title{font-size:15px;font-weight:600;color:var(--bp-text);margin:0 0 6px}.bp-empty-state__hint{font-size:13px;color:var(--bp-text-secondary);margin:0}.bp-drag-hint{font-size:11px;color:var(--bp-text-muted);text-align:center;margin:-8px 0}.bp-section-card{background:var(--bp-surface);border-radius:var(--bp-radius-lg);border:1px solid var(--bp-border);box-shadow:var(--bp-shadow-sm);overflow:hidden;transition:box-shadow .2s}.bp-section-card:hover{box-shadow:var(--bp-shadow)}.bp-section-card[draggable=true]{cursor:grab}.bp-section-card[draggable=true]:active{cursor:grabbing;opacity:.85}.bp-section-card__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bp-bg);border-bottom:1px solid var(--bp-border);gap:10px}.bp-section-card__left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bp-section-card__right{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.bp-drag-handle{font-size:16px;color:var(--bp-text-muted);cursor:grab;flex-shrink:0;line-height:1;padding:0 2px;-webkit-user-select:none;user-select:none}.bp-drag-handle:hover{color:var(--bp-text-secondary)}.bp-section-number{width:22px;height:22px;border-radius:7px;background:#eef2ff;color:var(--bp-accent-dark);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bp-section-name-input{flex:1;font-size:13px;font-weight:600;color:var(--bp-text);border:none;background:transparent;outline:none;padding:2px 6px;border-radius:4px;min-width:0;transition:background .15s}.bp-section-name-input:hover{background:#6366f10d}.bp-table-badge{font-size:10px;padding:1px 7px;border-radius:999px;font-weight:600;background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd;white-space:nowrap}.bp-origin-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.bp-origin-badge.origin-template{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.bp-origin-badge.origin-chat{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.bp-origin-badge.origin-manual{background:#fef9c3;color:#92400e;border:1px solid #fde68a}.bp-section-date{font-size:10px;color:var(--bp-text-muted);white-space:nowrap}.bp-refine-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:var(--bp-accent-dark);border:1.5px solid var(--bp-accent);border-radius:999px;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 4px #6366f126}.bp-refine-btn:hover{background:linear-gradient(135deg,#ede9fe,#ddd6fe);box-shadow:0 3px 10px #6366f140;transform:translateY(-1px)}.bp-delete-btn{padding:3px 10px;border-radius:var(--bp-radius-sm);border:1px solid rgba(239,68,68,.25);background:none;font-size:11px;font-weight:500;color:#ef4444;cursor:pointer;transition:all .15s;white-space:nowrap}.bp-delete-btn:hover{background:#fef2f2;border-color:#ef4444}.bp-section-textarea{width:100%;box-sizing:border-box;padding:14px 16px;font-size:13px;line-height:1.65;color:var(--bp-text);font-family:var(--bp-font);border:none;outline:none;resize:vertical;background:var(--bp-surface);min-height:160px;display:block}.bp-section-textarea:focus{background:#fafbff}.bp-table-wrapper{overflow-x:auto;padding:12px 16px}.bp-section-table{width:100%;border-collapse:collapse;font-size:12px}.bp-section-table th{background:#1e3a5f;color:#fff;padding:7px 10px;text-align:left;font-weight:600;font-size:11px}.bp-section-table td{border:1px solid var(--bp-border-solid);padding:0;background:var(--bp-surface)}.bp-section-table tr:nth-child(2n) td{background:#f8fafc}.bp-table-cell-input{width:100%;border:none;background:transparent;padding:6px 10px;font-size:12px;font-family:var(--bp-font);color:var(--bp-text);box-sizing:border-box}.bp-table-cell-input:focus{outline:none;background:#fff8f5}.bp-chat-msg__actions{margin-top:6px}.bp-approve-btn{padding:5px 14px;font-size:11px;font-weight:600;background:#16a34a;color:#fff;border:none;border-radius:999px;cursor:pointer;transition:all .15s}.bp-approve-btn:hover{background:#15803d;transform:translateY(-1px)}.bp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.bp-modal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--bp-border);background:var(--bp-bg);border-radius:var(--bp-radius-xl) var(--bp-radius-xl) 0 0}.bp-modal__title{font-size:15px;font-weight:600;margin:0}.bp-modal__close{width:32px;height:32px;border-radius:50%;border:1px solid var(--bp-border-solid);background:var(--bp-surface);color:var(--bp-text-secondary);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.bp-modal__close:hover{background:var(--bp-bg);color:var(--bp-text)}.bp-section-chat-modal{background:var(--bp-surface);border-radius:var(--bp-radius-xl);width:680px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e;border:1px solid var(--bp-border)}.bp-section-chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.bp-word-preview-modal{background:var(--bp-surface);border-radius:var(--bp-radius-xl);width:860px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;border:1px solid var(--bp-border)}.bp-word-preview-note{padding:8px 20px;background:#fffbeb;border-bottom:1px solid #fde68a;font-size:12px;color:#92400e;display:flex;align-items:center;gap:6px}.bp-word-preview-body{flex:1;overflow-y:auto;background:#e5e7eb;padding:24px}.bp-word-page{background:#fff;max-width:720px;margin:0 auto;padding:56px 64px;box-shadow:0 2 px 8px #0000001a;border:1px solid #d1d5db;border-radius:4px}.pa-root{padding:24px;background:#f8fafc;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pa-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.pa-skeleton-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #f1f5f9}.pa-skeleton-chart{height:180px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;border-radius:8px;animation:pa-shimmer 1.4s infinite}@keyframes pa-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pa-empty{text-align:center;padding:60px 20px;color:#94a3b8;font-size:15px}.pa-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.pa-title{font-size:22px;font-weight:800;color:#1e293b;margin:0 0 4px}.pa-subtitle{font-size:13px;color:#94a3b8;margin:0}.pa-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pa-view-wrap{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:0 12px;box-shadow:0 1px 4px #0000000d;transition:border-color .15s}.pa-view-wrap:focus-within{border-color:#6366f1}.pa-view-icon{font-size:15px;pointer-events:none}.pa-view-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:9px 22px 9px 2px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;min-width:215px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.pa-view-select:focus{outline:none}.pa-period-toggle{display:flex;background:#f1f5f9;border-radius:8px;padding:3px;gap:2px}.pa-period-toggle button{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:600;color:#64748b;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.pa-period-toggle button.active,.pa-period-toggle button:hover{background:#fff;color:#6366f1;box-shadow:0 1px 4px #00000014}.pa-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-bottom:20px}.pa-kpi{background:#fff;border-radius:12px;border:1.5px solid #f1f5f9;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px #0000000a;transition:box-shadow .15s,border-color .15s}.pa-kpi:hover{box-shadow:0 3px 10px #00000012;border-color:var(--kc, #6366f1)}.pa-kpi__icon{width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--kc, #6366f1) 12%,#fff);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.pa-kpi__body{display:flex;flex-direction:column}.pa-kpi__val{font-size:18px;font-weight:800;color:#1e293b;line-height:1.1}.pa-kpi__label{font-size:11px;font-weight:600;color:#64748b;margin-top:2px}.pa-kpi__sub{font-size:10px;color:#94a3b8;margin-top:1px}.pa-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.pa-grid{grid-template-columns:1fr}}.pa-card{background:#fff;border-radius:14px;border:1px solid #f1f5f9;padding:18px 20px 20px;box-shadow:0 1px 6px #0000000a;transition:box-shadow .2s}.pa-card:hover{box-shadow:0 4px 16px #00000012}.pa--span2{grid-column:span 2}@media (max-width: 900px){.pa--span2{grid-column:span 1}}.pa-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px;flex-wrap:wrap}.pa-card__title{font-size:14px;font-weight:700;color:#1e293b;margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pa-card__period{font-size:11px;font-weight:500;color:#94a3b8;background:#f8fafc;padding:2px 7px;border-radius:99px;border:1px solid #e2e8f0}.pa-card__badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;background:#f1f5f9;color:#64748b;white-space:nowrap}.pa-card__badge--blue{background:#eff6ff;color:#2563eb}.pa-card__badge--green{background:#f0fdf4;color:#16a34a}.pa-card__badge--amber{background:#fffbeb;color:#d97706}.pa-tooltip{background:#1e293b;border-radius:10px;padding:10px 14px;font-size:12px;box-shadow:0 4px 16px #0000002e;min-width:140px}.pa-tooltip__label{color:#94a3b8;font-weight:600;margin:0 0 6px;font-size:11px}.pa-tooltip__row{display:flex;justify-content:space-between;gap:12px;margin:3px 0}.pa-tooltip__key{color:#cbd5e1}.pa-tooltip__val{color:#fff;font-weight:700}.stage-legend{display:flex;gap:16px;font-size:11px;color:#64748b;margin-bottom:8px;flex-wrap:wrap}.stage-legend__item{display:flex;align-items:center;gap:5px}.stage-legend__item--actual{color:#6366f1;font-weight:600}.stage-legend__item--predicted{color:#94a3b8;font-weight:600}.stage-legend__item--count{color:#a5b4fc;font-weight:600}.fm-panel{background:#fff;border-radius:16px;border:1px solid #e2e8f0;padding:22px 26px 26px;margin-top:20px;box-shadow:0 1px 6px #0000000a}.fm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.fm-header__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fm-title{font-size:16px;font-weight:800;color:#1e293b;margin:0 0 3px}.fm-sub{font-size:12px;color:#94a3b8;margin:0}.fm-add-btn{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s}.fm-add-btn:hover{background:#4f46e5;box-shadow:0 2px 8px #6366f14d}.fm-summary{display:flex;align-items:center;gap:10px;font-size:13px;color:#64748b;background:#f8fafc;border-radius:8px;padding:9px 16px;margin-bottom:18px;flex-wrap:wrap}.fm-summary__sep{opacity:.35}.fm-chart-wrap{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px 10px;margin-bottom:18px}.fm-form-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:20px 22px;margin-bottom:20px}.fm-form-title{font-size:14px;font-weight:700;color:#374151;margin-bottom:16px}.fm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}@media (max-width: 640px){.fm-form-grid{grid-template-columns:1fr}}.fm-field{display:flex;flex-direction:column;gap:4px}.fm-field--full{grid-column:span 2}@media (max-width: 640px){.fm-field--full{grid-column:span 1}}.fm-field label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.fm-input,.fm-select{border:1.5px solid #e2e8f0;border-radius:8px;padding:9px 12px;font-size:13px;color:#1e293b;background:#fff;width:100%;box-sizing:border-box;transition:border-color .15s}.fm-input:focus,.fm-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.fm-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.fm-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.fm-btn-ghost{background:transparent;border:1.5px solid #e2e8f0;color:#64748b;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s}.fm-btn-ghost:hover{border-color:#94a3b8}.fm-btn-primary{background:#6366f1;color:#fff;border:none;padding:8px 22px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.fm-btn-primary:hover:not(:disabled){background:#4f46e5}.fm-btn-primary:disabled{opacity:.5;cursor:not-allowed}.fm-empty{text-align:center;padding:36px 20px;color:#94a3b8}.fm-empty__icon{font-size:36px;margin-bottom:8px}.fm-empty p{font-size:14px;margin:0 0 14px}.fm-list{display:flex;flex-direction:column;gap:8px}.fm-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;transition:border-color .15s,box-shadow .15s}.fm-item:hover{border-color:#c7d2fe;box-shadow:0 2px 8px #6366f114}.fm-item__left{flex:1;min-width:0}.fm-item__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.fm-item__label{font-size:14px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.fm-item__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.fm-item__period{font-size:11px;font-weight:600;background:#ede9fe;color:#6d28d9;padding:2px 8px;border-radius:99px}.fm-item__badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px}.fm-item__badge--bid{background:#eff6ff;color:#2563eb}.fm-item__badge--awarded{background:#f0fdf4;color:#16a34a}.fm-item__proj{font-size:11px;color:#6366f1}.fm-item__proj--all{color:#94a3b8}.fm-item__note{font-size:11px;color:#94a3b8;font-style:italic}.fm-item__cost{font-size:17px;font-weight:800;color:#6366f1;white-space:nowrap}.fm-icon-btn{border:none;background:transparent;font-size:16px;cursor:pointer;padding:5px;border-radius:6px;transition:background .15s;line-height:1}.fm-icon-btn--edit:hover{background:#eff6ff}.fm-icon-btn--del:hover{background:#fef2f2}.fm-icon-btn:disabled{opacity:.4;cursor:not-allowed}
