:root{--red:#d91f32;--dark:#182233;--muted:#718096;--line:#e6eaf0;--bg:#f5f7fb;--green:#19875c}*{box-sizing:border-box}body{margin:0;font:15px/1.55 Inter,Arial,sans-serif;color:var(--dark);background:var(--bg)}.top{background:#fff;border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 1150px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 4px 20px #1d29400a}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px}.logo{width:35px;height:35px;background:var(--red);color:white;display:grid;place-items:center;border-radius:11px;font-weight:900}.nav{display:flex;gap:12px;align-items:center}.nav a{color:#546174;text-decoration:none;font-size:13px;font-weight:700}.nav a:hover{color:var(--red)}main{max-width:1150px;margin:28px auto;padding:0 18px 60px}.hero{background:linear-gradient(120deg,#9c1729,#d91f32);color:white;padding:30px 34px;border-radius:18px;margin-bottom:20px;box-shadow:0 12px 28px #d91f3224}.hero h1{margin:0;font-size:28px;line-height:1.2}.hero p{margin:7px 0 0;opacity:.9}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px}.panel,.sidebar,.stat{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px #1d294008}.sidebar{padding:18px;height:max-content;position:sticky;top:15px}.step{display:flex;align-items:center;gap:10px;padding:11px 9px;color:#6e7886;cursor:pointer;border-radius:8px;font-size:13px;font-weight:650}.step span{border:1px solid #e5e8ed;border-radius:7px;display:grid;place-items:center;width:27px;height:27px;flex-shrink:0}.step.active{background:#fff0f2;color:var(--red)}.step.active span{background:var(--red);border-color:var(--red);color:white}.step.done span{background:#e7f7ed;border-color:#e7f7ed;color:var(--green)}.panel{padding:27px 30px}.panel h2{margin:0 0 4px;font-size:21px}.sub{color:var(--muted);font-size:13px;margin:0 0 25px}.question{padding:19px 0;border-top:1px solid var(--line)}.question>label,.question>.qlabel{font-weight:680;display:block;margin-bottom:10px}.required{color:var(--red)}input[type=text],input[type=number],input[type=password],select,textarea,input[type=date]{font:inherit;width:100%;border:1px solid #d6dde7;border-radius:9px;padding:10px 12px;background:white;color:var(--dark);min-height:42px}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #f3a1aa;border-color:var(--red)}.options{display:grid;gap:8px}.option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:14px}.option:has(input:checked){border-color:#eb9fac;background:#fff5f6}input[type=radio],input[type=checkbox]{accent-color:var(--red);width:16px;height:16px;flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .question{border-top:0;padding:8px 0}.scale{display:flex;flex-wrap:wrap;gap:8px}.scale label{position:relative;cursor:pointer}.scale input{position:absolute;opacity:0}.scale span{display:grid;place-items:center;border:1px solid #d6dde7;width:40px;height:40px;border-radius:8px;font-weight:750}.scale input:checked+span{background:var(--red);color:white;border-color:var(--red)}.scale-label{font-size:12px;color:var(--muted);margin-top:7px}.actions{display:flex;align-items:center;justify-content:space-between;margin-top:26px;gap:15px}.btn{background:var(--red);color:white;border:0;border-radius:10px;font:inherit;font-weight:750;padding:11px 22px;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.outline{background:white;color:#394456;border:1px solid var(--line)}.progress{height:7px;background:#f0e5e7;border-radius:8px;overflow:hidden;margin:14px 0 22px}.progress i{display:block;height:100%;background:var(--red);transition:width .2s}.message{padding:13px 15px;border-radius:9px;background:#eff8f1;color:#167a45;margin:15px 0}.error{background:#fff0f1;color:#ad1830}.muted{color:var(--muted)}.dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat{padding:20px}.stat small{color:var(--muted);font-weight:680}.stat strong{display:block;font-size:30px;margin:6px 0 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:17px}.toolbar>*{width:auto!important;min-width:150px;flex:1}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{background:#fafbfc;color:#566173;white-space:nowrap}.bar{height:9px;max-width:250px;background:#edf1f4;border-radius:8px;overflow:hidden}.bar i{display:block;background:var(--red);height:100%}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.small{font-size:12px}.hidden{display:none!important}.rankgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.footer{color:#95a0af;text-align:center;font-size:12px;padding:25px}@media(max-width:820px){.layout{grid-template-columns:1fr}.sidebar{position:static;display:flex;gap:5px;overflow:auto}.step{white-space:nowrap;padding:8px}.step strong{display:none}.dash-grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.panel{padding:20px}.rankgrid{grid-template-columns:1fr}}@media(max-width:500px){.form-grid{grid-template-columns:1fr}.top{padding:14px}.hero{padding:23px}.hero h1{font-size:22px}.nav a{font-size:12px}.dash-grid{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}}

/* Mobile-first red & orange visual refresh */
:root{--red:#df2534;--orange:#ff8b20;--dark:#29243a;--muted:#777789;--line:#f0e9e7;--bg:#fff8f4}body{background:linear-gradient(180deg,#fff7f2 0%,#fffdfa 48%,#fff4ee 100%)}.top{position:sticky;top:0;z-index:20;background:#fffdfcf5;backdrop-filter:blur(12px);border-bottom:1px solid #f4e1dd}.logo{background:linear-gradient(135deg,#df2534,#ff8b20);font-size:19px;box-shadow:0 4px 12px #eb60382a}.nav-current{background:#fff1e9;color:#d92330!important;padding:9px 12px;border-radius:11px}.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#d82037 0%,#f14f30 52%,#ffa023 115%);box-shadow:0 14px 28px #db3e3129;padding:34px 36px}.hero:before{content:'';position:absolute;width:330px;height:330px;border:50px solid #ffffff13;border-radius:50%;right:-120px;top:-140px}.hero-content{position:relative;z-index:1;max-width:720px}.hero h1{font-weight:850;letter-spacing:-.65px}.eyebrow{display:inline-flex;border:1px solid #ffffff50;border-radius:100px;padding:5px 12px;font-size:11px;font-weight:800;letter-spacing:.6px;background:#ffffff1e;margin-bottom:15px}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.hero-tags span{font-size:12px;font-weight:750;background:#ffffff20;border:1px solid #ffffff30;border-radius:30px;padding:6px 12px}.hero-illustration{position:absolute;right:35px;top:24px;font-size:90px;opacity:.45;transform:rotate(-9deg)}.hero-illustration span{display:block;font-size:65px;margin:-34px 0 0 80px}.panel,.sidebar,.stat{border-color:#f0e8e4;box-shadow:0 8px 24px #4d24120b}.section-heading{display:flex;align-items:center;gap:13px}.section-heading h2{flex:1}.section-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:linear-gradient(140deg,#fff0e2,#ffe0df);font-size:25px;flex-shrink:0}.progress{margin:17px 0 5px;background:#f8e7e1;height:9px}.progress i{background:linear-gradient(90deg,#df2534,#ff8b20)}.progress-caption{display:flex;justify-content:space-between;color:#8c7c7a;font-size:11px;margin-bottom:20px}.progress-caption strong{color:#dc3c30}.step{border-radius:12px}.step span{width:35px;height:35px;font-size:18px;border:0;background:#fff5ee}.step.active{background:linear-gradient(90deg,#fff0ec,#fff5e9);color:#d92330}.step.active span{background:linear-gradient(135deg,#e02637,#fb8329);color:white}.step.done span{background:#fff0de;color:#db632c}.question{padding:21px 0}.question>.qlabel{font-size:14px;line-height:1.55}.question>.qlabel .required{font-size:17px}.option{min-height:50px;background:#fff;border-color:#efe9e5;border-radius:12px;transition:background .15s,border .15s}.option:has(input:checked){border-color:#ff9a53;background:linear-gradient(90deg,#fff1ed,#fff6e8);box-shadow:0 0 0 1px #ff9a5330}input[type=radio],input[type=checkbox]{accent-color:#e33a33;width:19px;height:19px}.scale{gap:7px}.scale span{width:45px;height:45px;border-radius:12px;background:#fffdfa}.scale input:checked+span{background:linear-gradient(135deg,#e02637,#fb8329);border-color:#f27835;box-shadow:0 4px 12px #ed592c2f}.btn{background:linear-gradient(110deg,#df2534,#fc7628);box-shadow:0 6px 16px #e7402923;border-radius:12px;min-height:48px}.btn.outline{box-shadow:none;border-color:#f0d9cf;color:#bb493c}.stat{position:relative;overflow:hidden}.stat:before{content:'';height:5px;position:absolute;left:0;right:0;top:0;background:linear-gradient(90deg,#e22a37,#ff9525)}.stat strong{color:#d82e34}.bar i{background:linear-gradient(90deg,#e02c35,#ff9a23)}th{background:#fff4ec}.toolbar{background:#fff;border:1px solid #f2e6de;padding:13px;border-radius:16px}.footer{color:#aa8885}
@media(max-width:820px){main{margin:14px auto;padding:0 13px 110px}.top{padding:11px 14px}.brand{font-size:15px;gap:7px}.logo{width:33px;height:33px}.hero{padding:27px 23px;border-radius:19px}.hero-illustration{font-size:75px;right:8px;top:55px;opacity:.2}.hero-illustration span{font-size:50px}.sidebar{padding:9px;gap:4px;overflow-x:auto;scrollbar-width:none;border-radius:13px;position:sticky;top:59px;z-index:10;background:#fffdfcf5}.sidebar::-webkit-scrollbar{display:none}.step{flex:1;min-width:46px;justify-content:center;padding:6px}.step span{width:34px;height:34px}.step strong{display:none}.panel{padding:20px 17px;border-radius:17px}.actions{position:sticky;bottom:0;z-index:8;background:#fffdfcf5;backdrop-filter:blur(10px);padding:13px 0 5px;margin-top:15px}.actions .btn{flex:1;padding:12px 8px}.section-heading h2{font-size:19px}.toolbar>*{min-width:140px}.two{gap:13px}}
@media(max-width:520px){body{font-size:14px}.brand-name{max-width:134px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{gap:4px}.nav a{font-size:12px}.nav a span{display:none}.nav a{padding:9px 10px}.hero{padding:24px 19px;margin-bottom:14px}.eyebrow{margin-bottom:11px;font-size:10px}.hero h1{font-size:25px;max-width:255px}.hero p{font-size:13px;max-width:280px}.hero-tags{gap:5px}.hero-tags span{font-size:10px;padding:5px 8px}.sidebar{top:56px}.panel{padding:18px 15px}.question{padding:17px 0}.option{padding:12px;min-height:52px;font-size:13px}.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.scale label{min-width:0}.scale span{width:100%;height:45px}.form-grid{gap:0}.stat{padding:15px 12px}.stat small{font-size:11px}.stat strong{font-size:27px}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toolbar>*{width:100%!important;min-width:0}.toolbar #search{grid-column:1/-1}.toolbar .btn{padding:10px 6px}.tablewrap{margin:0 -8px}.section-icon{width:43px;height:43px}.rankgrid{grid-template-columns:1fr}}

/* One page survey: mobile-first */
.survey-layout{max-width:850px;margin:auto}
.survey-intro{background:#fff;border:1px solid #f2d4c6;border-radius:16px;padding:18px;margin-bottom:16px;color:#78453c}
.survey-section{background:#fff;border:1px solid #f0e1db;border-radius:18px;margin:18px 0;padding:25px 30px;box-shadow:0 8px 26px #793e1810;scroll-margin-top:90px}
.survey-section .section-heading{padding-bottom:18px;margin-bottom:4px;border-bottom:2px solid #ffebe0}
.survey-section .section-heading h2{font-size:22px;margin:0}
.section-kicker{font-weight:900;color:#e45730;letter-spacing:1px;font-size:11px}
.survey-section .sub{margin:3px 0 0}
.question.invalid{background:#fff1ed;border-radius:10px;padding-left:12px;padding-right:12px}
.submit-panel{background:#fff;border:1px solid #f5d6c5;border-radius:18px;padding:20px;display:flex;gap:14px;align-items:center;justify-content:space-between}
.submit-panel p{margin:0;color:#71544a}
.submit-panel .btn{min-width:200px;font-size:16px}
.success-message{padding:28px;text-align:center}
.success-message .btn{display:inline-block;text-decoration:none;margin-top:14px}
@media(max-width:620px){.survey-section{padding:18px 15px;margin:12px 0;border-radius:15px}.survey-section .section-heading h2{font-size:19px}.survey-intro{font-size:13px;padding:14px}.submit-panel{flex-direction:column;align-items:stretch;padding:14px}.submit-panel .btn{width:100%;min-height:54px}.submit-panel p{font-size:12px;text-align:center}.question{scroll-margin-top:100px}.option{min-height:52px}input[type=text],input[type=number],input[type=password],select,textarea{font-size:16px;min-height:48px}}

/* Survey matrix, ranks, parts */
.rank-block,.matrix-question{border-top:1px solid var(--line);padding:22px 0}
.rank-block .qlabel{font-weight:750;display:block;margin-bottom:14px}
.rank-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rank-item{min-width:0}.rank-label{display:block;font-size:12px;font-weight:800;color:#d94a34;margin-bottom:7px}
.rank-item input,.rank-item select{width:100%;min-width:0}
.matrix-heading{font-weight:800;line-height:1.6;margin-bottom:12px}
.matrix-scroll{overflow-x:auto;border:1px solid #f0dfd8;border-radius:14px;overscroll-behavior-inline:contain}
.matrix-table{width:100%;border-collapse:collapse;min-width:550px;table-layout:fixed}
.matrix-table th:first-child{width:57%;white-space:normal}
.matrix-table thead th{background:linear-gradient(90deg,#fff3eb,#fff8f4);color:#9f4036;font-size:12px}
.matrix-table th,.matrix-table td{padding:10px 8px;border-bottom:1px solid #f2e7e1}
.matrix-table tbody th{font-size:12px;line-height:1.45;font-weight:500;text-align:left}
.matrix-table tbody th strong{color:#d62e36}
.matrix-table td{text-align:center}
.matrix-table tr:nth-child(even) td,.matrix-table tr:nth-child(even) th{background:#fffaf7}
.matrix-choice{display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:36px}
.matrix-choice input{width:20px;height:20px;accent-color:#e94a31;cursor:pointer}
.matrix-choice span{display:none}
.matrix-row.invalid{outline:2px solid #dd2534;outline-offset:-2px;background:#fff1f1}
@media(max-width:620px){.rank-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rank-item input,.rank-item select{padding:8px 5px;font-size:13px}.rank-label{font-size:11px}.matrix-table{min-width:470px}.matrix-table th:first-child{width:51%}.matrix-table th,.matrix-table td{padding:10px 5px}.matrix-table tbody th{font-size:11px}.matrix-choice input{width:19px;height:19px}.matrix-heading{font-size:13px}}

/* Compact headerless survey */
body:has(.survey-layout) main{margin-top:18px}
body:has(.survey-layout) .hero{padding:25px 28px}
body:has(.survey-layout) .hero h1{font-size:clamp(24px,4vw,32px)}
@media(max-width:620px){body:has(.survey-layout) main{padding-top:0}body:has(.survey-layout) .hero{padding:23px 18px}}

/* Full-window survey desktop / comfortable mobile widths */
body:has(.survey-layout) main{width:100%;max-width:none;margin:0 auto;padding:14px clamp(12px,2.2vw,36px) 55px}
body:has(.survey-layout) .survey-layout{max-width:none;width:100%}
body:has(.survey-layout) .hero{border-radius:14px;padding:19px clamp(16px,2.2vw,28px);margin-bottom:12px}
body:has(.survey-layout) .hero h1{font-size:clamp(20px,2vw,27px);line-height:1.22;letter-spacing:0}
body:has(.survey-layout) .hero p{font-size:clamp(12px,1.2vw,14px);max-width:950px}
body:has(.survey-layout) .survey-section{width:100%;padding:22px clamp(15px,2.1vw,32px)}
body:has(.survey-layout) .survey-section .section-heading h2{font-size:clamp(17px,1.5vw,21px)}
body:has(.survey-layout) .matrix-table{min-width:600px}
body:has(.survey-layout) .matrix-table th:first-child{width:55%}
@media(max-width:620px){
body:has(.survey-layout) main{padding:8px 10px 40px}
body:has(.survey-layout) .hero{padding:17px 15px}
body:has(.survey-layout) .hero h1{font-size:21px}
body:has(.survey-layout) .hero p{font-size:12px}
body:has(.survey-layout) .survey-section{padding:17px 13px}
body:has(.survey-layout) .matrix-table{min-width:470px}
}
