*{box-sizing:border-box}
html,body{margin:0;min-height:100%;}
body{
    min-height:100vh;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    background:linear-gradient(135deg,#f8fbff,#eef4f9);
    color:#122033;
    font-size:14px;
    font-weight:400;
}
.setup-page{
    min-height:100vh;
    width:100%;
    display:block;
    padding:clamp(22px,3.2vw,54px);
}
.setup-card{
    width:min(1480px,100%);
    min-height:calc(100vh - clamp(44px,6.4vw,108px));
    margin:0 auto;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(148,163,184,.28);
    border-radius:28px;
    box-shadow:0 18px 46px rgba(8,29,45,.08);
    padding:clamp(26px,3vw,46px);
}
.setup-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:28px;
    margin-bottom:26px;
    padding-bottom:22px;
    border-bottom:1px solid #e5edf5;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0;}
.brand img{width:58px;height:58px;object-fit:contain;border-radius:16px;background:#061b28;padding:9px;flex:0 0 58px;}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#037eb2;font-weight:700;}
.setup-head h1{margin:3px 0 0;font-size:clamp(30px,2.4vw,42px);line-height:1.05;letter-spacing:-.04em;font-weight:650;}
.setup-head p{margin:9px 0 0;color:#637189;line-height:1.6;max-width:760px;}
.dots{display:flex;gap:7px;align-items:center;justify-content:flex-end;}
.dot{width:10px;height:10px;border-radius:999px;background:#d5e1ec;}
.dot.active{width:34px;background:linear-gradient(135deg,#037eb2,#04b6d8);}
.step-count{color:#637189;font-size:12px;text-align:right;margin-top:8px;white-space:nowrap;}
.panel{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:22px;
    padding:clamp(22px,2vw,32px);
    margin-top:18px;
    box-shadow:0 8px 22px rgba(8,29,45,.045);
}
h2{margin:0 0 8px;font-size:clamp(22px,1.4vw,28px);font-weight:650;letter-spacing:-.02em;}
.muted,.help{color:#637189;line-height:1.65;}
.field{margin:16px 0;}
label{display:block;font-weight:500;color:#203247;margin:12px 0 7px;}
input[type=text],input[type=email],input[type=password],input[type=file],input[type=color],input[type=number],select,textarea{
    width:100%;
    padding:13px 14px;
    border:1px solid #d6e0eb;
    border-radius:14px;
    margin-top:6px;
    font-size:14px;
    background:#fff;
    color:#102033;
    font-family:inherit;
}
input[type=color]{height:46px;padding:4px;}
textarea{min-height:116px;}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(3,126,178,.13);border-color:#037eb2;}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px;}
.btn,button{
    appearance:none;
    border:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:11px 18px;
    border-radius:14px;
    background:linear-gradient(135deg,#037eb2,#04b6d8);
    color:#fff;
    font-weight:600;
    cursor:pointer;
    text-decoration:none;
    font-family:inherit;
}
.btn.gray{background:#fff;color:#173247;border:1px solid #d6e0eb;}
.btn.good{background:linear-gradient(135deg,#0f9f6e,#15c58c);}
.alert{padding:14px 16px;border-radius:16px;margin-bottom:18px;}
.alert.good{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;}
.alert.bad{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;}
.note{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px 15px;margin:14px 0;color:#475569;}
.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #d6e0eb;border-radius:14px;background:#fff;overflow:hidden;}
.input-suffix input{border:0;margin:0;border-radius:0;}
.suffix{padding:0 15px;color:#637189;font-weight:600;border-left:1px solid #e2e8f0;white-space:nowrap;}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.choice{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;}
.choice input{margin-top:3px;}
.choice b{display:block;font-weight:650;}
.choice span span{display:block;color:#637189;font-size:13px;margin-top:3px;line-height:1.45;}
.switch{position:relative;width:52px;height:30px;display:inline-block;flex:0 0 52px;}
.switch input{display:none;}
.slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:999px;transition:.2s;}
.slider:before{content:'';position:absolute;height:24px;width:24px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.switch input:checked+.slider{background:linear-gradient(135deg,#037eb2,#04b6d8);}
.switch input:checked+.slider:before{transform:translateX(22px);}
.copybox{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;word-break:break-all;font-weight:600;}
.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.portal-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;}
.portal-box strong{display:block;margin-bottom:7px;}
.portal-box a{word-break:break-all;color:#037eb2;font-weight:600;}
@media(max-width:980px){
    .setup-page{padding:16px;}
    .setup-card{min-height:calc(100vh - 32px);padding:20px;border-radius:24px;}
    .setup-head{display:block;}
    .dots{margin-top:16px;justify-content:flex-start;}
    .step-count{text-align:left;}
    .row,.choice-grid,.portal-grid{grid-template-columns:1fr;}
    .setup-head h1{font-size:28px;}
}
@media(min-width:1180px){
    .setup-card > .panel:nth-of-type(1),
    .setup-card > .panel:nth-of-type(2){
        margin-top:20px;
    }
}

/* KorpKit auth pages — compact centered login/signup */
.kk-auth-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 16px;
    background:linear-gradient(135deg,#f8fbff,#eef4f9);
}
.kk-auth-card{
    width:min(520px,100%);
    background:rgba(255,255,255,.96);
    border:1px solid rgba(148,163,184,.28);
    border-radius:26px;
    box-shadow:0 18px 50px rgba(8,29,45,.10);
    padding:30px;
}
.kk-auth-logo{
    display:block;
    width:190px;
    max-width:70%;
    height:auto;
    margin:0 auto 20px;
}
.kk-auth-card h1{margin:0 0 8px;text-align:center;font-size:30px;letter-spacing:-.03em;line-height:1.1;}
.kk-auth-card p{margin:0 0 22px;text-align:center;color:#64748b;line-height:1.55;}
.kk-field{margin:14px 0;}
.kk-field label{font-weight:700;color:#18283c;margin-bottom:7px;}
.kk-input{width:100%;}
.kk-btn{width:100%;}
.kk-auth-link{text-align:center;margin-top:16px;color:#64748b;}
.kk-auth-link a{color:#037eb2;font-weight:700;}
.kk-alert{padding:12px 14px;border-radius:14px;margin-bottom:16px;}
.kk-alert.bad{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;}
.kk-alert.good{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;}
@media(max-width:560px){.kk-auth-card{padding:22px;border-radius:22px}.kk-auth-logo{width:160px}.kk-auth-card h1{font-size:26px}}
