*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20242b;background:#f5f6f8}a{color:inherit}.setup-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.setup-wrap{width:min(760px,100%)}.brand-block{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-mark{width:46px;height:46px;border-radius:12px;background:#1f5eff;color:#fff;font-weight:800;display:grid;place-items:center;font-size:25px}.brand-mark.small{width:38px;height:38px;border-radius:10px;font-size:20px}.brand-name{font-size:22px;font-weight:800;letter-spacing:.08em}.brand-sub{font-size:13px;color:#697386}.setup-card,.login-card,.panel,.metric{background:#fff;border:1px solid #e3e7ee;border-radius:14px;box-shadow:0 8px 30px rgba(28,38,55,.05)}.setup-card{padding:30px}.setup-card h1,.login-card h1{margin:0 0 8px}.muted,.help{color:#697386}.help{font-size:12px;margin-top:-8px;margin-bottom:14px}label{display:block;font-size:13px;font-weight:650;margin:16px 0 7px}input,select{width:100%;border:1px solid #d4d9e2;border-radius:9px;padding:11px 12px;background:#fff;font:inherit;outline:none}input:focus,select:focus{border-color:#1f5eff;box-shadow:0 0 0 3px rgba(31,94,255,.12)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 16px;font-weight:700;text-decoration:none;cursor:pointer}.btn.primary{background:#1f5eff;color:#fff}.btn.full{width:100%;margin-top:22px}.alert{padding:12px 14px;border-radius:9px;margin:16px 0}.alert.error{background:#fff2f2;border:1px solid #ffd0d0;color:#9b1c1c}.success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e9f9ef;color:#147a3d;font-size:28px;font-weight:800;margin-bottom:18px}.login-layout{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel{width:min(430px,100%)}.login-card{padding:30px}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#111827;color:#dbe3ef;padding:20px 16px;display:flex;flex-direction:column;gap:24px}.side-brand{display:flex;gap:10px;align-items:center;padding:0 6px}.side-brand strong{display:block;color:#fff;letter-spacing:.08em}.side-brand span{display:block;color:#8894a7;font-size:11px;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a,.side-bottom a{padding:10px 11px;border-radius:8px;text-decoration:none;color:#cfd8e6}.sidebar nav a.active,.sidebar nav a:hover,.side-bottom a:hover{background:#202a3a;color:#fff}.side-bottom{margin-top:auto;display:flex;flex-direction:column}.main{min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid #e6e9ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar span{display:block;color:#758093;font-size:12px;margin-top:2px}.user-chip{font-size:13px;color:#4b5563}.content{padding:26px}.content h1{margin-top:0}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:20px 0}.metric{padding:18px}.metric span{display:block;color:#6f7785;font-size:12px}.metric strong{display:block;font-size:24px;margin-top:7px}.panel{padding:22px}.panel h2{margin-top:0;font-size:18px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:1fr}.sidebar{display:none}}@media(max-width:640px){.grid2{grid-template-columns:1fr}.setup-card,.login-card{padding:22px}.cards{grid-template-columns:1fr}.content{padding:18px}.topbar{padding:0 16px}}

/* COSTRA 0.2.1 — polished authentication/password screens */
.auth-page{
    min-height:100vh;
    margin:0;
    display:grid;
    place-items:center;
    padding:32px 18px;
    background:
        radial-gradient(circle at 50% -20%, rgba(31,94,255,.10), transparent 42%),
        #f5f6f8;
}
.auth-shell{
    width:min(460px,100%);
    margin:0 auto;
}
.auth-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:0 auto 20px;
    text-align:left;
}
.auth-card{
    width:100%;
    background:#fff;
    border:1px solid #e2e6ed;
    border-radius:16px;
    padding:30px;
    box-shadow:0 18px 48px rgba(28,38,55,.08);
}
.auth-title{
    margin:0;
    font-size:26px;
    line-height:1.2;
    letter-spacing:-.02em;
}
.auth-copy{
    color:#697386;
    line-height:1.55;
    margin:10px 0 0;
}
.auth-footer{
    text-align:center;
    color:#8a93a3;
    font-size:12px;
    margin:16px 0 0;
}
.eyebrow{
    color:#1f5eff;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
    margin-bottom:10px;
}
.invite-meta{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin:18px 0 6px;
    padding:13px 14px;
    background:#f7f8fa;
    border:1px solid #e7eaf0;
    border-radius:10px;
}
.invite-meta strong{
    font-size:14px;
}
.invite-meta span{
    font-size:12px;
    color:#727b89;
    overflow-wrap:anywhere;
}
.success-icon.centered{
    margin-left:auto;
    margin-right:auto;
}
.auth-card .alert{
    margin:18px 0 0;
}
.auth-card input{
    min-height:44px;
}
.auth-card .btn.full{
    min-height:44px;
    margin-top:24px;
}
@media(max-width:520px){
    .auth-page{padding:22px 14px}
    .auth-card{padding:23px}
    .auth-title{font-size:23px}
}
