@charset "UTF-8";
:root{--navy:#102b53;--blue:#145ada;--blue-dark:#104ab8;--cyan:#a8def2;--ink:#182b46;--muted:#5e6d82;--line:#dde5ef;--paper:#fff;--background:#f4f7fb;--radius:18px;--shadow:0 14px 45px rgba(24,48,83,.055)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.6;-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
a{color:var(--blue);text-underline-offset:3px;overflow-wrap:anywhere}
a:hover{color:var(--blue-dark)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.7}
:focus-visible{outline:3px solid #1d6ce9;outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.15;letter-spacing:-.035em}
h1{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:15px}
h2{font-size:1.4rem;margin-bottom:16px}
p{margin-bottom:18px}
small{font-size:.8rem}
strong{font-weight:650}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:20px;background:var(--navy);color:#fff;padding:10px 20px;z-index:1000;border-radius:6px}
.skip-link:focus{top:12px;color:#fff}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:1256px;min-height:95px;padding:16px 36px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;flex-shrink:0}
.brand:hover{color:var(--navy)}
.brand-symbol{font-weight:850;font-size:44px;line-height:1;position:relative;letter-spacing:-.09em;width:41px;transform:skew(-9deg)}
.brand-symbol>span{position:absolute;width:28px;height:4px;background:var(--blue);bottom:3px;left:5px;transform:skew(9deg)}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text small{font-size:9px;font-weight:700;letter-spacing:.36em;margin-bottom:4px}
.brand-text strong{font-size:21px;font-weight:800;letter-spacing:.08em}
.header-note,.private-tag{font-size:.8rem;font-weight:550;color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.security-dot{width:7px;height:7px;background:#14856b;border-radius:50%;box-shadow:0 0 0 4px #e5f5ef}
.private-tag>span{font-size:9px;color:var(--blue)}
.header-meta{display:flex;gap:22px;align-items:center}
.public-main{max-width:1256px;margin:0 auto;padding:60px 36px 40px;min-height:calc(100vh - 177px)}
.admin-main{max-width:1320px;margin:0 auto;padding:40px 36px 55px;min-height:calc(100vh - 177px)}
.site-footer{border-top:1px solid var(--line);background:#fff}
.footer-inner{max-width:1256px;margin:0 auto;padding:24px 36px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--muted);font-size:.75rem}
.footer-inner a{color:var(--muted)}
.eyebrow{font-size:.69rem;font-weight:750;letter-spacing:.16em;color:var(--blue);display:block;margin-bottom:20px}
.eyebrow>span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:6px;border-radius:50%;background:#e5edff;font-size:16px;letter-spacing:0}
.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.welcome-copy{padding:24px 0 0}
.welcome-copy h1{font-size:clamp(2.6rem,4vw,3.85rem);max-width:520px;line-height:1.08;letter-spacing:-.055em;margin-bottom:25px}
.welcome-copy h1 em{font-style:normal;color:var(--blue)}
.lead-text{font-size:1.04rem;line-height:1.75;color:var(--muted);max-width:520px}
.journey-visual{height:177px;margin:30px 15px 24px 0;position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid #dce6f4;background:linear-gradient(125deg,#f0f5ff,#eaf2fc)}
.journey-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(20,90,218,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(20,90,218,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to right,transparent,#000)}
.journey-line{position:absolute;width:75%;height:72px;border-top:3px solid var(--blue);border-right:3px solid var(--blue);transform:skewY(-16deg);left:35px;top:73px;border-top-right-radius:20px}
.journey-point{position:absolute;width:13px;height:13px;background:#fff;border:3px solid var(--blue);border-radius:50%;box-shadow:0 0 0 6px #e1ebfb}
.point-one{left:36px;top:112px}.point-two{left:43%;top:62px}.point-three{right:19%;top:23px}
.journey-caption{position:absolute;bottom:16px;right:20px;color:#607795;font-size:9px;font-weight:750;letter-spacing:.16em}
.journey-arrow{position:absolute;right:24px;top:21px;font-size:30px;color:var(--blue);font-weight:400;line-height:1}
.welcome-facts{display:flex;gap:38px;margin:22px 0}
.welcome-facts>div{display:flex;flex-direction:column}
.welcome-facts>div+div{padding-left:35px;border-left:1px solid #ced9e9}
.welcome-facts strong{font-size:1rem;color:var(--navy)}
.welcome-facts span{font-size:.75rem;color:var(--muted);margin-top:4px}
.privacy-note{font-size:.78rem;line-height:1.7;color:var(--muted);max-width:470px}
.form-card,.panel,.policy-card,.result-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.form-card{padding:34px 36px}
.card-topline{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#71819a;font-size:.66rem;margin-bottom:24px}
.step-tag{font-size:.6rem;letter-spacing:.08em;font-weight:750;color:var(--blue)}
.form-card h2{font-size:1.6rem;margin-bottom:10px}
.form-card>.muted{font-size:.86rem;margin-bottom:27px}
.stack-form{display:flex;flex-direction:column;gap:20px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.form-field label{font-size:.8rem;font-weight:650;color:#263b58}
.required-note{font-size:.62rem;font-weight:400;color:#728098;float:right;margin-top:2px}
input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea{width:100%;background:#fff;color:var(--ink);border:1px solid #cfd9e6;border-radius:9px;padding:11px 13px;min-height:46px;font-size:.87rem;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#8390a4;opacity:1}
input:not([type=radio]):not([type=checkbox]):focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e7efff;outline:0}
input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:17px;height:17px;flex-shrink:0;margin:2px 0 0}
.form-field>small{color:var(--muted);font-size:.7rem;line-height:1.5}
textarea{resize:vertical;line-height:1.6}
.consent-box{display:flex;flex-direction:column;gap:15px;border-top:1px solid #e9eef6;padding-top:20px;margin-top:1px}
.checkbox-label{display:flex;align-items:flex-start;gap:11px;font-size:.72rem;line-height:1.65;color:#4d5e75;cursor:pointer}
.checkbox-label input{width:16px;height:16px;margin-top:2px}
.checkbox-label strong{font-size:.66rem;color:#435772}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:11px 19px;border-radius:9px;text-decoration:none;font-size:.82rem;font-weight:650;line-height:1.4;border:1px solid transparent;transition:background .15s,box-shadow .15s;white-space:normal;text-align:center}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 4px 10px #145ada18}
.button-primary:hover{background:var(--blue-dark);color:#fff}
.button-primary>span{font-size:19px;line-height:1;font-weight:400}
.button-wide{width:100%;justify-content:space-between}
.button-wide:only-child{justify-content:center}
.button-secondary{background:#fff;border-color:#cdd8e7;color:#294363}
.button-secondary:hover{background:#f1f5fc;color:var(--navy)}
.button-small{min-height:37px;padding:8px 13px;font-size:.76rem;gap:8px}
.button-ghost{background:#fff;border-color:var(--line);color:var(--muted)}
.button-danger{background:#fff3f3;color:#a92b35;border-color:#ecc5c9;justify-content:center}
.button-danger:hover{background:#fbe4e7;color:#8b1824}
.form-footnote{font-size:.68rem;line-height:1.7;color:var(--muted);text-align:center;margin:0}
.honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.disclaimer{display:flex;gap:12px;padding:23px 0 0;margin-top:35px;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem}
.disclaimer>span{font-size:15px;color:#6e849f;line-height:1.5}
.disclaimer p{margin:0;max-width:960px}
.notice{border-radius:10px;padding:16px 20px;font-size:.84rem;margin-bottom:24px;background:#edf3ff;border:1px solid #cfdef8;color:#264f87}
.notice p:last-child{margin-bottom:0}
.notice ul{margin:8px 0 0;padding-left:20px}
.notice-error{color:#8e2430;background:#fff2f3;border-color:#efc9cf}
.notice-success{color:#17644c;background:#edf9f3;border-color:#c6e9d7}
.text-link{font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}
.text-link:hover{text-decoration:underline}
.quiz-shell{max-width:900px;margin:0 auto}
.quiz-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:30px}
.quiz-heading .eyebrow{margin-bottom:13px}
.quiz-heading h1{font-size:2.15rem}
.quiz-heading p{font-size:.87rem;max-width:620px;margin:0}
.quiz-heading>.text-link{padding-top:6px;white-space:nowrap}
.quiz-progress{padding:22px 25px;background:#eaf0fb;border-radius:12px;margin-bottom:30px}
.progress-meta{display:flex;justify-content:space-between;gap:15px;font-size:.76rem;font-weight:600;margin-bottom:11px}
.progress-meta>span:last-child{color:var(--muted);font-weight:400}
progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:5px;border:0;border-radius:10px;background:#cedbf1;overflow:hidden}
progress::-webkit-progress-bar{background:#cedbf1;border-radius:10px}progress::-webkit-progress-value{background:var(--blue);border-radius:10px}progress::-moz-progress-bar{background:var(--blue);border-radius:10px}
.section-heading{display:flex;gap:13px;align-items:center;margin:30px 0 20px}
.section-heading h2{font-size:1.1rem;margin:0;letter-spacing:-.02em}
.section-number{display:grid;place-items:center;width:33px;height:33px;border:1px solid #cddbf1;color:var(--blue);border-radius:9px;font-size:.7rem;font-weight:750;background:#f8faff}
.question-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px;margin:0 0 18px;box-shadow:0 3px 12px #1f467504}
.question-card legend{width:100%;float:left;padding:0;color:#243956;font-size:.94rem;font-weight:650;line-height:1.55;margin-bottom:11px;letter-spacing:-.01em}
.question-card legend+*{clear:both}
.question-number{color:var(--blue);margin-right:3px}
.question-help{font-size:.76rem;color:var(--muted);line-height:1.6;margin-bottom:17px}
.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;clear:both}
.answer-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #e0e6ef;background:#fff;border-radius:9px;padding:12px 13px;cursor:pointer;font-size:.8rem;line-height:1.5;min-height:48px;transition:border-color .15s,background .15s}
.answer-option input{width:15px;height:15px;margin-top:2px}
.answer-option:hover{border-color:#9bb9ed;background:#f7faff}
.answer-option:has(input:checked){border-color:var(--blue);background:#edf3ff;color:#144b9e}
.answer-option:has(input:focus-visible){outline:3px solid #1d6ce9;outline-offset:3px}
.quiz-actions{display:flex;gap:14px;justify-content:flex-end;align-items:center;border-top:1px solid var(--line);margin-top:30px;padding:24px 0 18px}
.quiz-autosave{font-size:.7rem;color:var(--muted);margin-right:auto;max-width:280px}
.result-card{max-width:700px;text-align:center;padding:54px 55px;margin:20px auto 55px}
.result-card .eyebrow{margin:24px 0 18px}
.result-card h1{font-size:2.3rem;max-width:520px;margin:0 auto 23px}
.result-card .lead-text{font-size:.96rem;margin:0 auto 25px}
.success-icon{display:inline-grid;place-items:center;background:#e8f7ef;color:#167050;border:1px solid #c7e9d7;width:70px;height:70px;border-radius:50%;font-size:30px}
.result-note{background:#f3f6fc;border-radius:12px;padding:23px;text-align:left;margin-bottom:28px}
.result-note strong{font-size:.9rem}
.result-note p{font-size:.82rem;color:var(--muted);margin:7px 0 0}
.result-card>.button{margin-bottom:24px}
.login-shell{max-width:450px;margin:10px auto 70px}
.login-intro{text-align:center;margin-bottom:30px}
.login-intro .eyebrow{margin-bottom:14px}
.login-intro h1{font-size:1.9rem}
.login-intro p{font-size:.86rem}
.policy-card{max-width:850px;margin:0 auto;padding:48px 55px;font-size:.88rem;line-height:1.8}
.policy-card>.text-link{margin-bottom:30px}
.policy-card h1{font-size:2.4rem}
.policy-card h2{margin-top:32px;font-size:1.15rem;margin-bottom:12px}
.policy-card .eyebrow{margin-bottom:15px}
.policy-version{color:var(--muted);font-size:.76rem;margin-bottom:28px}
.definition-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin:15px 0 8px}
.definition-grid>div{min-width:0}
.definition-grid dt{font-size:.7rem;color:var(--muted);margin-bottom:5px}
.definition-grid dd{margin:0;font-size:.84rem;overflow-wrap:anywhere}
.definition-grid dd a{text-decoration:none}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}
.page-heading .eyebrow{margin-bottom:13px}
.page-heading h1{font-size:2.1rem;margin-bottom:12px}
.page-heading p{font-size:.84rem;margin-bottom:0}
.count-card{border:1px solid #d5e1f3;border-radius:13px;background:#eaf1fd;padding:16px 25px;min-width:180px;display:flex;flex-direction:column;align-items:flex-start}
.count-card strong{font-size:1.8rem;line-height:1.2;color:var(--blue);letter-spacing:-.04em}
.count-card span{font-size:.7rem;color:#4f688b;margin-top:3px}
.filter-form{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(140px,1fr)) auto auto;gap:14px;padding:24px;align-items:end}
.filter-form .form-field label{font-size:.72rem}
.filter-form input,.filter-form select{font-size:.77rem;min-height:42px;padding:9px 10px}
.filter-form .button{min-height:42px;font-size:.76rem;padding:10px 16px}
.clear-link{font-size:.73rem;padding:10px 0;min-height:42px}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 15px;font-size:.75rem}
.table-scroll{overflow-x:auto;box-shadow:0 4px 20px #142c5004}
.client-table{border-collapse:collapse;width:100%;text-align:left;white-space:normal;min-width:780px}
.client-table th{font-size:.67rem;letter-spacing:.04em;font-weight:650;color:#667a94;background:#f8fafd;padding:15px 20px;border-bottom:1px solid var(--line)}
.client-table td{padding:19px 20px;border-bottom:1px solid #e8edf4;font-size:.78rem;vertical-align:top}
.client-table tbody tr:last-child td{border-bottom:0}
.client-table tbody tr:hover{background:#fcfdff}
.client-name{font-size:.88rem;font-weight:650;text-decoration:none;color:var(--navy)}
.client-name:hover{text-decoration:underline}
.cell-subline{display:block;color:var(--muted);font-size:.71rem;line-height:1.7;margin-top:3px;max-width:270px;overflow-wrap:anywhere}
.cell-title{font-size:.78rem;line-height:1.6}
.score-small{display:inline-block;font-size:.63rem;color:#637ca0;margin-top:6px}
.status-badge{display:inline-block;color:#345a8d;background:#eaf1fc;border:1px solid #d9e5f8;border-radius:6px;padding:3px 8px;font-size:.64rem;font-weight:600;white-space:nowrap}
.date-cell{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.7rem!important;max-width:140px}
.table-action{display:flex;align-items:center;gap:16px;font-size:.74rem;font-weight:600;text-decoration:none;padding-top:2px}
.empty-state{padding:55px 30px;text-align:center}
.empty-icon{font-size:40px;color:#99b2d3;line-height:1;display:block;margin-bottom:20px}
.empty-state h2{font-size:1.3rem}
.empty-state p{font-size:.85rem;max-width:500px;margin:0 auto 23px}
.pagination{display:flex;align-items:center;justify-content:center;gap:25px;margin:25px 0 0;font-size:.78rem}
.admin-data-note{font-size:.7rem;color:var(--muted);margin:23px 0 0;line-height:1.8}
.back-link{margin-bottom:23px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}
.detail-main,.detail-sidebar{display:flex;flex-direction:column;gap:22px;min-width:0}
.detail-panel{padding:28px}
.detail-panel h2,.danger-panel h2{font-size:1.08rem;letter-spacing:-.02em;margin-bottom:20px}
.detail-panel>.muted{font-size:.78rem}
.section-title-row{display:flex;justify-content:space-between;gap:15px;align-items:baseline}
.section-title-row>.muted{font-size:.7rem}
.answer-list{margin:0;padding-left:22px;font-size:.8rem;counter-reset:item}
.answer-list li{padding:15px 0 15px 5px;border-top:1px solid #e8edf5;color:var(--blue)}
.answer-question{display:block;color:var(--muted);font-size:.76rem;margin-bottom:5px}
.answer-list strong{display:block;font-size:.83rem;color:#263e5c;line-height:1.7}
.reason-list{padding-left:20px;font-size:.8rem;line-height:1.8;color:#4c637e}
.reason-list li{margin-bottom:8px}
.score-details{font-size:.78rem;border:1px solid var(--line);border-radius:9px;padding:13px 16px}
.score-details summary{cursor:pointer;font-weight:600;color:#365575}
.score-details pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fc;padding:14px;border-radius:6px;font-size:.68rem;line-height:1.8;margin-bottom:0}
.score-table-wrap{margin-top:16px;overflow-x:auto}.score-table{border-collapse:collapse;width:100%;text-align:left;font-size:.71rem}.score-table caption{text-align:left;color:var(--muted);font-size:.65rem;padding-bottom:10px;caption-side:top}.score-table th,.score-table td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:top}.score-table thead th{color:#59728f;font-size:.65rem;font-weight:600}.score-table td>span{display:block;color:var(--muted);font-size:.65rem;line-height:1.6;margin-bottom:4px}.score-table td>strong{display:block;font-size:.69rem;line-height:1.7}.score-table td:last-child{white-space:nowrap;text-align:right;min-width:65px;font-variant-numeric:tabular-nums}.score-table thead th:last-child{text-align:right}.score-table tfoot th,.score-table tfoot td{font-weight:700;background:#f5f8fe;border-bottom:0}
.recommendation-card{padding:29px;border-radius:var(--radius);background:var(--navy);color:#fff;position:relative;overflow:hidden}
.recommendation-card:before{content:"";width:220px;height:220px;position:absolute;right:-130px;top:-130px;border:30px solid #244a78;border-radius:50%;pointer-events:none}
.recommendation-card .eyebrow{color:#aac7ef;font-size:.62rem;margin-bottom:20px}
.recommendation-card h2{font-size:1.45rem;line-height:1.3;position:relative}
.recommendation-score{font-size:2.6rem;letter-spacing:-.06em;line-height:1.25;font-weight:650;display:flex;align-items:baseline;gap:8px;margin:17px 0 23px}
.recommendation-score small{font-size:.72rem;letter-spacing:0;font-weight:400;color:#b4c7df}
.recommended-service{border-top:1px solid #35506f;padding-top:20px}
.recommended-service>span{display:block;font-size:.7rem;color:#b3c7e0;margin-bottom:6px}
.recommended-service>strong{font-size:1rem;line-height:1.5;display:block}
.recommendation-card>p{font-size:.65rem;line-height:1.8;color:#b9cbe1;margin:18px 0 0}
.detail-sidebar .stack-form{gap:17px}
.detail-sidebar .form-field label{font-size:.76rem}
.detail-sidebar .form-field>small{font-size:.65rem}
.danger-panel{padding:25px;border-color:#ead5d8;box-shadow:none}
.danger-panel h2{color:#a02b36;margin-bottom:12px}
.danger-panel>p{font-size:.72rem;color:#7c6267;line-height:1.75}
.danger-panel input{font-size:.8rem!important}
.danger-panel .button{font-size:.73rem}
@media(min-width:1500px){.public-main{padding-top:78px;padding-bottom:60px}.welcome-copy{padding-top:30px}.welcome-grid{gap:85px}.journey-visual{margin-top:35px;height:195px}.point-one{top:122px}.point-two{top:75px}.point-three{top:33px}.journey-line{top:84px}}
@media(max-width:1100px){.welcome-grid{gap:35px}.welcome-copy h1{font-size:3rem}.form-card{padding:28px}.header-inner,.public-main,.admin-main,.footer-inner{padding-left:28px;padding-right:28px}.welcome-facts{gap:20px}.welcome-facts>div+div{padding-left:20px}.filter-form{grid-template-columns:repeat(3,1fr)}.search-field{grid-column:span 2}.filter-form .button{align-self:end}.clear-link{justify-self:start}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.detail-panel{padding:24px}.recommendation-card{padding:25px}.step-tag{font-size:.56rem}.card-topline{font-size:.6rem}}
@media(max-width:800px){.public-main{padding-top:35px}.welcome-grid{grid-template-columns:1fr;gap:30px;max-width:600px;margin:0 auto}.welcome-copy{padding-top:0}.welcome-copy h1{font-size:2.8rem;max-width:500px}.welcome-copy .lead-text{font-size:.96rem;max-width:550px}.journey-visual{display:none}.welcome-facts{margin:25px 0 18px}.privacy-note{margin:0;max-width:100%}.form-card{padding:30px}.contact-card h2{font-size:1.45rem}.card-topline{font-size:.65rem}.step-tag{font-size:.6rem}.disclaimer{max-width:600px;margin:30px auto 0}.footer-inner{flex-wrap:wrap;justify-content:center;text-align:center;gap:9px 25px}.footer-inner>span:last-child{width:100%;font-size:.68rem}.quiz-heading{display:block}.quiz-heading>.text-link{margin-top:15px}.quiz-heading h1{font-size:1.9rem}.detail-grid{grid-template-columns:1fr}.detail-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.detail-sidebar .danger-panel{grid-column:2}.detail-sidebar .recommendation-card{grid-row:span 2}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.8rem}.count-card{min-width:155px;padding:15px 20px}.policy-card{padding:35px}.policy-card h1{font-size:2rem}.result-card{padding:40px 35px}.result-card h1{font-size:2rem}.private-tag{font-size:.72rem}}
@media(max-width:580px){.header-inner{min-height:80px;padding:16px 20px;gap:15px}.brand-symbol{font-size:37px;width:35px}.brand-symbol>span{width:24px;height:3px}.brand-text strong{font-size:17px}.brand-text small{font-size:8px}.brand{gap:8px}.header-note{font-size:.65rem;gap:6px}.security-dot{width:6px;height:6px;box-shadow:0 0 0 3px #e5f5ef}.public-main,.admin-main{padding:30px 18px}.welcome-grid{gap:24px}.eyebrow{font-size:.61rem;margin-bottom:18px}.welcome-copy h1{font-size:2.6rem;max-width:380px;line-height:1.08;margin-bottom:20px}.welcome-copy .lead-text{font-size:.88rem;line-height:1.75;margin-bottom:20px}.welcome-facts{gap:20px;margin-top:20px}.welcome-facts strong{font-size:.87rem}.welcome-facts span{font-size:.66rem}.privacy-note{font-size:.7rem}.form-card{padding:24px 21px;border-radius:14px}.card-topline{margin-bottom:20px;font-size:.58rem;gap:5px}.step-tag{font-size:.53rem;letter-spacing:.065em}.form-card h2{font-size:1.35rem}.form-card>.muted{font-size:.8rem}.stack-form{gap:18px}.checkbox-label{font-size:.7rem}.contact-card .button{font-size:.8rem}.disclaimer{font-size:.65rem;gap:9px;margin-top:25px;padding-top:20px}.footer-inner{padding:22px 18px;font-size:.67rem;gap:9px 22px}.footer-inner>span:last-child{font-size:.62rem}.question-card{padding:20px 17px}.question-card legend{font-size:.87rem}.answer-grid{grid-template-columns:1fr}.answer-option{font-size:.77rem;padding:11px 12px}.question-help{font-size:.72rem}.quiz-progress{padding:18px}.quiz-heading h1{font-size:1.8rem}.quiz-heading p{font-size:.8rem}.section-heading h2{font-size:1rem}.quiz-actions{flex-wrap:wrap;justify-content:space-between;gap:12px}.quiz-autosave{order:3;max-width:100%;width:100%;text-align:center;margin-top:4px}.quiz-actions .button{font-size:.77rem;padding:11px 15px}.quiz-actions [data-finish]:only-of-type{margin-left:auto}.progress-meta{font-size:.69rem}.result-card{padding:33px 23px;margin:5px auto 30px}.result-card h1{font-size:1.85rem}.result-card .lead-text{font-size:.85rem}.result-note{padding:20px}.result-note p{font-size:.77rem}.result-note strong{font-size:.84rem}.success-icon{width:60px;height:60px;font-size:26px}.login-shell{margin:0 auto 35px}.login-intro h1{font-size:1.7rem}.login-intro p{font-size:.78rem}.policy-card{padding:27px 22px;font-size:.81rem;line-height:1.8;border-radius:14px}.policy-card h1{font-size:1.8rem}.policy-card h2{font-size:1.05rem;line-height:1.4}.definition-grid{grid-template-columns:1fr;gap:17px}.policy-card .eyebrow{font-size:.58rem}.header-meta{gap:12px}.private-tag{font-size:.63rem;max-width:90px;line-height:1.4;gap:5px}.header-meta .button{font-size:.68rem;min-height:34px;padding:7px 10px}.page-heading{display:block;margin-bottom:23px}.page-heading h1{font-size:1.7rem;overflow-wrap:anywhere}.page-heading p{font-size:.76rem}.page-heading>.count-card{display:inline-flex;flex-direction:row;align-items:baseline;gap:9px;min-width:0;padding:10px 15px;margin-top:20px}.count-card strong{font-size:1.3rem}.count-card span{font-size:.67rem}.page-heading>form{margin-top:20px}.page-heading>form>.button{font-size:.74rem;min-height:40px}.filter-form{grid-template-columns:1fr 1fr;gap:16px 13px;padding:20px}.search-field{grid-column:span 2}.filter-form .form-field{gap:5px}.filter-form .form-field label{font-size:.67rem}.filter-form select,.filter-form input{font-size:.71rem;padding:9px 8px}.filter-form .button{width:100%;font-size:.72rem;grid-column:1}.filter-form .clear-link{min-height:42px;padding-top:11px;justify-self:center}.list-toolbar{font-size:.67rem;gap:10px;align-items:center;margin-top:20px}.list-toolbar .button{font-size:.65rem;min-height:36px;padding:8px 9px}.client-table{min-width:760px}.client-table th,.client-table td{padding:15px}.admin-data-note{font-size:.65rem}.pagination{gap:13px;font-size:.68rem}.pagination .button{font-size:.69rem;padding:9px 12px;min-height:39px}.detail-sidebar{display:flex;flex-direction:column}.detail-sidebar>section{width:100%}.detail-sidebar .recommendation-card{order:-1}.detail-grid{gap:20px}.detail-main{gap:20px}.detail-panel{padding:23px 20px}.detail-panel h2{font-size:1.05rem}.section-title-row>.muted{font-size:.62rem}.answer-list{padding-left:18px}.answer-list li{padding-left:3px}.answer-question{font-size:.72rem}.answer-list strong{font-size:.77rem}.definition-grid dd{font-size:.8rem}.score-details{padding:12px;font-size:.71rem}.score-details pre{padding:10px;font-size:.61rem}.detail-panel .definition-grid{grid-template-columns:1fr 1fr;gap:20px 15px}.detail-panel .definition-grid dd{font-size:.74rem}.recommendation-card h2{font-size:1.4rem}.back-link{font-size:.73rem;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{body{background:#fff;font-size:11pt}.site-header,.site-footer,.filter-form,.list-toolbar,.pagination,.detail-sidebar form,.back-link,.page-heading>form,.admin-data-note{display:none}.admin-main,.public-main{max-width:none;padding:0}.panel,.form-card,.recommendation-card{box-shadow:none;break-inside:avoid;background:#fff;color:#111;border-color:#ddd}.detail-grid{display:block}.detail-sidebar{display:block}.recommendation-card .eyebrow,.recommendation-card p,.recommended-service>span{color:#333}.score-details[open] pre{font-size:9pt}.detail-panel{margin-bottom:20px}.table-scroll{overflow:visible}.client-table{min-width:0}a{color:#111;text-decoration:none}.page-heading h1{font-size:22pt}}
/* One-question wizard; these rules do not change the administrative layout. */
.quiz-single-question{padding:30px;min-height:230px}
.quiz-single-question legend{font-size:1.2rem;line-height:1.45;margin-bottom:15px}
.quiz-single-question .question-help{font-size:.82rem;max-width:700px;margin-bottom:22px}
.quiz-single-question .answer-grid{grid-template-columns:1fr;gap:10px}
.quiz-single-question .answer-option{font-size:.9rem;padding:16px;min-height:55px;align-items:center}
.quiz-single-question .answer-option input{margin-top:0;flex-shrink:0}
.quiz-confirmation{padding:32px;max-width:100%;overflow-wrap:anywhere}
.quiz-confirmation h2{font-size:1.65rem}
.quiz-confirmation p{font-size:.9rem;max-width:690px}
.quiz-review-button{border:0;background:none;padding:0;text-align:left;font:inherit;font-size:.88rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:580px){.quiz-single-question{padding:23px 19px;min-height:220px}.quiz-single-question legend{font-size:1.08rem}.quiz-single-question .question-help{font-size:.76rem}.quiz-single-question .answer-option{font-size:.83rem;padding:14px 12px;min-height:52px}.quiz-confirmation{padding:25px 21px}.quiz-confirmation h2{font-size:1.4rem}.quiz-confirmation p{font-size:.83rem}.quiz-review-button{font-size:.8rem}}

.demo-banner{background:#fff2d6;color:#694b0b;padding:10px 20px;text-align:center;font-size:12px;border-bottom:1px solid #edd39d}.preview-info{font-size:12px;color:var(--muted)}.preview-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:24px;flex-wrap:wrap}.preview-actions .button{flex-shrink:0}.preview-status{min-height:24px;color:#17644c;font-size:13px;margin-top:14px}.question-shell{max-width:760px;margin:0 auto}.question-shell h1{font-size:clamp(1.35rem,3vw,1.95rem);line-height:1.35;margin-bottom:12px;letter-spacing:-.025em}.one-question{border:0;padding:0;margin:0}.one-question legend{padding:0;width:100%}.question-options{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}.question-options .answer-option{min-height:54px;font-size:.9rem;padding:16px;align-items:center}.question-options .answer-option:has(input:checked){border-color:var(--blue);background:#eef4ff;box-shadow:0 0 0 1px var(--blue)}.question-surface{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}.question-shell .quiz-progress{margin-bottom:24px}.question-intro{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.question-intro .eyebrow{margin:0}.privacy-button{border:0;padding:0;background:none;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit}.preview-dialog{border:1px solid var(--line);border-radius:18px;max-width:800px;width:calc(100% - 32px);max-height:90vh;padding:28px;background:var(--background)}.preview-dialog::backdrop{background:#102b5380}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-heading h2{margin:0}.preview-filter{display:flex;gap:15px;padding:22px;align-items:end;flex-wrap:wrap}.preview-filter .form-field{flex:1;min-width:150px}.preview-empty{padding:40px;text-align:center}.preview-answer-list{padding-left:20px}.preview-answer-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.8rem}.preview-answer-list span{display:block;color:var(--muted);margin-bottom:5px}.preview-answer-list strong{display:block}.preview-detail{margin:22px 0}.demo-access-note{background:#edf3ff;border:1px solid #d7e4fb;border-radius:10px;padding:15px;font-size:12px;color:#385577}.preview-login{max-width:480px;margin:20px auto}.preview-login h1{font-size:1.9rem}.preview-welcome{max-width:700px}.preview-safe-note{font-size:12px;color:var(--muted);line-height:1.7}.privacy-note:empty{display:none}.preview-account{display:flex;align-items:center;gap:20px}.preview-account button{font-size:12px}.preview-count{font-size:.75rem;color:var(--muted)}
@media(max-width:580px){.demo-banner{font-size:10px;padding:9px 14px}.question-surface{padding:24px 18px;border-radius:15px}.question-shell .quiz-progress{padding:16px}.question-options .answer-option{font-size:.8rem;padding:13px}.question-intro{align-items:flex-start}.preview-filter .form-field{min-width:100%}.preview-filter{padding:18px}.preview-dialog{padding:20px}.preview-account{gap:10px}.preview-account .private-tag{display:none}.question-options{margin-top:20px}.preview-actions .button{font-size:.77rem}.preview-login{margin-top:0}.preview-info{font-size:10px}.header-note{max-width:145px;text-align:right}.dialog-heading .button{font-size:11px}}
/* Títulos recebem foco só para o leitor de tela anunciar a troca de tela; sem moldura visível. */
[tabindex="-1"]:focus{outline:none}
