:root{color-scheme:light;--bg: #f3f5f8;--surface: #ffffff;--surface-muted: #eef2f7;--text: #122033;--text-muted: #5c6b80;--border: #d7deea;--primary: #163b65;--primary-hover: #0f2c4c;--accent: #1f6f8b;--danger: #b42318;--success: #067647;--warning: #b54708;--shadow: 0 10px 30px rgba(18, 32, 51, .06);--radius: 12px;--sidebar-width: 248px;--header-height: 64px;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text)}a{color:inherit}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:12px;top:-40px;background:var(--primary);color:#fff;padding:8px 12px;border-radius:8px;z-index:20}.skip-link:focus{top:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr}.app-header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}.brand-mark{width:32px;height:32px;border-radius:8px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:13px}.header-actions{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:14px}.menu-toggle{display:none;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px;cursor:pointer}.app-sidebar{background:#10243d;color:#e8eef6;padding:20px 14px}.nav-label{margin:0 10px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#9db0c7}.nav-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.nav-link{display:block;text-decoration:none;padding:10px 12px;border-radius:8px;color:#e8eef6}.nav-link:hover,.nav-link.active{background:#ffffff1a}.nav-hint{margin:18px 10px 0;font-size:12px;color:#8ea0b8;line-height:1.45}.app-main{padding:24px}.page{max-width:1080px}.page h1{margin:0 0 8px;font-size:28px}.page p.lead{margin:0 0 20px;color:var(--text-muted)}.card,.table-foundation,.form-foundation{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card,.card+.table-foundation,.table-foundation+.form-foundation{margin-top:16px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stat{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted)}.stat span{display:block;color:var(--text-muted);font-size:13px;margin-bottom:6px}.stat strong{font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.status-ok{color:var(--success)}.status-bad{color:var(--danger)}.loader,.error-state,.not-found{display:grid;gap:12px;justify-items:start}.spinner{width:28px;height:28px;border:3px solid #d5deea;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.page-loader{min-height:180px;display:grid;place-items:center;gap:10px}@keyframes spin{to{transform:rotate(360deg)}}.table-foundation table{width:100%;border-collapse:collapse}.table-foundation th,.table-foundation td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:14px}.form-foundation label{display:grid;gap:6px;margin-bottom:12px;font-size:14px}.form-foundation input{min-height:40px;border:1px solid var(--border);border-radius:8px;padding:0 10px}.backdrop{display:none}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.app-sidebar{position:fixed;inset:var(--header-height) auto 0 0;width:min(84vw,280px);transform:translate(-110%);transition:transform .2s ease;z-index:8}.app-sidebar.open{transform:translate(0)}.backdrop{display:block;position:fixed;inset:var(--header-height) 0 0 0;background:#10243d59;border:0;z-index:7}}@media(max-width:640px){.app-main{padding:16px}.page h1{font-size:24px}}.btn-danger{background:var(--danger);color:#fff}.sa-login{min-height:100vh;display:grid;place-items:center;padding:24px}.sa-login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.sa-login-card h1{margin:0 0 8px}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.form-error{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:8px;padding:10px 12px}.form-success{color:var(--success);background:#edfcf2;border:1px solid #abefc6;border-radius:8px;padding:10px 12px}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600}.status-active{background:#edfcf2;color:var(--success)}.status-inactive{background:#f2f4f7;color:var(--text-muted)}.status-suspended{background:#fffaeb;color:var(--warning)}.filter-row{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px}.filter-row input,.filter-row select{min-width:180px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.filter-bar,.form-grid,.detail-grid,.pagination,.row-actions,.dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.filter-bar{margin-bottom:16px}.filter-bar label,.form-grid label{display:grid;gap:6px;min-width:180px;flex:1}.filter-bar input,.filter-bar select,.form-foundation select{min-height:40px;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:#fff}.row-actions{align-items:center}.row-actions a,.link-button{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline}.permission-matrix{display:grid;gap:16px;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.permission-module{display:grid;gap:8px}.permission-module h2{margin:0;font-size:1rem}.permission-module label{display:flex;align-items:center;gap:8px}.module-pending{color:var(--muted, #667085);font-weight:400;font-size:.85rem}.empty-state{padding:24px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted)}.pagination{justify-content:flex-end;align-items:center;margin-top:16px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.detail-grid dt{color:var(--text-muted);font-size:13px}.detail-grid dd{margin:4px 0 0}.dialog-backdrop{position:fixed;inset:0;background:#10243d66;display:grid;place-items:center;z-index:30}.dialog{width:min(440px,calc(100vw - 32px));background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.dialog-actions{justify-content:flex-end;margin-top:16px}.tab-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab-button{min-height:36px;padding:0 12px;border:1px solid var(--border);background:var(--surface);border-radius:999px;cursor:pointer}.tab-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.form-section h2,.card h3{margin:0 0 12px;font-size:16px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.field-error,.form-error{color:var(--danger);font-size:13px}.form-success{color:var(--success)}.hint{color:var(--text-muted);font-size:13px}.checkbox-row{display:flex;align-items:center;gap:8px;margin:12px 0}.completeness{list-style:none;padding:0;margin:0;display:grid;gap:6px}.company-hero{display:flex;gap:16px;align-items:center}.logo-frame,.logo-dot{width:56px;height:56px;border-radius:12px;background:var(--surface-muted);display:grid;place-items:center;overflow:hidden;font-weight:700}.logo-dot{width:32px;height:32px;border-radius:8px;font-size:13px}.logo-frame img{width:100%;height:100%;object-fit:cover}.table-responsive{overflow-x:auto}.activity-list{margin:0;padding-left:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.status-draft{background:#f2f4f7;color:var(--text-muted)}.status-complete{background:#ecfdf3;color:var(--success)}.status-trial,.status-scheduled{background:#eef4ff;color:#3451b2}.status-expiring_soon{background:#fff6e5;color:#9a6700}.status-grace_period{background:#fff4e6;color:#b54708}.status-expired,.status-cancelled{background:#fef3f2;color:#b42318}.dialog-wide{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.checkbox-row{display:flex;align-items:center;gap:8px;min-width:180px}.full-width{flex:1 1 100%}.muted{color:var(--text-muted);font-size:13px}@media(max-width:700px){.section-head{flex-direction:column}.table-foundation table{min-width:720px}}
