/* v0.6: a visible woven border, unclipped modal corners, and compact MFA stages. */
.auth-brand-panel{padding-right:105px;background:linear-gradient(140deg,#fffaf0 0,#f1f4fa 55%,#e2eafa)}
.auth-brand-panel::after{left:auto;right:0;top:0;bottom:0;width:80px;height:auto;opacity:.96;background:#0d2d5b url('assets/tenun-ntt.svg') repeat center/240px 168px;border-left:3px solid #d4a853;box-shadow:inset 4px 0 10px #101e3438}
.auth-brand-copy{margin-right:2px;margin-bottom:34px}.auth-brand-copy p{max-width:320px}
.auth-brand-panel::before{left:0;right:80px;top:auto;bottom:52px;height:26px;width:auto;border-radius:0;border-top:1px solid #c9a265;border-bottom:1px solid #c9a265;background:#0d2d5b url('assets/tenun-ntt.svg') repeat-x center/230px 80px;opacity:1}
.auth-watermark{right:80px;bottom:80px}.auth-wordmark{max-width:100%}
.auth-brand-foot{font-size:10px}.auth-brand-copy h1{font-size:42px}
.modal{overflow:hidden;max-height:calc(100dvh - 32px);border-radius:20px;isolation:isolate}
#modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 34px);overflow:hidden;border-radius:inherit}
.modal-head,.modal-actions{flex:0 0 auto;position:static}.modal-head{border-radius:19px 19px 0 0}.modal-actions{border-radius:0 0 19px 19px}
.modal-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4c1d4 #f5f7fb;scrollbar-gutter:stable;padding-right:22px}
.modal-body::-webkit-scrollbar{width:8px;height:8px}.modal-body::-webkit-scrollbar-thumb{border:2px solid #f5f7fb;border-radius:20px;background:#b4c1d4}.modal-body::-webkit-scrollbar-track{background:#f5f7fb;border-radius:20px}
.modal.drawer{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:12px 12px 12px auto;border-radius:20px;width:min(540px,calc(100vw - 24px))}.modal.drawer #modal-content{height:100%;max-height:100%}
.modal-head h2{line-height:1.35}.modal-head p{font-size:12px;line-height:1.6;color:#728097}.modal-body>.muted{font-size:13px;line-height:1.8}
#mfa-panel{margin-top:16px;min-width:0}.mfa-enrollment{display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px;align-items:center}.mfa-qr{aspect-ratio:1;background:#fff;padding:3px;border:1px solid #d6dfeb;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center}.mfa-qr svg{display:block;width:100%;height:auto;max-height:150px;shape-rendering:crispEdges}
.mfa-enrollment ol{font-size:12px;color:#4c6080;line-height:1.8;padding-left:17px;margin:0 0 8px}.mfa-enrollment details{font-size:11px;line-height:1.6;color:#506380}.mfa-enrollment summary{cursor:pointer;font-weight:650;color:#8b622b}.mfa-enrollment details label{margin:8px 0 4px;font-size:10px}.mfa-enrollment details input{font:11px monospace;padding:8px;width:100%;min-width:0;border:1px solid #cdd7e5;border-radius:7px}
.auth-form-panel #mfa-form{margin-top:16px}.otp-input{width:100%;min-height:48px;padding:9px 13px;border:1px solid #b8c6da;border-radius:11px;background:#f8fafd;letter-spacing:9px;font:600 23px ui-monospace,monospace;letter-spacing:9px;text-align:center;color:#0d2d5b;box-shadow:inset 0 2px 4px #243a6010}.otp-input.backup-input{font-size:12px;letter-spacing:.5px}.otp-input:focus{outline:3px solid #c99a442b;border-color:#b38a48}.mfa-note{font-size:10px;line-height:1.65;color:#6d7d94;margin:13px 0 0}.mfa-backup-toggle{font-size:11px;margin-top:18px;text-align:left}.mfa-enrollment details .text-button{font-size:11px;padding:6px 0}
.recovery-codes{display:grid;grid-template-columns:1fr;gap:8px;margin:20px 0}.recovery-codes code{display:block;padding:11px 12px;border:1px solid #e1e7f0;background:#f6f8fc;border-radius:8px;font-size:13px;letter-spacing:.5px;color:#30466c;text-align:center;overflow-wrap:anywhere}.recovery-ack{margin-top:23px;line-height:1.65;font-size:12px}.security-summary{display:flex;align-items:center;gap:15px;margin-bottom:24px;padding:20px;border:1px solid #dcebe6;border-radius:13px;background:#f2faf6}.security-summary>.icon{width:30px;height:30px;color:#427361}.security-summary b{font-size:14px;color:#315848}.security-summary p{font-size:11px;line-height:1.6;color:#638272;margin-top:6px}.logout-prompt{display:flex;align-items:center;gap:20px}.logout-orb{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(#f8f1e5,#ecdaba);color:#987036;flex-shrink:0;box-shadow:0 3px 0 #d1b584}.logout-prompt p{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.logout-loading{display:flex;align-items:center;gap:16px;padding:15px 0;font-size:13px;color:#647792}
.access-request-panel{margin-top:25px}.request-list{padding:0 24px}.request-card{padding:22px 0;border-bottom:1px solid #e7ecf3}.request-card:last-child{border:0}.request-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.request-heading h3{font-size:15px;color:#324a70}.request-heading p{font-size:11px;color:#76869d;margin-top:6px;overflow-wrap:anywhere}.request-reason{margin:15px 0;padding:13px 15px;border:1px solid #e3e9f1;border-radius:10px;background:#f7f9fc;color:#556a89;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.request-foot{display:flex;justify-content:space-between;gap:18px;align-items:center}.request-foot small{font-size:10px;line-height:1.8;color:#7a889e}.request-actions{display:flex;gap:9px;flex-shrink:0}.delete-account{color:#ae524d;background:#fff4f1;margin-right:10px;border:1px solid #f0d6d0;border-radius:8px}.delete-account:hover{background:#fce5df}
@media(min-width:1600px) and (min-height:850px){.auth-brand-panel{padding-right:120px}.auth-brand-panel::after{width:88px;background-size:256px 180px}.auth-brand-panel::before{right:88px}.auth-brand-copy h1{font-size:48px}}
@media(min-width:761px) and (max-width:940px){.auth-brand-copy h1{font-size:34px}.auth-brand-panel{padding-right:98px}.mfa-enrollment{grid-template-columns:122px minmax(0,1fr);gap:10px}.mfa-enrollment ol{font-size:11px}.auth-form-panel #mfa-form label{font-size:12px}}
@media(max-width:760px){.request-heading,.request-foot{flex-direction:column;gap:12px}.request-actions{width:100%;flex-wrap:wrap}.mfa-enrollment{grid-template-columns:132px minmax(0,1fr);gap:12px}.mfa-enrollment ol{font-size:11px}.auth-form-panel:has(#mfa-panel:not([hidden])){padding-top:18px;padding-bottom:20px}.auth-form-panel:has(#mfa-panel:not([hidden])) .auth-mobile-wordmark{width:250px;margin-bottom:10px}.recovery-codes code{font-size:11px;letter-spacing:0}.modal.drawer{margin:8px;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}.request-list{padding:0 18px}}
@media(max-width:370px){.mfa-enrollment{grid-template-columns:110px minmax(0,1fr)}.mfa-enrollment ol{font-size:10px}.auth-form-panel{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}

/* Session details remain readable without relying on color alone. */
/* Compact session summary, shared by the account menu and profile. */
.session-info{--session-color:#166442;--session-bg:#edf8f1;margin:0 0 16px;padding:9px 12px;border:1px solid #d8e7df;border-radius:9px;background:var(--session-bg);color:var(--session-color)}
.session-info.session-warning{--session-color:#805500;--session-bg:#fff8df;border-color:#efdfa8}
.session-info.session-danger{--session-color:#a22c35;--session-bg:#fff0f1;border-color:#efcbd0}
.session-info-heading{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;font-weight:550;line-height:1.5}
.session-info-heading .icon{width:14px;height:14px;flex-shrink:0}
.session-info [data-session-remaining]{margin-left:auto;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.session-info p{font-size:11px;line-height:1.5;margin:3px 0 0}
.account-menu .session-info{margin:6px 10px 8px;padding:8px 10px}
.account-menu{max-height:calc(100dvh - 90px);overflow-y:auto;max-width:calc(100vw - 24px)}
.account-row-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.account-row-actions .icon-button{width:34px;height:34px;flex-shrink:0}.account-disable{color:#986812}.account-disable:hover{color:#805500;background:#fff8df}
