@layer components{.activity-feed-widget{max-height:500px;display:flex;flex-direction:column}.activity-feed-list{flex:1;overflow-y:auto;max-height:400px}.activity-item{transition:background-color var(--nx-transition-fast)}.activity-item:hover{background:rgba(148,163,184,0.04)}[data-theme="dark"] .activity-item:hover{background:rgba(148,163,184,0.06)}.activity-icon-wrap{flex-shrink:0}.activity-icon{font-size:0.9rem}.activity-content{overflow:hidden}.activity-user{color:var(--nx-text-strong)}.activity-action{line-height:1.3}.activity-entity{font-family:monospace;font-size:0.7rem}.activity-feed-footer{padding-top:0.5rem;border-top:1px solid var(--nx-table-border)}.kanban-board-wrapper{width:100%}.kanban-board{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;min-height:500px}.kanban-column{flex:1;min-width:280px;max-width:350px;background:var(--card-bg,#f8f9fa);border-radius:var(--nx-radius-sm);display:flex;flex-direction:column}.kanban-column-header{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;border-bottom:2px solid var(--table-border,#dee2e6);background:var(--nx-panel-bg,rgba(255,255,255,0.9));border-radius:var(--nx-radius-sm) 8px 0 0}.kanban-status-icon{font-size:1.1rem}.kanban-cards{flex:1;padding:0.75rem;overflow-y:auto;min-height:200px;transition:background-color 0.2s ease}.kanban-cards.drag-over{background:rgba(13,110,253,0.1);border:2px dashed var(--accent-primary,#0d6efd);border-radius:0 0 8px 8px}.kanban-card{background:var(--nx-panel-bg,#fff);border:1px solid var(--table-border,#dee2e6);border-radius:var(--nx-radius-sm);padding:0.75rem;margin-bottom:0.5rem;cursor:grab;transition:transform 0.15s ease,box-shadow 0.15s ease}.kanban-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.15);transform:translateY(-2px)}.kanban-card.dragging{opacity:0.5;cursor:grabbing;transform:rotate(3deg)}.kanban-card-header{margin-bottom:0.5rem}.kanban-card-title{font-weight:600;font-size:0.9rem;color:var(--text-strong,#212529);word-break:break-word}.kanban-card-id{font-size:var(--nx-font-xs);font-family:monospace}.kanban-card-body{font-size:0.85rem}.kanban-card-stats{color:var(--text-muted,#6c757d)}.kanban-card-footer{border-top:1px solid var(--table-border,#dee2e6);padding-top:0.5rem}.kanban-card-user{font-size:var(--nx-font-xs)}.kanban-empty{color:var(--text-muted,#6c757d);font-style:italic}.kanban-stats{flex-wrap:wrap}[data-theme="dark"] .kanban-column{background:var(--card-bg,#1e293b)}[data-theme="dark"] .kanban-card{background:var(--nx-panel-bg,#0f172a);border-color:var(--table-border,#334155)}[data-theme="dark"] .kanban-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.4)}[data-theme="dark"] .kanban-cards.drag-over{background:rgba(148,163,184,0.15);border-color:var(--accent-primary,#334155)}.kanban-card:focus{outline:2px solid var(--nx-accent);outline-offset:2px}.kanban-card:focus-visible{box-shadow:0 0 0 3px var(--nx-glow-accent),0 4px 12px rgba(0,0,0,0.15)}.kanban-card-actions{display:flex;gap:0.25rem;margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid var(--table-border,#dee2e6)}.kanban-card-actions .btn{padding:0.25rem 0.5rem;font-size:var(--nx-font-xs)}.kanban-column[data-keyboard-hint]::after{content:attr(data-keyboard-hint);position:absolute;top:0.5rem;right:0.5rem;font-size:0.65rem;color:var(--nx-text-muted);opacity:0;transition:opacity 0.2s ease}.kanban-board:focus-within .kanban-column[data-keyboard-hint]::after{opacity:0.6}.barcode-scanner-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease}.barcode-scanner-modal.active{opacity:1;visibility:visible}.barcode-scanner-content{background:var(--card-bg,#fff);border-radius:var(--nx-radius-md);max-width:500px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.4)}.barcode-scanner-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--table-border,#dee2e6)}.barcode-scanner-header h5{margin:0;font-weight:600}.barcode-scanner-close{background:none;border:none;font-size:var(--nx-font-xl);cursor:pointer;padding:0.25rem 0.5rem;color:var(--text-muted,#6c757d);transition:color 0.2s ease}.barcode-scanner-close:hover{color:var(--text-strong,#212529)}.barcode-scanner-body{flex:1;overflow:hidden}.barcode-scanner-viewport{position:relative;width:100%;aspect-ratio:4/3;background:#000;overflow:hidden}.barcode-scanner-viewport video{width:100%;height:100%;object-fit:cover}.barcode-scanner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.barcode-scanner-target{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;height:40%;border:3px solid rgba(255,255,255,0.6);border-radius:var(--nx-radius-sm);box-shadow:0 0 0 9999px rgba(0,0,0,0.4)}.barcode-scanner-target::before,.barcode-scanner-target::after{content:'';position:absolute;width:20px;height:20px;border-color:#00ff00;border-style:solid}.barcode-scanner-target::before{top:-3px;left:-3px;border-width:3px 0 0 3px;border-radius:4px 0 0 0}.barcode-scanner-target::after{top:-3px;right:-3px;border-width:3px 3px 0 0;border-radius:0 4px 0 0}.barcode-scanner-status{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);color:#fff;padding:0.5rem 1rem;border-radius:var(--nx-radius-xl);font-size:0.85rem;white-space:nowrap}.barcode-scanner-status.success{background:rgba(25,135,84,0.9)}.barcode-scanner-status.error{background:rgba(220,53,69,0.9)}.barcode-scanner-status.ready{background:rgba(13,110,253,0.8)}.barcode-scanner-result{padding:0.75rem 1rem;background:var(--nx-panel-bg,#f8f9fa);display:none}.barcode-scanner-result.active{display:block}.barcode-result-code{font-family:monospace;font-size:var(--nx-font-xl);font-weight:600;color:var(--accent-primary,#0d6efd)}.barcode-result-format{font-size:var(--nx-font-xs);color:var(--text-muted,#6c757d);text-transform:uppercase}.barcode-scanner-footer{display:flex;justify-content:space-between;gap:0.5rem;padding:1rem;border-top:1px solid var(--table-border,#dee2e6)}.barcode-scan-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.375rem 0.75rem}.barcode-scan-icon{font-size:var(--nx-font-xl);line-height:1}[data-theme="dark"] .barcode-scanner-content{background:var(--card-bg,#1e293b)}[data-theme="dark"] .barcode-scanner-close:hover{color:var(--text-strong,#f1f5f9)}[data-theme="dark"] .barcode-scanner-result{background:var(--nx-panel-bg,#0f172a)}.spf-analysis-widget{background:var(--card-bg,#fff);border-radius:var(--nx-radius-sm);padding:1rem;border:1px solid var(--table-border,#dee2e6)}.spf-analysis-tabs .nav-link{font-size:0.85rem;padding:0.5rem 1rem}.spf-insights-list .insight-icon{font-size:var(--nx-font-xl)}.spf-bar-chart{display:flex;align-items:flex-end;gap:4px;height:150px;padding:0 0.5rem;border-bottom:1px solid var(--table-border,#dee2e6)}.spf-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;min-width:40px}.spf-bars{display:flex;gap:2px;align-items:flex-end;height:120px;width:100%}.spf-bar{flex:1;min-height:2px;border-radius:2px 2px 0 0;transition:height 0.3s ease}.spf-bar-primary{background:var(--accent-primary,#0d6efd)}.spf-bar-warning{background:#ffc107}.spf-bar-label{font-size:0.65rem;color:var(--text-muted,#6c757d);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}[data-theme="dark"] .spf-analysis-widget{background:var(--card-bg,#1e293b);border-color:var(--table-border,#334155)}.cost-trend-chart{width:100%}.cost-bar-chart{display:flex;align-items:flex-end;gap:4px;height:200px;padding:0 0.5rem;border-bottom:1px solid var(--table-border,#dee2e6)}.cost-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;min-width:30px}.cost-bars{display:flex;gap:2px;align-items:flex-end;height:180px;width:100%}.cost-bar{flex:1;min-height:2px;border-radius:2px 2px 0 0;transition:height 0.3s ease}.cost-bar-primary{background:var(--accent-primary,#0d6efd)}.cost-bar-success{background:#198754}.cost-bar-label{font-size:0.6rem;color:var(--text-muted,#6c757d);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transform:rotate(-45deg);transform-origin:top left;margin-left:10px}.portal-container{max-width:100%;margin:0;padding:0}.portal-hero{position:relative;background:linear-gradient(135deg,rgba(240,253,244,0.95) 0%,rgba(255,255,255,0.98) 100%);border:1px solid rgba(148,163,184,0.25);border-radius:var(--nx-radius-xl);padding:2.5rem;margin-bottom:2.5rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,0.05),0 10px 20px rgba(0,0,0,0.08),0 25px 50px rgba(0,0,0,0.1)}[data-theme="dark"] .portal-hero{background:linear-gradient(135deg,rgba(30,41,59,0.95) 0%,rgba(15,23,42,0.98) 100%);box-shadow:0 4px 6px rgba(0,0,0,0.1),0 10px 20px rgba(0,0,0,0.15),0 25px 50px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05)}.portal-hero-glow{position:absolute;top:-50%;left:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(148,163,184,0.15) 0%,transparent 70%);pointer-events:none}.portal-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#334155,#475569,#15803d,#334155);background-size:300% 100%;animation:portalGradientShift 8s ease infinite}@keyframes portalGradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.portal-hero-content{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:1}.portal-hero-icon{width:72px;height:72px;border-radius:var(--nx-radius-xl);background:linear-gradient(135deg,#334155 0%,#15803d 100%);display:flex;align-items:center;justify-content:center;font-size:2rem;color:white;flex-shrink:0;box-shadow:0 8px 16px rgba(148,163,184,0.4),0 4px 6px rgba(0,0,0,0.2),inset 0 2px 0 rgba(255,255,255,0.2),inset 0 -2px 0 rgba(0,0,0,0.1);transform:perspective(500px) rotateY(-5deg)}.portal-hero-text{flex:1}.portal-title{font-size:2rem;font-weight:800;color:var(--nx-text);margin:0 0 0.5rem 0;letter-spacing:-0.03em;text-shadow:0 2px 4px rgba(0,0,0,0.3)}.portal-subtitle{color:var(--nx-text-tertiary);margin:0;font-size:var(--nx-font-base);font-weight:400}.portal-stats-bar{display:flex;gap:1rem;margin-top:1.5rem;position:relative;z-index:1}.portal-stat-pill{display:flex;align-items:center;gap:0.6rem;background:rgba(148,163,184,0.1);border:1px solid rgba(148,163,184,0.2);border-radius:var(--nx-radius-md);padding:0.6rem 1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,0.05)}.portal-stat-pill i{color:#475569;font-size:var(--nx-font-base)}[data-theme="dark"] .portal-stat-pill i{color:var(--nx-text-secondary)}.portal-stat-num{font-size:var(--nx-font-xl);font-weight:800;color:var(--nx-text)}[data-theme="dark"] .portal-stat-num{color:var(--nx-text-strong)}[data-theme="dark"] .portal-title{color:var(--nx-text-strong)}.portal-stat-text{font-size:var(--nx-font-xs);color:var(--nx-text-secondary);text-transform:uppercase;letter-spacing:0.05em;font-weight:600}.portal-section{margin-bottom:3rem}.portal-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background:rgba(255,255,255,0.8);border:1px solid rgba(148,163,184,0.15);border-radius:var(--nx-radius-lg);box-shadow:0 2px 4px rgba(0,0,0,0.05)}[data-theme="dark"] .portal-section-header{background:rgba(30,41,59,0.6);box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.03)}.portal-section-icon{width:48px;height:48px;border-radius:var(--nx-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;box-shadow:0 4px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.15)}.portal-icon-tools{background:linear-gradient(135deg,#334155 0%,#15803d 100%);color:white}.portal-icon-dashboards{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:white}.portal-section-info{flex:1}.portal-section-title{font-size:1.15rem;font-weight:700;color:var(--nx-text);margin:0}[data-theme="dark"] .portal-section-title{color:var(--nx-text-strong)}.portal-section-desc{font-size:0.8rem;color:var(--nx-text-secondary);margin:0.2rem 0 0 0}.portal-section-count{width:40px;height:40px;border-radius:var(--nx-radius-md);background:rgba(148,163,184,0.15);border:1px solid rgba(148,163,184,0.25);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;color:#475569}[data-theme="dark"] .portal-section-count{color:var(--nx-text-secondary)}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.portal-card{position:relative;background:linear-gradient(145deg,rgba(255,255,255,0.95) 0%,rgba(248,250,252,0.98) 100%);border:1px solid rgba(148,163,184,0.15);border-radius:var(--nx-radius-xl);overflow:hidden;animation:portalCardReveal 0.6s cubic-bezier(0.16,1,0.3,1) forwards;opacity:0;transform:translateY(30px);box-shadow:0 4px 6px rgba(0,0,0,0.04),0 10px 20px rgba(0,0,0,0.06),0 20px 40px rgba(0,0,0,0.08);transition:all 0.4s cubic-bezier(0.16,1,0.3,1)}[data-theme="dark"] .portal-card{background:linear-gradient(145deg,rgba(30,41,59,0.9) 0%,rgba(15,23,42,0.95) 100%);border-color:rgba(148,163,184,0.2);box-shadow:0 4px 6px rgba(0,0,0,0.1),0 10px 20px rgba(0,0,0,0.12),0 20px 40px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.05)}@keyframes portalCardReveal{to{opacity:1;transform:translateY(0)}}.portal-card-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.03),transparent);transform:skewX(-20deg);transition:left 0.8s ease;pointer-events:none}.portal-card:hover .portal-card-shine{left:150%}.portal-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 8px 16px rgba(0,0,0,0.15),0 20px 40px rgba(0,0,0,0.2),0 30px 60px rgba(0,0,0,0.25)}.portal-card-tool:hover{border-color:rgba(148,163,184,0.5);box-shadow:0 8px 16px rgba(0,0,0,0.15),0 20px 40px rgba(148,163,184,0.15),0 30px 60px rgba(0,0,0,0.25),0 0 30px rgba(148,163,184,0.1)}.portal-card-dashboard:hover{border-color:rgba(6,182,212,0.5);box-shadow:0 8px 16px rgba(0,0,0,0.15),0 20px 40px rgba(6,182,212,0.15),0 30px 60px rgba(0,0,0,0.25),0 0 30px rgba(6,182,212,0.1)}.portal-card-inner{padding:1.75rem;position:relative;z-index:1;display:flex;flex-direction:column;height:100%}.portal-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.portal-card-icon{width:56px;height:56px;border-radius:var(--nx-radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--nx-font-2xl);transition:all 0.4s cubic-bezier(0.16,1,0.3,1);box-shadow:0 4px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.1)}.portal-card-tool .portal-card-icon{background:linear-gradient(135deg,rgba(148,163,184,0.2) 0%,rgba(30,64,175,0.15) 100%);color:#475569;border:1px solid rgba(148,163,184,0.3)}.portal-card-dashboard .portal-card-icon{background:linear-gradient(135deg,rgba(6,182,212,0.2) 0%,rgba(8,145,178,0.15) 100%);color:#22d3ee;border:1px solid rgba(6,182,212,0.3)}.portal-card:hover .portal-card-icon{transform:scale(1.1) rotate(-5deg)}.portal-card-tool:hover .portal-card-icon{background:linear-gradient(135deg,#334155 0%,#15803d 100%);color:white;border-color:transparent;box-shadow:0 8px 20px rgba(148,163,184,0.5),0 4px 8px rgba(0,0,0,0.3)}.portal-card-dashboard:hover .portal-card-icon{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:white;border-color:transparent;box-shadow:0 8px 20px rgba(6,182,212,0.5),0 4px 8px rgba(0,0,0,0.3)}.portal-card-badge{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:0.4rem 0.75rem;border-radius:var(--nx-radius-sm);background:rgba(0,0,0,0.04);color:var(--nx-text-secondary);border:1px solid rgba(0,0,0,0.08)}[data-theme="dark"] .portal-card-badge{background:rgba(255,255,255,0.05);color:var(--nx-text-tertiary);border-color:rgba(255,255,255,0.08)}.portal-card-title{font-size:1.2rem;font-weight:700;color:var(--nx-text);margin:0 0 0.75rem 0;line-height:1.35}[data-theme="dark"] .portal-card-title{color:var(--nx-text-strong)}.portal-card-desc{font-size:0.9rem;color:var(--nx-text-secondary);margin:0;line-height:1.65;flex:1}[data-theme="dark"] .portal-card-desc{color:var(--nx-text-tertiary)}.portal-card-hint{display:flex;align-items:flex-start;gap:0.6rem;margin:1.25rem 0;padding:0.85rem 1rem;background:rgba(251,191,36,0.08);border:1px solid rgba(251,191,36,0.15);border-radius:var(--nx-radius-md);font-size:0.8rem;color:#92400e;line-height:1.5}[data-theme="dark"] .portal-card-hint{color:#fbbf24}.portal-card-hint i{font-size:0.9rem;margin-top:0.1rem;flex-shrink:0}.portal-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;padding:0.85rem 1.5rem;border-radius:var(--nx-radius-md);font-size:var(--nx-font-sm);font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:0.05em;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,0.2),0 2px 4px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.15)}.portal-btn-tool{background:linear-gradient(135deg,#334155 0%,#15803d 100%);color:white;border:1px solid rgba(148,163,184,0.5)}.portal-btn-tool:hover{background:linear-gradient(135deg,#475569 0%,#334155 100%);transform:translateY(-2px);box-shadow:0 8px 16px rgba(148,163,184,0.4),0 4px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.2)}.portal-btn-tool:active{transform:translateY(0);box-shadow:0 2px 4px rgba(148,163,184,0.3),inset 0 2px 4px rgba(0,0,0,0.2)}.portal-btn-dashboard{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:white;border:1px solid rgba(6,182,212,0.5)}.portal-btn-dashboard:hover{background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 100%);transform:translateY(-2px);box-shadow:0 8px 16px rgba(6,182,212,0.4),0 4px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.2)}.portal-btn-dashboard:active{transform:translateY(0);box-shadow:0 2px 4px rgba(6,182,212,0.3),inset 0 2px 4px rgba(0,0,0,0.2)}.portal-card-btn i{transition:transform 0.3s ease}.portal-card-btn:hover i{transform:translateX(3px)}.portal-empty{text-align:center;padding:4rem 2rem;background:var(--nx-card-bg);border:1px solid var(--nx-card-border);border-radius:var(--nx-radius-lg);max-width:520px;margin:2rem auto}.portal-empty-icon{width:88px;height:88px;margin:0 auto 1.75rem;border-radius:var(--nx-radius-circle);background:linear-gradient(135deg,rgba(107,114,128,0.1),rgba(107,114,128,0.05));display:flex;align-items:center;justify-content:center;font-size:2.25rem;color:var(--nx-text-muted)}.portal-empty-title{font-size:1.35rem;font-weight:700;color:var(--nx-text-strong);margin:0 0 0.85rem 0}.portal-empty-desc{color:var(--nx-text-muted);margin:0 0 1.75rem 0;line-height:1.7;font-size:0.95rem}.portal-empty-btn{padding:0.85rem 2.25rem;font-weight:600}@media (max-width:992px){.portal-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.portal-container{padding:0.75rem}.portal-hero{padding:1.5rem;border-radius:var(--nx-radius-lg);margin-bottom:1.5rem}.portal-hero-content{flex-direction:column;text-align:center}.portal-hero-icon{width:60px;height:60px;font-size:var(--nx-font-2xl);transform:none}.portal-title{font-size:var(--nx-font-2xl)}.portal-subtitle{font-size:0.9rem}.portal-stats-bar{justify-content:center;flex-wrap:wrap}.portal-section-header{flex-wrap:wrap;gap:0.75rem;padding:0.85rem 1rem}.portal-section-icon{width:40px;height:40px;font-size:1.1rem}.portal-section-count{width:36px;height:36px;font-size:var(--nx-font-base)}.portal-grid{grid-template-columns:1fr;gap:1rem}.portal-card{border-radius:var(--nx-radius-lg)}.portal-card-inner{padding:1.25rem}.portal-card-icon{width:48px;height:48px;font-size:var(--nx-font-xl)}.portal-card-title{font-size:1.1rem}.portal-card-desc{font-size:0.85rem}.portal-card-hint{padding:0.75rem;font-size:var(--nx-font-xs)}.portal-card-btn{padding:0.75rem 1.25rem;font-size:0.8rem;width:100%;justify-content:center}.portal-empty{padding:2.5rem 1.5rem;margin:1rem auto}}@media (max-width:480px){.portal-hero{padding:1.25rem}.portal-title{font-size:1.35rem}.portal-stat-pill{padding:0.5rem 0.75rem;font-size:0.85rem}.portal-stat-num{font-size:1.1rem}}.portal-filter-bar{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem;padding:1rem;background:rgba(30,41,59,0.6);border:1px solid rgba(148,163,184,0.15);border-radius:var(--nx-radius-lg);box-shadow:0 2px 8px rgba(0,0,0,0.1)}.portal-filter-tab{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:var(--nx-radius-sm);color:var(--nx-text-tertiary);font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.25s ease}.portal-filter-tab:hover{background:rgba(148,163,184,0.1);border-color:rgba(148,163,184,0.3);color:var(--nx-text)}.portal-filter-tab.active{background:linear-gradient(135deg,#334155 0%,#15803d 100%);border-color:transparent;color:white;box-shadow:0 4px 12px rgba(148,163,184,0.4),inset 0 1px 0 rgba(255,255,255,0.15)}.portal-filter-tab i{font-size:0.9rem}.portal-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 0.4rem;background:rgba(0,0,0,0.2);border-radius:var(--nx-radius-sm);font-size:0.7rem;font-weight:700}.portal-filter-tab.active .portal-filter-count{background:rgba(255,255,255,0.2)}[data-theme="light"] .portal-filter-bar{background:rgba(248,250,252,0.8);border-color:rgba(148,163,184,0.1)}[data-theme="light"] .portal-filter-tab{background:rgba(255,255,255,0.8);border-color:rgba(0,0,0,0.08);color:var(--nx-text-secondary)}[data-theme="light"] .portal-filter-tab:hover{background:rgba(148,163,184,0.08);color:#1e293b}[data-theme="light"] .portal-filter-count{background:rgba(0,0,0,0.06)}@media (max-width:768px){.portal-filter-bar{padding:0.75rem;gap:0.4rem;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.portal-filter-bar::-webkit-scrollbar{display:none}.portal-filter-tab{padding:0.5rem 0.75rem;font-size:var(--nx-font-xs);white-space:nowrap;flex-shrink:0}.portal-filter-count{min-width:18px;height:18px;font-size:0.65rem}}.nexus-topbar{position:sticky;top:0;z-index:1000;background:var(--nx-glass-bg);border-bottom:0.5px solid var(--nx-separator);backdrop-filter:var(--nx-glass-blur);-webkit-backdrop-filter:var(--nx-glass-blur);padding-top:env(safe-area-inset-top)}.nexus-topbar-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;height:56px;padding:0 1rem 0 1rem;max-width:100%;width:100%}.nexus-topbar-left{display:flex;align-items:center;gap:0.5rem;flex-shrink:0;margin-right:1.5rem}.nexus-topbar-center{display:flex;align-items:center;justify-content:flex-start;flex:1;min-width:0;padding:0;overflow-x:auto;overflow-y:hidden}.topbar-filters{display:flex;flex-wrap:nowrap;gap:4px;padding:3px;background:var(--nx-fill);border-radius:var(--nx-radius-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.topbar-filters::-webkit-scrollbar{display:none}.topbar-filters .app-filter-tab{flex-shrink:0;white-space:nowrap;padding:5px 10px;font-size:0.8125rem}a.app-filter-tab{text-decoration:none}a.app-filter-tab:hover{text-decoration:none}.nexus-brand{display:flex;align-items:center;gap:0.5rem;text-decoration:none;color:var(--nx-text);font-weight:600;font-size:1.0625rem;letter-spacing:-0.02em;white-space:nowrap;flex-shrink:0;transition:opacity var(--nx-transition-fast)}.nexus-brand:hover{opacity:0.7;color:var(--nx-text)}.nexus-brand .glow-dot{width:10px;height:10px;border-radius:var(--nx-radius-circle);background:var(--nx-green);box-shadow:0 0 8px rgba(52,211,153,0.6)}.nexus-launcher-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 0.85rem;background:rgba(148,163,184,0.1);border:1px solid rgba(148,163,184,0.25);border-radius:var(--nx-radius-sm);color:var(--nx-text-tertiary);font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s ease}.nexus-launcher-btn:hover{background:rgba(148,163,184,0.2);border-color:rgba(148,163,184,0.4);color:var(--nx-text)}.nexus-launcher-btn i{font-size:var(--nx-font-base);color:#475569}.nexus-topbar-right{display:flex;align-items:center;gap:0.75rem;flex-shrink:0;margin-left:1.5rem;padding-left:1rem;border-left:1px solid var(--nx-separator)}.nexus-user-info{display:flex;align-items:center;gap:0.5rem}.nexus-username{color:var(--nx-text-tertiary);font-size:0.8rem;font-weight:500}.nexus-role-badge{padding:0.2rem 0.5rem;background:rgba(148,163,184,0.15);border:1px solid rgba(148,163,184,0.25);border-radius:var(--nx-radius-sm);color:#475569;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}[data-theme="dark"] .nexus-role-badge{color:var(--nx-text-secondary)}.nexus-logout-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:44px;min-height:44px;background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.2);border-radius:var(--nx-radius-sm);color:#f87171;cursor:pointer;transition:all 0.2s ease}.nexus-logout-btn:hover{background:rgba(239,68,68,0.2);border-color:rgba(239,68,68,0.4)}.nexus-notification-btn{display:flex;align-items:center;justify-content:center;position:relative;width:36px;height:36px;min-width:44px;min-height:44px;background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.2);border-radius:var(--nx-radius-sm);color:#60a5fa;text-decoration:none;transition:all 0.2s ease}.nexus-notification-btn:hover{background:rgba(59,130,246,0.2);border-color:rgba(59,130,246,0.4);color:#93c5fd}.nexus-notification-btn .notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-radius:var(--nx-radius-sm);color:white;font-size:0.65rem;font-weight:700;line-height:18px;text-align:center;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.nexus-login-btn{padding:0.5rem 1rem;background:linear-gradient(135deg,#334155 0%,#15803d 100%);border-radius:var(--nx-radius-sm);color:white;font-size:0.8rem;font-weight:600;text-decoration:none;transition:all 0.2s ease}.nexus-login-btn:hover{background:linear-gradient(135deg,#475569 0%,#334155 100%);color:white}.app-launcher-section{width:100%;max-width:none;margin:0;padding:12px 1rem 8px;background:transparent;border:none;border-radius:0;overflow:visible}.app-launcher-container{padding:0}@media (min-width:600px){.app-launcher-section{padding:16px 1.5rem 12px}}@media (min-width:1024px){.app-launcher-section{padding:16px 2rem 12px;width:100%}}.app-launcher-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:5vh 1rem;opacity:0;visibility:hidden;transition:all 0.3s ease}.app-launcher-overlay.open{opacity:1;visibility:visible}.app-launcher-modal{width:100%;max-width:800px;max-height:85vh;background:linear-gradient(135deg,rgba(30,41,59,0.98) 0%,rgba(15,23,42,0.99) 100%);border:1px solid rgba(148,163,184,0.25);border-radius:var(--nx-radius-xl);overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05) inset;transform:scale(0.95) translateY(-20px);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1)}.app-launcher-overlay.open .app-launcher-modal{transform:scale(1) translateY(0)}.app-launcher-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,0.15)}.app-launcher-title{display:flex;align-items:center;gap:0.75rem;margin:0;color:var(--nx-text-strong);font-size:1.1rem;font-weight:700}.app-launcher-title i{color:#475569}[data-theme="dark"] .app-launcher-title i{color:var(--nx-text-secondary)}.app-launcher-close{width:36px;height:36px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--nx-radius-sm);color:var(--nx-text-tertiary);cursor:pointer;transition:all 0.2s ease}.app-launcher-close:hover{background:rgba(239,68,68,0.15);border-color:rgba(239,68,68,0.3);color:#f87171}.app-launcher-filters{display:flex;flex-wrap:nowrap;gap:0.4rem;padding:0;border-bottom:none;background:transparent}.app-filter-tab{display:inline-flex;align-items:center;justify-content:center;gap:0.35rem;padding:6px 12px;min-height:32px;background:transparent;border:none;border-radius:var(--nx-radius-sm);color:var(--nx-text);font-size:0.8125rem;font-weight:500;cursor:pointer;transition:all var(--nx-transition-fast);-webkit-tap-highlight-color:transparent}.app-filter-tab:hover{background:var(--nx-fill-secondary)}.app-filter-tab:active{transform:scale(0.96)}.app-filter-tab.active{background:var(--nx-bg-secondary);box-shadow:var(--nx-shadow-sm);color:var(--nx-text)}[data-theme="dark"] .app-filter-tab.active{background:var(--nx-bg-tertiary);box-shadow:0 1px 4px rgba(0,0,0,0.3)}.app-filter-count{padding:2px 6px;background:var(--nx-fill-secondary);border-radius:var(--nx-radius-sm);font-size:0.6875rem;font-weight:600;min-width:18px;text-align:center}.app-filter-tab.active .app-filter-count{background:var(--nx-blue);color:white}.app-filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;min-height:40px;background:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,rgba(255,255,255,0.05) 100%);border:1px solid rgba(255,255,255,0.15);border-radius:var(--nx-radius-md);color:var(--nx-text);font-size:var(--nx-font-sm);font-weight:600;letter-spacing:-0.01em;cursor:pointer;transition:all 0.2s ease;text-decoration:none;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-filter-btn i{font-size:var(--nx-font-base);opacity:0.8}.app-filter-btn:hover{background:linear-gradient(135deg,rgba(255,255,255,0.15) 0%,rgba(255,255,255,0.08) 100%);border-color:rgba(255,255,255,0.25);transform:translateY(-1px);text-decoration:none;color:var(--nx-text)}.app-filter-btn:active{transform:scale(0.97)}.app-filter-btn.active{background:linear-gradient(135deg,var(--nx-blue) 0%,#1e293b 100%);border-color:var(--nx-blue);color:white;box-shadow:0 4px 12px rgba(148,163,184,0.35)}.app-filter-btn.active i{opacity:1}[data-theme="light"] .app-filter-btn{background:linear-gradient(135deg,rgba(0,0,0,0.03) 0%,rgba(0,0,0,0.06) 100%);border-color:rgba(0,0,0,0.1)}[data-theme="light"] .app-filter-btn:hover{background:linear-gradient(135deg,rgba(0,0,0,0.06) 0%,rgba(0,0,0,0.1) 100%);border-color:rgba(0,0,0,0.15)}[data-theme="light"] .app-filter-btn.active{background:linear-gradient(135deg,var(--nx-blue) 0%,#1e293b 100%);border-color:var(--nx-blue);color:white}@media (max-width:480px){.app-filter-btn{padding:8px 14px;min-height:44px;font-size:0.8125rem;gap:6px}.app-filter-btn i{font-size:var(--nx-font-sm);margin:0}}.app-launcher-content{padding:1.25rem 1.5rem;overflow-y:auto;max-height:calc(85vh - 180px)}.app-favorites-tip{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:1.5rem;background:var(--nx-fill);border-radius:var(--nx-radius-md);font-size:0.9rem;color:var(--nx-text-muted);border:1px solid var(--nx-separator)}.app-favorites-tip>i:first-child{font-size:var(--nx-font-xl);color:#ffc107;flex-shrink:0}.app-favorites-tip i.bi-star{color:#ffc107}.app-section-favorites{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--nx-separator)}.app-section-favorites .app-section-title i{color:#ffc107}.app-grid-favorites{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--nx-fill) transparent}.app-grid-favorites::-webkit-scrollbar{height:6px}.app-grid-favorites::-webkit-scrollbar-track{background:transparent}.app-grid-favorites::-webkit-scrollbar-thumb{background:var(--nx-fill);border-radius:var(--nx-radius-sm)}.app-grid-favorites .app-card{flex:0 0 260px;scroll-snap-align:start}@media (min-width:900px){.app-grid-favorites{display:grid;grid-template-columns:repeat(5,1fr);overflow-x:visible;padding-bottom:0}.app-grid-favorites .app-card{flex:none}}.app-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.app-favorite-btn{flex-shrink:0;width:32px;height:32px;min-width:44px;min-height:44px;border:none;background:var(--nx-fill);border-radius:var(--nx-radius-circle);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s ease;opacity:0.7}.app-favorite-btn:hover{opacity:1;transform:scale(1.1);background:var(--nx-fill-secondary)}.app-favorite-btn:active{transform:scale(0.95)}.app-favorite-btn i{color:var(--nx-text-secondary);font-size:var(--nx-font-sm);line-height:1}.app-favorite-btn.active{opacity:1;background:rgba(255,193,7,0.15)}.app-favorite-btn.active i{color:#ffc107}.app-card-inner{display:flex;flex-direction:column}.app-section{margin-bottom:1.5rem}.app-section:last-child{margin-bottom:0}.app-grid.app-grid-full{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:500px){.app-grid.app-grid-full{grid-template-columns:repeat(2,1fr);gap:14px}}@media (min-width:900px){.app-grid.app-grid-full{grid-template-columns:repeat(3,1fr)}}@media (min-width:1200px){.app-grid.app-grid-full{grid-template-columns:repeat(4,1fr)}}@media (min-width:1600px){.app-grid.app-grid-full{grid-template-columns:repeat(5,1fr)}}.app-section-title{display:flex;align-items:center;gap:8px;margin:0 0 12px 0;color:var(--nx-text-secondary);font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.02em}.app-section-title i{color:var(--nx-text-tertiary);font-size:var(--nx-font-sm)}.app-section-count{padding:2px 8px;background:var(--nx-fill);border-radius:var(--nx-radius-sm);color:var(--nx-text-secondary);font-size:0.6875rem;font-weight:600}.app-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:600px){.app-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (min-width:900px){.app-grid{grid-template-columns:repeat(4,1fr);gap:16px}}@media (min-width:1400px){.app-grid{grid-template-columns:repeat(4,1fr);gap:16px}}.app-card{position:relative;display:flex;flex-direction:column;background:var(--nx-bg-secondary);border:0.5px solid var(--nx-separator);border-radius:var(--nx-radius-md);overflow:hidden;transition:transform var(--nx-transition-fast),box-shadow var(--nx-transition-fast);-webkit-tap-highlight-color:transparent}@media (hover:hover){.app-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.08)}}.app-card:active{transform:scale(0.98)}.app-card-shine{display:none}.app-card-inner{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px}.app-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--nx-radius-md);font-size:1.375rem;flex-shrink:0}.app-card-tool .app-card-icon,.app-card-dashboard .app-card-icon{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);color:#ffffff;box-shadow:0 4px 12px rgba(51,65,85,0.25)}.app-card-tool .app-card-icon i,.app-card-dashboard .app-card-icon i{color:#ffffff}[data-theme="dark"] .app-card-tool .app-card-icon,[data-theme="dark"] .app-card-dashboard .app-card-icon{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);box-shadow:0 4px 12px rgba(148,163,184,0.2)}[data-theme="dark"] .app-card-tool .app-card-icon i,[data-theme="dark"] .app-card-dashboard .app-card-icon i{color:#0c1222}.app-card-badge{padding:4px 10px;background:var(--nx-fill);border:none;border-radius:var(--nx-radius-md);color:var(--nx-text-secondary);font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.3px}.app-card-title{color:var(--nx-text);font-size:1.0625rem;font-weight:600;margin:0 0 4px 0;line-height:1.3;letter-spacing:-0.02em}.app-card-desc{color:var(--nx-text-secondary);font-size:0.9375rem;line-height:1.4;margin:0 0 12px 0;flex:1}.app-card-hint{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--nx-fill);border:none;border-radius:var(--nx-radius-sm);margin-bottom:1rem}.app-card-hint i{color:var(--nx-orange);font-size:var(--nx-font-sm);flex-shrink:0;margin-top:1px}.app-card-hint span{color:var(--nx-text-secondary);font-size:0.8125rem;line-height:1.4}.app-card-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 20px;border:none;border-radius:var(--nx-radius-sm);font-size:0.9375rem;font-weight:600;text-decoration:none;transition:all var(--nx-transition-fast);cursor:pointer;-webkit-tap-highlight-color:transparent}.app-btn-tool{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);color:white;box-shadow:0 2px 8px rgba(148,163,184,0.3)}.app-btn-tool:hover{background:linear-gradient(135deg,#475569 0%,#334155 100%);box-shadow:0 4px 12px rgba(148,163,184,0.4);color:white}.app-btn-tool:active{transform:scale(0.96);box-shadow:0 1px 4px rgba(148,163,184,0.3)}.app-btn-dashboard{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:white;box-shadow:0 2px 8px rgba(6,182,212,0.3)}.app-btn-dashboard:hover{background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 100%);box-shadow:0 4px 12px rgba(6,182,212,0.4);color:white}.app-btn-dashboard:active{transform:scale(0.96);filter:brightness(0.9)}.app-card-btn i{transition:transform var(--nx-transition-fast)}.app-card-btn:hover i{transform:translateX(2px)}[data-theme="light"] .app-card{box-shadow:0 1px 3px rgba(0,0,0,0.04)}[data-theme="light"] .app-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08)}@media (max-width:768px){.nexus-topbar-content{height:52px;padding:0 12px}.nexus-topbar-center{padding:0 8px}.topbar-filters .app-filter-tab{padding:4px 8px;font-size:var(--nx-font-xs);min-height:44px}.topbar-filters .app-filter-count{display:none}.nexus-user-info{display:none}}@media (max-width:480px){.nexus-brand-text{display:none}.nexus-topbar-center{padding:0 4px;flex:1}.topbar-filters{overflow-x:auto;-webkit-overflow-scrolling:touch}.app-filter-tab{flex-shrink:0}.topbar-filters .app-filter-tab span:first-child{max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-launcher-section{padding:12px}}:root{--zone-1:#e41a1c;--zone-2:#377eb8;--zone-3:#4daf4a;--zone-4:#ff7f00;--zone-5:#984ea3;--zone-6:#ffff33;--zone-7:#17becf;--zone-8:#e377c2;--zone-9:#8c564b;--zone-10:#bcbd22;--zone-unassigned:#cccccc}.zone-editor-page{margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5}.zone-editor-header{background:#1a3a5c;color:white;padding:0.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.zone-editor-header h1{font-size:var(--nx-font-xl);margin:0;font-weight:600}.zone-editor-header a{color:white;text-decoration:none;opacity:0.8}.zone-editor-header a:hover{opacity:1}.zone-editor-toolbar{padding:0.75rem 1rem;background:white;border-bottom:1px solid #dee2e6;display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap}.zone-palette{display:flex;gap:0.35rem;align-items:center}.zone-btn{min-width:44px;height:38px;border-radius:var(--nx-radius-sm);border:3px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:bold;color:white;font-size:0.9rem;transition:all 0.15s ease;box-shadow:0 2px 4px rgba(0,0,0,0.2);padding:0 0.4rem}.zone-btn:hover{transform:scale(1.05)}.zone-btn.active{border-color:#000;box-shadow:0 0 0 3px rgba(0,0,0,0.3);transform:scale(1.1)}.zone-btn-1{background:var(--zone-1)}.zone-btn-2{background:var(--zone-2)}.zone-btn-3{background:var(--zone-3)}.zone-btn-4{background:var(--zone-4)}.zone-btn-5{background:var(--zone-5)}.zone-btn-6{background:var(--zone-6);color:#333}.zone-btn-7{background:var(--zone-7)}.zone-btn-8{background:var(--zone-8)}.zone-btn-9{background:var(--zone-9)}.zone-btn-10{background:var(--zone-10);color:#333}.zone-btn-clear{background:#6c757d}#zone-editor-map{height:calc(100vh - 145px);width:100%}.zone-stats-bar{padding:0.4rem 0.75rem;background:#e9ecef;border-radius:var(--nx-radius-sm);font-size:0.8rem}.zone-stats-bar .zone-count{display:inline-flex;align-items:center;gap:0.2rem;margin-right:0.5rem}.zone-dot{width:10px;height:10px;border-radius:var(--nx-radius-circle);display:inline-block}.zone-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.9);display:none;align-items:center;justify-content:center;z-index:1000}.zone-loading-overlay.show{display:flex}.selected-zone-indicator{padding:0.4rem 0.75rem;background:#212529;color:white;border-radius:var(--nx-radius-sm);font-weight:500;font-size:0.85rem}.zone-import-area{border:2px dashed #dee2e6;border-radius:var(--nx-radius-sm);padding:1.5rem;text-align:center;background:#f8f9fa;cursor:pointer;transition:all 0.2s}.zone-import-area:hover{border-color:#0d6efd;background:#e7f1ff}.zone-import-area.drag-over{border-color:#0d6efd;background:#cfe2ff}.zip-polygon{cursor:pointer}.zip-polygon:hover{fill-opacity:0.8}.zip-tooltip{background:rgba(255,255,255,0.97);border:2px solid #333;border-radius:var(--nx-radius-sm);padding:8px 12px;font-size:0.8125rem;font-weight:500;line-height:1.4;box-shadow:0 3px 10px rgba(0,0,0,0.25)}.zip-tooltip .zip-code{font-size:var(--nx-font-base);font-weight:700;color:#1a3a5c;margin-bottom:4px}.zip-tooltip .zip-zone{font-size:0.8125rem;font-weight:600;margin-bottom:2px}.zip-tooltip .zip-jobs{font-size:var(--nx-font-xs);color:#666}.tech-home-marker{background:transparent;border:none}.tech-home-marker svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,0.3));transition:transform 0.15s ease}.tech-home-marker:hover svg{transform:scale(1.15)}.favorites-dock{background:var(--nx-bg-secondary);border-top:1px solid var(--nx-separator);padding:16px 24px;margin-top:2rem;padding-bottom:calc(12px+env(safe-area-inset-bottom,0px));box-shadow:0 -4px 24px rgba(0,0,0,0.1)}[data-theme="dark"] .favorites-dock{background:rgba(28,28,30,0.92);box-shadow:0 -4px 24px rgba(0,0,0,0.4)}.favorites-dock-inner{max-width:1400px;margin:0 auto}.favorites-dock-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--nx-text-secondary);font-size:var(--nx-font-xs);font-weight:600;text-transform:uppercase;letter-spacing:0.04em}.favorites-dock-header i{color:#ffc107;font-size:var(--nx-font-sm)}.favorites-dock-cards{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;scroll-snap-type:x mandatory}.favorites-dock-cards::-webkit-scrollbar{display:none}.favorites-dock .app-card,.favorites-dock-cards .app-card,.favorites-dock-cards>.app-card{flex:0 0 240px;width:240px;min-width:240px;max-width:240px;scroll-snap-align:start}.app-card.app-card-dock .app-card-inner{padding:12px}.app-card.app-card-dock .app-card-icon{width:36px;height:36px;margin-bottom:8px}.app-card.app-card-dock .app-card-icon i{font-size:var(--nx-font-lg)}.app-card.app-card-dock .app-card-title{font-size:0.8125rem;margin-bottom:4px}.app-card.app-card-dock .app-card-desc{font-size:0.6875rem;line-height:1.3;margin-bottom:8px;-webkit-line-clamp:2}.app-card.app-card-dock .app-card-btn{padding:6px 10px;font-size:0.6875rem}.app-card.app-card-dock .app-card-top-row{margin-bottom:6px}.app-card.app-card-dock .app-card-badge{font-size:0.5625rem;padding:2px 6px}.app-card.app-card-dock .app-favorite-btn{width:26px;height:26px}.app-card.app-card-dock .app-favorite-btn i{font-size:var(--nx-font-xs)}.app-card.app-card-active{border-color:var(--nx-blue);box-shadow:0 0 0 2px rgba(148,163,184,0.3),var(--nx-shadow-md)}@media (max-width:600px){.favorites-dock{padding:10px 12px;padding-bottom:calc(10px+env(safe-area-inset-bottom,0px))}.favorites-dock-header{margin-bottom:8px}.app-card.app-card-dock{flex:0 0 180px;min-width:180px}.app-card.app-card-dock .app-card-desc{display:none}}:root{--holo-bg-deep:#08080c;--holo-bg-mid:#0e0e14;--holo-bg-surface:#14141c;--holo-bg-elevated:#1a1a24;--holo-bg-hover:#20202c;--holo-glass:rgba(255,255,255,0.02);--holo-glass-border:rgba(255,255,255,0.06);--holo-glass-border-hover:rgba(255,255,255,0.12);--holo-glass-highlight:rgba(255,255,255,0.08);--holo-glass-inset:rgba(255,255,255,0.03);--holo-text-primary:#f0f0f2;--holo-text-secondary:#a8a8b0;--holo-text-muted:#94a3b8;--holo-text-faint:#48485a;--holo-glow-soft:rgba(255,255,255,0.03);--holo-glow-medium:rgba(255,255,255,0.06);--holo-glow-strong:rgba(255,255,255,0.1);--holo-scan-line:rgba(255,255,255,0.06);--holo-shadow-sm:0 1px 2px rgba(0,0,0,0.4),0 2px 4px rgba(0,0,0,0.3),0 4px 8px rgba(0,0,0,0.2);--holo-shadow-md:0 2px 4px rgba(0,0,0,0.4),0 4px 8px rgba(0,0,0,0.3),0 8px 16px rgba(0,0,0,0.25),0 16px 32px rgba(0,0,0,0.2);--holo-shadow-lg:0 4px 8px rgba(0,0,0,0.45),0 8px 16px rgba(0,0,0,0.35),0 16px 32px rgba(0,0,0,0.25),0 32px 64px rgba(0,0,0,0.2);--holo-shadow-xl:0 8px 16px rgba(0,0,0,0.5),0 16px 32px rgba(0,0,0,0.4),0 32px 64px rgba(0,0,0,0.3),0 64px 128px rgba(0,0,0,0.2);--holo-shadow-glow:0 0 30px rgba(255,255,255,0.03),0 0 60px rgba(255,255,255,0.02);--holo-shadow-inset:inset 0 1px 0 rgba(255,255,255,0.04),inset 0 -1px 0 rgba(0,0,0,0.2);--holo-radius-sm:8px;--holo-radius-md:12px;--holo-radius-lg:16px;--holo-radius-xl:20px;--holo-transition-fast:0.15s ease-out;--holo-transition-normal:0.25s ease-out;--holo-transition-slow:0.4s cubic-bezier(0.16,1,0.3,1)}[data-theme="light"]{--holo-text-primary:#0f172a;--holo-text-secondary:#374151;--holo-text-muted:#6b7280;--holo-text-faint:#9ca3af;--holo-glass:rgba(0,0,0,0.02);--holo-glass-border:rgba(0,0,0,0.08);--holo-glass-border-hover:rgba(0,0,0,0.15);--holo-glass-highlight:rgba(0,0,0,0.04);--holo-glass-inset:rgba(0,0,0,0.03);--holo-bg-deep:#ffffff;--holo-bg-mid:#f8fafc;--holo-bg-surface:#f1f5f9;--holo-bg-elevated:#ffffff;--holo-bg-hover:#f1f5f9;--holo-shadow-sm:0 1px 2px rgba(0,0,0,0.05),0 2px 4px rgba(0,0,0,0.04);--holo-shadow-md:0 2px 4px rgba(0,0,0,0.06),0 4px 8px rgba(0,0,0,0.05),0 8px 16px rgba(0,0,0,0.04);--holo-shadow-lg:0 4px 8px rgba(0,0,0,0.08),0 8px 16px rgba(0,0,0,0.06),0 16px 32px rgba(0,0,0,0.04);--holo-shadow-glow:none}.holo-body{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);min-height:100vh}[data-theme="dark"] .holo-body{background:radial-gradient(ellipse at 50% 0%,rgba(30,30,50,0.3) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(20,20,40,0.2) 0%,transparent 40%),var(--nx-holo-bg-deep)}.holo-card{background:linear-gradient( 145deg,rgba(255,255,255,0.95) 0%,rgba(248,250,252,0.98) 100% );border:1px solid rgba(0,0,0,0.06);border-radius:var(--nx-holo-radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 2px 8px rgba(0,0,0,0.04),0 4px 16px rgba(0,0,0,0.06);position:relative;overflow:hidden;transition:transform var(--nx-holo-transition-slow),box-shadow var(--nx-holo-transition-slow),border-color var(--nx-holo-transition-normal)}[data-theme="dark"] .holo-card{background:linear-gradient( 145deg,rgba(22,22,32,0.95) 0%,rgba(14,14,20,0.98) 100% );border-color:var(--nx-holo-glass-border);box-shadow:var(--nx-holo-shadow-md),var(--nx-holo-shadow-inset)}.holo-card::before{content:"";position:absolute;top:0;left:-100%;width:60%;height:1px;background:linear-gradient( 90deg,transparent 0%,var(--holo-scan-line) 20%,rgba(255,255,255,0.12) 50%,var(--holo-scan-line) 80%,transparent 100% );animation:holoScanLine 6s linear infinite;pointer-events:none;z-index:10}.holo-card::after{content:"";position:absolute;bottom:0;right:-100%;width:40%;height:1px;background:linear-gradient( 90deg,transparent 0%,var(--holo-glow-soft) 50%,transparent 100% );animation:holoScanLineReverse 8s linear infinite;pointer-events:none;z-index:10}.holo-card:hover{transform:translateY(-4px);border-color:var(--nx-holo-glass-border-hover);box-shadow:var(--nx-holo-shadow-lg),var(--nx-holo-shadow-glow),var(--nx-holo-shadow-inset)}@keyframes holoScanLine{0%{left:-100%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:200%;opacity:0}}@keyframes holoScanLineReverse{0%{right:-100%;opacity:0}10%{opacity:0.7}90%{opacity:0.7}100%{right:200%;opacity:0}}.holo-card .card-header,.holo-card-header{background:linear-gradient( 180deg,rgba(255,255,255,0.03) 0%,transparent 100% );border-bottom:1px solid var(--nx-holo-glass-border);padding:1rem 1.25rem;font-weight:600;color:var(--nx-holo-text-primary);letter-spacing:0.01em}.holo-card .card-header .fw-bold,.holo-card-header .fw-bold{color:var(--nx-holo-text-primary)}.holo-card .card-header .text-muted,.holo-card-header .text-muted{color:var(--nx-holo-text-muted)}.holo-card .card-header .badge{background:var(--nx-holo-glass-highlight);color:var(--nx-holo-text-secondary);border:1px solid var(--nx-holo-glass-border);font-weight:500}.holo-card .card-body,.holo-card-body{padding:1.25rem;color:var(--nx-holo-text-secondary)}.card.card-legacy{background:linear-gradient( 145deg,rgba(255,255,255,0.95) 0%,rgba(248,250,252,0.98) 100% );border:1px solid rgba(0,0,0,0.06);border-radius:var(--nx-holo-radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 8px rgba(0,0,0,0.04),0 4px 16px rgba(0,0,0,0.06);position:relative;overflow:hidden;transition:transform var(--nx-holo-transition-slow),box-shadow var(--nx-holo-transition-slow),border-color var(--nx-holo-transition-normal)}.card.card-legacy:hover{transform:translateY(-3px);border-color:var(--nx-holo-glass-border-hover);box-shadow:var(--nx-holo-shadow-lg),0 0 40px rgba(255,255,255,0.02),var(--nx-holo-shadow-inset)}.card.card-legacy>.card-header{background:linear-gradient( 180deg,rgba(255,255,255,0.025) 0%,transparent 100% );border-bottom:1px solid var(--nx-holo-glass-border);color:var(--nx-holo-text-primary);padding:0.875rem 1.25rem}.card.card-legacy>.card-header .fw-bold{color:var(--nx-holo-text-primary)}.card.card-legacy>.card-body{color:var(--nx-holo-text-secondary)}.holo-card .table,.card.card-legacy .table{--bs-table-bg:transparent;--bs-table-color:var(--nx-holo-text-secondary);--bs-table-border-color:var(--nx-holo-glass-border);--bs-table-striped-bg:rgba(255,255,255,0.015);--bs-table-hover-bg:rgba(255,255,255,0.03);--bs-table-hover-color:var(--nx-holo-text-primary);margin-bottom:0}.holo-card .table thead,.holo-card .table thead th,.card.card-legacy .table thead,.card.card-legacy .table thead th{background:rgba(255,255,255,0.02);color:var(--nx-holo-text-primary);border-bottom:1px solid var(--nx-holo-glass-border);font-weight:600;text-transform:uppercase;font-size:var(--nx-font-xs);letter-spacing:0.05em}.holo-card .table td,.card.card-legacy .table td{border-color:rgba(255,255,255,0.03);vertical-align:middle}.holo-card .table-light,.holo-card thead.table-light,.card.card-legacy .table-light,.card.card-legacy thead.table-light{--bs-table-bg:rgba(255,255,255,0.02);--bs-table-color:var(--nx-holo-text-primary)}.holo-card thead.sticky-top,.holo-card thead.sticky-top th,.card.card-legacy thead.sticky-top,.card.card-legacy thead.sticky-top th{background:rgba(20,20,28,0.98);backdrop-filter:blur(10px)}.holo-card .form-control,.holo-card .form-select,.card.card-legacy .form-control,.card.card-legacy .form-select{background:var(--nx-holo-bg-elevated);border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);color:var(--nx-holo-text-primary);transition:border-color var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast)}.holo-card .form-control:focus,.holo-card .form-select:focus,.card.card-legacy .form-control:focus,.card.card-legacy .form-select:focus{background:var(--nx-holo-bg-hover);border-color:var(--nx-holo-glass-highlight);box-shadow:0 0 0 3px rgba(255,255,255,0.05),var(--nx-holo-shadow-sm);color:var(--nx-holo-text-primary)}.holo-card .form-control::placeholder,.card.card-legacy .form-control::placeholder{color:var(--nx-holo-text-muted)}.holo-btn,.holo-card .btn-primary,.card.card-legacy .btn-primary{background:linear-gradient( 145deg,rgba(40,40,56,0.9) 0%,rgba(28,28,40,0.95) 100% );border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);color:var(--nx-holo-text-primary);font-weight:600;padding:0.625rem 1.25rem;box-shadow:var(--nx-holo-shadow-sm),inset 0 1px 0 rgba(255,255,255,0.05);transition:transform var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast),background var(--nx-holo-transition-fast)}.holo-btn:hover,.holo-card .btn-primary:hover,.card.card-legacy .btn-primary:hover{background:linear-gradient( 145deg,rgba(50,50,70,0.95) 0%,rgba(35,35,50,0.98) 100% );border-color:var(--nx-holo-glass-border-hover);color:var(--nx-holo-text-primary);transform:translateY(-2px);box-shadow:var(--nx-holo-shadow-md),0 0 20px rgba(255,255,255,0.03),inset 0 1px 0 rgba(255,255,255,0.08)}.holo-btn:active,.holo-card .btn-primary:active,.card.card-legacy .btn-primary:active{transform:translateY(0);box-shadow:var(--nx-holo-shadow-sm)}.holo-btn-secondary,.holo-card .btn-outline-secondary,.card.card-legacy .btn-outline-secondary{background:transparent;border:1px solid var(--nx-holo-glass-border);color:var(--nx-holo-text-secondary)}.holo-btn-secondary:hover,.holo-card .btn-outline-secondary:hover,.card.card-legacy .btn-outline-secondary:hover{background:var(--nx-holo-glass);border-color:var(--nx-holo-glass-border-hover);color:var(--nx-holo-text-primary)}.holo-card .metric-summary-bar,.card.card-legacy .row.g-4.text-center{position:relative}.holo-card .metric-summary-bar>div,.card.card-legacy .row.g-4.text-center>div{position:relative}.holo-card .text-muted.small.text-uppercase,.card.card-legacy .text-muted.small.text-uppercase{color:var(--nx-holo-text-muted);font-weight:600;letter-spacing:0.08em;font-size:0.7rem}.holo-card .fs-3.fw-bold,.holo-card .fs-4.fw-bold,.card.card-legacy .fs-3.fw-bold,.card.card-legacy .fs-4.fw-bold{color:var(--nx-holo-text-primary);text-shadow:0 0 30px rgba(255,255,255,0.1)}.holo-card .text-success,.card.card-legacy .text-success{color:#475569;text-shadow:0 0 20px rgba(74,222,128,0.3)}.holo-card .text-primary,.card.card-legacy .text-primary{color:#475569;text-shadow:0 0 20px rgba(217,119,6,0.3)}.holo-card .text-warning,.card.card-legacy .text-warning{color:#fbbf24;text-shadow:0 0 20px rgba(251,191,36,0.3)}.holo-card .text-danger,.card.card-legacy .text-danger{color:#f87171;text-shadow:0 0 20px rgba(248,113,113,0.3)}.holo-card .text-info,.card.card-legacy .text-info{color:#22d3ee;text-shadow:0 0 20px rgba(34,211,238,0.3)}.holo-card .badge,.card.card-legacy .badge{background:var(--nx-holo-glass-highlight);color:var(--nx-holo-text-secondary);border:1px solid var(--nx-holo-glass-border);font-weight:500;padding:0.35em 0.65em;border-radius:var(--nx-holo-radius-sm)}.holo-card .badge.bg-success,.card.card-legacy .badge.bg-success{--bs-bg-opacity:0.15;--bs-success-rgb:74,222,128;color:#4ade80;border-color:rgba(74,222,128,0.3)}.holo-card .badge.bg-primary,.card.card-legacy .badge.bg-primary{--bs-bg-opacity:0.15;--bs-primary-rgb:217,119,6;color:#d97706;border-color:rgba(217,119,6,0.3)}.holo-card .badge.bg-warning,.card.card-legacy .badge.bg-warning{--bs-bg-opacity:0.15;--bs-warning-rgb:251,191,36;color:#fbbf24;border-color:rgba(251,191,36,0.3)}.holo-card .badge.bg-warning.text-dark,.card.card-legacy .badge.bg-warning.text-dark{--bs-dark-rgb:251,191,36}.holo-card .badge.bg-danger,.card.card-legacy .badge.bg-danger{--bs-bg-opacity:0.15;--bs-danger-rgb:248,113,113;color:#f87171;border-color:rgba(248,113,113,0.3)}.holo-card .badge.bg-secondary,.card.card-legacy .badge.bg-secondary{--bs-bg-opacity:0.1;--bs-secondary-rgb:148,163,184;color:var(--nx-holo-text-secondary);border-color:var(--nx-holo-glass-border)}.holo-card .badge.bg-info,.card.card-legacy .badge.bg-info{--bs-bg-opacity:0.15;--bs-info-rgb:34,211,238;color:#22d3ee;border-color:rgba(34,211,238,0.3)}.holo-card .badge.text-white,.card.card-legacy .badge.text-white{--bs-bg-opacity:0.85}.holo-card .alert,.card.card-legacy .alert{background:var(--nx-holo-glass);border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-md);color:var(--nx-holo-text-secondary)}.holo-card .alert-success,.card.card-legacy .alert-success{background:rgba(74,222,128,0.08);border-color:rgba(74,222,128,0.2);color:#475569}.holo-card .alert-warning,.card.card-legacy .alert-warning{background:rgba(251,191,36,0.08);border-color:rgba(251,191,36,0.2);color:#fbbf24}.holo-card .alert-danger,.card.card-legacy .alert-danger{background:rgba(248,113,113,0.08);border-color:rgba(248,113,113,0.2);color:#f87171}.page-title{color:var(--nx-text);text-shadow:none}[data-theme="dark"] .page-title{color:var(--nx-holo-text-primary);text-shadow:0 0 40px rgba(255,255,255,0.1)}[data-theme="dark"] .holo-card,[data-theme="dark"] .card.card-legacy{background:linear-gradient( 145deg,rgba(22,22,32,0.95) 0%,rgba(14,14,20,0.98) 100% );border-color:var(--nx-holo-glass-border);box-shadow:var(--nx-holo-shadow-md),var(--nx-holo-shadow-inset)}[data-theme="dark"] .holo-card:hover,[data-theme="dark"] .card.card-legacy:hover{border-color:var(--nx-holo-glass-border-hover);box-shadow:var(--nx-holo-shadow-lg),var(--nx-holo-shadow-glow),var(--nx-holo-shadow-inset)}[data-theme="dark"] .holo-card>.card-header,[data-theme="dark"] .card.card-legacy>.card-header{background:linear-gradient( 180deg,rgba(255,255,255,0.03) 0%,transparent 100% );border-bottom-color:var(--nx-holo-glass-border);color:var(--nx-holo-text-primary)}[data-theme="dark"] .holo-card .card-body,[data-theme="dark"] .card.card-legacy .card-body{color:var(--nx-holo-text-secondary)}[data-theme="light"] .card.card-legacy{background:#ffffff;border:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.03)}[data-theme="light"] .card.card-legacy:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.04)}[data-theme="light"] .card.card-legacy>.card-header{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);border-bottom:1px solid #e2e8f0;color:var(--nx-text)}[data-theme="light"] .card.card-legacy>.card-header .fw-bold{color:var(--nx-text)}[data-theme="light"] .card.card-legacy>.card-body{color:#374151}[data-theme="light"] .card.card-legacy .table{--bs-table-bg:transparent;--bs-table-color:#374151;--bs-table-border-color:#e5e7eb;--bs-table-hover-bg:#f9fafb;--bs-table-hover-color:var(--nx-text)}[data-theme="light"] .card.card-legacy .table thead,[data-theme="light"] .card.card-legacy .table thead th,[data-theme="light"] .card.card-legacy thead.table-light,[data-theme="light"] .card.card-legacy thead.table-light th{background:#f8fafc;color:#475569;border-bottom:1px solid #e2e8f0}[data-theme="light"] .card.card-legacy .table td{border-color:#e5e7eb;color:#374151}[data-theme="light"] .card.card-legacy .badge.bg-danger{--bs-bg-opacity:0.1;--bs-danger-rgb:220,38,38;color:var(--nx-red);border-color:rgba(220,38,38,0.2)}[data-theme="light"] .card.card-legacy .badge.bg-warning{--bs-bg-opacity:0.1;--bs-warning-rgb:217,119,6;color:#b45309;border-color:rgba(217,119,6,0.2)}[data-theme="light"] .card.card-legacy .badge.bg-warning.text-dark{--bs-dark-rgb:180,83,9}[data-theme="light"] .card.card-legacy .badge.bg-secondary{--bs-bg-opacity:0.1;--bs-secondary-rgb:100,116,139;color:#475569;border-color:rgba(100,116,139,0.2)}[data-theme="light"] .card.card-legacy .badge.bg-success{--bs-bg-opacity:0.1;--bs-success-rgb:30,41,59;color:#1e293b;border-color:rgba(30,41,59,0.2)}[data-theme="light"] .card.card-legacy .badge.bg-info{--bs-bg-opacity:0.1;--bs-info-rgb:8,145,178;color:#0891b2;border-color:rgba(8,145,178,0.2)}[data-theme="light"] .card.card-legacy .badge.bg-primary{--bs-bg-opacity:0.1;--bs-primary-rgb:30,41,59;color:#1e293b;border-color:rgba(30,41,59,0.2)}[data-theme="light"] .card.card-legacy .fs-3.fw-bold,[data-theme="light"] .card.card-legacy .fs-4.fw-bold{color:var(--nx-text);text-shadow:none}[data-theme="light"] .card.card-legacy .text-success{color:#1e293b;text-shadow:none}[data-theme="light"] .card.card-legacy .text-danger{color:var(--nx-red);text-shadow:none}[data-theme="light"] .card.card-legacy .text-warning{color:#b45309;text-shadow:none}[data-theme="light"] .card.card-legacy .text-info{color:#0891b2;text-shadow:none}[data-theme="light"] .card.card-legacy .text-primary{color:#1e293b;text-shadow:none}[data-theme="light"] .card.card-legacy .text-muted{color:#6b7280}[data-theme="light"] .card.card-legacy .text-muted.small.text-uppercase{color:#6b7280}[data-theme="light"] .card.card-legacy .alert{background:#f8fafc;border:1px solid #e2e8f0;color:#374151}[data-theme="light"] .card.card-legacy .alert-success{background:rgba(30,41,59,0.08);border-color:rgba(30,41,59,0.2);color:#166534}[data-theme="light"] .card.card-legacy .alert-warning{background:rgba(217,119,6,0.08);border-color:rgba(217,119,6,0.2);color:#92400e}[data-theme="light"] .card.card-legacy .alert-light{background:#f8fafc;border-color:var(--nx-text);color:#475569}[data-theme="light"] .card.card-legacy .card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;color:#6b7280}[data-theme="light"] .card.card-legacy .btn-primary{background:linear-gradient(145deg,#1e293b 0%,#15803d 100%);border-color:#1e293b;color:#ffffff;box-shadow:0 2px 4px rgba(30,41,59,0.2)}[data-theme="light"] .card.card-legacy .btn-primary:hover{background:linear-gradient(145deg,#15803d 0%,#166534 100%);border-color:#15803d;box-shadow:0 4px 8px rgba(30,41,59,0.25)}[data-theme="light"] .card.card-legacy .btn-outline-secondary{background:transparent;border-color:#cbd5e1;color:#475569}[data-theme="light"] .card.card-legacy .btn-outline-secondary:hover{background:#f1f5f9;border-color:var(--nx-text-tertiary);color:var(--nx-text)}@media (prefers-reduced-motion:reduce){.holo-card,.card.card-legacy{transition:none}.holo-card::before,.holo-card::after,.card.card-legacy::before{animation:none;display:none}.holo-card:hover,.card.card-legacy:hover{transform:none}}@media (max-width:768px){.holo-card,.card.card-legacy{border-radius:var(--nx-holo-radius-md)}.holo-card:hover,.card.card-legacy:hover{transform:none}.holo-card>.card-header,.card.card-legacy>.card-header{padding:0.75rem 1rem}.holo-card>.card-body,.card.card-legacy>.card-body{padding:1rem}}.nexus-topbar{background:linear-gradient( 180deg,rgba(255,255,255,0.9) 0%,rgba(248,250,252,0.95) 100% );backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-bottom:1px solid rgba(0,0,0,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.04),0 4px 16px rgba(0,0,0,0.06)}[data-theme="dark"] .nexus-topbar{background:linear-gradient( 180deg,rgba(18,18,26,0.85) 0%,rgba(12,12,18,0.9) 100% );border-bottom:1px solid var(--nx-holo-glass-border);box-shadow:0 4px 16px rgba(0,0,0,0.3),0 8px 32px rgba(0,0,0,0.2),inset 0 -1px 0 rgba(255,255,255,0.03)}.nexus-brand .glow-dot{width:8px;height:8px;background:radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.4) 50%,transparent 70%);border-radius:var(--nx-radius-circle);box-shadow:0 0 8px rgba(255,255,255,0.5),0 0 16px rgba(255,255,255,0.3),0 0 24px rgba(255,255,255,0.1);animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,100%{opacity:0.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.nexus-brand-text{color:var(--nx-holo-text-primary);font-weight:600;letter-spacing:0.02em}.nexus-username{color:var(--nx-holo-text-primary)}.nexus-role-badge{background:var(--nx-holo-glass-highlight);color:var(--nx-holo-text-secondary);border:1px solid var(--nx-holo-glass-border);padding:0.25rem 0.5rem;border-radius:var(--nx-holo-radius-sm);font-size:0.7rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em}.topbar-filters .app-filter-btn{background:transparent;border:1px solid transparent;color:var(--nx-holo-text-muted);padding:0.4rem 0.75rem;border-radius:var(--nx-holo-radius-sm);font-weight:500;font-size:0.8rem;white-space:nowrap;transition:background var(--nx-holo-transition-fast),border-color var(--nx-holo-transition-fast),color var(--nx-holo-transition-fast)}.topbar-filters .app-filter-btn:hover{background:var(--nx-holo-glass);border-color:var(--nx-holo-glass-border);color:var(--nx-holo-text-secondary)}.topbar-filters .app-filter-btn.active{background:linear-gradient( 145deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0.04) 100% );border-color:var(--nx-holo-glass-border-hover);color:var(--nx-holo-text-primary);box-shadow:0 2px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05)}.topbar-icon-blue{color:var(--nx-blue);opacity:1}.topbar-icon-orange{color:#f59e0b;opacity:1}.topbar-icon-green{color:#10b981;opacity:1}.topbar-icon-indigo{color:#6366f1;opacity:1}.topbar-icon-cyan{color:#22d3ee;opacity:1}.topbar-icon-purple{color:#8b5cf6;opacity:1}.topbar-icon-teal{color:#06b6d4;opacity:1}.topbar-label-short{display:none}.topbar-label-full{display:inline}@media (max-width:992px){.topbar-label-full{display:none}.topbar-label-short{display:inline}}@media (max-width:480px){.topbar-label-full,.topbar-label-short{display:none}}.nexus-logout-btn{background:transparent;border:1px solid var(--nx-holo-glass-border);color:var(--nx-holo-text-muted);padding:0.5rem;border-radius:var(--nx-holo-radius-sm);transition:background var(--nx-holo-transition-fast),border-color var(--nx-holo-transition-fast),color var(--nx-holo-transition-fast)}.nexus-logout-btn:hover{background:rgba(248,113,113,0.1);border-color:rgba(248,113,113,0.3);color:#f87171}.theme-toggle{background:var(--nx-holo-glass);border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);color:var(--nx-holo-text-secondary);padding:0.5rem;transition:background var(--nx-holo-transition-fast),border-color var(--nx-holo-transition-fast)}.theme-toggle:hover{background:var(--nx-holo-glass-highlight);border-color:var(--nx-holo-glass-border-hover)}[data-theme="light"] .nexus-brand-text{color:var(--nx-text)}[data-theme="light"] .nexus-role-badge{background:rgba(0,0,0,0.04);color:var(--nx-text-secondary);border-color:rgba(0,0,0,0.08)}.app-card{background:linear-gradient( 145deg,rgba(255,255,255,0.9) 0%,rgba(248,250,252,0.95) 100% );border:1px solid rgba(0,0,0,0.06);border-radius:var(--nx-holo-radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 8px rgba(0,0,0,0.04),0 4px 16px rgba(0,0,0,0.06);overflow:hidden;transition:transform var(--nx-holo-transition-slow),box-shadow var(--nx-holo-transition-slow),border-color var(--nx-holo-transition-normal)}[data-theme="dark"] .app-card{background:linear-gradient( 145deg,rgba(22,22,32,0.92) 0%,rgba(14,14,20,0.96) 100% );border:1px solid var(--nx-holo-glass-border);box-shadow:var(--nx-holo-shadow-md),var(--nx-holo-shadow-inset)}.app-card .app-card-shine{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient( 90deg,transparent 0%,rgba(255,255,255,0.03) 50%,transparent 100% );transform:skewX(-20deg);transition:left 0.6s ease;pointer-events:none}.app-card:hover .app-card-shine{left:150%}.app-card:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(0,0,0,0.1);box-shadow:0 8px 24px rgba(0,0,0,0.08),0 16px 48px rgba(0,0,0,0.06)}[data-theme="dark"] .app-card:hover{border-color:var(--nx-holo-glass-border-hover);box-shadow:var(--nx-holo-shadow-lg),var(--nx-holo-shadow-glow),var(--nx-holo-shadow-inset)}.app-card-inner{padding:1.5rem;position:relative;z-index:1}.app-card-badge{background:var(--nx-holo-glass-highlight);color:var(--nx-holo-text-muted);border:1px solid var(--nx-holo-glass-border);padding:0.25rem 0.6rem;border-radius:var(--nx-holo-radius-sm);font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}.app-card-icon{width:56px;height:56px;background:linear-gradient(135deg,#334155 0%,#1e293b 100%);border:none;border-radius:var(--nx-holo-radius-md);display:flex;align-items:center;justify-content:center;margin:1rem 0;box-shadow:0 4px 12px rgba(51,65,85,0.25)}.app-card-icon i{font-size:var(--nx-font-2xl);color:#ffffff;opacity:1}[data-theme="dark"] .app-card-icon{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);border:none;box-shadow:0 4px 12px rgba(148,163,184,0.2)}[data-theme="dark"] .app-card-icon i{color:#0c1222}.app-card-icon-blue{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px rgba(59,130,246,0.3)}.app-card-icon-orange{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px rgba(245,158,11,0.3)}.app-card-icon-green{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px rgba(16,185,129,0.3)}.app-card-icon-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px rgba(139,92,246,0.3)}.app-card-icon-teal{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 12px rgba(6,182,212,0.3)}.app-card-icon-red{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px rgba(239,68,68,0.3)}.app-card-icon-cyan{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 4px 12px rgba(34,211,238,0.3)}.app-card-icon-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 12px rgba(99,102,241,0.3)}.app-card-icon-slate{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 4px 12px rgba(100,116,139,0.3)}.app-card-icon-rose{background:linear-gradient(135deg,#f43f5e,#e11d48);box-shadow:0 4px 12px rgba(244,63,94,0.3)}.app-card-icon-blue i,.app-card-icon-orange i,.app-card-icon-green i,.app-card-icon-purple i,.app-card-icon-teal i,.app-card-icon-red i,.app-card-icon-cyan i,.app-card-icon-indigo i,.app-card-icon-slate i,.app-card-icon-rose i{color:#ffffff}[data-theme="dark"] .app-card-icon-blue,[data-theme="dark"] .app-card-icon-orange,[data-theme="dark"] .app-card-icon-green,[data-theme="dark"] .app-card-icon-purple,[data-theme="dark"] .app-card-icon-teal,[data-theme="dark"] .app-card-icon-red,[data-theme="dark"] .app-card-icon-cyan,[data-theme="dark"] .app-card-icon-indigo,[data-theme="dark"] .app-card-icon-slate,[data-theme="dark"] .app-card-icon-rose{background:inherit;box-shadow:inherit}[data-theme="dark"] .app-card-icon-blue i,[data-theme="dark"] .app-card-icon-orange i,[data-theme="dark"] .app-card-icon-green i,[data-theme="dark"] .app-card-icon-purple i,[data-theme="dark"] .app-card-icon-teal i,[data-theme="dark"] .app-card-icon-red i,[data-theme="dark"] .app-card-icon-cyan i,.app-card-icon-indigo i,[data-theme="dark"] .app-card-icon-slate i,[data-theme="dark"] .app-card-icon-rose i{color:#ffffff}.app-card-title{color:var(--nx-text);font-weight:600;font-size:1.1rem;letter-spacing:-0.01em;margin-bottom:0.5rem}[data-theme="dark"] .app-card-title{color:var(--nx-holo-text-primary)}.app-card-desc{color:var(--nx-text-secondary);font-size:0.85rem;line-height:1.5;margin-bottom:1rem}[data-theme="dark"] .app-card-desc{color:var(--nx-holo-text-muted)}.app-card-hint{background:var(--nx-holo-glass);border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);padding:0.5rem 0.75rem;font-size:var(--nx-font-xs);color:var(--nx-holo-text-muted);margin-bottom:1rem}.app-card-hint i{color:#fbbf24;opacity:0.8}.app-card-btn{display:inline-flex;align-items:center;gap:0.5rem;background:linear-gradient( 145deg,rgba(40,40,56,0.9) 0%,rgba(28,28,40,0.95) 100% );border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);color:#ffffff;padding:0.625rem 1rem;font-weight:600;font-size:0.85rem;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05);transition:transform var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast),background var(--nx-holo-transition-fast)}.app-card-btn:hover{background:linear-gradient( 145deg,rgba(50,50,70,0.95) 0%,rgba(35,35,50,0.98) 100% );border-color:var(--nx-holo-glass-border-hover);color:#ffffff;transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.3),0 0 20px rgba(255,255,255,0.03),inset 0 1px 0 rgba(255,255,255,0.08)}.app-favorite-btn{background:transparent;border:none;color:var(--nx-holo-text-muted);padding:0.25rem;cursor:pointer;position:relative;z-index:5;transition:color var(--nx-holo-transition-fast),transform var(--nx-holo-transition-fast)}.app-favorite-btn:hover{color:#fbbf24;transform:scale(1.1)}.app-favorite-btn.active{color:#fbbf24}.holographic-panel{background:linear-gradient( 180deg,rgba(240,253,244,0.6) 0%,rgba(255,255,255,0.8) 50%,rgba(240,253,244,0.6) 100% );border:none;border-radius:0}[data-theme="dark"] .holographic-panel{background:linear-gradient( 180deg,rgba(15,23,42,0.6) 0%,rgba(30,41,59,0.8) 50%,rgba(15,23,42,0.6) 100% )}.favorites-dock{background:linear-gradient( 0deg,rgba(255,255,255,0.95) 0%,rgba(240,253,244,0.9) 100% );backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--nx-separator);box-shadow:0 -4px 16px rgba(0,0,0,0.06)}.favorites-dock-header{color:var(--nx-holo-text-secondary);font-weight:600;letter-spacing:0.02em}.favorites-dock-header i{color:#fbbf24}[data-theme="dark"] .favorites-dock{background:linear-gradient( 0deg,rgba(15,23,42,0.95) 0%,rgba(30,41,59,0.9) 100% );border-top-color:var(--nx-holo-glass-border);box-shadow:0 -8px 32px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.03)}.portal-empty{text-align:center;padding:4rem 2rem}.portal-empty-icon{width:80px;height:80px;background:linear-gradient( 145deg,rgba(255,255,255,0.04) 0%,rgba(255,255,255,0.01) 100% );border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-radius-circle);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:var(--nx-holo-shadow-md),inset 0 1px 0 rgba(255,255,255,0.03)}.portal-empty-icon i{font-size:2rem;color:var(--nx-holo-text-muted)}.portal-empty-title{color:var(--nx-holo-text-primary);font-weight:600;margin-bottom:0.5rem}.portal-empty-desc{color:var(--nx-holo-text-muted);max-width:400px;margin:0 auto 1.5rem}.portal-card-btn{display:inline-flex;align-items:center;gap:0.5rem;background:linear-gradient( 145deg,rgba(40,40,56,0.9) 0%,rgba(28,28,40,0.95) 100% );border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);color:var(--nx-holo-text-primary);padding:0.75rem 1.5rem;font-weight:600;text-decoration:none;box-shadow:var(--nx-holo-shadow-sm);transition:transform var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast)}.portal-card-btn:hover{transform:translateY(-2px);box-shadow:var(--nx-holo-shadow-md);color:var(--nx-holo-text-primary)}.login-card{max-width:420px;margin:2rem auto;padding:0}.login-card.card.card-legacy{box-shadow:var(--nx-holo-shadow-lg),var(--nx-holo-shadow-glow)}.login-card .card-body{padding:2rem 2.5rem}.login-card .page-title{color:var(--nx-holo-text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-0.02em}.login-card .form-label{color:var(--nx-holo-text-secondary);font-weight:500;font-size:var(--nx-font-sm);margin-bottom:0.5rem}.login-card .form-control{background:var(--nx-holo-bg-elevated);border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-sm);color:var(--nx-holo-text-primary);padding:0.75rem 1rem;font-size:var(--nx-font-base);transition:border-color var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast),background var(--nx-holo-transition-fast)}.login-card .form-control:focus{background:var(--nx-holo-bg-hover);border-color:var(--nx-holo-glass-highlight);box-shadow:0 0 0 3px rgba(255,255,255,0.06),0 0 20px rgba(255,255,255,0.03);outline:none}.login-card .form-control::placeholder{color:var(--nx-holo-text-muted)}.login-card .form-text{color:var(--nx-holo-text-muted);font-size:0.8rem}.login-card .form-check{margin:1.5rem 0}.login-card .form-check-label{color:var(--nx-holo-text-secondary);font-size:0.9rem}.login-card .form-check-input{background:var(--nx-holo-bg-elevated);border:1px solid var(--nx-holo-glass-border)}.login-card .form-check-input:checked{background-color:rgba(255,255,255,0.15);border-color:var(--nx-holo-glass-highlight)}.login-card .btn-primary{background:linear-gradient( 145deg,rgba(50,50,70,0.95) 0%,rgba(35,35,50,0.98) 100% );border:1px solid var(--nx-holo-glass-border-hover);color:var(--nx-holo-text-primary);font-weight:600;padding:0.875rem 1.5rem;border-radius:var(--nx-holo-radius-sm);box-shadow:var(--nx-holo-shadow-sm),inset 0 1px 0 rgba(255,255,255,0.06);transition:transform var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast),background var(--nx-holo-transition-fast)}.login-card .btn-primary:hover{background:linear-gradient( 145deg,rgba(60,60,85,0.98) 0%,rgba(45,45,65,1) 100% );transform:translateY(-2px);box-shadow:var(--nx-holo-shadow-md),0 0 30px rgba(255,255,255,0.04),inset 0 1px 0 rgba(255,255,255,0.08)}.login-card .btn-primary:active{transform:translateY(0)}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--nx-holo-text-muted);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em}.login-divider::before,.login-divider::after{content:"";flex:1;height:1px;background:var(--nx-holo-glass-border)}.login-card .btn-outline-secondary{background:transparent;border:1px solid var(--nx-holo-glass-border);color:var(--nx-holo-text-secondary);border-radius:var(--nx-holo-radius-sm);padding:0.75rem 1rem;transition:background var(--nx-holo-transition-fast),border-color var(--nx-holo-transition-fast),color var(--nx-holo-transition-fast)}.login-card .btn-outline-secondary:hover{background:var(--nx-holo-glass);border-color:var(--nx-holo-glass-border-hover);color:var(--nx-holo-text-primary)}.login-card .btn-link{color:var(--nx-holo-text-muted);text-decoration:none;font-size:0.9rem;transition:color var(--nx-holo-transition-fast)}.login-card .btn-link:hover{color:var(--nx-holo-text-secondary)}[data-theme="light"] .login-card.card.card-legacy{box-shadow:0 8px 32px rgba(0,0,0,0.08),0 16px 64px rgba(0,0,0,0.06)}[data-theme="light"] .login-card .page-title{color:var(--nx-text)}[data-theme="light"] .login-card .form-label{color:#475569}[data-theme="light"] .login-card .form-control{background:#ffffff;border-color:rgba(0,0,0,0.08);color:#1e293b}[data-theme="light"] .login-card .form-control:focus{background:#ffffff;border-color:rgba(0,0,0,0.15);box-shadow:0 0 0 3px rgba(0,0,0,0.04)}[data-theme="light"] .login-card .btn-primary{background:linear-gradient(145deg,#334155 0%,#1e293b 100%);color:#ffffff}[data-theme="light"] .login-divider{color:var(--nx-text-tertiary)}[data-theme="light"] .login-divider::before,[data-theme="light"] .login-divider::after{background:rgba(0,0,0,0.08)}.legacy-permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.permission-card{background:linear-gradient( 145deg,rgba(28,28,40,0.6) 0%,rgba(20,20,30,0.8) 100% );border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-md);padding:1rem 1.25rem;transition:border-color var(--nx-holo-transition-fast)}.permission-card:hover{border-color:var(--nx-holo-glass-border-hover)}.permission-card-title{color:var(--nx-holo-text-primary);font-weight:600;font-size:0.9rem;margin:0 0 0.75rem 0;padding-bottom:0.5rem;border-bottom:1px solid var(--nx-holo-glass-border);letter-spacing:0.02em}.permission-chip-group{display:flex;flex-direction:column;gap:0.5rem}.permission-chip{display:flex;align-items:center;gap:0.75rem;padding:0.5rem 0.75rem;margin:0;background:var(--nx-holo-glass);border:1px solid transparent;border-radius:var(--nx-holo-radius-sm);cursor:pointer;transition:background var(--nx-holo-transition-fast),border-color var(--nx-holo-transition-fast)}.permission-chip:hover{background:var(--nx-holo-glass-highlight);border-color:var(--nx-holo-glass-border)}.permission-chip .form-check-input{width:18px;height:18px;margin:0;flex-shrink:0;background:var(--nx-holo-bg-elevated);border:2px solid var(--nx-holo-glass-border);border-radius:var(--nx-radius-sm);cursor:pointer;transition:background var(--nx-holo-transition-fast),border-color var(--nx-holo-transition-fast),box-shadow var(--nx-holo-transition-fast)}.permission-chip .form-check-input:hover{border-color:var(--nx-holo-glass-highlight)}.permission-chip .form-check-input:checked{background:rgba(74,222,128,0.2);border-color:#475569;box-shadow:0 0 12px rgba(74,222,128,0.3)}.permission-chip .form-check-input:checked::before{content:"\2713";display:flex;align-items:center;justify-content:center;color:#475569;font-size:var(--nx-font-xs);font-weight:bold}.permission-chip .form-check-input:focus{box-shadow:0 0 0 3px rgba(74,222,128,0.15);outline:none}.permission-chip .form-check-label{color:var(--nx-holo-text-secondary);font-size:0.85rem;font-weight:500;cursor:pointer;transition:color var(--nx-holo-transition-fast)}.permission-chip:hover .form-check-label{color:var(--nx-holo-text-primary)}.permission-chip:has(.form-check-input:checked) .form-check-label{color:var(--nx-holo-text-primary)}.accordion-item{background:transparent;border:1px solid var(--nx-holo-glass-border);border-radius:var(--nx-holo-radius-md);margin-bottom:0.5rem;overflow:hidden}.accordion-button{background:linear-gradient( 145deg,rgba(22,22,32,0.9) 0%,rgba(16,16,24,0.95) 100% );color:var(--nx-holo-text-primary);font-weight:600;padding:1rem 1.25rem;border:none;box-shadow:none}.accordion-button:not(.collapsed){background:linear-gradient( 145deg,rgba(28,28,40,0.95) 0%,rgba(20,20,30,0.98) 100% );color:var(--nx-holo-text-primary);box-shadow:inset 0 -1px 0 var(--nx-holo-glass-border)}.accordion-button:focus{box-shadow:0 0 0 3px rgba(255,255,255,0.05);outline:none}.accordion-button::after{filter:invert(0.7)}.accordion-body{background:rgba(12,12,18,0.6);padding:1.25rem;border-top:1px solid var(--nx-holo-glass-border)}[data-theme="light"] .permission-card{background:linear-gradient( 145deg,rgba(255,255,255,0.9) 0%,rgba(248,250,252,0.95) 100% );border-color:rgba(0,0,0,0.08)}[data-theme="light"] .permission-card-title{color:#1e293b;border-bottom-color:rgba(0,0,0,0.08)}[data-theme="light"] .permission-chip{background:rgba(0,0,0,0.02)}[data-theme="light"] .permission-chip:hover{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.08)}[data-theme="light"] .permission-chip .form-check-input{background:#ffffff;border-color:rgba(0,0,0,0.15)}[data-theme="light"] .permission-chip .form-check-input:checked{background:rgba(148,163,184,0.15);border-color:#334155}[data-theme="light"] .permission-chip .form-check-label{color:#475569}[data-theme="light"] .permission-chip:hover .form-check-label,[data-theme="light"] .permission-chip:has(.form-check-input:checked) .form-check-label{color:#1e293b}[data-theme="light"] .accordion-item{border-color:rgba(0,0,0,0.08)}[data-theme="light"] .accordion-button{background:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%);color:#1e293b}[data-theme="light"] .accordion-button:not(.collapsed){background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%)}[data-theme="light"] .accordion-button::after{filter:none}[data-theme="light"] .accordion-body{background:#fafafa;border-top-color:rgba(0,0,0,0.06)}@media (max-width:768px){.legacy-permissions-grid{grid-template-columns:1fr;gap:0.75rem}.permission-card{padding:0.875rem 1rem}.permission-chip{padding:0.625rem 0.75rem}}.map-container{height:350px;border-radius:var(--nx-radius-sm);background:var(--nx-holo-bg-surface,#f0f0f0)}[data-theme="light"] .map-container{background:#f0f0f0}.sticky-table-header{position:sticky;top:0;z-index:10;background:var(--nx-holo-bg-surface,#1a1a24)}[data-theme="light"] .sticky-table-header{background:#f8f9fa}.cve-toolbar{background:var(--nx-holo-bg-elevated,#22222e);border-bottom:1px solid var(--nx-holo-glass-border,rgba(255,255,255,0.08))}[data-theme="light"] .cve-toolbar{background:#f8f9fa;border-bottom-color:rgba(0,0,0,0.08)}:focus-visible{outline:2px solid var(--nx-holo-text-primary,#f4f4f5);outline-offset:2px}[data-theme="light"]:focus-visible{outline-color:#1e293b}:focus:not(:focus-visible){outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,[role="link"]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--nx-holo-text-primary,#f4f4f5);outline-offset:2px;border-radius:var(--nx-radius-sm)}[data-theme="light"] a:focus-visible,[data-theme="light"] button:focus-visible,[data-theme="light"] input:focus-visible,[data-theme="light"] select:focus-visible,[data-theme="light"] textarea:focus-visible,[data-theme="light"] [role="button"]:focus-visible,[data-theme="light"] [role="link"]:focus-visible,[data-theme="light"] [tabindex]:focus-visible{outline-color:#1e293b}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px rgba(37,99,235,0.25)}.card-legacy:focus-visible,.holo-card:focus-visible,.app-card:focus-visible{outline:2px solid rgba(255,255,255,0.4);outline-offset:2px}[data-theme="light"] .card-legacy:focus-visible,[data-theme="light"] .holo-card:focus-visible,[data-theme="light"] .app-card:focus-visible{outline-color:#1e293b}.list-group-item:focus-visible{position:relative;z-index:1;outline:2px solid var(--nx-holo-text-primary,#f4f4f5);outline-offset:-2px}[data-theme="light"] .list-group-item:focus-visible{outline-color:#1e293b}.login-page-v2{position:relative;min-height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem 5rem;background:linear-gradient(135deg,var(--nx-bg) 0%,var(--nx-bg-tertiary) 100%)}.login-page-v2::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 30% 20%,var(--nx-fill) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(51,65,85,0.12) 0%,transparent 50%);z-index:0}.login-glow-orb{position:fixed;border-radius:var(--nx-radius-circle);filter:blur(80px);pointer-events:none;z-index:0}.login-glow-orb-tr{top:-10rem;right:-10rem;width:20rem;height:20rem;background:var(--nx-fill)}.login-glow-orb-bl{bottom:-10rem;left:-10rem;width:24rem;height:24rem;background:var(--nx-fill-secondary)}.login-glow-orb-center{top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:var(--nx-fill-secondary);filter:blur(100px)}[data-theme="dark"] .login-glow-orb-tr{background:rgba(51,65,85,0.25)}[data-theme="dark"] .login-glow-orb-center{background:rgba(51,65,85,0.15)}.login-hero-v2{text-align:center;margin-bottom:2.5rem;position:relative;z-index:1}.login-title-v2{font-size:2.5rem;font-weight:700;color:var(--nx-text);margin:0 0 1rem 0;letter-spacing:-0.025em}@media (min-width:768px){.login-title-v2{font-size:3rem}}.login-title-accent{background:linear-gradient(135deg,var(--nx-accent-light) 0%,var(--nx-accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle-v2{font-size:1.125rem;color:var(--nx-text-secondary);margin:0}.login-card-v2{width:100%;max-width:28rem;position:relative;z-index:1}.login-card-inner{background:var(--nx-card-bg);border:1px solid var(--nx-separator);border-radius:var(--nx-radius-lg);padding:2rem;backdrop-filter:var(--nx-glass-blur);-webkit-backdrop-filter:var(--nx-glass-blur);box-shadow:var(--nx-shadow-xl)}.login-card-title-v2{font-size:var(--nx-font-xl);font-weight:600;color:var(--nx-text);margin:0 0 0.5rem 0;text-align:center}.login-card-desc{font-size:var(--nx-font-sm);color:var(--nx-text-secondary);margin:0 0 2rem 0;text-align:center}.btn-google-v2{display:flex;align-items:center;justify-content:center;gap:0.75rem;width:100%;padding:0.875rem 1.5rem;background:#ffffff;color:#1e293b;font-weight:500;font-size:var(--nx-font-base);border:none;border-radius:var(--nx-radius-md);cursor:pointer;transition:all var(--nx-transition-base);text-decoration:none;box-shadow:var(--nx-shadow-md)}.btn-google-v2:hover{background:#ffffff;box-shadow:0 0 40px rgba(148,163,184,0.35),var(--nx-shadow-md);color:#1e293b;text-decoration:none;transform:scale(1.02)}.login-divider-v2{height:1px;background:var(--nx-separator);margin:1.5rem 0}.login-auth-notice{display:flex;align-items:center;justify-content:center;gap:0.5rem;font-size:var(--nx-font-sm);color:var(--nx-text-secondary)}.login-shield-icon{width:1rem;height:1rem;color:var(--nx-accent)}.login-footer-v2{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2rem;font-size:var(--nx-font-sm);position:relative;z-index:1}.login-footer-v2 a{color:var(--nx-text-secondary);text-decoration:none;transition:opacity var(--nx-transition-fast)}.login-footer-v2 a:hover{opacity:0.7}.login-footer-dot{width:4px;height:4px;border-radius:var(--nx-radius-circle);background:var(--nx-separator-opaque)}@media (max-width:576px){.login-title-v2{font-size:1.875rem}.login-card-inner{padding:1.5rem}.login-footer-v2{flex-wrap:wrap;gap:1rem}}.login-page{max-width:560px;margin:0 auto;padding:1rem}.login-hero{position:relative;background:linear-gradient(135deg,rgba(240,253,244,0.95) 0%,rgba(255,255,255,0.98) 100%);border:1px solid rgba(148,163,184,0.25);border-radius:var(--nx-radius-xl);padding:2rem;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,0.05),0 10px 20px rgba(0,0,0,0.08),0 25px 50px rgba(0,0,0,0.1)}[data-theme="dark"] .login-hero{background:linear-gradient(135deg,rgba(30,41,59,0.95) 0%,rgba(15,23,42,0.98) 100%);box-shadow:0 4px 6px rgba(0,0,0,0.1),0 10px 20px rgba(0,0,0,0.15),0 25px 50px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05)}.login-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#334155,#475569,#15803d,#334155);background-size:300% 100%;animation:loginGradientShift 6s ease infinite}@keyframes loginGradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.login-hero-glow{position:absolute;top:-50%;left:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(148,163,184,0.15) 0%,transparent 70%);pointer-events:none}.login-hero-glow-right{left:auto;right:-20%;background:radial-gradient(ellipse,rgba(217,119,6,0.12) 0%,transparent 70%)}.login-hero-centered .login-hero-content{flex-direction:column;text-align:center}.login-hero-content{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.login-hero-title{font-size:1.75rem;font-weight:700;color:var(--nx-text-strong);margin:0 0 0.5rem 0;letter-spacing:-0.02em;text-shadow:0 2px 4px rgba(0,0,0,0.3)}.login-hero-title-holo{background:linear-gradient( 135deg,#f1f5f9 0%,#475569 25%,#f1f5f9 50%,#334155 75%,#f1f5f9 100% );background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:holoTextShimmer 4s linear infinite}@keyframes holoTextShimmer{0%{background-position:0% center}100%{background-position:200% center}}.login-hero-tagline{font-size:var(--nx-font-base);color:var(--nx-text-tertiary);margin:0 0 1rem 0;letter-spacing:0.05em;text-transform:uppercase;font-weight:500}.login-hero-line{width:80px;height:3px;margin:0 auto;background:linear-gradient(90deg,#334155,#475569,#334155);background-size:200% 100%;border-radius:var(--nx-radius-sm);animation:loginGradientShift 3s ease infinite;box-shadow:0 0 10px rgba(148,163,184,0.5)}.login-card-title{font-size:var(--nx-font-xl);font-weight:600;color:var(--nx-holo-text-primary);margin-bottom:0.5rem}@media (max-width:576px){.login-hero-content{flex-direction:column;text-align:center}.login-hero-title{font-size:var(--nx-font-xl)}}.kpi-tier-card{border-radius:var(--nx-radius-sm);padding:12px 16px;margin-bottom:10px;border:1.5px solid #dee2e6;background:#f8f9fa;transition:box-shadow 0.4s ease,border-color 0.4s ease,opacity 0.4s ease;position:relative;overflow:hidden}[data-theme="dark"] .kpi-tier-card{border-color:rgba(148,163,184,0.2);background:rgba(19,27,46,0.7)}.kpi-tier-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;opacity:0;transition:opacity 0.4s ease}.kpi-tier-card.tier-active::before{opacity:1}.kpi-tier-card.tier-active.tier-green{background:rgba(25,135,84,0.07);border:2px solid #198754;box-shadow:0 0 12px rgba(25,135,84,0.15)}[data-theme="dark"] .kpi-tier-card.tier-active.tier-green{background:rgba(25,135,84,0.15);box-shadow:0 0 20px rgba(25,135,84,0.3)}.kpi-tier-card.tier-active.tier-green::before{background:linear-gradient(90deg,transparent,#198754,transparent)}.kpi-tier-card.tier-active.tier-amber{background:rgba(255,193,7,0.07);border:2px solid #e5a100;box-shadow:0 0 12px rgba(255,193,7,0.15)}[data-theme="dark"] .kpi-tier-card.tier-active.tier-amber{background:rgba(255,193,7,0.12);box-shadow:0 0 20px rgba(255,193,7,0.25)}.kpi-tier-card.tier-active.tier-amber::before{background:linear-gradient(90deg,transparent,#ffc107,transparent)}.kpi-tier-card.tier-active.tier-base{border:2px solid #6c757d;background:rgba(108,117,125,0.05)}.kpi-tier-card.tier-active.tier-base::before{background:linear-gradient(90deg,transparent,#6c757d,transparent)}.kpi-tier-card.tier-passed{opacity:0.55}.kpi-tier-card.tier-locked{border:1.5px dashed #ced4da;background:transparent;opacity:0.5}[data-theme="dark"] .kpi-tier-card.tier-locked{border-color:rgba(148,163,184,0.15)}.kpi-tier-label{font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.kpi-tier-bonus{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums}.kpi-tier-desc{font-size:0.82rem;margin-top:2px}.kpi-gauge-track{height:12px;border-radius:var(--nx-radius-sm);background:var(--nx-bg-tertiary);position:relative;overflow:visible}.kpi-gauge-fill{height:100%;border-radius:var(--nx-radius-sm);min-width:8px;transition:width 0.8s cubic-bezier(0.4,0,0.2,1)}.kpi-gauge-marker{position:absolute;top:-4px;width:2px;height:20px;border-radius:var(--nx-radius-sm);z-index:2}.kpi-gauge-marker-label{position:absolute;top:20px;font-size:0.65rem;font-weight:700;transform:translateX(-50%)}.kpi-gauge-fill-success{background:linear-gradient(90deg,var(--nx-green),var(--nx-green-soft))}.kpi-gauge-fill-warning{background:linear-gradient(90deg,var(--nx-orange),var(--nx-yellow))}.kpi-gauge-fill-muted{background:linear-gradient(90deg,#6c757d,#adb5bd)}[data-theme="dark"] .kpi-gauge-fill-muted{background:linear-gradient(90deg,#9ca3af,#6b7280)}.kpi-gauge-marker-warning{background:var(--nx-orange);opacity:0.8}.kpi-gauge-marker-success{background:var(--nx-green);opacity:0.8}.period-stats-panel{padding:1rem;border-radius:var(--nx-radius-sm);background:#f8f9fa;border:1px solid #dee2e6}[data-theme="dark"] .period-stats-panel{background:rgba(19,27,46,0.9);border-color:rgba(148,163,184,0.12)}.section-hub-grid{display:grid;grid-template-columns:1fr;gap:1rem;padding:0.5rem 0}@media (min-width:768px){.section-hub-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.section-hub-grid{grid-template-columns:repeat(3,1fr)}}a.section-hub-card,a.section-hub-card:link,a.section-hub-card:visited,a.section-hub-card:hover,a.section-hub-card:active{color:var(--nx-text);text-decoration:none}.section-hub-card{display:block;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--nx-radius-lg);padding:1.25rem 1.5rem;transition:all 0.2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.section-hub-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,0.2);box-shadow:0 8px 24px rgba(0,0,0,0.15)}.section-hub-card:active{transform:scale(0.98)}.section-hub-card *{color:inherit}[data-theme="light"] .section-hub-card{background:#f8fafc;border-color:rgba(0,0,0,0.1);box-shadow:0 1px 4px rgba(0,0,0,0.08)}[data-theme="light"] .section-hub-card:hover{background:#fff;border-color:rgba(0,0,0,0.15);box-shadow:0 8px 24px rgba(0,0,0,0.1)}.section-hub-card-inner{display:flex;align-items:center;gap:1rem}.section-hub-icon{width:52px;height:52px;border-radius:var(--nx-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--nx-font-2xl)}.section-hub-body{flex:1;min-width:0}.section-hub-label{font-size:1.05rem;font-weight:700;margin:0 0 0.2rem;letter-spacing:-0.01em}.section-hub-desc{font-size:0.82rem;opacity:0.7;margin:0 0 0.35rem;line-height:1.3}.section-hub-count{font-size:var(--nx-font-xs);font-weight:600;opacity:0.5;text-transform:uppercase;letter-spacing:0.04em}.section-hub-chevron{flex-shrink:0;opacity:0.4;font-size:1.1rem;transition:transform 0.2s ease}.section-hub-card:hover .section-hub-chevron{opacity:0.7;transform:translateX(3px)}.section-landing-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.25rem 1.5rem;border-radius:var(--nx-radius-lg);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1)}[data-theme="light"] .section-landing-header{background:#f8fafc;border-color:rgba(0,0,0,0.1)}.section-landing-icon{width:56px;height:56px;border-radius:var(--nx-radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.6rem}.section-landing-title{font-size:1.4rem;font-weight:700;margin:0 0 0.15rem;letter-spacing:-0.02em}.section-landing-desc{font-size:0.9rem;opacity:0.65;margin:0}.section-group{margin-bottom:2rem}.section-group:last-child{margin-bottom:0}.section-color-blue .section-hub-icon,.section-color-blue .section-landing-icon{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff}.section-color-blue:hover{border-color:rgba(59,130,246,0.3)}.section-color-orange .section-hub-icon,.section-color-orange .section-landing-icon{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff}.section-color-orange:hover{border-color:rgba(245,158,11,0.3)}.section-color-green .section-hub-icon,.section-color-green .section-landing-icon{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff}.section-color-green:hover{border-color:rgba(16,185,129,0.3)}.section-color-indigo .section-hub-icon,.section-color-indigo .section-landing-icon{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:#fff}.section-color-indigo:hover{border-color:rgba(99,102,241,0.3)}.section-color-cyan .section-hub-icon,.section-color-cyan .section-landing-icon{background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 100%);color:#fff}.section-color-cyan:hover{border-color:rgba(34,211,238,0.3)}.section-color-purple .section-hub-icon,.section-color-purple .section-landing-icon{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff}.section-color-purple:hover{border-color:rgba(139,92,246,0.3)}.section-color-teal .section-hub-icon,.section-color-teal .section-landing-icon{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:#fff}.section-color-teal:hover{border-color:rgba(6,182,212,0.3)}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header-icon{width:46px;height:46px;border-radius:var(--nx-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.35rem;color:#fff}.page-header-title{font-size:1.3rem;font-weight:700;margin:0;letter-spacing:-0.01em}.page-header-desc{font-size:var(--nx-font-sm);opacity:0.6;margin:0.1rem 0 0}.page-icon-blue .page-header-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.page-icon-orange .page-header-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.page-icon-green .page-header-icon{background:linear-gradient(135deg,#10b981,#059669)}.page-icon-purple .page-header-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.page-icon-teal .page-header-icon{background:linear-gradient(135deg,#06b6d4,#0891b2)}.page-icon-red .page-header-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.page-icon-cyan .page-header-icon{background:linear-gradient(135deg,#22d3ee,#06b6d4)}.page-icon-indigo .page-header-icon{background:linear-gradient(135deg,#6366f1,#4f46e5)}.page-icon-slate .page-header-icon{background:linear-gradient(135deg,#64748b,#475569)}.page-icon-rose .page-header-icon{background:linear-gradient(135deg,#f43f5e,#e11d48)}}