body:not(.authenticated) .app-shell{display:none}.access-gateway{min-height:100vh;background:#f3f6fb;display:grid;place-content:center;padding:32px;position:relative}.authenticated .access-gateway{display:none}.access-brand{display:flex;align-items:center;gap:12px;margin:0 auto 22px}.access-brand strong,.access-brand small{display:block}.access-brand strong{font:800 18px Manrope,'DM Sans',Arial,sans-serif;letter-spacing:2px;color:#10213f}.access-brand small{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#6e788c}.access-card{width:min(460px,calc(100vw - 36px));background:#fff;border:1px solid #e1e6ee;border-radius:20px;padding:30px;box-shadow:0 22px 60px rgba(16,33,63,.1)}.access-card h1{font:800 24px Manrope,'DM Sans',Arial,sans-serif;margin:0 0 7px}.access-card>p{color:#667085;margin:0 0 22px}.access-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f4f8;padding:4px;border-radius:10px;margin-bottom:20px}.access-tabs button{border:0;background:transparent;padding:10px;border-radius:8px;font:700 11px 'DM Sans';color:#667085;cursor:pointer}.access-tabs button.active{background:#fff;color:#172033;box-shadow:0 2px 8px rgba(16,33,63,.08)}.access-help{display:block;text-align:center;color:#7a8495;font-size:9px;margin-top:14px}.access-storage-note{text-align:center;font-size:9px;color:#8a93a4;margin:17px 0 0}.logout-button{font-size:18px}.panel-actions{display:flex;gap:10px;align-items:center}.question-toolbar{padding:14px 16px;display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.question-toolbar .field{min-width:280px}.question-toolbar select{width:100%;border:1px solid #dfe3ea;border-radius:9px;padding:10px}.question-count{font-size:10px;color:#667085;padding:10px}.question-bank{display:grid;gap:10px}.question-bank-item{background:#fff;border:1px solid #e1e6ee;border-radius:13px;padding:15px;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start}.question-number{width:30px;height:30px;border-radius:8px;background:#edf2fb;color:#2f67d8;display:grid;place-items:center;font-weight:700}.question-bank-item h3{font:700 11px Manrope,'DM Sans',Arial,sans-serif;margin:1px 0 8px;line-height:1.45}.question-options{display:flex;flex-wrap:wrap;gap:5px}.question-options span{font-size:8px;background:#f4f6f9;color:#667085;padding:4px 6px;border-radius:5px}.question-options span.correct{background:#e8f6f1;color:#168a68}.custom-badge{font-size:8px;background:#fff2e9;color:#c4652c;padding:5px 7px;border-radius:6px}.question-delete{border:0;background:#fff0f0;color:#c64f4f;padding:6px 8px;border-radius:7px;cursor:pointer;font-size:9px}.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.data-card-icon{width:40px;height:40px;border-radius:11px;background:#edf2fb;color:#2f67d8;display:grid;place-items:center;font-size:18px}.data-card h3{font:700 12px Manrope,'DM Sans',Arial,sans-serif;margin:13px 0 7px}.data-card p{font-size:10px;color:#667085;line-height:1.55;margin:0 0 13px}.storage-key{display:block;font:600 8px monospace;color:#5d687b;background:#f4f6f9;padding:7px;border-radius:6px;overflow-wrap:anywhere}.access-settings{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.access-settings h3{font:700 13px Manrope,'DM Sans',Arial,sans-serif;margin:0 0 5px}.access-settings p{font-size:10px;color:#667085;margin:0}.access-settings form{display:flex;align-items:flex-end;gap:10px}.access-settings .field{min-width:145px}.candidate-portal{min-height:100vh;background:#f5f7fa}.candidate-portal-header{height:76px;background:#fff;border-bottom:1px solid #e1e6ee;padding:0 max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between}.candidate-portal-header .access-brand{margin:0}.candidate-portal-main{max-width:1100px;margin:auto;padding:35px 24px}.candidate-welcome{background:#102a4d;color:#fff;border-radius:18px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.candidate-welcome h1{font:700 22px Manrope,'DM Sans',Arial,sans-serif;margin:0 0 6px}.candidate-welcome p{color:#b8c2d3;margin:0}.candidate-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.candidate-profile-card h2{font:700 14px Manrope,'DM Sans',Arial,sans-serif;margin:0 0 15px}.candidate-access-code{font:700 14px monospace;background:#edf2fb;color:#2f67d8;padding:8px 10px;border-radius:8px}.profile-long-text,.candidate-card h3,.role-box strong,.area-profile h3,.area-profile p,.detail-data b,.person strong,.person small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.candidate-card,.candidate-card-head>div,.role-box,.area-profile,.detail-box{min-width:0}.candidate-grid,.area-grid,.test-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.print-note{font-size:9px;color:#667085;margin-top:8px}
.button,.access-tabs button,.field input,.field select,.field textarea{font-family:'DM Sans',Arial,sans-serif}.access-form{display:grid;gap:13px}.access-guidance{background:#f4f7fb;border:1px solid #e1e6ee;border-radius:10px;padding:11px 13px}.access-guidance p{font-size:9px;line-height:1.5;color:#667085;margin:4px 0 0}.access-settings form{flex-wrap:wrap;justify-content:flex-end}.credential-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e7eaf0}.area-profile{isolation:isolate;display:flex;flex-direction:column;min-height:178px}.area-profile:after{z-index:0;pointer-events:none;right:-38px;top:-38px;opacity:.65}.area-profile>*{position:relative;z-index:1}.area-profile-head{align-items:flex-start;min-width:0}.area-profile-head h3{flex:1;min-width:0;line-height:1.4;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:normal}.area-profile p{font-size:10px;line-height:1.55;overflow-wrap:anywhere}.skill-pills{margin-top:auto}.skill-pills span{display:inline-flex;align-items:center;min-height:25px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.candidate-test-launch{display:grid;gap:7px;text-align:center}.candidate-test-launch small{font-size:9px;color:#c8d3e3}.test-area-card>div:nth-child(2){min-width:0}.test-meta{flex-wrap:wrap;line-height:1.4}
@media(max-width:1150px){.candidate-grid,.area-grid,.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.data-grid{grid-template-columns:1fr}.access-settings,.access-settings form{align-items:stretch;flex-direction:column}.access-settings form{width:100%}.candidate-profile-grid{grid-template-columns:1fr}}
@media(max-width:820px){.candidate-grid,.area-grid,.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-item{grid-template-columns:30px 1fr}.question-bank-item> :last-child{grid-column:2}.question-toolbar{align-items:stretch;flex-direction:column}.question-toolbar .field{min-width:0}}
@media(max-width:540px){.access-gateway{padding:18px}.access-card{padding:23px}.candidate-grid,.area-grid,.test-grid{grid-template-columns:1fr}.candidate-welcome{align-items:flex-start;flex-direction:column}.candidate-portal-header{padding:0 16px}.candidate-portal-header .access-brand small{display:none}.panel-actions{align-items:flex-end;flex-direction:column;gap:3px}}
.upload-limits-banner,.candidate-upload-limits{display:flex;align-items:center;gap:14px;border:1px solid #cbd9ee;background:#f4f8fd;color:#102a4d}.upload-limits-banner{margin:0 0 18px;padding:14px 18px;border-radius:13px}.upload-limits-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:11px;background:#dce9fa;color:#2f67d8;font-size:21px;font-weight:800}.upload-limits-banner strong,.candidate-upload-limits h2{display:block;margin:0 0 4px;font:700 12px Manrope,'DM Sans',Arial,sans-serif}.upload-limits-banner p,.candidate-upload-limits p{margin:0;color:#58677d;font-size:10px;line-height:1.55}.candidate-upload-limits{margin-top:18px;padding:18px}.candidate-upload-limits h2{font-size:14px}.candidate-upload-limits small{display:block;margin-top:5px;color:#7a8799;font-size:9px}@media(max-width:540px){.upload-limits-banner,.candidate-upload-limits{align-items:flex-start}.upload-limits-banner p,.candidate-upload-limits p{font-size:9px}}
