:root{
  --blue:#075ccf;--blue2:#123f90;--ink:#163b67;--muted:#6f8298;--line:#d7e3f2;--soft:#f5f8fc;--danger:#b42318;--ok:#16794a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f7fbff 0,#f3f6fa 100%);color:var(--ink)}
button,input,select,textarea{font:inherit}
.ruShell{width:min(1160px,calc(100% - 28px));margin:0 auto;padding:28px 0 70px}
.ruHero{background:linear-gradient(120deg,#0b47aa,#075ccf);color:#fff;border-radius:18px;padding:22px 28px;margin-bottom:18px;box-shadow:0 14px 34px rgba(7,92,207,.15)}
.ruHeroTop{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ruHero h1{font-size:30px;margin:12px 0 5px}.ruHero p{margin:0;opacity:.9}.ruBack{color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.ruBadge{font-size:10px;font-weight:900;letter-spacing:.08em;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);padding:6px 9px;border-radius:999px}
.ruLayout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:16px;align-items:start}
.ruSteps{background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;display:grid;gap:5px;position:sticky;top:14px}
.ruStep{border:1px solid transparent;background:#fff;border-radius:12px;padding:10px;display:flex;gap:10px;text-align:left;align-items:center;color:#5f738b;cursor:pointer}
.ruStep>span{width:34px;height:34px;border-radius:10px;background:#f1f5f9;display:grid;place-items:center;font-weight:900}
.ruStep b{display:block;font-size:12px}.ruStep small{display:block;font-size:10px;margin-top:2px}
.ruStep.active{background:#eef6ff;border-color:#9bc5fa;color:#075ccf}.ruStep.active>span{background:#075ccf;color:#fff}
.ruStep.done>span{background:#e8f7ef;color:#16794a}
.ruCard{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(17,64,112,.05);overflow:hidden}
.ruPanel{padding:30px 34px 12px;min-height:505px}
.ruKicker{color:#075ccf;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:8px}
.ruPanel h2{font-size:24px;margin:0 0 5px}.ruLead{margin:0 0 24px;color:var(--muted);font-size:13px}
.ruGrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ruFull{grid-column:1/-1}
.ruField{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#294f78}
.ruField small{font-weight:500;color:#7b8da1}
.ruField input,.ruField select,.ruField textarea,.ruDiscRow input,.ruDiscRow select{
  width:100%;border:1px solid #cbd9e8;border-radius:10px;background:#fff;padding:10px 11px;min-height:42px;color:#173e69
}
.ruField input:focus,.ruField select:focus,.ruField textarea:focus,.ruDiscRow input:focus{outline:3px solid rgba(7,92,207,.10);border-color:#7cb4f7}
.ruField textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#9badc1;opacity:.7}
.ruTableHead,.ruDiscRow{display:grid;grid-template-columns:minmax(220px,2.6fr) .8fr .8fr .8fr .8fr .8fr 38px;gap:7px;align-items:center}
.ruTableHead{padding:0 7px 6px;color:#67809d;font-size:9px;font-weight:900;text-transform:uppercase}
.ruDiscRow{padding:7px;border:1px solid #d8e4f1;border-radius:11px;margin-bottom:7px;background:#fbfdff}
.ruDiscRow input{min-height:38px;padding:8px 9px}
.ruRemove{height:34px;width:34px;border-radius:9px;border:1px solid #f3c9c6;background:#fff7f6;color:#c4322b;font-weight:900;cursor:pointer}
.ruStructureActions{display:flex;align-items:center;gap:12px;margin-top:12px}.ruStructureActions small{color:#7b8da1}
.ruTotals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.ruTotals>div{border:1px solid #d9e5f2;background:#f5f9fe;border-radius:11px;padding:11px}.ruTotals span{display:block;color:#70849a;font-size:10px}.ruTotals strong{display:block;margin-top:3px}
.ruInfo{margin-top:16px;padding:12px 14px;background:#eef6ff;border:1px solid #cfe3fb;border-radius:11px;display:grid;gap:4px;font-size:12px}
.ruInfo span,.ruInfo code{color:#58728e;font-size:11px;white-space:normal}
.ruSectionTitle{display:flex;justify-content:space-between;align-items:end;margin-top:22px}.ruSectionTitle h3{margin:0;font-size:16px}.ruSectionTitle p{margin:3px 0 0;color:#7b8da1;font-size:11px}
.ruTieBreakers{display:grid;gap:7px;margin-top:10px}.ruTie{border:1px solid #d9e5f2;border-radius:10px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ruTieLeft{display:flex;align-items:center;gap:9px}.ruTieNum{width:28px;height:28px;border-radius:8px;background:#eef6ff;color:#075ccf;display:grid;place-items:center;font-weight:900;font-size:11px}
.ruTieBtns{display:flex;gap:5px}.ruTieBtns button{width:30px;height:30px;border:1px solid #d4e1ee;background:#fff;border-radius:8px;cursor:pointer;color:#075ccf}
.ruPrivacyGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}
.ruChoiceCard{border:1px solid #d7e3f2;border-radius:12px;padding:14px;display:flex;gap:9px;cursor:pointer;min-height:86px}
.ruChoiceCard.active{border-color:#7cb4f7;background:#eef6ff}.ruChoiceCard input{margin-top:4px}.ruChoiceCard b{display:block;font-size:12px}.ruChoiceCard small{display:block;margin-top:5px;color:#70849a;font-size:10px;line-height:1.35}
.ruCheckGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.ruCheck{display:flex;gap:10px;border:1px solid #d9e5f2;border-radius:12px;padding:14px;align-items:flex-start}
.ruCheck input{width:19px;height:19px}.ruCheck b{display:block;font-size:12px}.ruCheck small{display:block;color:#70849a;font-size:10px;margin-top:4px}
.ruSubBox{margin-top:12px;background:#fbfdff;border:1px dashed #c7d8e9;border-radius:11px;padding:12px}.ruSubBox>small{display:block;margin-top:7px;color:#7b8da1;font-size:10px}
.ruReview{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ruReviewItem{border:1px solid #d9e5f2;border-radius:10px;padding:11px}.ruReviewItem.full{grid-column:1/-1}.ruReviewItem span{display:block;text-transform:uppercase;color:#7b8da1;font-size:8px;font-weight:900;letter-spacing:.04em}.ruReviewItem strong{display:block;margin-top:4px;font-size:12px}.ruReviewChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ruChip{background:#eef6ff;color:#075ccf;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:800}
.ruLifetime{display:flex;gap:12px;border:1px solid #cfe3fb;background:#f4f9ff;border-radius:11px;padding:12px;margin-top:14px}.ruLifetime>span{width:36px;height:36px;border-radius:10px;background:#075ccf;color:#fff;display:grid;place-items:center;font-weight:900}.ruLifetime b{display:block;font-size:11px}.ruLifetime small{display:block;color:#70849a;font-size:9px;margin-top:3px}
.ruConfirm{display:flex;gap:9px;align-items:center;border:1px solid #d9e5f2;border-radius:10px;padding:12px;margin-top:12px;font-size:11px}.ruConfirm input{width:17px;height:17px}
.ruMessage{min-height:20px;margin-top:10px;font-size:11px;font-weight:700}.ruMessage.error{color:var(--danger)}.ruMessage.ok{color:var(--ok)}
.ruFooter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 34px 18px;border-top:1px solid #e3ebf4}
.ruFooter>span{text-align:right;color:#8a99aa;font-size:9px}
.ruButton{border:1px solid #cddbea;border-radius:10px;min-height:40px;padding:9px 14px;font-weight:800;font-size:11px;cursor:pointer}
.ruButton.primary{background:#075ccf;border-color:#075ccf;color:#fff}.ruButton.secondary{background:#fff;color:#075ccf}.ruButton:disabled{opacity:.55;cursor:not-allowed}
.ruNotice{background:#fff7e8;border:1px solid #f0d59d;border-radius:12px;padding:14px;margin-bottom:16px}.ruNotice a{margin-left:8px}
@media(max-width:900px){
  .ruLayout{grid-template-columns:1fr}.ruSteps{position:static;grid-template-columns:repeat(5,1fr)}.ruStep{padding:7px;justify-content:center}.ruStep div{display:none}
  .ruTableHead{display:none}.ruDiscRow{grid-template-columns:1fr 1fr}.ruDiscRow input:first-child{grid-column:1/-1}.ruRemove{grid-column:2;justify-self:end}
}
@media(max-width:620px){
  .ruShell{width:min(100% - 18px,1160px);padding-top:14px}.ruHero{padding:18px}.ruPanel{padding:22px 16px 10px}.ruFooter{padding:12px 16px 16px}
  .ruGrid2,.ruPrivacyGrid,.ruCheckGrid,.ruReview,.ruTotals{grid-template-columns:1fr}.ruFull,.ruReviewItem.full{grid-column:auto}
  .ruDiscRow{grid-template-columns:1fr}.ruDiscRow input:first-child{grid-column:auto}.ruRemove{grid-column:auto;justify-self:end}
}