*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f5f5f7;--color-surface:#fff;--color-border:#e1e1e3;--color-text:#1d1d1f;--color-text-secondary:#6e6e73;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-danger:#dc2626;--color-success:#16a34a;--color-warning:#d97706;--sidebar-width:240px;--radius:6px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", monospace}html{font-size:14px}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:10;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--color-border);align-items:baseline;gap:8px;padding:20px;display:flex}.sidebar-logo{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.sidebar-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);font-size:.7rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px;display:flex}.nav-link{border-radius:var(--radius);color:var(--color-text-secondary);padding:8px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .1s,color .1s;display:block}.nav-link:hover{background:var(--color-bg);color:var(--color-text)}.nav-link.active{background:var(--color-primary);color:#fff}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;padding:16px 20px;display:flex}.sidebar-admin{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.sidebar-logout{color:var(--color-text-secondary);cursor:pointer;text-align:left;font-size:.8rem;font-family:var(--font);background:0 0;border:none;padding:0}.sidebar-logout:hover{color:var(--color-danger)}.main-content{margin-left:var(--sidebar-width);flex:1;max-width:1200px;padding:32px}.page{animation:.15s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.02em;margin-bottom:24px;font-size:1.5rem;font-weight:700}.page-back{margin-bottom:16px}.page-loading{text-align:center;color:var(--color-text-secondary);padding:48px 0}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:380px;padding:40px}.login-title{text-align:center;margin-bottom:4px;font-size:1.5rem;font-weight:700}.login-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:28px;font-size:.9rem}.login-form,.create-form{flex-direction:column;gap:16px;margin-bottom:16px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-label{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;display:flex}.form-input{border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;font-family:var(--font);background:var(--color-bg);color:var(--color-text);outline:none;padding:8px 12px;transition:border-color .15s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.form-error{color:var(--color-danger);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;font-size:.85rem}.btn{border:1px solid var(--color-border);border-radius:var(--radius);font-size:.85rem;font-weight:500;font-family:var(--font);background:var(--color-surface);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:8px 16px;text-decoration:none;transition:background .1s,border-color .1s;display:inline-flex}.btn:hover{background:var(--color-bg);border-color:#c7c7cc}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-small{padding:4px 10px;font-size:.8rem}.btn-danger{color:var(--color-danger);border-color:#fecaca}.btn-danger:hover{border-color:var(--color-danger);background:#fef2f2}.filter-bar{gap:12px;margin-bottom:20px;display:flex}.filter-select{min-width:160px}.filter-search{flex:1;max-width:320px}.data-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:.8rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:.9rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8f8fa}.cell-mono{font-family:var(--font-mono);font-size:.85rem}.status-badge{border-radius:999px;align-items:center;padding:2px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.status-draft{color:#374151;background:#f3f4f6}.status-approved{color:#1e40af;background:#dbeafe}.status-provisioning,.status-verification{color:#92400e;background:#fef3c7}.status-ready,.status-active{color:#065f46;background:#d1fae5}.status-failed{color:#991b1b;background:#fee2e2}.status-suspended{color:#9d174d;background:#fce7f3}.status-archived{color:#6b7280;background:#f3f4f6}.stat-cards{flex-wrap:wrap;gap:12px;display:flex}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:4px;min-width:120px;padding:16px 20px;display:flex}.stat-count{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.stat-label{text-transform:capitalize;font-size:.8rem;font-weight:500}.dashboard-section{margin-bottom:32px}.section-title{color:var(--color-text);margin-bottom:12px;font-size:1rem;font-weight:600}.firm-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.firm-slug{color:var(--color-text-secondary);font-family:var(--font-mono);margin-top:-16px;margin-bottom:4px;font-size:.85rem}.detail-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.detail-list{grid-template-columns:120px 1fr;gap:8px 16px;display:grid}.detail-list dt{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.detail-list dd{font-size:.9rem}.action-buttons{flex-wrap:wrap;gap:8px;display:flex}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:16px;padding:12px;display:flex}.pagination-btn{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.85rem;font-family:var(--font);padding:6px 14px}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:var(--color-text-secondary);font-size:.85rem}.empty-state{color:var(--color-text-secondary);padding:24px 0;font-size:.9rem}
