:root{--bg: #f3f5f9;--surface: #ffffff;--surface-muted: #f8fafc;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--primary: #2563eb;--primary-strong: #1d4ed8;--danger: #dc2626;--danger-strong: #b91c1c;--success: #15803d;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.admin-shell{max-width:520px;margin:0 auto;min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-card{width:min(420px,100%);border-radius:16px;box-shadow:0 12px 30px #0f172a1f;padding:24px}.admin-login-logo{width:84px;height:84px;display:block;margin:0 auto 12px}.admin-login-title{margin:0 0 8px;text-align:center}.admin-login-subtitle{margin-bottom:16px;text-align:center}.admin-login-form{display:grid;gap:12px}.admin-layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.admin-sidebar{background:#0f172a;color:#cbd5e1;padding:24px 16px;border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;height:100vh}.admin-sidebar__brand{color:#fff;font-size:18px;font-weight:700;letter-spacing:.2px;margin-bottom:20px}.admin-sidebar__nav{display:grid;gap:6px}.admin-sidebar__link{text-decoration:none;color:#cbd5e1;font-size:14px;padding:10px 12px;border-radius:10px;transition:background-color .2s ease,color .2s ease}.admin-sidebar__link:hover{background:#94a3b829;color:#fff}.admin-sidebar__link.active{background:#2563eb2e;color:#fff}.admin-main{min-width:0}.admin-topbar{position:sticky;top:0;z-index:40;background:#f3f5f9f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-topbar__kicker{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.admin-topbar__title{margin:2px 0 0;font-size:24px;line-height:1.2;font-weight:700}.admin-navbar__right{position:relative}.admin-content{max-width:1200px;margin:0 auto;width:100%;padding:24px;display:grid;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}h1,h2,h3,h4{margin-top:0;color:var(--text)}h3{font-size:18px;margin-bottom:12px}h4{font-size:15px;margin-bottom:10px}.row,.row-4{display:grid;gap:12px;margin-bottom:12px}.row{grid-template-columns:repeat(2,minmax(0,1fr))}.row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--text-muted);font-weight:600}.input,input,select,textarea,button{width:100%;font:inherit;border-radius:10px;border:1px solid var(--border);transition:all .2s ease}.input,input,select,textarea{background:#fff;color:var(--text);padding:10px 12px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px;border-color:var(--primary)}textarea{min-height:84px;resize:vertical}button{background:var(--primary);border-color:var(--primary);color:#fff;padding:10px 14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}button:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong)}button:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:#fff;border-color:var(--border);color:#334155}.btn-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:#cbd5e1}.btn-danger{background:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}.btn-inline{width:auto;padding:7px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.btn-icon-only{padding:7px;gap:0;position:relative}.btn-auto{width:auto}.btn-icon-only[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 6px);background:#0f172a;color:#fff;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1;white-space:nowrap;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:5}.btn-icon-only[data-tooltip]:hover:after,.btn-icon-only[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.btn-icon{width:14px;height:14px;display:inline-block}.admin-menu-toggle{width:auto;min-width:96px}.admin-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(340px,90vw);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:12px;display:grid;gap:8px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:640px}.table th,.table td{text-align:left;font-size:13px;padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{background:var(--surface-muted);color:#334155;font-size:12px;letter-spacing:.02em;text-transform:uppercase}.table-sort-btn{width:auto;display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;color:inherit;box-shadow:none;border-radius:0;font:inherit;text-transform:inherit;letter-spacing:inherit}.table-sort-btn:hover:not(:disabled){background:transparent;border-color:transparent;color:#0f172a}.table-sort-indicator{font-size:11px;color:#64748b}.table th.actions-header,.table td.actions-cell{text-align:right}.table td.actions-cell{white-space:nowrap}.table td.actions-cell .btn-inline+.btn-inline{margin-left:6px}.table tbody tr{transition:background-color .18s ease}.table tbody tr:hover{background:#f8fafc}.table tbody tr.user-row{cursor:pointer}.table tbody tr:last-child td{border-bottom:none}.empty-state{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:14px}.small{font-size:13px;color:var(--text-muted)}.table-link-btn{width:auto;padding:0;background:transparent;border:none;color:var(--primary-strong);box-shadow:none;font-weight:600;text-align:left}.table-link-btn:hover:not(:disabled){background:transparent;color:var(--primary)}.error,.success{padding:10px 12px;border-radius:10px;font-size:13px;border:1px solid transparent}.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.toast-stack{position:fixed;top:16px;right:16px;z-index:1100;display:grid;gap:8px;width:min(420px,calc(100vw - 32px))}.toast-item{margin:0;box-shadow:var(--shadow-md);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:grid;place-items:center;z-index:1000;padding:20px}.modal-card{width:min(780px,100%);background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:52px 20px 20px;max-height:calc(100vh - 40px);overflow-y:auto;position:relative}.modal-close{position:absolute;top:10px;right:10px;width:auto;min-width:28px;height:28px;padding:0 8px;border-radius:8px;background:transparent;border:none;color:#94a3b8;box-shadow:none}.modal-close:hover:not(:disabled){background:#f8fafc;color:#64748b}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-toolbar__actions{display:inline-flex;align-items:center;gap:8px}.modal-actions{margin-top:12px}.modal-form-stack{display:grid;gap:12px}.modal-form-stack .row,.modal-form-stack .row-4,.modal-form-stack .modal-actions{margin-bottom:0;margin-top:0}.company-form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px}.company-form-main{display:grid;gap:12px}.company-form-main .row{margin-bottom:0}.company-logo-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface-muted);padding:12px}.company-actions{margin-top:12px}.user-detail-header{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-muted);margin-bottom:12px}.tabs-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab-btn{width:auto;background:#fff;color:#334155;border-color:var(--border);box-shadow:none}.tab-btn.active{background:color-mix(in srgb,var(--primary) 12%,white);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:#0f172a}.section-card{margin-top:8px}.section-form{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.toggle-group{display:inline-flex;gap:8px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip-btn{width:auto;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;color:#334155;font-size:12px;font-weight:600;box-shadow:none}.chip-btn.active{background:color-mix(in srgb,var(--primary) 12%,white);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:#0f172a}.chart-surface{width:100%;height:360px;border:1px solid var(--border);border-radius:12px;background:#fff}.company-logo-preview-wrap{margin-top:6px;width:200px;height:200px;border:1px dashed var(--border);border-radius:12px;display:grid;place-items:center;background:#fff;overflow:hidden}.company-logo-preview{max-width:100%;max-height:100%;object-fit:contain}.imports-grid{display:grid;gap:12px;grid-template-columns:1fr;margin-top:12px}.imports-item{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-muted);display:grid;gap:10px;align-content:start}.loading-state{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:pulse .9s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}@media (max-width: 1100px){.admin-layout{grid-template-columns:88px 1fr}.admin-sidebar__brand{font-size:13px}.admin-sidebar__link{font-size:12px;text-align:center;padding:10px 8px}}@media (max-width: 900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:12px;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.admin-sidebar__brand{margin-bottom:10px}.admin-sidebar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-topbar{position:static;padding:14px 16px}.admin-content{padding:16px}.row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.row,.row-4,.admin-sidebar__nav,.company-form-grid{grid-template-columns:1fr}.admin-topbar__title{font-size:20px}.card,.modal-card{padding:16px}}
