:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#102839;background:#f3f7fa;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top right,#e4f4fa,transparent 35%),#f3f7fa}
a{color:inherit}
button,input,select{font:inherit}
.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(18px,4vw,60px);background:#fff;border-bottom:1px solid #d9e5ea}
.brand{display:flex;align-items:center;text-decoration:none;font-weight:800;letter-spacing:-.02em}
.brand-logo{width:44px;height:44px;object-fit:cover;border-radius:12px;margin-right:10px}
.brand span{color:#1688b3;margin-right:6px}
.topbar nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:16px;font-size:12px}
.topbar nav a{text-decoration:none}
.topbar nav form{margin:0}
.topbar nav button{border:1px solid #c9d9e0;background:#fff;border-radius:8px;padding:8px 11px}
main{width:min(1320px,calc(100% - 32px));margin:32px auto;flex:1}
.auth-shell{min-height:70vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;max-width:1080px;margin:auto}
.auth-brand{padding:30px}
.auth-brand>p:first-of-type,.hero p{color:#278ab0;font-size:11px;font-weight:800;letter-spacing:.14em}
.auth-brand h1,.hero h1{margin:8px 0;font-size:clamp(34px,5vw,62px);line-height:1;letter-spacing:-.055em}
.auth-brand p:last-child,.hero span{color:#647b89;line-height:1.65}
.auth-logo{width:min(430px,100%);height:auto;display:block;object-fit:contain;border-radius:16px;box-shadow:0 14px 30px #157aa61f;margin-bottom:24px}
.card{background:#fff;border:1px solid #dbe6eb;border-radius:15px;padding:24px;box-shadow:0 10px 32px #193b4b0b}
.auth-card{display:flex;flex-direction:column;gap:17px}
.auth-card h2,.card h2{margin:0;font-size:22px}
.auth-card label,.create-grid label,.password-card label{display:flex;flex-direction:column;gap:7px;color:#58707e;font-size:11px;font-weight:700}
.auth-card input,.create-grid input,.create-grid select,.password-card input,.password-card select,.role-form select{height:43px;padding:0 12px;border:1px solid #ccdce3;border-radius:8px;background:#fbfdfe;color:#102839}
.primary{min-height:43px;border:0;border-radius:9px;padding:0 17px;background:linear-gradient(135deg,#178ebc,#126f99);color:#fff;font-weight:800}
.help-link{color:#127ea8;font-size:11px;font-weight:800;text-align:center}
.micro{margin:0;color:#788d98;font-size:10px;line-height:1.5}
.error,.notice{padding:11px 13px;border-radius:9px;font-size:12px}
.error{margin:0;border:1px solid #efc1bf;background:#fff0ef;color:#9d302d}
.notice{border:1px solid #b9dfcd;background:#edf8f3;color:#246b50}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin:0 0 22px}
.hero h1{font-size:clamp(32px,4vw,50px)}
.role,.status{display:inline-flex;width:max-content;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}
.role{background:#e4f2f7;color:#176f93}
.status.active{background:#def3e8;color:#18734f}
.status.suspended{background:#f9e1df;color:#a63834}
.create-grid{display:grid;grid-template-columns:1fr 1fr .7fr auto auto;align-items:end;gap:13px;margin-top:17px}
.create-grid .checkbox{flex-direction:row;align-items:center;height:43px}
.create-grid .checkbox input{height:auto}
.table-card{margin-top:18px;padding:0;overflow:hidden}
.card-heading{padding:21px 23px;border-bottom:1px solid #e2eaee}
.card-heading p,.card>p{margin:5px 0 0;color:#6c828e;font-size:11px}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left}
th{padding:12px 15px;background:#f5f8fa;color:#6b7f89;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
td{padding:14px 15px;border-top:1px solid #e7edef;font-size:12px;vertical-align:top}
td strong,td small{display:block}
td small{margin-top:4px;color:#758a96}
.actions,.role-form{display:flex;flex-wrap:wrap;gap:6px}
.actions button,.actions .button-link,.role-form button{padding:6px 8px;border:1px solid #cbdbe2;border-radius:6px;background:#fff;color:#28566c;font-size:10px;text-decoration:none}
.role-form select{height:32px;padding:0 8px;font-size:10px}
.password-card{max-width:660px;display:grid;gap:17px}.organization-selector{margin-bottom:18px;grid-template-columns:1fr auto;align-items:end}.organization-selector button{height:43px;padding:0 14px;border:1px solid #c9d9e0;border-radius:8px;background:#fff;color:#173f52}
.password-card label span{font-weight:400;color:#788d98;line-height:1.4}
.signed-in-as{margin:0;padding-bottom:14px;border-bottom:1px solid #e3ecef}
.password-guidance{padding:15px;border-radius:10px;background:#edf7fa;color:#315c70;font-size:11px;line-height:1.6}
.password-guidance ul{margin:7px 0 0;padding-left:19px}
.password-help strong{color:#173f52}
.empty{text-align:center;color:#728792;padding:35px}
.error-page{max-width:600px;margin:80px auto}
footer{display:flex;justify-content:space-between;gap:20px;padding:16px clamp(18px,4vw,60px);border-top:1px solid #dae5ea;color:#728792;font-size:10px}
footer span:last-child{display:flex;gap:15px}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr;gap:10px}
.create-grid{grid-template-columns:1fr 1fr}
.hero{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){main{width:min(100% - 20px,1320px);margin:20px auto}
.auth-brand{padding:10px}
.auth-logo{width:100%;margin-bottom:16px}
.create-grid{grid-template-columns:1fr}
.topbar{height:auto;padding:15px;align-items:flex-start}
.topbar nav{flex-wrap:wrap;justify-content:flex-end}
footer{flex-direction:column}
}

.legal-page{max-width:820px;margin:36px auto;line-height:1.7}
.legal-page h1{margin:.2em 0;font-size:clamp(34px,5vw,56px);letter-spacing:-.045em}
.legal-page h2{margin:1.6em 0 .3em;font-size:19px}
.legal-page p{color:#526c79}
.legal-page .eyebrow{color:#278ab0;font-size:11px;font-weight:800;letter-spacing:.14em}
.legal-page a{color:#127ea8;font-weight:800}

.status.approved{background:#def3e8;color:#18734f}
.status.rejected{background:#f9e1df;color:#a63834}
.status.pending{background:#fff0cc;color:#895d00}
.request-decision{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:6px}
.request-decision select,.request-decision button{min-height:34px;border:1px solid #cbdbe2;border-radius:7px;padding:0 9px;background:#fff}
.request-decision .primary{border:0;color:#fff;background:linear-gradient(135deg,#178ebc,#126f99)}
