*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%}body,h1,h2,h3,h4,p,dl,dd{margin:var(--space-0)}body{min-width:var(--space-0);background:var(--background);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}img{max-width:100%;display:block}table{border-collapse:collapse;border-spacing:var(--space-0)}:root{--bg:#f5f7fa;--background:var(--bg);--surface:#fff;--surface-2:#f8fafc;--surface-muted:var(--surface-2);--surface-hover:#f1f5f9;--border:#e7ebf1;--border-strong:#d7dde7;--text-primary:#101828;--text-secondary:#475467;--text-muted:#98a2b3;--text-disabled:#9ca3af;--text-inverse:#fff;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eef4ff;--success:#16a34a;--success-soft:#e9f9ef;--warning:#d97706;--warning-soft:#fdf4e3;--danger:#dc2626;--danger-soft:#fdeeee;--info:#0891b2;--info-soft:#e6f6fa;--violet:#7c3aed;--violet-soft:#f3efff;--focus-ring:#2563eb2e;--overlay-opacity:.5;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:18px;--radius-pill:999px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #1018280f, 0 1px 2px #1018280a;--shadow-md:0 6px 16px -4px #1018281a, 0 2px 6px -2px #1018280f;--shadow-lg:0 10px 30px #1018281f;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--line-height-tight:1.2;--line-height-base:1.5;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-weight-medium:500;--font-weight-semibold:600;--content-max-width:1600px;--sidebar-width:250px;--header-height:64px;--control-height:40px;--control-height-sm:32px;--table-min-width:640px;--grid-field-min:220px;--flow-min:210px;--chain-min:120px;--timeline-width:170px;--login-max-width:380px;--chart-height:280px;--content-padding:24px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--text-primary);color:var(--text-inverse);left:var(--space-3);padding:var(--space-2) var(--space-3);z-index:30;position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}h1,h2,h3,h4{color:var(--text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}small,.hint,.muted{color:var(--text-muted);font-size:var(--text-sm)}.hint{color:var(--text-muted);font-size:13px}.tone-blue{background:var(--accent-soft);color:var(--accent)}.tone-violet{background:var(--violet-soft);color:var(--violet)}.tone-cyan{background:var(--info-soft);color:var(--info)}.tone-amber{background:var(--warning-soft);color:var(--warning)}.tone-rose{color:#db2777;background:#fdeef2}.tone-green{background:var(--success-soft);color:var(--success)}button,.btn{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--text-inverse);font-size:var(--text-sm);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-4);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;justify-content:center;display:inline-flex}button:hover,.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-inverse);text-decoration:none}button:active,.btn:active{transform:scale(.98)}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:2px solid var(--accent);outline-offset:2px}button:disabled,.btn:disabled,.btn.disabled{background:var(--surface-muted);border-color:var(--border);color:var(--text-disabled);pointer-events:none}.btn-light{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-light svg{width:18px}.btn-light:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.btn-light:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:var(--control-height-sm);border-radius:8px;padding:5px 11px;font-size:13px}.btn-danger,button.btn-danger{background:var(--danger-soft);border-color:var(--danger-soft);color:var(--danger)}.btn-danger:hover,button.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:var(--text-inverse)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-5);padding:20px}.card-stack{gap:var(--space-5);flex-direction:column;display:flex}:where(.card-stack,.dashboard-primary-grid,.dashboard-work-grid,.customer-detail,.detail-side,.detail-main,.entity-section)>.card{margin-bottom:0}.entity-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.entity-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:var(--space-3);padding:var(--space-5);flex-direction:column;display:flex}.section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-head h2{font-size:16px;font-weight:600}.section-kicker{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.status{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-draft,.status-sent,.status-budgeted{color:#667085;background:#f2f4f7}.status-confirmed{background:var(--accent-soft);color:var(--accent)}.status-assigned{background:var(--violet-soft);color:var(--violet)}.status-in_transit{background:var(--warning-soft);color:var(--warning)}.status-delivered{background:var(--info-soft);color:var(--info)}.status-completed,.status-accepted,.status-funded,.status-closed,.status-success{background:var(--success-soft);color:var(--success)}.status-warning{background:var(--warning-soft);color:var(--warning)}.status-danger,.status-rejected,.status-cancelled,.status-expired{background:var(--danger-soft);color:var(--danger)}.status-info,.status-in-progress{background:var(--info-soft);color:var(--info)}.badge,.status{border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);display:inline-flex}.money-revenue,.money-cost,.money-profit,.money-loss{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.money-revenue,.money-cost{color:var(--text-primary)}.money-profit{color:var(--success)}.money-loss{color:var(--danger)}.totals dt,.entity-stat-label{color:var(--text-muted)}.stat-revenue strong{color:var(--accent)}.stat-cost strong{color:var(--warning)}.stat-profit strong{color:var(--success)}.stat-loss strong{color:var(--danger)}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%}.table-wrap th{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:600}.table-wrap td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:13px 12px;font-size:14px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr{transition:background .12s}.table-wrap tbody tr:hover{background:var(--surface-2)}.table-wrap .right{text-align:right}.table-container{width:100%;overflow-x:auto}table{font-size:var(--text-sm);min-width:var(--table-min-width);width:100%}th,td{border-bottom:1px solid var(--border);padding:var(--space-3);text-align:left;vertical-align:middle}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:var(--space-0)}td.right,th.right{text-align:right}td a+button,td a+.btn{margin-left:var(--space-3)}.grand-total td{border-top:var(--space-1) solid var(--border-strong);font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;margin-top:16px;padding:24px 16px;font-size:14px}.empty a{color:var(--accent);font-weight:600}label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);display:block}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);min-height:var(--control-height);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);width:100%}textarea{min-height:var(--space-12);resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-disabled)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 var(--space-1) var(--focus-ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--text-disabled)}input.invalid,select.invalid,textarea.invalid,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input.invalid:focus,select.invalid:focus,textarea.invalid:focus{box-shadow:0 0 0 var(--space-1) var(--danger-soft)}input[type=checkbox],input[type=radio]{width:auto;min-height:0}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit, minmax(var(--grid-field-min), 1fr));display:grid}.field{margin-bottom:var(--space-4)}.actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.error{color:var(--danger);font-size:var(--text-xs);margin-top:var(--space-1);display:block}.notice{background:var(--info-soft);border:1px solid var(--info);border-radius:var(--radius-md);color:var(--info);margin-top:var(--space-3);padding:var(--space-3)}.page-sub{color:var(--text-muted);margin:4px 0 0;font-size:14px}.page-container{margin:var(--space-0) auto;width:100%;max-width:1180px}.page-header,.section-header,.section-head{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.page-header{margin-bottom:var(--space-5)}.page-header p,.section-header p{color:var(--text-muted);margin-top:var(--space-1)}.page-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;justify-content:space-between;display:flex}.page-head,.head-title,.toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;margin-bottom:8px;padding:0 6px 0 8px;display:flex}.toolbar{margin-bottom:var(--space-4)}.timeline{margin-top:var(--space-4);padding:var(--space-0);list-style:none}.timeline li{border-bottom:1px solid var(--border);gap:var(--space-4);padding:var(--space-3) var(--space-0);display:flex}.timeline li:last-child{border-bottom:var(--space-0)}.timeline-when{color:var(--text-muted);flex:0 0 var(--timeline-width);font-size:var(--text-sm)}.timeline-what{gap:var(--space-1);flex-direction:column;display:flex}.totals{margin-top:var(--space-4);justify-content:flex-end;display:flex}.totals dl{min-width:var(--grid-field-min)}.totals div{font-size:var(--text-sm);padding:var(--space-2) var(--space-0);justify-content:space-between;display:flex}.totals .grand{border-top:1px solid var(--border-strong);font-size:var(--text-base);font-weight:var(--font-weight-semibold);margin-top:var(--space-1);padding-top:var(--space-3)}.entity-stats{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.entity-stat-label{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-1);display:block}.entity-stat strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.entity-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.entity-card-top{align-items:flex-start;gap:var(--space-3);justify-content:space-between;display:flex}.entity-card-top h3{margin:var(--space-0)}.entity-card-count{background:var(--accent-soft);border-radius:var(--radius-pill);color:var(--accent);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-2);white-space:nowrap}.entity-card-meta{color:var(--text-secondary);font-size:var(--text-sm);gap:var(--space-1);flex-direction:column;display:flex}.entity-card-stats{border-top:1px solid var(--border);gap:var(--space-4);padding-top:var(--space-3);display:flex}.entity-card-stats>div{flex:1}.entity-card-stats strong{font-size:var(--text-base);font-variant-numeric:tabular-nums;display:block}.entity-card-actions{gap:var(--space-2);display:flex}.skeleton-block{background:var(--surface-muted);border-radius:var(--radius-md)}.state-panel{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;justify-content:center;display:flex}.state-panel p{color:var(--text-muted);margin:var(--space-0)}.state-error p{color:var(--danger)}.state-loading{align-items:stretch}.state-loading .skeleton-block{height:var(--space-12);width:100%}.dialog-backdrop{inset:var(--space-0);padding:var(--space-4);z-index:20;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed}.dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:440px;padding:var(--space-6);width:100%;animation:.15s dialog-entrance}@keyframes dialog-entrance{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.dialog h3{margin:var(--space-0) var(--space-0) var(--space-2)}.dialog-message{color:var(--text-muted);margin:var(--space-0) var(--space-0) var(--space-4)}.dialog-actions{gap:var(--space-2);margin-top:var(--space-5);justify-content:flex-end;display:flex}.skeleton-block:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff9 50%,#0000 100%);animation:1.6s infinite skeleton-shimmer;position:absolute;inset:0}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (width<=1024px){:root{--sidebar-width:220px}}@media (width<=820px){.timeline li{gap:var(--space-1);flex-direction:column}.timeline-when{flex-basis:auto}}@media (width<=639px){input,select,textarea{font-size:1rem}}@media (width<=560px){:root{--table-min-width:520px}h1{font-size:var(--text-2xl)}.card{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:active,.btn:active{transform:none}}.sidebar[data-v-e5ca7e2e]{--sb-surface:var(--sidebar-surface,#fff);--sb-line:var(--sidebar-border,#e7ebf1);--sb-ink:var(--sidebar-ink,#475467);--sb-ink-strong:var(--sidebar-ink-strong,#101828);--sb-ink-muted:var(--sidebar-ink-muted,#98a2b3);--sb-hover-bg:var(--sidebar-hover-bg,#f5f7fa);--sb-active-bg:var(--sidebar-active-bg,#eef4ff);--sb-active-ink:var(--sidebar-active-ink,#2563eb);--sb-width:var(--sidebar-width,264px);--sb-collapsed-width:var(--header-height,76px);background:var(--sb-surface);border-right:1px solid var(--sb-line);flex:0 0 var(--sb-width);height:100vh;width:var(--sb-width);z-index:5;flex-direction:column;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar-top[data-v-e5ca7e2e]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.brand[data-v-e5ca7e2e]{color:var(--sb-ink-strong);border-radius:10px;align-items:center;gap:10px;min-width:0;margin:-4px;padding:4px;text-decoration:none;transition:background .15s;display:flex}.brand[data-v-e5ca7e2e]:hover{background:var(--sb-hover-bg);color:var(--sb-ink-strong);text-decoration:none}.brand-mark[data-v-e5ca7e2e]{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:10px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #2563eb47}.brand-copy[data-v-e5ca7e2e]{flex-direction:column;gap:1px;min-width:0;display:flex}.brand-name[data-v-e5ca7e2e]{color:var(--sb-ink-strong);letter-spacing:-.01em;white-space:nowrap;font-size:15px;font-weight:700}.brand-sub[data-v-e5ca7e2e]{color:var(--sb-ink-muted);white-space:nowrap;font-size:11px}.collapse-toggle[data-v-e5ca7e2e]{color:var(--sb-ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s,color .15s;display:inline-flex}.collapse-toggle svg[data-v-e5ca7e2e]{width:16px;height:16px;transition:transform .2s}.collapse-toggle[data-v-e5ca7e2e]:hover{background:var(--sb-hover-bg);color:var(--sb-ink-strong)}.sidebar-nav[data-v-e5ca7e2e]{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sb-line) transparent;flex-direction:column;flex:1;gap:20px;min-height:0;display:flex;overflow-y:auto}.sidebar-nav[data-v-e5ca7e2e]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-e5ca7e2e]::-webkit-scrollbar-thumb{background:var(--sb-line);border-radius:999px}.nav-group[data-v-e5ca7e2e]{flex-direction:column;gap:4px;display:flex}.nav-group-label[data-v-e5ca7e2e]{color:var(--sb-ink-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin:0 10px 4px;font-size:11px;font-weight:600}.nav-item[data-v-e5ca7e2e]{color:var(--sb-ink);border-radius:10px;align-items:center;gap:12px;height:40px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-item[data-v-e5ca7e2e]:hover{background:var(--sb-hover-bg);color:var(--sb-ink-strong);text-decoration:none}.nav-item.is-active[data-v-e5ca7e2e]{background:var(--sb-active-bg);color:var(--sb-active-ink);font-weight:600}.nav-item-icon[data-v-e5ca7e2e]{flex:0 0 20px;width:20px;height:20px}.nav-parent-wrap[data-v-e5ca7e2e]{flex-direction:column;gap:4px;display:flex}.nav-parent-row[data-v-e5ca7e2e]{align-items:center;gap:2px;display:flex}.nav-parent-link[data-v-e5ca7e2e]{flex:1;min-width:0}.nav-dropdown-toggle[data-v-e5ca7e2e]{color:var(--sb-ink);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;margin-right:3px;padding:0;display:inline-flex}.nav-dropdown-toggle[data-v-e5ca7e2e]:hover{background:var(--sb-hover-bg);color:var(--sb-ink-strong)}.nav-dropdown-toggle svg[data-v-e5ca7e2e]{width:15px;height:15px;transition:transform .18s}.nav-dropdown-toggle[aria-expanded=true] svg[data-v-e5ca7e2e]{transform:rotate(90deg)}.nav-submenu[data-v-e5ca7e2e]{border-left:1px solid var(--sb-line);flex-direction:column;gap:3px;margin-left:19px;padding-left:8px;display:flex}.nav-subitem[data-v-e5ca7e2e]{height:36px;padding-left:8px;font-size:13px}.nav-subitem .nav-item-icon[data-v-e5ca7e2e]{width:17px;height:17px}.nav-label[data-v-e5ca7e2e]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-badge[data-v-e5ca7e2e]{background:var(--sb-active-bg);color:var(--sb-active-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.nav-item.is-active .nav-badge[data-v-e5ca7e2e]{background:var(--sb-active-ink);color:#fff}.nav-item[data-v-e5ca7e2e]:focus-visible,.collapse-toggle[data-v-e5ca7e2e]:focus-visible,.logout-btn[data-v-e5ca7e2e]:focus-visible,.brand[data-v-e5ca7e2e]:focus-visible{outline:2px solid var(--sb-active-ink);outline-offset:2px}.sidebar-user[data-v-e5ca7e2e]{border-top:1px solid var(--sb-line);align-items:center;gap:10px;margin-top:12px;padding:14px 6px 2px;display:flex}.user-avatar[data-v-e5ca7e2e]{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:inline-flex}.user-copy[data-v-e5ca7e2e]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.user-name[data-v-e5ca7e2e]{color:var(--sb-ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.user-sub[data-v-e5ca7e2e]{color:var(--sb-ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.logout-btn[data-v-e5ca7e2e]{color:var(--sb-ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s,color .15s;display:inline-flex}.logout-btn svg[data-v-e5ca7e2e]{width:15px;height:15px}.logout-btn[data-v-e5ca7e2e]:hover{background:var(--danger-soft,#fdeeee);color:var(--danger,#dc2626)}.sidebar-collapsed[data-v-e5ca7e2e]{flex-basis:var(--sb-collapsed-width);width:var(--sb-collapsed-width);padding:16px 10px}.sidebar-collapsed .brand-copy[data-v-e5ca7e2e],.sidebar-collapsed .nav-label[data-v-e5ca7e2e],.sidebar-collapsed .nav-group-label[data-v-e5ca7e2e],.sidebar-collapsed .nav-badge[data-v-e5ca7e2e],.sidebar-collapsed .user-copy[data-v-e5ca7e2e]{display:none}.sidebar-collapsed .sidebar-top[data-v-e5ca7e2e]{flex-direction:column;gap:12px;margin-bottom:16px}.sidebar-collapsed .brand[data-v-e5ca7e2e],.sidebar-collapsed .nav-item[data-v-e5ca7e2e]{justify-content:center;margin:0;padding:0}.sidebar-collapsed .nav-item[data-v-e5ca7e2e]{width:100%}.sidebar-collapsed .collapse-toggle svg[data-v-e5ca7e2e]{transform:rotate(180deg)}.sidebar-collapsed .sidebar-user[data-v-e5ca7e2e]{flex-direction:column;gap:10px;padding:14px 0 2px}@media (width>=821px){.sidebar-collapsed .sidebar-nav[data-v-e5ca7e2e]{overflow:visible}.sidebar-collapsed .nav-item[data-v-e5ca7e2e]:after{color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;z-index:30;background:#101828;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px);box-shadow:0 4px 12px #10182829}.sidebar-collapsed .nav-item[data-v-e5ca7e2e]:hover:after{opacity:1;transform:translateY(-50%)translate(0)}.sidebar[data-v-e5ca7e2e]{transition:flex-basis .2s,width .2s,padding .2s}}.sidebar-backdrop[data-v-e5ca7e2e]{display:none}@media (width<=820px){body.nav-drawer-open{overflow:hidden}.sidebar[data-v-e5ca7e2e]{height:100vh;max-width:var(--sb-width);z-index:3;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 8px 30px #1018282e}.sidebar.sidebar-open[data-v-e5ca7e2e]{transform:translate(0)}.sidebar-collapsed[data-v-e5ca7e2e]{flex-basis:var(--sb-width);width:var(--sb-width);padding:16px 12px}.sidebar-collapsed .brand-copy[data-v-e5ca7e2e],.sidebar-collapsed .nav-label[data-v-e5ca7e2e],.sidebar-collapsed .nav-group-label[data-v-e5ca7e2e],.sidebar-collapsed .nav-badge[data-v-e5ca7e2e],.sidebar-collapsed .user-copy[data-v-e5ca7e2e]{display:flex}.sidebar-collapsed .sidebar-top[data-v-e5ca7e2e]{flex-direction:row;gap:8px;margin-bottom:20px}.sidebar-collapsed .brand[data-v-e5ca7e2e]{justify-content:flex-start;margin:-4px;padding:4px}.sidebar-collapsed .nav-item[data-v-e5ca7e2e]{justify-content:flex-start;width:auto;height:40px;padding:0 10px}.sidebar-collapsed .sidebar-user[data-v-e5ca7e2e]{flex-direction:row;gap:10px;padding:14px 6px 2px}.sidebar-backdrop[data-v-e5ca7e2e]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2;background:#10182873;animation:.2s backdrop-in-e5ca7e2e;display:block;position:fixed;inset:0}.collapse-toggle[data-v-e5ca7e2e]{display:none}}@keyframes backdrop-in-e5ca7e2e{0%{opacity:0}}.navbar[data-v-a581d5fa]{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-3);height:var(--header-height);padding:var(--space-0) var(--space-6);justify-content:space-between;display:flex}.navbar-left[data-v-a581d5fa],.navbar-actions[data-v-a581d5fa],.profile-trigger[data-v-a581d5fa]{align-items:center;gap:var(--space-3);display:flex}.breadcrumb[data-v-a581d5fa]{color:var(--text-secondary);font-size:var(--text-sm)}.user[data-v-a581d5fa]{color:var(--text-muted);font-size:var(--text-sm)}.nav-icon[data-v-a581d5fa]{border-radius:var(--radius-md);color:var(--text-secondary);min-height:var(--control-height-sm);min-width:var(--control-height-sm);padding:var(--space-1);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.nav-icon[data-v-a581d5fa]:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}.mobile-menu[data-v-a581d5fa]{display:none}.profile-menu[data-v-a581d5fa]{position:relative}.profile-trigger[data-v-a581d5fa]{color:var(--text-primary);min-height:var(--control-height-sm);padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000}.profile-avatar[data-v-a581d5fa]{background:var(--accent-soft);color:var(--accent-hover);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);height:var(--space-6);width:var(--space-6);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.profile-trigger[data-v-a581d5fa]:hover{background:var(--surface-hover);border-color:var(--surface-hover);color:var(--text-primary)}.profile-dropdown[data-v-a581d5fa]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);gap:var(--space-2);min-width:var(--timeline-width);padding:var(--space-3);right:var(--space-0);top:calc(100% + var(--space-2));z-index:2;flex-direction:column;display:flex;position:absolute}.profile-name[data-v-a581d5fa]{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.profile-role[data-v-a581d5fa]{color:var(--text-muted);font-size:var(--text-xs)}.profile-logout[data-v-a581d5fa]{background:var(--danger-soft);border-color:var(--danger-soft);color:var(--danger);min-height:var(--control-height-sm);justify-content:flex-start}.profile-logout[data-v-a581d5fa]:hover{background:var(--danger);border-color:var(--danger);color:var(--text-inverse)}@media (width<=820px){.navbar[data-v-a581d5fa]{padding:var(--space-0) var(--space-4)}.mobile-menu[data-v-a581d5fa]{display:inline-flex}}@media print{.navbar[data-v-a581d5fa]{display:none}}.app[data-v-4742ed9c]{min-height:100vh;display:flex}.content[data-v-4742ed9c]{min-width:var(--space-0);flex-direction:column;flex:1;display:flex}.app-content[data-v-4742ed9c]{margin:var(--space-0) auto;max-width:var(--content-max-width);padding:var(--content-padding);flex:1;width:100%}@media (width<=1024px){.app-content[data-v-4742ed9c]{padding:var(--space-5)}}@media (width<=820px){.app-content[data-v-4742ed9c]{padding:var(--space-4)}}.login[data-v-324d5b50]{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login form[data-v-324d5b50]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:var(--login-max-width);padding:var(--space-8);width:100%}.login h2[data-v-324d5b50],.login .sub[data-v-324d5b50]{text-align:center}.login .sub[data-v-324d5b50]{color:var(--text-muted);margin:var(--space-2) var(--space-0) var(--space-6)}.login button[data-v-324d5b50]{width:100%}.segmented[data-v-e01336ad]{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.segmented-item[data-v-e01336ad]{color:var(--text-secondary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.segmented-item[data-v-e01336ad]:hover:not(.active):not(:disabled){color:var(--text-primary)}.segmented-item.active[data-v-e01336ad]{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text-primary);font-weight:600}.segmented-item[data-v-e01336ad]:disabled{opacity:.6;cursor:not-allowed}.dashboard-header[data-v-383cfaea]{align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);flex-wrap:wrap;justify-content:space-between;display:flex}.dashboard-title h1[data-v-383cfaea]{letter-spacing:-.02em;font-size:24px;font-weight:700}.dashboard-subtitle[data-v-383cfaea]{color:var(--text-secondary);margin-top:4px;font-size:14px}.dashboard-controls[data-v-383cfaea]{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.custom-range[data-v-383cfaea]{align-items:center;gap:8px;display:flex}.custom-range input[data-v-383cfaea]{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-primary);font:inherit;border-radius:10px;padding:7px 10px;font-size:13px}.custom-range input[data-v-383cfaea]:focus-visible{border-color:var(--accent);outline:2px solid var(--accent-soft)}.custom-range input[data-v-383cfaea]{width:auto;min-width:140px}.range-sep[data-v-383cfaea]{color:var(--text-muted)}.icon-button[data-v-383cfaea]{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:45px;height:38px;transition:background .15s,color .15s;display:inline-flex}.icon-button[data-v-383cfaea]:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.icon-button svg[data-v-383cfaea]{width:16px;height:16px}.icon-button.spinning svg[data-v-383cfaea]{animation:.9s linear infinite spin-383cfaea}@keyframes spin-383cfaea{to{transform:rotate(360deg)}}.last-updated[data-v-383cfaea]{color:var(--text-muted);white-space:nowrap;font-size:12px}@media (width<=820px){.dashboard-controls[data-v-383cfaea]{width:100%}}@media (width<=560px){.dashboard-controls[data-v-383cfaea],.custom-range[data-v-383cfaea]{flex-direction:column;align-items:stretch}.custom-range input[data-v-383cfaea]{width:100%}}.kpi-card[data-v-6b9f60c1]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-direction:column;gap:8px;min-width:0;padding:12px 14px;transition:box-shadow .15s,border-color .15s;display:flex;position:relative}.kpi-card[data-v-6b9f60c1]:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.kpi-card[data-v-6b9f60c1]:focus-visible{outline:none}.kpi-main[data-v-6b9f60c1]{flex-wrap:wrap;align-items:center;gap:5px;min-height:30px;display:flex}.kpi-icon[data-v-6b9f60c1]{border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kpi-icon svg[data-v-6b9f60c1]{width:15px;height:15px}.kpi-revenue .kpi-icon[data-v-6b9f60c1]{background:var(--accent-soft);color:var(--accent)}.kpi-cost .kpi-icon[data-v-6b9f60c1]{background:var(--warning-soft);color:var(--warning)}.kpi-profit .kpi-icon[data-v-6b9f60c1]{background:var(--success-soft);color:var(--success)}.kpi-margin .kpi-icon[data-v-6b9f60c1]{background:var(--violet-soft);color:var(--violet)}.kpi-jobs .kpi-icon[data-v-6b9f60c1]{background:var(--info-soft);color:var(--info)}.kpi-value[data-v-6b9f60c1]{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:22px;font-weight:700;line-height:1.1;overflow:hidden}.kpi-trend[data-v-6b9f60c1]{border-radius:999px;flex:none;align-items:center;gap:3px;margin:0;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.kpi-trend svg[data-v-6b9f60c1]{width:11px;height:11px}.trend-up[data-v-6b9f60c1]{background:var(--success-soft);color:var(--success)}.trend-down[data-v-6b9f60c1]{background:var(--danger-soft);color:var(--danger)}.trend-neutral[data-v-6b9f60c1]{background:var(--surface-2);color:var(--text-muted)}.kpi-spark[data-v-6b9f60c1]{color:var(--accent);width:calc(100% + 4px);height:22px;margin:-2px -2px 0;display:block}.kpi-spark-cost[data-v-6b9f60c1]{color:var(--warning)}.kpi-spark-profit[data-v-6b9f60c1]{color:var(--success)}.spark-line[data-v-6b9f60c1]{stroke:currentColor;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark-stop-a[data-v-6b9f60c1]{stop-color:currentColor;stop-opacity:.18}.spark-stop-b[data-v-6b9f60c1]{stop-color:currentColor;stop-opacity:0}.kpi-tip[data-v-6b9f60c1]{color:#fff;opacity:0;pointer-events:none;white-space:normal;z-index:20;background:#101828;border-radius:8px;flex-direction:column;gap:3px;width:max-content;max-width:260px;padding:9px 12px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:calc(100% + 8px);left:auto;right:0;transform:translateY(-3px);box-shadow:0 4px 12px #1018282e}.kpi-tip b[data-v-6b9f60c1]{margin-bottom:1px;font-weight:600}.kpi-card.has-tip:hover .kpi-tip[data-v-6b9f60c1],.kpi-card.has-tip:focus-visible .kpi-tip[data-v-6b9f60c1]{opacity:1;transform:translateY(0)}.kpi-card.has-tip[data-v-6b9f60c1]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.capital-card[data-v-787ef58b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-4);padding:18px}.capital-head[data-v-787ef58b],.capital-meta[data-v-787ef58b],.capital-form-actions[data-v-787ef58b],.capital-form-row[data-v-787ef58b]{justify-content:space-between;align-items:center;display:flex}.capital-kicker[data-v-787ef58b]{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;display:block}.capital-head h2[data-v-787ef58b]{color:var(--text-primary);margin:0;font-size:16px}.capital-badge[data-v-787ef58b]{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.capital-value[data-v-787ef58b]{letter-spacing:-.03em;margin:16px 0 12px;font-size:30px;display:block}.capital-meta[data-v-787ef58b]{background:var(--surface-2);border-radius:var(--radius-md);color:var(--text-secondary);padding:10px 12px;font-size:13px}.capital-meta strong[data-v-787ef58b]{color:var(--text-primary)}.capital-help[data-v-787ef58b]{color:var(--text-muted);margin:11px 0;font-size:12px;line-height:1.5}.capital-loading[data-v-787ef58b]{color:var(--text-muted);padding:20px 0}.capital-action[data-v-787ef58b],.secondary-action[data-v-787ef58b],.fill-profit[data-v-787ef58b]{border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;font:inherit;padding:9px 13px;font-weight:600}.capital-action[data-v-787ef58b]{background:var(--accent);color:var(--surface);border-color:var(--accent);width:100%}.capital-action[data-v-787ef58b]:disabled{cursor:not-allowed;opacity:.5}.secondary-action[data-v-787ef58b]{background:var(--surface);color:var(--text-secondary)}.fill-profit[data-v-787ef58b]{background:var(--surface);color:var(--accent);padding:7px 10px;font-size:12px}.capital-form[data-v-787ef58b]{gap:11px;margin-top:14px;display:grid}.capital-form label[data-v-787ef58b]{color:var(--text-secondary);gap:5px;font-size:12px;font-weight:600;display:grid}.capital-form label span[data-v-787ef58b]{color:var(--text-muted);font-weight:400}.capital-form input[data-v-787ef58b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;width:100%;padding:9px 10px}.capital-form input[data-v-787ef58b]:focus{border-color:var(--accent);outline:2px solid var(--focus-ring)}.capital-form-row[data-v-787ef58b]{align-items:end;gap:8px}.capital-form-row label[data-v-787ef58b]{flex:1}.capital-form-actions[data-v-787ef58b]{gap:8px;margin-top:2px}.capital-form-actions .capital-action[data-v-787ef58b]{width:auto}.capital-error[data-v-787ef58b]{background:var(--danger-soft);border-radius:var(--radius-md);color:var(--danger);padding:8px 10px;font-size:12px}.kpi-grid[data-v-04c6f688]{margin-bottom:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}@media (width<=1280px){.kpi-grid[data-v-04c6f688]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1024px){.kpi-grid[data-v-04c6f688]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.kpi-grid[data-v-04c6f688]{grid-template-columns:1fr}}.dashboard-chart[data-v-07c0afc0]{min-width:0}.chart-summary[data-v-07c0afc0]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px;display:grid}.summary-item[data-v-07c0afc0]{background:var(--surface-2);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.summary-item span[data-v-07c0afc0]{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.summary-item strong[data-v-07c0afc0]{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:20px;font-weight:700}.dot[data-v-07c0afc0]:before{content:"";border-radius:50%;width:8px;height:8px;display:inline-block}.dot-revenue[data-v-07c0afc0]:before{background:#2563eb}.dot-cost[data-v-07c0afc0]:before{background:#d97706}.dot-profit[data-v-07c0afc0]:before{background:#16a34a}.chart-canvas[data-v-07c0afc0]{height:var(--chart-height);position:relative}.chart-note[data-v-07c0afc0]{color:var(--text-muted);margin-top:14px;font-size:12px}@media (width<=560px){.chart-summary[data-v-07c0afc0]{grid-template-columns:1fr}.chart-canvas[data-v-07c0afc0]{height:220px}}.pipeline-card[data-v-6fe48a04]{min-width:0}.pipeline-total[data-v-6fe48a04]{align-items:center;gap:var(--space-3);margin:18px 0 20px;display:flex}.pipeline-total strong[data-v-6fe48a04]{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:700;line-height:1}.pipeline-total-copy[data-v-6fe48a04]{flex-direction:column;gap:2px;display:flex}.pipeline-total-copy span[data-v-6fe48a04]{color:var(--text-muted);font-size:13px}.pipeline-sub[data-v-6fe48a04]{font-size:12px}.pipeline-list[data-v-6fe48a04]{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.pipeline-row-head[data-v-6fe48a04]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.pipeline-label[data-v-6fe48a04]{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.pipeline-dot[data-v-6fe48a04]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pipeline-meta[data-v-6fe48a04]{align-items:baseline;gap:6px;display:flex}.pipeline-meta strong[data-v-6fe48a04]{font-variant-numeric:tabular-nums;font-size:14px}.pipeline-share[data-v-6fe48a04]{color:var(--text-muted);font-size:11px}.pipeline-track[data-v-6fe48a04]{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.pipeline-fill[data-v-6fe48a04]{border-radius:999px;height:100%;transition:width .4s;display:block}.latest-jobs-card[data-v-bac55e22]{min-width:0}.job-code[data-v-bac55e22]{color:var(--text-primary);font-weight:600}.job-code[data-v-bac55e22]:hover{color:var(--accent)}.desktop-jobs[data-v-bac55e22]{margin-top:8px;display:block}.mobile-jobs[data-v-bac55e22]{display:none}@media (width<=820px){.desktop-jobs[data-v-bac55e22]{display:none}.mobile-jobs[data-v-bac55e22]{display:block}}.queue-card[data-v-5ce207e9]{min-width:0}.estimate-list[data-v-5ce207e9]{gap:var(--space-2);margin:var(--space-4) var(--space-0) var(--space-0);padding:var(--space-0);flex-direction:column;list-style:none;display:flex}.estimate-list li[data-v-5ce207e9]{border-bottom:1px solid var(--border);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-0);justify-content:space-between;display:flex}.estimate-list li[data-v-5ce207e9]:last-child{border-bottom:0}.queue-primary[data-v-5ce207e9],.queue-secondary[data-v-5ce207e9]{align-items:center;gap:var(--space-2);min-width:0;display:flex}.queue-primary[data-v-5ce207e9]{flex:1}.queue-primary a[data-v-5ce207e9],.queue-primary strong[data-v-5ce207e9]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queue-primary strong[data-v-5ce207e9]{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.queue-secondary[data-v-5ce207e9]{color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;justify-content:flex-end}@media (width<=560px){.estimate-list li[data-v-5ce207e9],.queue-primary[data-v-5ce207e9],.queue-secondary[data-v-5ce207e9]{flex-direction:column;align-items:flex-start}.estimate-list li[data-v-5ce207e9]{gap:var(--space-2)}.queue-secondary[data-v-5ce207e9]{align-items:flex-start}}.queue-card[data-v-942d531c]{min-width:0}.attention-list[data-v-942d531c]{flex-direction:column;margin-top:16px;padding:0;list-style:none;display:flex}.attention-list li[data-v-942d531c]{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.attention-list li[data-v-942d531c]:last-child{border-bottom:0}.alert-icon[data-v-942d531c]{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.alert-icon svg[data-v-942d531c]{width:16px;height:16px}.alert-warning[data-v-942d531c]{background:var(--warning-soft);color:var(--warning)}.alert-danger[data-v-942d531c]{background:var(--danger-soft);color:var(--danger)}.alert-body strong[data-v-942d531c]{color:var(--text-primary);font-size:14px;display:block}.alert-body p[data-v-942d531c]{color:var(--text-muted);margin-top:2px;font-size:13px}.alert-link[data-v-942d531c]{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:600}.alert-link[data-v-942d531c]:hover{text-decoration:underline}@media (width<=560px){.attention-list li[data-v-942d531c]{grid-template-columns:36px minmax(0,1fr);align-items:flex-start}.attention-list .alert-link[data-v-942d531c]{grid-column:2;justify-self:start}}.dashboard-skeleton[data-v-8d0c5696]{flex-direction:column;gap:16px;display:flex}.skeleton-kpis[data-v-8d0c5696]{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.skeleton-main[data-v-8d0c5696]{grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:16px;display:grid}.sk[data-v-8d0c5696]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.sk[data-v-8d0c5696]:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.6s infinite shimmer-8d0c5696;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer-8d0c5696{to{transform:translate(100%)}}@media (width<=1024px){.skeleton-kpis[data-v-8d0c5696]{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-main[data-v-8d0c5696]{grid-template-columns:1fr}}@media (width<=560px){.skeleton-kpis[data-v-8d0c5696]{grid-template-columns:1fr}}.dashboard-page[data-v-ffeb352c]{min-width:0}.dashboard-scope-row[data-v-ffeb352c]{border-bottom:1px solid var(--border);margin-bottom:var(--space-3);padding-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section-kicker[data-v-ffeb352c]{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;margin-bottom:var(--space-1);text-transform:uppercase;display:block}.dashboard-scope-row strong[data-v-ffeb352c]{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.refreshing-indicator[data-v-ffeb352c]{color:var(--accent);font-size:var(--text-sm)}.dashboard-primary-grid[data-v-ffeb352c],.dashboard-work-grid[data-v-ffeb352c]{gap:var(--space-4);display:grid}.dashboard-primary-grid[data-v-ffeb352c]{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)}.dashboard-work-grid[data-v-ffeb352c]{margin:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-error[data-v-ffeb352c]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);justify-content:space-between;display:flex}.dashboard-error p[data-v-ffeb352c]{color:var(--text-secondary);margin-top:var(--space-1)}.dashboard-error button[data-v-ffeb352c]{background:var(--surface);border-color:var(--danger);color:var(--danger)}@media (width<=1024px){.dashboard-primary-grid[data-v-ffeb352c],.dashboard-work-grid[data-v-ffeb352c]{grid-template-columns:1fr}}@media (width<=560px){.dashboard-scope-row[data-v-ffeb352c],.dashboard-error[data-v-ffeb352c]{flex-direction:column;align-items:flex-start}.dashboard-error button[data-v-ffeb352c]{width:100%}}
