@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-base:#080a0e;--bg-primary:#0c0f14;--bg-secondary:#121620;--bg-card:#181d2a;--bg-card-hover:#1e2436;--bg-elevated:#222840;--bg-glass:#121620b8;--text-primary:#f0f2f5;--text-secondary:#7e889e;--text-muted:#555e73;--text-heading:#fff;--accent:#c9a96e;--accent-hover:#dbb978;--accent-glow:#c9a96e40;--accent-bg:#c9a96e14;--accent-border:#c9a96e40;--success:#22c997;--success-bg:#22c9971a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--danger:#ef4444;--danger-bg:#ef44441a;--info:#3b82f6;--info-bg:#3b82f61a;--border:#ffffff0f;--border-light:#ffffff1a;--border-accent:#c9a96e33;--divider:#ffffff0a;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 30px #0006;--shadow-xl:0 16px 50px #00000080;--shadow-glow:0 0 20px #c9a96e26;--shadow-card:0 2px 8px #0003, 0 0 0 1px var(--border);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Outfit", "Inter", sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--sidebar-width:280px;--sidebar-collapsed:72px;--estado-lead-calificado:#8b5cf6;--estado-visita:#6366f1;--estado-diseno:#3b82f6;--estado-cotizacion-desarrollo:#06b6d4;--estado-cotizacion-presentada:#0ea5e9;--estado-cerrado:#22c55e;--estado-ficha-tecnica:#14b8a6;--estado-validacion:#f59e0b;--estado-compras:#f97316;--estado-material-recibido:#84cc16;--estado-fabricacion:#eab308;--estado-listo-instalacion:#a3e635;--estado-en-instalacion:#34d399;--estado-pendientes:#fb923c;--estado-entregado:#10b981;--estado-garantia:#ef4444;--estado-detenido:#6b7280}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{font-family:var(--font-primary);background:var(--bg-base);color:var(--text-primary);line-height:1.6;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{background:var(--bg-base);width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-glass);-webkit-backdrop-filter:blur(24px)saturate(140%);border-right:1px solid var(--border);padding:var(--space-lg) var(--space-md);z-index:100;transition:width var(--duration-slow) var(--ease-out), min-width var(--duration-slow) var(--ease-out);flex-direction:column;display:flex;position:relative}.sidebar:before{content:"";pointer-events:none;background:linear-gradient(#c9a96e08 0%,#0000 40%);border-radius:0;position:absolute;inset:0}.logo-section{padding:0 var(--space-sm);margin-bottom:var(--space-xl);position:relative}.logo-section h2{font-family:var(--font-display);letter-spacing:3px;background:linear-gradient(135deg, var(--accent) 0%, #e8d5a8 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800;animation:3s ease-in-out infinite shimmerText}.logo-section span{font-family:var(--font-display);letter-spacing:6px;color:var(--text-muted);margin-top:-2px;font-size:.7rem;display:block}.nav-menu{padding-right:var(--space-xs);flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.nav-item{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-size:.9rem;font-weight:500;font-family:var(--font-primary);transition:all var(--duration-base) var(--ease-out);white-space:nowrap;background:0 0;border:none;align-items:center;gap:12px;padding:10px 14px;display:flex;position:relative;overflow:hidden}.nav-item:before{content:"";background:var(--accent);width:3px;height:0;transition:height var(--duration-base) var(--ease-out);border-radius:0 4px 4px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item:hover{color:var(--text-primary);background:#ffffff0a}.nav-item.active{background:var(--accent-bg);color:var(--accent);box-shadow:var(--shadow-glow);font-weight:600}.nav-item.active:before{height:60%}.nav-item .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-item .nav-text{flex-direction:column;line-height:1.2;display:flex}.nav-item .nav-sublabel{color:var(--text-muted);margin-top:1px;font-size:.7rem;font-weight:400}.nav-item.active .nav-sublabel{color:var(--accent);opacity:.7}.badge-count{background:var(--danger);color:#fff;border-radius:var(--radius-full);text-align:center;flex-shrink:0;min-width:20px;margin-left:auto;padding:2px 7px;font-size:.65rem;font-weight:700;animation:2s ease-in-out infinite pulseGlow}.badge-count.warning{background:var(--warning);animation:none}.badge-count.info{background:var(--info);animation:none}.sidebar-footer{padding-top:var(--space-md);border-top:1px solid var(--border);margin-top:var(--space-md)}.btn-refresh{border:1px solid var(--border-light);width:100%;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-primary);transition:all var(--duration-base) ease;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:500;display:flex}.btn-refresh:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.btn-refresh.spinning svg{animation:1s linear infinite spin}.main-content{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.main-content:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 30% 0,#c9a96e0a 0%,#0000 60%);height:300px;position:absolute;top:0;left:0;right:0}.top-bar{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);z-index:10;justify-content:space-between;align-items:center;min-height:64px;display:flex;position:relative}.top-bar-left{align-items:center;gap:var(--space-md);display:flex}.top-bar-left h1{font-family:var(--font-display);color:var(--text-heading);letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.top-bar-left .breadcrumb{color:var(--text-muted);font-size:.8rem}.top-bar-left .breadcrumb span{color:var(--accent)}.top-bar-right{align-items:center;gap:var(--space-md);display:flex}.global-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);min-width:260px;transition:all var(--duration-base) ease;align-items:center;gap:8px;padding:8px 16px;display:flex}.global-search:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-glow)}.global-search svg{color:var(--text-muted);flex-shrink:0}.global-search input{color:var(--text-primary);font-family:var(--font-primary);background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.global-search input::placeholder{color:var(--text-muted)}.user-profile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent), #e8d5a8);width:32px;height:32px;color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.user-profile span{color:var(--text-primary);font-size:.85rem;font-weight:500}.content-body{padding:var(--space-xl);z-index:1;flex:1;position:relative;overflow-y:auto}.loading-banner{text-align:center;padding:var(--space-xl);color:var(--accent);justify-content:center;align-items:center;gap:var(--space-sm);font-weight:500;display:flex}.loading-banner svg{animation:1s linear infinite spin}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--duration-base) var(--ease-out);position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, transparent, var(--border-light), transparent);height:1px;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-header h3{font-family:var(--font-display);color:var(--text-heading);font-size:1.05rem;font-weight:600}.stats-grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);align-items:flex-start;gap:var(--space-md);transition:all var(--duration-base) var(--ease-out);animation:fadeInUp var(--duration-slow) var(--ease-out) both;cursor:default;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";opacity:0;height:2px;transition:opacity var(--duration-base) ease;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-light);transform:translateY(-2px)}.stat-card:hover:after{opacity:1}.stat-card.gold:after{background:linear-gradient(90deg, var(--accent), transparent)}.stat-card.blue:after{background:linear-gradient(90deg, var(--info), transparent)}.stat-card.green:after{background:linear-gradient(90deg, var(--success), transparent)}.stat-card.red:after{background:linear-gradient(90deg, var(--danger), transparent)}.stat-card.orange:after{background:linear-gradient(90deg, var(--warning), transparent)}.stat-card:first-child{animation-delay:0s}.stat-card:nth-child(2){animation-delay:60ms}.stat-card:nth-child(3){animation-delay:.12s}.stat-card:nth-child(4){animation-delay:.18s}.stat-card:nth-child(5){animation-delay:.24s}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.gold{background:var(--accent-bg);color:var(--accent)}.stat-icon.blue{background:var(--info-bg);color:var(--info)}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.red{background:var(--danger-bg);color:var(--danger)}.stat-icon.orange{background:var(--warning-bg);color:var(--warning)}.stat-info{flex:1;min-width:0}.stat-info .stat-value{font-family:var(--font-display);color:var(--text-heading);font-size:1.8rem;font-weight:800;line-height:1.1}.stat-info .stat-label{color:var(--text-secondary);margin-top:2px;font-size:.8rem;font-weight:500}.stat-info .stat-delta{border-radius:var(--radius-full);align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.stat-delta.up{background:var(--success-bg);color:var(--success)}.stat-delta.down{background:var(--danger-bg);color:var(--danger)}.table-container{overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%}thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--bg-secondary);z-index:2;white-space:nowrap;padding:12px 16px;font-size:.75rem;font-weight:600;position:sticky;top:0}thead th:first-child{border-radius:var(--radius-md) 0 0 0}thead th:last-child{border-radius:0 var(--radius-md) 0 0}tbody td{text-align:left;border-bottom:1px solid var(--divider);color:var(--text-primary);vertical-align:middle;padding:14px 16px;font-size:.88rem}tbody tr{transition:background var(--duration-fast) ease}tbody tr:hover{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.cell-main{color:var(--text-heading);font-weight:600}.cell-sub{color:var(--text-muted);margin-top:2px;font-size:.78rem}.badge{border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.02em;align-items:center;gap:5px;padding:4px 10px;font-size:.73rem;font-weight:600;display:inline-flex}.badge-estado{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:6px;padding:5px 12px;font-size:.73rem;font-weight:600;display:inline-flex}.badge-estado .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge-sede{background:var(--bg-elevated);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;display:inline-flex}.form-container{flex-direction:column;display:flex}.form-container h3{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--text-heading);font-size:1.05rem;font-weight:600}.form-group{margin-bottom:var(--space-md)}.form-group label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}input,select,textarea{background:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);font-family:var(--font-primary);transition:all var(--duration-base) ease;outline:none;padding:11px 14px;font-size:.88rem}input:focus,select:focus,textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%237e889e' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}textarea{resize:vertical;min-height:90px;line-height:1.5}.btn{border-radius:var(--radius-md);font-family:var(--font-primary);cursor:pointer;transition:all var(--duration-base) var(--ease-out);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--duration-fast) ease;background:#fff0;position:absolute;inset:0}.btn:hover:after{background:#ffffff0f}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent), #b8924d);color:var(--bg-primary);font-weight:700;box-shadow:0 2px 8px #c9a96e40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #c9a96e59}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:#ffffff14}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:var(--border-light);background:#ffffff08}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.8rem}.btn-full{width:100%}.btn-group{gap:var(--space-sm);display:flex}.section-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.section-header h2{font-family:var(--font-display);color:var(--text-heading);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.section-header .section-subtitle{color:var(--text-muted);margin-top:2px;font-size:.85rem}.section-actions,.filters-bar{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.filter-chip{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) ease;white-space:nowrap;padding:6px 14px;font-size:.8rem;font-weight:500}.filter-chip:hover,.filter-chip.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.grid-2{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.grid-main-side{gap:var(--space-lg);grid-template-columns:2fr 1fr;display:grid}.grid-side-main{gap:var(--space-lg);grid-template-columns:1fr 2fr;display:grid}@media (width<=1200px){.grid-3{grid-template-columns:1fr 1fr}}@media (width<=900px){.grid-2,.grid-3,.grid-main-side,.grid-side-main{grid-template-columns:1fr}}.pipeline-board{gap:var(--space-md);padding-bottom:var(--space-md);min-height:500px;display:flex;overflow-x:auto}.pipeline-column{flex-direction:column;flex-shrink:0;min-width:260px;max-width:300px;display:flex}.pipeline-column-header{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md) var(--radius-md) 0 0;justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--bg-card);border:1px solid var(--border);z-index:2;border-bottom:2px solid;display:flex;position:sticky;top:0}.pipeline-column-header .col-title{color:var(--text-primary);font-size:.8rem;font-weight:600}.pipeline-column-header .col-count{border-radius:var(--radius-full);background:#ffffff1a;padding:2px 8px;font-size:.7rem;font-weight:700}.pipeline-cards{gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;flex-direction:column;flex:1;min-height:200px;display:flex;overflow-y:auto}.pipeline-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--duration-base) var(--ease-out);animation:fadeInUp var(--duration-base) var(--ease-out) both}.pipeline-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-light);transform:translateY(-2px)}.pipeline-card .pc-client{color:var(--text-heading);margin-bottom:4px;font-size:.88rem;font-weight:600}.pipeline-card .pc-detail{color:var(--text-secondary);font-size:.78rem}.pipeline-card .pc-footer{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--divider);justify-content:space-between;align-items:center;display:flex}.pipeline-card .pc-designer,.pipeline-card .pc-sede{color:var(--text-muted);align-items:center;gap:4px;font-size:.73rem;display:flex}.progress-bar-container{background:var(--bg-elevated);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:2s ease-in-out infinite shimmer;position:absolute;inset:0}.stock-bar{align-items:center;gap:var(--space-sm);display:flex}.stock-bar .stock-level{background:var(--bg-elevated);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.stock-bar .stock-fill{border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out)}.stock-bar .stock-fill.high{background:var(--success)}.stock-bar .stock-fill.medium{background:var(--warning)}.stock-bar .stock-fill.low{background:var(--danger)}.alerts-list{gap:var(--space-sm);flex-direction:column;display:flex}.alert-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);align-items:flex-start;gap:var(--space-md);transition:all var(--duration-base) ease;animation:fadeInUp var(--duration-base) var(--ease-out) both;border-left:3px solid;display:flex}.alert-card:hover{background:var(--bg-card-hover)}.alert-card.critical{border-left-color:var(--danger)}.alert-card.warning{border-left-color:var(--warning)}.alert-card.info{border-left-color:var(--info)}.alert-card.resolved{border-left-color:var(--success);opacity:.5}.alert-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.alert-icon.critical{background:var(--danger-bg);color:var(--danger)}.alert-icon.warning{background:var(--warning-bg);color:var(--warning)}.alert-icon.info{background:var(--info-bg);color:var(--info)}.alert-body{flex:1;min-width:0}.alert-body .alert-title{color:var(--text-heading);margin-bottom:2px;font-size:.9rem;font-weight:600}.alert-body .alert-message{color:var(--text-secondary);font-size:.82rem;line-height:1.4}.alert-body .alert-meta{align-items:center;gap:var(--space-md);margin-top:var(--space-sm);color:var(--text-muted);font-size:.75rem;display:flex}.alert-actions{gap:var(--space-xs);flex-direction:column;flex-shrink:0;display:flex}.state-chart{gap:var(--space-sm);flex-direction:column;display:flex}.state-row{align-items:center;gap:var(--space-md);padding:6px 0;display:flex}.state-row .state-label{width:180px;color:var(--text-secondary);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:.8rem;overflow:hidden}.state-row .state-bar-bg{background:var(--bg-elevated);border-radius:var(--radius-sm);flex:1;height:24px;position:relative;overflow:hidden}.state-row .state-bar-fill{border-radius:var(--radius-sm);color:#000000b3;min-width:fit-content;height:100%;transition:width var(--duration-slow) var(--ease-out);align-items:center;padding-left:8px;font-size:.72rem;font-weight:700;display:flex}.state-row .state-count{text-align:center;width:32px;color:var(--text-primary);flex-shrink:0;font-size:.8rem;font-weight:700}.comparison-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.comparison-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center}.comparison-item .comp-label{color:var(--text-muted);margin-bottom:var(--space-sm);font-size:.78rem}.comparison-item .comp-value{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.comparison-item .comp-diff{margin-top:var(--space-xs);border-radius:var(--radius-full);padding:2px 8px;font-size:.75rem;display:inline-flex}.comp-diff.positive{background:var(--success-bg);color:var(--success)}.comp-diff.negative{background:var(--danger-bg);color:var(--danger)}.comp-diff.neutral{color:var(--text-muted);background:#ffffff0d}.timeline{padding-left:28px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:11px}.timeline-item{padding-bottom:var(--space-lg);position:relative}.timeline-item:before{content:"";background:var(--accent);border:2px solid var(--bg-primary);z-index:1;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-22px}.timeline-item.completed:before{background:var(--success)}.timeline-item.active:before{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.timeline-item.pending:before{background:var(--text-muted)}.timeline-item .tl-header{align-items:center;gap:var(--space-sm);margin-bottom:4px;display:flex}.timeline-item .tl-title{color:var(--text-primary);font-size:.88rem;font-weight:600}.timeline-item .tl-date{color:var(--text-muted);font-size:.73rem}.timeline-item .tl-desc{color:var(--text-secondary);font-size:.82rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn var(--duration-fast) ease;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-xl);width:90%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-xl);animation:scaleIn var(--duration-base) var(--ease-bounce);overflow-y:auto}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-family:var(--font-display);color:var(--text-heading);font-size:1.2rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast) ease;background:0 0;border:none;padding:4px}.modal-close:hover{color:var(--text-primary)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.empty-state svg{margin-bottom:var(--space-md);opacity:.3}.empty-state h4{font-family:var(--font-display);color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:1.1rem}.empty-state p{color:var(--text-muted);font-size:.85rem}.tab-bar{background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-lg);gap:2px;width:fit-content;padding:3px;display:flex}.tab-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.83rem;font-weight:500;font-family:var(--font-primary);transition:all var(--duration-base) ease;white-space:nowrap;background:0 0;border:none;padding:8px 18px}.tab-item:hover{color:var(--text-primary)}.tab-item.active{background:var(--bg-card);color:var(--accent);box-shadow:var(--shadow-sm);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@keyframes shimmerText{0%{background-position:0%}to{background-position:200%}}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.sidebar{z-index:200;height:100vh;transition:left var(--duration-slow) var(--ease-out);position:fixed;left:-300px}.sidebar.open{left:0}.content-body{padding:var(--space-md)}.stats-grid{grid-template-columns:1fr}.top-bar{padding:var(--space-md)}.global-search{flex:1;min-width:0}.pipeline-board{min-height:auto}.pipeline-column{min-width:220px}}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.no-data{text-align:center;padding:var(--space-xl);color:var(--text-muted);font-size:.9rem}.scroll-fade{position:relative}.scroll-fade:after{content:"";background:linear-gradient(transparent, var(--bg-primary));pointer-events:none;height:40px;position:absolute;bottom:0;left:0;right:0}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--duration-fast) ease;box-shadow:var(--shadow-md);padding:4px 10px;font-size:.73rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-4px)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(-8px)}.select-status{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-family:var(--font-primary);appearance:none;transition:all var(--duration-base) ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%237e889e' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding:6px 28px 6px 10px}.select-status:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-glow)}.badge-reclamo{border-radius:var(--radius-full);padding:4px 10px;font-size:.73rem;font-weight:600}.badge-reclamo.abierto{background:var(--danger-bg);color:var(--danger)}.badge-reclamo.en-proceso{background:var(--warning-bg);color:var(--warning)}.badge-reclamo.resuelto{background:var(--success-bg);color:var(--success)}.signature-pad-container{border:1px solid var(--border);border-radius:var(--radius-md);background-color:#fff;margin-top:10px;padding:8px;position:relative}.signature-pad-canvas{cursor:crosshair;background-color:#fff;border:1px dashed #ccc;width:100%;height:200px}.signature-buttons{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.drag-drop-zone{border:2px dashed var(--border-light);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--duration-base) ease;background:#ffffff05;padding:24px}.drag-drop-zone.dragover{border-color:var(--accent);background:var(--accent-bg)}.drag-drop-zone svg{color:var(--accent);margin-bottom:8px}.client-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px;display:grid}.client-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--duration-base) ease;flex-direction:column;gap:8px;padding:16px;display:flex}.client-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.client-card h4{font-family:var(--font-display);color:var(--text-heading);font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;z-index:1000!important;background:#000000bf!important;justify-content:center!important;align-items:center!important;animation:.25s both fadeIn!important;display:flex!important;position:fixed!important;inset:0!important}.modal-content{background:var(--bg-secondary)!important;border:1px solid var(--border-light)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important;z-index:1001!important;flex-direction:column!important;max-height:90vh!important;display:flex!important;position:relative!important}.package-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.package-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff03;padding:12px}.package-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.package-item{color:var(--text-secondary);justify-content:space-between;padding:2px 0;font-size:.85rem;display:flex}.kanban-column{transition:background-color var(--duration-base) ease}.kanban-column.dragover{border:1px dashed var(--accent)!important;background-color:#c9a96e0d!important}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:inline-flex}.segmented-control{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);gap:3px;padding:4px;display:inline-flex}.segmented-control button{color:var(--text-secondary);border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:.82rem;font-weight:700}.segmented-control button.active{background:var(--bg-card);color:var(--accent);box-shadow:var(--shadow-sm)}.card-header.clean{align-items:flex-start;gap:var(--space-md)}.card-header.clean p{color:var(--text-muted);margin-top:2px;font-size:.8rem;line-height:1.35}.status-pill{border-radius:var(--radius-full);white-space:nowrap;border:1px solid;align-items:center;gap:6px;padding:4px 9px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.status-pill>span{border-radius:999px;flex:none;width:7px;height:7px}.dashboard-shell,.pipeline-shell,.design-shell{animation:fadeInUp .35s var(--ease-out) both}.dashboard-hero-panel,.pipeline-command-panel,.design-command-panel{gap:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-xl);border:1px solid var(--border-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#c9a96e1f,#121620f5);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);display:grid}.dashboard-hero-copy h3,.pipeline-command-copy h3,.design-command-panel h3{font-family:var(--font-display);color:var(--text-heading);margin-top:6px;font-size:1.75rem;line-height:1.15}.dashboard-hero-copy p,.pipeline-command-copy p,.design-command-panel p{max-width:660px;color:var(--text-secondary);margin-top:6px;font-size:.92rem}.hero-progress{align-items:center;gap:var(--space-md);margin-top:var(--space-lg);grid-template-columns:auto minmax(160px,360px);display:grid}.hero-progress strong{font-family:var(--font-display);font-size:1.5rem;line-height:1;display:block}.hero-progress span{color:var(--text-muted);font-size:.75rem}.dashboard-action-stack{flex-direction:column;gap:10px;display:flex}.dashboard-action{border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--duration-base) var(--ease-out);background:#ffffff09;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.dashboard-action:hover{border-color:var(--accent-border);background:#ffffff0f;transform:translateY(-1px)}.dashboard-action.urgent{background:#ef444414;border-color:#ef444459}.dashboard-action span{color:var(--text-secondary);flex-direction:column;font-size:.78rem;display:flex}.dashboard-action strong{color:var(--text-heading);font-size:1.05rem}.ops-metrics-grid,.pipeline-stats-row{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(6,minmax(140px,1fr));display:grid}.ops-metric-card,.pipeline-stat-card{border:1px solid var(--border);background:var(--bg-card);min-height:116px;color:var(--text-primary);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--duration-base) var(--ease-out);align-items:flex-start;gap:12px;padding:16px;display:flex}.ops-metric-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ops-metric-icon{border-radius:var(--radius-sm);background:#ffffff0d;place-items:center;width:38px;height:38px;display:grid}.ops-metric-card.gold .ops-metric-icon{color:var(--accent);background:var(--accent-bg)}.ops-metric-card.blue .ops-metric-icon{color:var(--info);background:var(--info-bg)}.ops-metric-card.green .ops-metric-icon{color:var(--success);background:var(--success-bg)}.ops-metric-card.red .ops-metric-icon{color:var(--danger);background:var(--danger-bg)}.ops-metric-card.orange .ops-metric-icon{color:var(--warning);background:var(--warning-bg)}.ops-metric-card.cyan .ops-metric-icon{color:#22d3ee;background:#22d3ee1a}.ops-metric-body,.recent-project-card>span,.client-compact-item>span,.projects-index-row>span{flex-direction:column;min-width:0;display:flex}.ops-metric-body strong{font-family:var(--font-display);font-size:1.55rem;line-height:1}.ops-metric-body span{margin-top:5px;font-size:.78rem;font-weight:800}.ops-metric-body small{color:var(--text-muted);margin-top:2px;font-size:.72rem}.dashboard-grid-main,.dashboard-grid-secondary{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);display:grid}.dashboard-card.spacious{padding:var(--space-xl)}.state-chart.upgraded{gap:8px}.state-row-button{width:100%;color:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:7px 4px}.state-row-button:hover{background:#ffffff09}.state-chart.upgraded .state-bar-bg{height:18px}.state-chart.upgraded .state-bar-fill{padding:0;display:block}.recent-project-list,.alert-preview-list,.client-compact-list,.projects-index-list{flex-direction:column;gap:8px;display:flex}.recent-project-card,.alert-preview-item,.client-compact-item,.projects-index-row{border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--duration-fast) ease;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.alert-preview-item{grid-template-columns:auto minmax(0,1fr) auto}.recent-project-card:hover,.alert-preview-item:hover,.client-compact-item:hover,.projects-index-row:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.recent-project-card strong,.client-compact-item strong,.projects-index-row strong{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-project-card small,.alert-preview-item small,.client-compact-item small,.projects-index-row small,.row-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.alert-preview-item svg{color:var(--danger)}.alert-preview-item em,.client-compact-item em{color:var(--accent);font-style:normal;font-weight:800}.quiet-state{min-height:94px;color:var(--success);background:var(--success-bg);border-radius:var(--radius-md);border:1px solid #22c9972e;justify-content:center;align-items:center;gap:8px;display:flex}.client-dashboard-grid.upgraded{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.client-card.upgraded{gap:14px}.client-card.upgraded header{align-items:flex-start;gap:12px;display:flex}.client-avatar{border-radius:var(--radius-md);background:var(--accent-bg);width:40px;height:40px;color:var(--accent);flex:none;place-items:center;display:grid}.client-card-projects{flex-direction:column;gap:8px;display:flex}.client-card-projects button{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sm);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.client-card-projects small{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.client-card.upgraded footer{border-top:1px solid var(--divider);flex-wrap:wrap;gap:6px;padding-top:10px;display:flex}.projects-index-modal{width:min(920px,94vw);max-height:86vh}.modal-search-field{margin-bottom:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);align-items:center;gap:8px;padding:10px 13px;display:flex}.modal-search-field input{background:0 0;border:0;padding:0}.projects-index-list{padding-right:4px;overflow-y:auto}.projects-index-row{grid-template-columns:minmax(0,1fr) auto minmax(120px,auto)}.row-meta{align-items:center;gap:5px;display:inline-flex}.pipeline-command-panel{grid-template-columns:minmax(0,1fr) minmax(360px,.85fr)}.pipeline-stats-row{grid-template-columns:repeat(3,minmax(110px,1fr));margin-bottom:0}.pipeline-stat-card{cursor:default;min-height:0;display:block}.pipeline-stat-card strong{font-family:var(--font-display);font-size:1.55rem;line-height:1;display:block}.pipeline-stat-card span{margin-top:6px;font-size:.8rem;font-weight:800;display:block}.pipeline-stat-card small{color:var(--text-muted);margin-top:3px;font-size:.72rem;display:block}.pipeline-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.pipeline-search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:8px;width:min(380px,100%);padding:9px 12px;display:flex}.pipeline-search input{background:0 0;border:0;padding:0}.filters-bar.compact .filter-chip{padding:7px 12px}.pipeline-board-upgraded{min-height:calc(100vh - 360px);padding:2px 2px var(--space-md)}.pipeline-column{min-width:292px;max-width:320px}.pipeline-column.dragover .pipeline-cards{outline:1px dashed var(--accent);outline-offset:-6px;background:#c9a96e0f}.pipeline-column-header.upgraded{border-top:3px solid;border-bottom:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0}.pipeline-column-header.upgraded.neutral{border-top-color:var(--text-muted)}.pipeline-cards.upgraded{gap:10px;padding:10px}.pipeline-card.upgraded{border-top:3px solid var(--border-light);padding:12px}.pipeline-card-topline,.pipeline-card-meta,.pipeline-card-footer{align-items:center;gap:8px;display:flex}.pipeline-card-topline{color:var(--text-muted);justify-content:space-between;font-size:.72rem}.drag-handle{color:var(--text-muted);display:inline-flex}.pipeline-card-code{color:var(--text-muted);margin-right:auto;font-weight:800}.pipeline-card-main h4{color:var(--text-heading);margin:8px 0 4px;font-size:.95rem}.pipeline-card-main p{min-height:38px;color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.pipeline-card-meta{border-top:1px solid var(--divider);flex-wrap:wrap;margin-top:10px;padding-top:9px}.pipeline-card-meta span,.date-chip{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.pipeline-card-footer{justify-content:space-between;margin-top:10px}.pipeline-card-actions{border-top:1px solid var(--divider);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.won-ribbon{color:var(--success);align-items:center;gap:5px;margin-top:10px;font-size:.72rem;font-weight:800;display:inline-flex}.empty-lane{min-height:108px;color:var(--text-muted);border:1px dashed var(--border-light);border-radius:var(--radius-md);place-items:center;gap:6px;font-size:.8rem;display:grid}.pipeline-form-modal{width:min(720px,94vw)}.pipeline-create-form{gap:var(--space-md);flex-direction:column;display:flex}.new-client-panel{padding:var(--space-md);border:1px dashed var(--info);border-radius:var(--radius-md);background:#3b82f614}.new-client-panel h4{margin-bottom:var(--space-sm);color:var(--text-heading);font-size:.9rem}.form-actions-right{justify-content:flex-end}.design-command-panel{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr)}.design-command-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.design-command-stats button{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#ffffff09;padding:14px}.design-command-stats button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.design-command-stats strong{color:var(--text-heading);font-family:var(--font-display);font-size:1.5rem;display:block}.design-command-stats span{font-size:.78rem;font-weight:800}.design-tabs.tab-bar{width:auto;overflow-x:auto}.design-tabs .tab-item{align-items:center;gap:7px;display:inline-flex}.design-stage-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl)}.design-stage-heading{margin-bottom:var(--space-md)}.design-project-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.design-project-card{border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-md);background:var(--bg-secondary)}.design-project-card header{justify-content:space-between;gap:var(--space-md);align-items:flex-start;display:flex}.design-project-card header span{color:var(--text-muted);font-size:.72rem;font-weight:800}.design-project-card h4{color:var(--text-heading);font-size:1rem}.design-project-card header p,.design-project-description{color:var(--text-secondary);font-size:.8rem}.design-project-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;margin:12px 0;line-height:1.4;display:-webkit-box;overflow:hidden}.design-money-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.design-money-grid div{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff06;padding:10px}.design-money-grid span{color:var(--text-muted);font-size:.68rem;display:block}.design-money-grid strong{margin-top:3px;font-size:.82rem;display:block}.design-card-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.design-card-footer .select-status{width:auto;max-width:190px}.empty-design-state{min-height:220px;color:var(--text-muted);border:1px dashed var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.empty-design-state h4{color:var(--text-heading)}.design-comparison-grid{margin-top:var(--space-lg)}.design-comparison-grid .comp-value{align-items:center;gap:6px;display:inline-flex}.validator-card{padding:var(--space-xl)}.validator-results,.validator-errors{gap:var(--space-md);flex-direction:column;display:flex}.validator-results h4{margin-top:var(--space-md)}.validator-sheet-card{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.validator-sheet-card>div:first-child{justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.validator-sheet-card span{color:var(--text-muted);font-size:.78rem}.validator-ok{color:var(--success);align-items:center;gap:7px;display:inline-flex}.validator-errors strong{color:var(--danger);align-items:center;gap:7px;display:inline-flex}.validator-errors p{color:var(--text-secondary);font-size:.84rem}.validator-errors p span{color:var(--danger);font-weight:800}.validator-empty .btn{margin-top:var(--space-md)}.project-modal{width:min(1180px,96vw)!important;max-width:min(1180px,96vw)!important;padding:var(--space-xl)!important}.project-modal .tab-bar{flex-wrap:wrap;width:100%;margin-bottom:0}.project-modal .tab-item{align-items:center;gap:7px;display:inline-flex}.project-info-overview{gap:var(--space-md);flex-direction:column;display:flex}.project-summary-panel{justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-md);background:linear-gradient(135deg,#ffffff0b,#ffffff04);align-items:flex-start;display:flex}.project-summary-panel h3{color:var(--text-heading);font-family:var(--font-display);margin-top:6px;font-size:1.35rem}.project-summary-panel p{color:var(--text-secondary);margin-top:6px;line-height:1.45}.project-health-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.project-health-grid>div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);min-width:0;padding:13px}.project-health-grid svg{color:var(--accent)}.project-health-grid span{color:var(--text-muted);text-transform:uppercase;margin-top:7px;font-size:.7rem;font-weight:800;display:block}.project-health-grid strong{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.9rem;display:block;overflow:hidden}.project-health-grid em{border-radius:var(--radius-full);margin-top:6px;padding:2px 7px;font-size:.68rem;font-style:normal;font-weight:800;display:inline-flex}.project-health-grid em.ok{color:var(--success);background:var(--success-bg)}.project-health-grid em.bad{color:var(--danger);background:var(--danger-bg)}.project-info-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-info-card{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.project-info-card.wide{grid-column:1/-1}.project-info-card header{color:var(--text-heading);align-items:center;gap:8px;margin-bottom:12px;font-weight:800;display:flex}.project-info-card header svg{color:var(--accent)}.project-detail-item{border-top:1px solid var(--divider);grid-template-columns:130px minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.project-detail-item:first-of-type{border-top:0}.project-detail-item span{color:var(--text-muted);font-size:.76rem}.project-detail-item strong{color:var(--text-primary);text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.project-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.project-control-list{gap:8px;display:grid}.project-control-list span{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:8px;padding:9px 10px;display:flex}.project-control-list span.done{color:var(--success);background:var(--success-bg);border-color:#22c9972e}.project-control-list span.pending{color:var(--warning);background:var(--warning-bg);border-color:#f59e0b33}.project-files-workspace{gap:var(--space-md);flex-direction:column;display:flex}.file-drop-compact{align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px dashed var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;transition:all var(--duration-base) ease;display:flex}.file-drop-compact:hover,.file-drop-compact.active{border-color:var(--accent);background:var(--accent-bg)}.file-drop-compact svg{color:var(--accent)}.file-drop-compact strong,.file-drop-compact span{display:block}.file-drop-compact span{color:var(--text-muted);font-size:.82rem}.standard-doc-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.standard-doc-card{min-height:230px;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:12px;display:flex}.standard-doc-card.complete{border-color:#22c99738}.standard-doc-card.missing{border-style:dashed}.standard-doc-card header{grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;display:grid}.doc-slot-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent);background:#ffffff0d;place-items:center;display:grid}.standard-doc-card.complete .doc-slot-icon{color:var(--success);background:var(--success-bg)}.standard-doc-card h4{color:var(--text-heading);font-size:.95rem}.standard-doc-card p{color:var(--text-muted);font-size:.78rem;line-height:1.35}.doc-slot-files,.extra-files-list{flex-direction:column;flex:1;gap:7px;display:flex}.doc-file-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff06;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.doc-file-row a{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex;overflow:hidden}.doc-file-row span{color:var(--text-muted);font-size:.7rem}.doc-slot-files>p{border:1px dashed var(--border);border-radius:var(--radius-sm);min-height:72px;color:var(--text-muted);flex:1;place-items:center;display:grid}.extra-files-card{padding:var(--space-md)}@media (width<=1200px){.ops-metrics-grid{grid-template-columns:repeat(3,1fr)}.project-health-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.dashboard-hero-panel,.pipeline-command-panel,.design-command-panel,.dashboard-grid-main,.dashboard-grid-secondary{grid-template-columns:1fr}.pipeline-toolbar{flex-direction:column;align-items:stretch}.pipeline-search{width:100%}.standard-doc-grid,.project-info-grid,.project-timeline-grid{grid-template-columns:1fr}.project-info-card.wide{grid-column:auto}}@media (width<=640px){.ops-metrics-grid,.pipeline-stats-row,.design-command-stats,.project-health-grid,.hero-progress,.doc-file-row,.projects-index-row{grid-template-columns:1fr}.project-summary-panel{flex-direction:column}.project-detail-item{grid-template-columns:1fr;gap:2px}}.btn-xs{border-radius:var(--radius-sm);padding:4px 8px;font-size:.72rem}.inline-feedback{border-radius:var(--radius-md);align-items:center;gap:8px;padding:10px 12px;font-size:.84rem;font-weight:700;display:flex}.inline-feedback.success{color:var(--success);background:var(--success-bg);border:1px solid #22c9972e}.inline-feedback.danger{color:var(--danger);background:var(--danger-bg);border:1px solid #ef44442e}.material-output-shell{gap:var(--space-lg);animation:fadeInUp .3s var(--ease-out) both;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);display:grid}.material-output-panel,.material-history-panel{padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.material-output-intro h3{color:var(--text-heading);font-family:var(--font-display);margin-top:4px;font-size:1.35rem}.material-output-intro p{color:var(--text-muted);margin-top:4px;font-size:.86rem}.material-pick-grid{gap:var(--space-md);margin-top:var(--space-lg);grid-template-columns:minmax(0,1.5fr) minmax(110px,.55fr) auto;align-items:end;display:grid}.material-pick-grid .btn{height:43px}.selected-material-card{margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-bg);gap:3px;display:grid}.selected-material-card span{color:var(--accent);font-size:.72rem;font-weight:800}.selected-material-card strong{color:var(--text-heading)}.selected-material-card small{color:var(--text-secondary)}.material-cart-card{margin-top:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden}.material-cart-card header{justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--divider);align-items:center;display:flex}.material-cart-card h4{color:var(--text-heading);font-size:.95rem}.material-cart-card p{color:var(--text-muted);font-size:.78rem}.material-cart-list,.material-history-list,.history-package-list{flex-direction:column;gap:8px;display:flex}.material-cart-list{padding:var(--space-md)}.material-cart-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff06;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.material-cart-row span,.cost-project-main,.top-balance-list button>span,.claim-list button>span{flex-direction:column;min-width:0;display:flex}.material-cart-row strong{color:var(--text-heading)}.material-cart-row small{color:var(--text-muted);font-size:.76rem}.empty-material-cart{min-height:118px;color:var(--text-muted);border:1px dashed var(--border-light);border-radius:var(--radius-md);align-content:center;place-items:center;gap:7px;display:grid}.material-history-panel{min-height:420px}.material-history-card{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.material-history-card>header{justify-content:space-between;gap:var(--space-md);align-items:flex-start;margin-bottom:10px;display:flex}.material-history-card header strong{color:var(--text-heading);display:block}.material-history-card header span{color:var(--text-muted);font-size:.76rem}.material-history-card header em{color:var(--success);background:var(--success-bg);border-radius:var(--radius-full);padding:3px 8px;font-size:.72rem;font-style:normal;font-weight:800}.history-package-list div{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff06;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:6px;padding:9px;display:grid}.history-package-list span,.history-package-list small{display:block}.history-package-list span{color:var(--text-primary);font-weight:700}.history-package-list small{color:var(--text-muted);font-size:.73rem}.history-package-list select{padding:6px 28px 6px 8px;font-size:.74rem}.material-history-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.material-history-actions label{cursor:pointer}.material-proof-strip{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.material-proof-strip img{object-fit:cover;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#fff;width:58px;height:58px}.compact-inline-form{border:1px dashed var(--border-light);border-radius:var(--radius-sm);grid-template-columns:70px minmax(90px,1fr) minmax(120px,1fr) auto auto;gap:8px;margin-top:10px;padding:10px;display:grid}.compact-inline-form input{padding:7px 9px;font-size:.78rem}.signature-inline-card{border:1px dashed var(--border-light);border-radius:var(--radius-sm);text-align:center;margin-top:10px;padding:12px}.signature-inline-card canvas{border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:crosshair;background:#fff;width:100%;max-width:420px;height:120px}.signature-inline-card div{justify-content:center;gap:8px;margin-top:8px;display:flex}.compact-empty{padding:var(--space-lg)}.fabrication-command-panel,.alerts-command-panel,.costs-command-panel{gap:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-xl);border:1px solid var(--border-accent);border-radius:var(--radius-lg);background:linear-gradient(135deg,#c9a96e1a,#121620f5);grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);display:grid}.fabrication-command-panel h3,.alerts-command-panel h3,.costs-command-panel h3{color:var(--text-heading);font-family:var(--font-display);margin-top:5px;font-size:1.65rem}.fabrication-command-panel p,.alerts-command-panel p,.costs-command-panel p{color:var(--text-muted);margin-top:5px}.fabrication-stage-summary,.alerts-summary-grid,.costs-summary-grid,.costs-kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.fabrication-stage-summary button,.alerts-summary-grid button,.costs-kpi-grid button,.costs-summary-grid div{border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-md);text-align:left;background:#ffffff09;padding:12px}.fabrication-stage-summary button,.alerts-summary-grid button,.costs-kpi-grid button{cursor:pointer;transition:all var(--duration-base) ease}.fabrication-stage-summary button:hover,.alerts-summary-grid button:hover,.costs-kpi-grid button:hover,.fabrication-stage-summary button.active,.alerts-summary-grid button.active,.costs-kpi-grid button.active{border-color:var(--accent-border);background:var(--accent-bg)}.fabrication-stage-summary button>span,.costs-summary-grid svg,.alerts-summary-grid svg,.costs-kpi-grid svg{border-radius:var(--radius-sm);place-items:center;width:34px;height:34px;display:grid}.fabrication-stage-summary strong,.alerts-summary-grid strong,.costs-kpi-grid strong,.costs-summary-grid strong{font-family:var(--font-display);margin-top:8px;font-size:1.35rem;line-height:1;display:block}.fabrication-stage-summary small,.alerts-summary-grid span,.costs-kpi-grid span,.costs-summary-grid span{color:var(--text-muted);margin-top:5px;font-size:.74rem;font-weight:800;display:block}.fabrication-filter-panel,.alerts-toolbar,.costs-toolbar{margin-bottom:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.fabrication-search,.alerts-toolbar label,.costs-toolbar label{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);flex:1;align-items:center;gap:8px;min-width:260px;padding:9px 12px;display:flex}.fabrication-search input,.alerts-toolbar input,.costs-toolbar input{background:0 0;border:0;padding:0}.fabrication-filter-panel select,.alerts-toolbar select{width:auto;min-width:170px}.fabrication-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.fabrication-card{padding:var(--space-md);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-card)}.fabrication-card header,.fabrication-card footer{justify-content:space-between;gap:var(--space-md);align-items:flex-start;display:flex}.fabrication-card header span{color:var(--text-muted);font-size:.72rem;font-weight:800}.fabrication-card h4{color:var(--text-heading);font-size:1rem}.fabrication-card header p{color:var(--text-muted);align-items:center;gap:4px;font-size:.76rem;display:inline-flex}.fabrication-progress{margin:var(--space-md) 0;grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.fabrication-progress span{border-radius:var(--radius-full);background:var(--bg-elevated);height:7px}.fabrication-people-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fabrication-people-grid div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);padding:10px}.fabrication-people-grid svg{color:var(--accent)}.fabrication-people-grid span{color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:.68rem;font-weight:800;display:block}.fabrication-people-grid strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.fabrication-note{min-height:40px;color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:12px 0;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.fabrication-delivered{color:var(--success);align-items:center;gap:6px;font-size:.8rem;font-weight:800;display:inline-flex}.alerts-summary-grid button.danger svg{color:var(--danger);background:var(--danger-bg)}.alerts-summary-grid button.warning svg{color:var(--warning);background:var(--warning-bg)}.alerts-summary-grid button.info svg{color:var(--info);background:var(--info-bg)}.alerts-summary-grid button.success svg{color:var(--success);background:var(--success-bg)}.alerts-layout-grid,.costs-layout-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);display:grid}.alerts-inbox-card,.costs-analysis-card{padding:var(--space-lg)}.alerts-inbox-list,.claim-list,.costs-project-list,.top-balance-list{flex-direction:column;gap:9px;display:flex}.alert-inbox-item{padding:var(--space-md);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:var(--radius-md);background:var(--bg-secondary);grid-template-columns:auto minmax(0,1fr) auto;gap:12px;display:grid}.alert-inbox-item.danger{border-left-color:var(--danger)}.alert-inbox-item.warning{border-left-color:var(--warning)}.alert-inbox-item.done{border-left-color:var(--success);opacity:.75}.alert-inbox-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--info);background:#ffffff0d;place-items:center;display:grid}.alert-inbox-item.danger .alert-inbox-icon{color:var(--danger);background:var(--danger-bg)}.alert-inbox-item.warning .alert-inbox-icon{color:var(--warning);background:var(--warning-bg)}.alert-inbox-item.done .alert-inbox-icon{color:var(--success);background:var(--success-bg)}.alert-inbox-body header{justify-content:space-between;gap:10px;display:flex}.alert-inbox-body header strong{color:var(--text-heading)}.alert-inbox-body header span,.resolved-chip{color:var(--text-muted);font-size:.72rem;font-weight:800}.alert-inbox-body p{color:var(--text-secondary);margin-top:4px;font-size:.84rem;line-height:1.4}.alert-inbox-body footer{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.alert-inbox-body footer span,.alert-inbox-body footer button,.resolved-chip{align-items:center;gap:5px;display:inline-flex}.alert-inbox-body footer span{color:var(--text-muted);font-size:.73rem}.alert-inbox-body footer button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;font-size:.73rem;font-weight:800}.alert-inbox-body footer button:disabled{color:var(--text-muted);cursor:default}.alert-inbox-actions{align-items:center;display:flex}.claim-list button,.top-balance-list button{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sm);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.claim-list button:hover,.top-balance-list button:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.claim-list svg{color:var(--warning)}.claim-list strong,.top-balance-list strong{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.claim-list small,.top-balance-list small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.costs-summary-grid{grid-template-columns:repeat(3,1fr)}.costs-summary-grid svg{color:var(--accent);background:var(--accent-bg)}.costs-kpi-grid{margin-bottom:var(--space-md)}.costs-kpi-grid button svg{color:var(--accent);background:var(--accent-bg)}.costs-kpi-grid button.danger svg{color:var(--danger);background:var(--danger-bg)}.costs-kpi-grid button.warning svg{color:var(--warning);background:var(--warning-bg)}.costs-toolbar{justify-content:space-between}.cost-project-row{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);text-align:left;cursor:pointer;border-left:3px solid #0000;grid-template-columns:minmax(210px,1.25fr) repeat(4,minmax(90px,.6fr)) auto;align-items:center;gap:10px;padding:12px;display:grid}.cost-project-row:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.cost-project-row.risk{border-left-color:var(--warning)}.cost-project-row small{color:var(--text-muted);text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.cost-project-row strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.cost-project-row svg{color:var(--accent)}.top-balance-list button{grid-template-columns:minmax(0,1fr) auto auto}.top-balance-list em{color:var(--warning);font-style:normal;font-weight:800}.costs-note-card{margin-top:var(--space-md)}.costs-note-card h3{color:var(--text-heading);margin-bottom:6px}.costs-note-card p{color:var(--text-secondary);font-size:.84rem;line-height:1.45}@media (width<=1180px){.material-output-shell,.fabrication-command-panel,.alerts-command-panel,.costs-command-panel,.alerts-layout-grid,.costs-layout-grid{grid-template-columns:1fr}.fabrication-stage-summary,.alerts-summary-grid,.costs-kpi-grid{grid-template-columns:repeat(2,1fr)}.cost-project-row{grid-template-columns:minmax(0,1fr) repeat(2,minmax(90px,auto))}}@media (width<=760px){.material-pick-grid,.compact-inline-form,.fabrication-people-grid,.fabrication-stage-summary,.alerts-summary-grid,.costs-summary-grid,.costs-kpi-grid,.history-package-list div,.alert-inbox-item,.cost-project-row{grid-template-columns:1fr}.material-cart-card header,.fabrication-card header,.fabrication-card footer,.material-history-card>header{flex-direction:column;align-items:stretch}.fabrication-filter-panel select,.alerts-toolbar select,.fabrication-search,.alerts-toolbar label,.costs-toolbar label{width:100%;min-width:0}}.logo-section{justify-content:space-between;align-items:center;gap:10px;min-height:44px;display:flex}.logo-wordmark{min-width:0}.sidebar-toggle,.mobile-sidebar-close,.mobile-menu-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) ease;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle:hover,.mobile-sidebar-close:hover,.mobile-menu-button:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.mobile-menu-button,.mobile-sidebar-close,.mobile-sidebar-backdrop{display:none}@media (width>=769px){.app-container.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed);padding:var(--space-lg) 10px}.app-container.sidebar-collapsed .logo-section{justify-content:center;padding:0}.app-container.sidebar-collapsed .logo-wordmark,.app-container.sidebar-collapsed .nav-text,.app-container.sidebar-collapsed .btn-refresh span{display:none}.app-container.sidebar-collapsed .nav-menu{align-items:center;padding-right:0}.app-container.sidebar-collapsed .nav-item{justify-content:center;width:48px;height:48px;padding:0;overflow:visible}.app-container.sidebar-collapsed .nav-item .nav-icon{width:24px;height:24px}.app-container.sidebar-collapsed .badge-count{min-width:17px;margin-left:0;padding:1px 5px;font-size:.58rem;position:absolute;top:4px;right:3px}.app-container.sidebar-collapsed .btn-refresh{width:48px;height:44px;padding:0}}.inventory-shell{gap:var(--space-lg);flex-direction:column;display:flex}.inventory-command-panel{gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff0e,#ffffff05);grid-template-columns:minmax(260px,.9fr) minmax(420px,1.4fr);align-items:stretch;display:grid}.inventory-command-panel h3{color:var(--text-heading);font-family:var(--font-display);margin-top:6px;font-size:1.45rem}.inventory-command-panel p{color:var(--text-secondary);margin-top:8px;line-height:1.45}.inventory-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.inventory-summary-grid button,.inventory-summary-grid div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);text-align:left;flex-direction:column;align-items:flex-start;gap:7px;min-height:122px;padding:14px;display:flex}.inventory-summary-grid button{cursor:pointer;font:inherit}.inventory-summary-grid button:hover,.inventory-summary-grid button.active{border-color:var(--accent-border);background:var(--accent-bg)}.inventory-summary-grid svg{border-radius:var(--radius-md);background:var(--bg-elevated);width:34px;height:34px;color:var(--accent);padding:8px}.inventory-summary-grid .warning svg{color:var(--warning);background:var(--warning-bg)}.inventory-summary-grid .danger svg{color:var(--danger);background:var(--danger-bg)}.inventory-summary-grid strong{color:var(--text-heading);font-size:1.35rem;line-height:1}.inventory-summary-grid span{color:var(--text-muted);font-size:.78rem;font-weight:700}.inventory-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-glass);flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.inventory-toolbar label{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);min-width:300px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:9px 12px;display:flex}.inventory-toolbar input,.inventory-toolbar select{color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;min-height:28px}.inventory-toolbar input{width:100%}.inventory-toolbar select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:9px 10px}.segmented-control.compact button{padding:7px 11px}.inventory-card-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.inventory-item-card{gap:var(--space-md);min-height:258px;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.inventory-item-card.bajo,.inventory-item-card.sin-stock{border-color:#ef444473}.inventory-item-card header{flex-direction:column;gap:5px;display:flex}.inventory-item-card header span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.inventory-item-card header strong{color:var(--text-heading);font-size:1rem;line-height:1.25}.inventory-item-card header small{color:var(--accent);font-weight:700}.inventory-stock-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.inventory-stock-row div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);padding:10px}.inventory-stock-row span{color:var(--text-muted);text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:800;display:block}.inventory-stock-row strong{color:var(--text-primary);font-size:.9rem}.inventory-stock-bar{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.inventory-stock-bar em{color:var(--text-muted);font-size:.78rem;font-style:normal;font-weight:800}.inventory-item-card footer{color:var(--text-secondary);gap:7px;margin-top:auto;font-size:.8rem;display:grid}.inventory-item-card footer span{align-items:center;gap:6px;min-width:0;display:inline-flex}.inventory-table-card{overflow:hidden}.inventory-table-card .table-container{max-height:calc(100vh - 330px);overflow:auto}.alert-inbox-actions .btn-primary{white-space:nowrap}@media (width<=1180px){.inventory-command-panel{grid-template-columns:1fr}.inventory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.mobile-menu-button,.mobile-sidebar-close{display:inline-flex}.mobile-sidebar-backdrop{z-index:190;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;border:0;display:block;position:fixed;inset:0}.sidebar{width:min(86vw,300px);min-width:0;padding:var(--space-lg) var(--space-md)}.sidebar-toggle{display:none}.top-bar{align-items:stretch;gap:10px}.top-bar-left,.top-bar-right{width:100%}.top-bar-left{justify-content:flex-start}.top-bar-left h1{font-size:1.1rem}.top-bar-left .breadcrumb,.user-profile{display:none}.global-search{width:100%;min-width:0}.content-body{padding:14px}.section-header{align-items:flex-start;gap:10px}.section-header h2{font-size:1.25rem}.inventory-summary-grid,.inventory-stock-row,.inventory-toolbar,.inventory-card-grid{grid-template-columns:1fr}.inventory-command-panel,.inventory-item-card{padding:var(--space-md)}.inventory-toolbar{display:grid}.inventory-toolbar label,.inventory-toolbar select,.inventory-toolbar .btn,.inventory-toolbar .segmented-control{width:100%;min-width:0}.inventory-toolbar .segmented-control{grid-template-columns:1fr 1fr;display:grid}.modal-content.project-modal{border-radius:0;height:100vh;width:100vw!important;max-width:100vw!important;max-height:100vh!important;padding:14px!important}.project-modal .tab-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px!important}.project-summary-panel,.material-cart-card header,.material-history-card>header,.alert-inbox-item{flex-direction:column;align-items:stretch}}.pipeline-form-modal,.inventory-form-modal{flex-direction:column;width:min(760px,94vw);max-height:min(88vh,820px);display:flex;overflow:hidden}.pipeline-form-modal .pipeline-create-form,.inventory-form-modal .inventory-form-grid{padding-right:4px;overflow-y:auto}.inventory-form-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inventory-form-wide{grid-column:1/-1}.inventory-card-actions,.table-action-row,.fabrication-card-actions,.supplier-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inventory-card-actions{padding-top:var(--space-sm);border-top:1px solid var(--divider)}.fabrication-card-actions{justify-content:flex-end}.supplier-shell{gap:var(--space-lg);flex-direction:column;display:flex}.supplier-command-panel{gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff0e,#ffffff05);grid-template-columns:minmax(260px,.9fr) minmax(420px,1.35fr);align-items:stretch;display:grid}.supplier-command-panel h3{color:var(--text-heading);font-family:var(--font-display);margin-top:6px;font-size:1.45rem}.supplier-command-panel p{color:var(--text-secondary);margin-top:8px;line-height:1.45}.supplier-stage-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.supplier-stage-summary button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);text-align:left;cursor:pointer;flex-direction:column;gap:7px;padding:14px;display:flex}.supplier-stage-summary button:hover,.supplier-stage-summary button.active{border-color:var(--accent-border);background:var(--accent-bg)}.supplier-stage-summary button>span{border-radius:var(--radius-md);place-items:center;width:34px;height:34px;display:grid}.supplier-stage-summary strong{color:var(--text-heading);font-size:1.35rem;line-height:1}.supplier-stage-summary small{color:var(--text-muted);font-weight:800;line-height:1.25}.supplier-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-glass);flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.supplier-toolbar label{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);min-width:300px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:9px 12px;display:flex}.supplier-toolbar input,.supplier-toolbar select{color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;min-height:28px}.supplier-toolbar input{width:100%}.supplier-toolbar select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:9px 10px}.supplier-layout-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);align-items:start;display:grid}.supplier-project-grid,.supplier-side-panel,.supplier-provider-list,.supplier-incident-list{gap:var(--space-md);flex-direction:column;display:flex}.supplier-project-card{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.supplier-project-card header,.supplier-project-card footer{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.supplier-project-card header span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.supplier-project-card h4{color:var(--text-heading);margin-top:4px;font-size:1rem}.supplier-project-card p{color:var(--text-secondary);margin-top:4px;font-size:.82rem}.supplier-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.supplier-meta-grid div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);padding:10px}.supplier-meta-grid span{color:var(--text-muted);text-transform:uppercase;margin-top:5px;font-size:.68rem;font-weight:800;display:block}.supplier-meta-grid strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.85rem;display:block;overflow:hidden}.supplier-note-field{flex-direction:column;gap:7px;display:flex}.supplier-note-field span{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.supplier-note-field textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);width:100%;min-height:78px;color:var(--text-primary);font:inherit;padding:10px}.supplier-provider-list button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.supplier-provider-list button:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.supplier-provider-list strong,.supplier-provider-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.supplier-provider-list small{color:var(--text-muted);font-size:.72rem}.supplier-incident-list article{border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-md);background:var(--bg-secondary);padding:12px}.supplier-incident-list header,.supplier-incident-list footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.supplier-incident-list header strong{color:var(--text-heading);flex:1;min-width:0}.supplier-incident-list header span{color:var(--warning);font-size:.72rem;font-weight:800}.supplier-incident-list p{color:var(--text-secondary);margin:8px 0;font-size:.82rem;line-height:1.4}.supplier-incident-list footer button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.74rem;font-weight:800}.supplier-incident-list footer button:disabled{color:var(--text-muted);cursor:default}@media (width<=1180px){.supplier-command-panel,.supplier-layout-grid{grid-template-columns:1fr}}@media (width<=760px){.pipeline-form-modal,.inventory-form-modal{border-radius:0;height:100vh;max-height:100vh;padding:14px;width:100vw!important;max-width:100vw!important}.inventory-form-grid,.supplier-stage-summary,.supplier-meta-grid{grid-template-columns:1fr}.supplier-toolbar{display:grid}.supplier-toolbar label,.supplier-toolbar select,.supplier-toolbar .btn{width:100%;min-width:0}.supplier-project-card header,.supplier-project-card footer,.fabrication-card-actions,.supplier-card-actions,.inventory-card-actions{flex-direction:column;align-items:stretch}}.spin{animation:1s linear infinite spin}.auth-shell{min-height:100vh;padding:var(--space-xl);background:radial-gradient(circle at top left, #c9a96e24, transparent 34%), var(--bg-primary);place-items:center;display:grid}.auth-card{width:min(440px,94vw);padding:var(--space-xl);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-xl)}.auth-brand{margin-bottom:var(--space-xl);align-items:center;gap:12px;display:flex}.auth-brand>span{border-radius:var(--radius-md);background:var(--accent-bg);width:44px;height:44px;color:var(--accent);place-items:center;display:grid}.auth-brand h1{color:var(--text-heading);font-family:var(--font-display);letter-spacing:.12em}.auth-brand p,.auth-form p{color:var(--text-muted);font-size:.86rem}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-form.compact{margin-top:var(--space-md)}.auth-form h2{color:var(--text-heading);font-family:var(--font-display);font-size:1.35rem}.auth-form label{flex-direction:column;gap:7px;display:flex}.auth-form label>span{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.auth-form label>div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-muted);align-items:center;gap:9px;padding:10px 12px;display:flex}.auth-form input{min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;flex:1}.auth-error{border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);border:1px solid #ef44443d;padding:10px 12px;font-size:.84rem;font-weight:800}.password-modal,.user-form-modal{flex-direction:column;width:min(760px,94vw);max-height:min(88vh,820px);display:flex;overflow:hidden}.user-form-modal .user-form-grid{padding-right:4px;overflow-y:auto}.sidebar-footer-stack{flex-direction:column;gap:8px;display:flex}.user-profile{cursor:pointer;font:inherit;border:0}.users-shell{gap:var(--space-lg);flex-direction:column;display:flex}.users-command-panel{gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff0e,#ffffff05);grid-template-columns:minmax(260px,1fr) minmax(360px,.8fr);display:grid}.users-command-panel h3{color:var(--text-heading);font-family:var(--font-display);margin-top:6px;font-size:1.45rem}.users-command-panel p{color:var(--text-secondary);margin-top:8px}.users-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.users-kpi-grid div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex-direction:column;gap:7px;padding:14px;display:flex}.users-kpi-grid svg{border-radius:var(--radius-md);width:34px;height:34px;color:var(--accent);background:var(--accent-bg);padding:8px}.users-kpi-grid strong{color:var(--text-heading);font-size:1.35rem;line-height:1}.users-kpi-grid span{color:var(--text-muted);font-size:.78rem;font-weight:800}.users-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-glass);align-items:center;gap:10px;padding:12px;display:flex}.users-toolbar label{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);min-width:260px;color:var(--text-muted);flex:1;align-items:center;gap:8px;padding:9px 12px;display:flex}.users-toolbar input{width:100%;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0}.users-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.user-card{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.user-card.inactive{opacity:.62}.user-card header,.user-card footer{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.user-card header span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.user-card h4{color:var(--text-heading);margin-top:4px}.user-card p{color:var(--text-secondary);margin-top:4px;font-size:.82rem}.user-card em{color:var(--success);font-size:.72rem;font-style:normal;font-weight:800}.user-card.inactive em{color:var(--danger)}.user-permission-list,.permission-grid{flex-wrap:wrap;gap:7px;display:flex}.user-permission-list span{border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);padding:5px 8px;font-size:.72rem;font-weight:800}.user-form-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.user-form-wide{grid-column:1/-1}.permission-title{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:800;display:block}.permission-check{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);align-items:center;gap:7px;padding:8px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.inline-feedback.warning{color:var(--warning);background:var(--warning-bg);border:1px solid #f59e0b33}@media (width>=769px){.app-container.sidebar-collapsed .sidebar-footer-stack{align-items:center}}@media (width<=900px){.users-command-panel{grid-template-columns:1fr}}@media (width<=760px){.auth-shell{padding:14px}.auth-card,.password-modal,.user-form-modal{border-radius:0;min-height:100vh;max-height:100vh;width:100vw!important;max-width:100vw!important}.user-form-grid,.users-kpi-grid{grid-template-columns:1fr}.users-toolbar,.user-card header,.user-card footer{flex-direction:column;align-items:stretch}.users-toolbar label{min-width:0}}
