:root{
--qsa-bg:#ffffff; --qsa-card:#f9fafb; --qsa-border:#e5e7eb;
--qsa-text:#ffffff; --qsa-sub:#6b7280; --qsa-accent:#0ea5e9; --qsa-dark:#000000;
--qsa-ok:#10b981; --qsa-warn:#f59e0b; --qsa-bad:#ef4444; --qsa-info:#0ea5e9;
--qsa-radius:12px; --qsa-pad:14px 20px;
--qsa-shadow: 0 6px 20px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.04);
--qsa-font: Gotham, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
.qsa-form { text-align: center; font-family: var(--qsa-font); color: var(--qsa-text); max-width: 760px; margin: 0 auto; background: #990a00; border-radius: 20px; padding: 25px 35px; }
.qsa-report { font-family: var(--qsa-font); color: var(--qsa-dark); max-width: 980px; margin: 20px auto; }
.qsa-title{ font-weight:700; font-size:18px; margin-bottom:6px; }
.qsa-section-title{ font-weight:700; font-size:16px; margin: 6px 0 8px; }
.qsa-sub{ color: var(--qsa-dark) !important; }
.qsa-sub.small{ font-size:12px; }
.qsa-grid-2 .qsa-sub.small{ font-weight: 700; }
.qsa-text {font-size: 14px !important; color: var(--qsa-dark) !important; letter-spacing: 0 !important;}
.qsa-kpi{ font-size:18px; font-weight:700; }
#qsa-msg { color: var(--qsa-text) !important; }
.qsa-label{ display: block; margin-bottom: 5px; font-weight: 300; font-family: 'Gotham'; }
.qsa-row{ }
#qsa-form .qsa-input{ text-align: center; border: 1px solid var(--qsa-border) !important; padding: 25px 12px !important; width: 100%; transition: border-color .15s, box-shadow .15s; outline: none; background: #fff !important; font-size: clamp(0.8rem, 1.8vw, 2.2rem) !important;
}
.qsa-input:focus{ border-color: var(--qsa-accent); box-shadow:0 0 0 3px rgba(14,165,233,.15); }
#qsa-form .qsa-btn{
background: #000000; color:#fff !important; width:100%;
}
.qsa-btn:hover{ }
.qsa-btn:disabled{ opacity:.6; cursor:not-allowed; }
.qsa-btn-accent{ background: #000000;  color: #ffffff; width: 100%; }
.qsa-btn-white{ background:#000000; color: var(--qsa-text); border:0px solid var(--qsa-border); }
.qsa-hint{ color: var(--qsa-dark) !important; font-size: 12px !important; margin: 5px 0 0; line-height: normal !important; }
.qsa-error{ color: var(--qsa-bad) !important; }
.qsa-progress-wrap{ border: 3px solid var(--qsa-border); border-radius: 0;padding: 15px 10px;margin-top: 12px;text-align: left; }
.qsa-progress-head{ display:flex; justify-content:space-between; font-size:12px; margin-bottom:6px; }
.qsa-progress{ height:10px; background:#e5e7eb; border-radius:999px; overflow:hidden; }
.qsa-progress-bar{ height:10px; background:#10b981; transition:width .35s; }
.qsa-steps{ list-style: disc; margin: 10px 0 0 0px; color: var(--qsa-dark); font-size: 12px; padding-left: 1rem; }
.qsa-steps li.qsa-step-done{ color: var(--qsa-text); font-weight:600; }
.qsa-card{ border: 3px solid var(--qsa-border); border-radius: 0;padding: var(--qsa-pad);margin-top: 12px;}
.qsa-center{ text-align:center; }
.qsa-grid-4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.qsa-grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; }
.qsa-grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; }
.qsa-col-span-2{ grid-column: 1 / -1; }
.qsa-section{ margin-top:14px; border-top:1px solid var(--qsa-border); padding-top:12px; }
.qsa-grid-4 .qsa-sub {
color: var(--qsa-text) !important;
}
.qsa-grid-4 .qsa-badge{ display: inline-block;
padding: 3px 10px;
border-radius: 999px;
background: transparent !important;
color: #ffffff !important;
font-size: clamp(2.5rem, 3.5vw, 3.5rem);
font-weight: 900;
letter-spacing: 3px;
line-height: 0.8;}
.qsa-grid-4 .qsa-card {
border: 10px solid var(--qsa-border);
border-radius: 0;
padding: var(--qsa-pad);
margin: 12px auto 0;
border-radius: 100%;
aspect-ratio: 1 / 1;
max-width: 150px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #990a00;
color: #fff;
}
.qsa-grid-4 .qsa-card:hover {
animation: shadow 1.6s infinite;
} .qsa-link{ color: var(--qsa-accent); text-decoration: none; word-break: break-word; }
.qsa-link:hover{ text-decoration: underline; } .qsa-exporting .qsa-card { box-shadow: none !important; }
.qsa-exporting #qsa-export-pdf { display: none !important; }
.qsa-exporting { background: #fff !important; padding-bottom: 12px; }
ol.qsa-list {
text-align: left;
padding-left: 1rem;
}
ol.qsa-list li {
margin-bottom: 10px;
word-break: break-word;
}
.qsa-report-head, #qsa-lead-wrap, .qsa-results-head { text-align: center;}
#qsa-lead-wrap input, #qsa-lead-wrap textarea, #qsa-lead-wrap select {  border: 2px solid #e4e4e4 !important;}
@media (max-width: 900px){
.qsa-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px){
.qsa-grid-3, .qsa-grid-2{ grid-template-columns:repeat(1,minmax(0,1fr)); }
}