:root{--sc-primary-50: #e5e9ea;--sc-primary-100: #bec8cb;--sc-primary-200: #93a3a9;--sc-primary-300: #677e87;--sc-primary-400: #47626d;--sc-primary-500: #264653;--sc-primary-600: #223f4c;--sc-primary-700: #1c3742;--sc-primary-800: #172f39;--sc-primary-900: #0d2029;--sc-accent-400: #eccd80;--sc-accent-500: #e9c46a;--sc-accent-700: #e3b657;--sc-warn-400: #eb856b;--sc-warn-500: #e76f51;--sc-warn-700: #e05c40;--sc-success: #2a9d8f;--sc-success-light: #d4edda}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;background:#f5f5f5}.centered{display:flex;justify-content:center;align-items:center;min-height:100vh}.centered.top-aligned{align-items:flex-start}.card{text-align:center;background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px}.card h1{color:var(--sc-primary-500);margin-bottom:24px}.card p{color:#666;line-height:1.6}.email{font-weight:700;color:#333}.error{color:#dc3545;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:var(--sc-primary-400);color:#fff;text-decoration:none;border:none;border-radius:4px;font-size:16px;cursor:pointer}.btn:hover{background:var(--sc-primary-500)}.btn-sm{padding:6px 12px;font-size:13px;margin:2px}.btn-approve{background:var(--sc-success)}.btn-approve:hover{background:#238b7e}.btn-revoke{background:var(--sc-accent-500);color:var(--sc-primary-900)}.btn-revoke:hover{background:var(--sc-accent-700)}.btn-delete{background:var(--sc-warn-500)}.btn-delete:hover{background:var(--sc-warn-700)}.btn-logout{margin-left:auto;padding:8px 16px;background:var(--sc-warn-500)}.btn-logout:hover{background:var(--sc-warn-700)}.admin-subnav{padding:16px 0;border-bottom:1px solid #eee}.subnav-link{color:var(--sc-primary-500);text-decoration:none;font-size:14px}.subnav-link:hover{text-decoration:underline}table{width:100%;background:#fff;border-radius:8px;border-collapse:separate;border-spacing:0;border:1px solid #dee2e6;table-layout:fixed;overflow:hidden}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid #dee2e6;vertical-align:top}th:nth-child(1),td:nth-child(1){width:38%}th:nth-child(2),td:nth-child(2){width:10%}th:nth-child(3),td:nth-child(3){width:38%}th:nth-child(4),td:nth-child(4){width:14%}tr:last-child td{border-bottom:none}th{background:var(--sc-primary-50);font-weight:600;color:var(--sc-primary-500)}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-active{background:#d1f2eb;color:#1a7f6e}.badge-pending{background:#fef5e0;color:#9a7b2c}.badge-admin{background:var(--sc-primary-100);color:var(--sc-primary-600)}.user-cell{display:flex;align-items:flex-start;gap:8px}.user-cell img{width:40px;height:40px;border-radius:50%;flex-shrink:0}.user-info-text{display:flex;flex-direction:column}.user-name{font-weight:500;color:#333}.user-email{font-size:12px;color:#666}.user-last-login{font-size:11px;color:#999;margin-top:2px}.actions{display:flex;flex-direction:column;gap:4px}.btn-action{width:100%;min-width:90px;justify-content:flex-start;gap:6px}.btn-action svg{flex-shrink:0}.user-profile{margin-bottom:24px}.user-profile p{margin:4px 0}.user-roles{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.roles-label{font-size:14px;color:#666;margin-bottom:8px!important}.badge-role{background:var(--sc-primary-50);color:var(--sc-primary-500);margin-right:4px;margin-bottom:4px}.roles-badges{display:flex;flex-wrap:wrap;gap:4px}.text-muted{color:#999;font-style:italic}.btn-roles{background:var(--sc-primary-300);color:#fff}.btn-roles:hover{background:var(--sc-primary-400)}.btn-secondary{background:var(--sc-primary-300);color:#fff}.btn-secondary:hover{background:var(--sc-primary-400)}.modal{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal.hidden{display:none}.modal-content{background:#fff;padding:24px;border-radius:8px;min-width:320px;max-width:90%;box-shadow:0 4px 20px #0003}.modal-content h2{margin-top:0;color:var(--sc-primary-500)}.modal-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.roles-grid{display:flex;flex-direction:column;gap:12px;margin-top:16px}.role-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:4px;background:#f8f9fa}.role-checkbox:hover{background:#e9ecef}.role-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.role-checkbox span{font-size:14px}.home-card{max-width:1000px;width:100%;text-align:left;padding:0;border-radius:0 0 8px 8px}.logo-header{display:flex;align-items:center;gap:16px;padding:16px 40px;background:var(--sc-primary-50)}.logo{height:40px;width:auto}.header-title{font-size:16px;font-weight:500;color:var(--sc-primary-600)}.card-content{padding:20px 40px 40px}.home-header{display:flex;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid #eee}.avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--sc-primary-400),var(--sc-primary-600));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;flex-shrink:0}.user-details{flex:1;min-width:0}.user-name-large{font-size:20px;font-weight:600;color:#333;margin:0 0 4px}.user-email-small{font-size:14px;color:#666;margin:0 0 8px}.roles-inline{display:flex;flex-wrap:wrap;gap:4px}.home-header .btn-logout{margin-left:auto;flex-shrink:0}.apps-section{margin-top:20px}.apps-label{font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px!important}.app-links{display:flex;flex-direction:column;gap:8px}.app-link{display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;background:#f8f9fa;border-radius:8px;color:inherit;border:1px solid #dee2e6}.app-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--sc-primary-100);border-radius:8px;color:var(--sc-primary-500);flex-shrink:0}.app-name{font-weight:600;color:#333;flex:1}.app-links-row{display:flex;gap:8px;margin-left:auto}.app-link-btn{padding:6px 14px;background:var(--sc-primary-400);color:#fff;border-radius:4px;text-decoration:none;font-size:13px;font-weight:500;transition:background .2s}.app-link-btn:hover{background:var(--sc-primary-500)}
