:root{font-family:Arial,sans-serif;color:#122033;background:#f4f7fa}*{box-sizing:border-box}body{margin:0}.portal-header{background:#0d1f33;color:#fff;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}.portal-header a{color:#fff;text-decoration:none;margin-left:18px}.portal-main{max-width:1050px;margin:38px auto;padding:0 20px}.portal-card{background:#fff;border:1px solid #dce4eb;border-radius:14px;padding:26px;box-shadow:0 8px 24px rgba(12,35,58,.08);margin-bottom:22px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.portal-form label{display:block;margin:14px 0 6px;font-weight:700}.portal-form input,.portal-form select{width:100%;padding:12px;border:1px solid #aebdca;border-radius:8px;font-size:16px}.portal-button{display:inline-block;background:#d97822;color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none;margin-top:16px}.portal-button.secondary{background:#38536d}.notice,.error,.success{padding:12px;border-radius:8px;margin:12px 0}.notice{background:#edf4fa}.error{background:#ffe8e8;color:#8b1111}.success{background:#e6f6ea;color:#176328}.portal-table{width:100%;border-collapse:collapse}.portal-table th,.portal-table td{padding:12px;border-bottom:1px solid #dde5ec;text-align:left}.muted{color:#657483}.portal-footer{text-align:center;padding:24px;color:#657483}@media(max-width:700px){.portal-header{align-items:flex-start;flex-direction:column}.portal-header nav a{margin:0 15px 0 0}.portal-table{font-size:14px}}

.portal-form textarea{width:100%;padding:12px;border:1px solid #aebdca;border-radius:8px;font:inherit}.nav-toggle{display:none;background:#d97822;color:#fff;border:0;border-radius:7px;padding:9px 13px}.hero-card{background:linear-gradient(135deg,#fff,#edf4fa)}.quick-actions,.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.metric{font-size:42px;font-weight:800;color:#d97822}.announcement{border-left:4px solid #d97822;padding:5px 0 18px 18px;margin:18px 0;border-bottom:1px solid #e4e9ee}.announcement h3{margin-bottom:6px}.status{display:inline-block;background:#edf4fa;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.form-grid label{margin-top:10px}.form-grid .full{grid-column:1/-1}.form-grid button{align-self:end;width:max-content}.employee-card{border:1px solid #dce4eb;border-radius:10px;padding:15px;margin:12px 0}.employee-card summary{cursor:pointer}.reset-form,.inline-form,.assignment-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.reset-form input,.inline-form select{padding:11px;border:1px solid #aebdca;border-radius:8px}.danger{background:#9b2c2c}.project-list{display:grid;gap:16px}.project-card{display:grid;grid-template-columns:2fr 1fr;gap:20px;border:1px solid #dce4eb;border-radius:12px;padding:20px}.project-card h2{margin:8px 0}.project-meta{background:#f7f9fb;border-radius:8px;padding:10px 15px}.assignment-row{justify-content:space-between;border-bottom:1px solid #e3e8ed}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto!important}
@media(max-width:800px){.nav-toggle{display:block}.portal-nav{display:none;width:100%}.portal-nav.open{display:flex;flex-direction:column}.portal-nav a{padding:8px 0}.form-grid,.project-card{grid-template-columns:1fr}.portal-header{position:relative}.quick-actions .portal-button{width:100%;text-align:center}}

/* RC5.1 MFA QR enrollment */
.mfa-qr-wrap{display:flex;flex-direction:column;align-items:center;margin:20px 0 16px}
#mfaQr{width:232px;height:232px;max-width:72vw;background:#fff;border:1px solid #d8dde5;border-radius:10px;padding:8px;box-shadow:0 4px 16px rgba(15,31,52,.08);image-rendering:pixelated}
.mfa-backup{margin:14px 0 18px}
.mfa-backup summary{cursor:pointer;color:#163a63}
.mfa-key-card{text-align:center;background:#f7f8fa;margin-top:12px;padding:18px}
.mfa-key{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;letter-spacing:.1em;overflow-wrap:anywhere}
