*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0f1117;--bg-secondary:#1a1d27;--bg-card:#1e2130;--bg-card-hover:#252838;--bg-input:#161822;--border:#2a2d3a;--border-hover:#3a3d4a;--text-primary:#e4e6f0;--text-secondary:#9ca0b0;--text-muted:#6b7084;--accent:#6366f1;--accent-light:#818cf8;--accent-bg:#6366f11f;--green:#22c55e;--green-bg:#22c55e1f;--orange:#f59e0b;--orange-bg:#f59e0b1f;--red:#ef4444;--red-bg:#ef44441f;--cyan:#06b6d4;--cyan-bg:#06b6d41f;--purple:#a855f7;--purple-bg:#a855f71f;--shadow:0 4px 24px #0000004d;--shadow-sm:0 2px 8px #0003;--radius:12px;--radius-sm:8px;--radius-xs:6px;--transition:.2s ease}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}a{color:var(--accent-light);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.login-page{background:radial-gradient(at 50% 0,#0c1929 0%,#080d16 60%,#060a10 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{text-align:center;background:linear-gradient(145deg,#0f172ae6,#0a101ef2);border:1px solid #6478a033;border-radius:20px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 0 60px #0006,0 0 120px #06326414,inset 0 1px #ffffff0a}.login-icon{color:#d4a844;background:linear-gradient(135deg,#d4a84420,#c8851830);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;display:flex}.login-title{color:#e8ecf4;margin-bottom:6px;font-size:1.5rem;font-weight:700}.login-subtitle{color:#7a8ba8;margin-bottom:32px;font-size:.85rem}.login-form{text-align:left;flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{letter-spacing:1.2px;color:#8899b0;font-size:.7rem;font-weight:600}.form-input{color:#d0d8e8;background:#080e1ab3;border:1px solid #506e9640;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:.9rem;transition:all .2s}.form-input:focus{border-color:#4a90c8;box-shadow:0 0 0 3px #4a90c81f}.form-input::placeholder{color:#4a5568}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:44px}.pw-toggle{color:#5a6a80;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.pw-toggle:hover{color:#8899b0}.login-error{color:#f87171;text-align:center;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;padding:10px 14px;font-size:.82rem}.login-btn{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#c8851a,#a06810);border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-size:.95rem;font-weight:600;transition:all .2s}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#d4952a,#b07818);transform:translateY(-1px);box-shadow:0 4px 20px #c8851a40}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;width:280px;transition:width var(--transition);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:64px;padding:20px 16px;display:flex}.sidebar-brand{color:var(--text-primary);align-items:center;gap:10px;font-size:1rem;font-weight:700;display:flex}.brand-icon{color:var(--accent)}.toggle-btn{color:var(--text-secondary);border-radius:var(--radius-xs);transition:all var(--transition);background:0 0;border:none;align-items:center;padding:6px;display:flex}.toggle-btn:hover{color:var(--text-primary);background:var(--accent-bg)}.sidebar.collapsed .toggle-btn{margin:0 auto}.sidebar-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:16px 16px 8px;font-size:.7rem;font-weight:600}.sidebar-nav{flex:1;padding:4px 8px;overflow-y:auto}.nav-item{width:100%;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition);text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-size:.875rem;display:flex}.nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.active{background:var(--accent-bg);color:var(--accent-light)}.nav-dot{background:var(--border);width:8px;height:8px;transition:background var(--transition);border-radius:50%;flex-shrink:0}.nav-item.active .nav-dot{background:var(--accent)}.nav-item:hover .nav-dot{background:var(--accent-light)}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.user-info{background:var(--bg-card);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;display:flex;overflow:hidden}.user-info svg{color:var(--accent);flex-shrink:0}.user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.logout-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;display:flex}.logout-btn:hover{background:var(--red-bg);border-color:var(--red);color:var(--red)}.logout-btn.icon-only{padding:8px}.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);overflow:hidden}.service-card:hover{border-color:var(--border-hover)}.service-card.expanded{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-bg)}.card-header{width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-header:hover{background:var(--bg-card-hover)}.card-title-row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.card-title{font-size:.95rem;font-weight:600;line-height:1.4}.category-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--purple-bg);color:var(--purple);border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.65rem;font-weight:600}.chevron{color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}.chevron.rotated{transform:rotate(180deg)}.card-body{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:16px 20px 20px;animation:.2s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.content-block p{color:var(--text-secondary);font-size:.875rem;line-height:1.7}.content-paragraph{background:var(--bg-primary);border-left:3px solid var(--accent);border-radius:var(--radius-xs);padding:12px 16px}.content-services{background:var(--purple-bg);border-left:3px solid var(--purple);border-radius:var(--radius-xs);padding:12px 16px}.content-services p{color:var(--text-primary)}.content-text{background:var(--bg-primary);border-radius:var(--radius-xs);border-left:3px solid var(--cyan);padding:10px 16px}.contact-section{background:var(--orange-bg);border-left:3px solid var(--orange);border-radius:var(--radius-xs);margin-top:8px;padding:16px}.contact-heading{color:var(--orange);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:.8rem;font-weight:600}.contact-line{color:var(--text-secondary);align-items:center;gap:8px;padding:4px 0;font-size:.85rem;display:flex}.contact-line svg{color:var(--orange);flex-shrink:0}.dashboard{max-width:1200px;margin:0 auto}.loading-state,.error-state{min-height:400px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.dash-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.dash-subtitle{color:var(--text-muted);margin-top:4px;font-size:.875rem}.export-group{gap:8px;display:flex}.export-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--transition);align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.export-btn:hover{background:var(--accent-bg);color:var(--accent-light);border-color:var(--accent)}.stats-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);align-items:center;gap:14px;padding:16px 20px;display:flex}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-accent .stat-icon{background:var(--accent-bg);color:var(--accent-light)}.stat-green .stat-icon{background:var(--green-bg);color:var(--green)}.stat-orange .stat-icon{background:var(--orange-bg);color:var(--orange)}.stat-cyan .stat-icon{background:var(--cyan-bg);color:var(--cyan)}.stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.2}.stat-label{color:var(--text-muted);margin-top:2px;font-size:.75rem}.search-bar{margin-bottom:20px;position:relative}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);transition:all var(--transition);outline:none;padding:12px 80px 12px 44px;font-size:.9rem}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-input::placeholder{color:var(--text-muted)}.search-clear{background:var(--accent-bg);color:var(--accent-light);border-radius:var(--radius-xs);border:none;padding:4px 12px;font-size:.75rem;font-weight:500;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.category-tabs{gap:6px;margin-bottom:24px;padding-bottom:4px;display:flex;overflow-x:auto}.cat-tab{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;transition:all var(--transition);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:500;display:inline-flex}.cat-tab:hover{border-color:var(--border-hover);color:var(--text-primary)}.cat-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.cat-count{background:#ffffff26;border-radius:999px;padding:1px 8px;font-size:.7rem}.cat-tab:not(.active) .cat-count{background:var(--bg-primary)}.services-grid{flex-direction:column;gap:12px;display:flex}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:.9rem;display:flex}.empty-icon{color:var(--border)}.search-results{flex-direction:column;gap:20px;display:flex}.search-summary{background:var(--accent-bg);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent-light);align-items:center;gap:8px;padding:12px 16px;font-size:.875rem;display:flex}.company-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.company-group-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-primary);align-items:center;gap:10px;padding:14px 20px;display:flex}.company-group-header h2{flex:1;font-size:1rem;font-weight:600}.company-group-header svg{color:var(--accent)}.group-count{color:var(--text-muted);background:var(--bg-card);border-radius:999px;padding:3px 10px;font-size:.75rem}.company-group .services-grid{gap:8px;padding:12px}.app-layout{min-height:100vh;display:flex}.main-content{transition:margin-left var(--transition);flex:1;min-width:0;margin-left:280px;padding:32px}.sidebar-collapsed .main-content{margin-left:64px}@media (width<=768px){.main-content{margin-left:0;padding:16px}}
