:root{--access-accent:#d98a1b;--access-dark:#17253a;--access-muted:#667085;--access-line:#e5e7eb;--access-bg:#f7f3ed}
.access-login-page{min-height:100vh;margin:0;display:grid;place-items:center;background:linear-gradient(135deg,#eef2f7,#f7efe3);font-family:Arial,sans-serif;color:#182235}
.access-login-card{width:min(460px,calc(100% - 36px));padding:38px;border-radius:28px;background:#fff;box-shadow:0 25px 80px rgba(23,37,58,.18)}
.access-login-card h1{font:800 30px/1.16 Georgia,serif;margin:22px 0 10px}.access-login-card p{color:var(--access-muted);line-height:1.55}
.access-brand{display:inline-flex;align-items:center;border:1px solid #111;font:700 12px/1 Arial}.access-brand span{padding:4px 7px}.access-brand b{padding:4px 7px;background:#d66e0b;color:#fff}
.access-form{display:grid;gap:16px;margin-top:22px}.access-form label{display:grid;gap:7px;font-weight:700;color:#26344a}.access-form input,.access-form select{min-height:46px;padding:10px 13px;border:1px solid #d6dae1;border-radius:12px;font:inherit;background:#fff}.access-form small{font-weight:400;color:var(--access-muted)}
.access-primary,.access-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border:0;border-radius:12px;text-decoration:none;font-weight:800;cursor:pointer}.access-primary{background:linear-gradient(180deg,#e9a232,#cc7d11);color:#fff}.access-secondary{background:#fff;color:#17253a;border:1px solid #d8dde5}.access-secondary--small{min-height:34px;padding:0 12px;font-size:13px}
.access-flash{margin:12px 0;padding:12px 14px;border-radius:12px;font-weight:700}.access-flash--error{background:#fff1f2;color:#b42318}.access-flash--success{background:#ecfdf3;color:#027a48}
.access-panel,.access-toolbar,.access-table-wrap,.access-role-grid{background:#fff;border:1px solid var(--access-line);border-radius:20px;box-shadow:0 12px 35px rgba(29,41,57,.06)}
.access-panel{padding:26px}.access-panel--narrow{max-width:650px}.access-toolbar{padding:22px 24px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.access-toolbar h2{margin:0 0 6px}.access-toolbar p{margin:0;color:var(--access-muted)}.access-toolbar__actions{display:flex;gap:10px;flex-wrap:wrap}
.access-role-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-bottom:18px}.access-role-grid article{padding:14px;border:1px solid #eceff3;border-radius:14px;display:grid;gap:5px}.access-role-grid span{color:var(--access-muted);font-size:13px;line-height:1.4}
.access-table-wrap{overflow:auto}.access-table{width:100%;border-collapse:collapse;min-width:780px}.access-table th,.access-table td{padding:15px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #edf0f4}.access-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc}.access-table td strong,.access-table td small{display:block}.access-table td small{margin-top:4px;color:var(--access-muted)}
.access-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.access-status--active{background:#dcfae6;color:#067647}.access-status--inactive{background:#f2f4f7;color:#667085}
.access-user-form{display:grid;gap:22px}.access-form-section{display:grid;gap:15px}.access-form-section h2{margin:0}.access-form-section>p{margin:0;color:var(--access-muted)}.access-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.access-form-grid>label:not(.access-checkbox){display:grid;gap:7px;font-weight:700}.access-form-grid input,.access-form-grid select{min-height:44px;padding:9px 12px;border:1px solid #d5dae2;border-radius:11px;font:inherit}.access-checkbox{display:flex!important;align-items:center;gap:9px;font-weight:700}.access-checkbox input{width:18px;height:18px;min-height:auto}
.access-org-list{display:grid;gap:12px}.access-org-card{border:1px solid #e6e9ef;border-radius:15px;padding:15px}.access-org-card__title{font-size:15px}.access-departments{margin-top:12px;padding:12px;background:#f8fafc;border-radius:12px;display:flex;gap:12px;flex-wrap:wrap}.access-departments>span{width:100%;color:var(--access-muted);font-size:13px}.access-form-actions{display:flex;justify-content:flex-end;gap:10px}
.access-denied{text-align:center;max-width:700px;margin:50px auto}.access-denied__code{font:800 80px/1 Georgia,serif;color:#d92d20}.access-denied p{color:var(--access-muted);margin-bottom:22px}
.access-userbox{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#fff}.access-userbox strong,.access-userbox span{display:block}.access-userbox span{font-size:12px;opacity:.8;margin-top:4px}.access-userbox form{margin-top:10px}.access-userbox button{width:100%;min-height:34px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-weight:700;cursor:pointer}
.access-readonly-banner{padding:10px 16px;background:#fff7e6;border:1px solid #f2c166;border-radius:12px;color:#8a4b08;font-weight:700;margin-bottom:14px}.access-scope-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf4ff;color:#175cd3;font-size:12px;font-weight:700}
@media(max-width:760px){.access-form-grid{grid-template-columns:1fr}.access-toolbar{align-items:flex-start;flex-direction:column}.access-login-card{padding:26px}.access-form-actions{flex-direction:column-reverse}.access-primary,.access-secondary{width:100%}}
