@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--bg:#0b0810;--panel:#1b1122;--panel2:#29182f;--gold:#eac37a;--pink:#ef3c9a;--muted:#d0c0d1;--line:#694c69;--text:#f9f0eb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#4b1d43 0,transparent 45%),var(--bg);color:var(--text);font:15px/1.6 'DM Sans',Arial,sans-serif}a{color:var(--gold)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.shell{width:min(1050px,calc(100% - 36px));margin:auto}.skip{position:absolute;top:-70px;left:15px;background:#21142c;padding:12px;z-index:20}.skip:focus{top:12px}.topbar{border-bottom:1px solid #77533e;background:#0c0810e9;backdrop-filter:blur(12px)}.topinner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;font:21px Georgia,serif;letter-spacing:.06em}.brandmark{color:var(--gold);font:italic 35px Georgia,serif}.brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:.18em;color:#d7b99d}.toplink{font-size:13px;text-decoration:none}
.masthead{padding:52px 0 25px}.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.18em}.masthead h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.15}.masthead h1{font-size:clamp(44px,6vw,72px);margin:12px 0}.masthead h1 em{font-style:normal;color:var(--pink)}.dek{font:clamp(17px,2vw,22px)/1.5 Georgia,serif;color:#e7d7e1;max-width:740px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.chips span{border:1px solid #8c607e;border-radius:20px;padding:6px 13px;color:#e3c8d9;font-size:11px}
.stepper{display:flex;gap:9px;margin:0 0 23px}.stepper span{flex:1;padding:12px 7px;text-align:center;border-bottom:3px solid #543b56;color:#a99aaf;font-size:12px}.stepper span.current{color:#f8e3c6;border-color:var(--gold)}.stepper span.complete{color:#eac2da;border-color:var(--pink)}
.panel{background:linear-gradient(140deg,#26172e,#140f1b);border:1px solid #785676;border-radius:16px;padding:32px;box-shadow:0 20px 65px #0008;margin-bottom:60px}.panel h2{font-size:clamp(30px,3.4vw,43px);margin:9px 0 17px}.muted{color:var(--muted)}.hidden{display:none!important}.fields{display:grid;gap:16px;margin:16px 0}.fields.two{grid-template-columns:1fr 1fr}label{display:block;font-weight:600;font-size:13px;margin:15px 0}label small{color:#a99ba9;font-weight:400}label input,label select,label textarea{display:block;width:100%;background:#100c17;color:#fff;border:1px solid #86688b;border-radius:8px;padding:12px;margin-top:7px;resize:vertical;font-weight:400}.required{color:#f486bd}.privacy,.interpretation{padding:18px 20px;background:#2e1a31;border-left:3px solid var(--pink);border-radius:3px;color:#e6d6e5;font-size:13px;margin:23px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.actions.spread{justify-content:space-between}.primary,.ghost{padding:12px 19px;border-radius:8px;font-size:13px;font-weight:700}.primary{background:linear-gradient(120deg,#f6da9d,#bf8e43);border:1px solid #edcc8e;color:#1a101a}.ghost{border:1px solid #a9799d;color:#f8d5ec;background:transparent}.primary:hover,.ghost:hover{background:#a52d72;color:#fff;border-color:#e457a4}
.audit-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.counter{color:var(--gold);font-size:13px}.question{font:21px/1.5 Georgia,serif;margin:20px 0 25px;color:#fff}.group-label{font-weight:700;font-size:12px;letter-spacing:.06em}.rating-options{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.rating-options label{display:flex;align-items:center;justify-content:center;gap:7px;min-width:90px;padding:12px 16px;margin:0;border:1px solid #86658a;border-radius:9px;background:#251a2b;cursor:pointer}.rating-options label:has(input:checked){border-color:var(--gold);background:#55304d;box-shadow:0 0 18px #db7bba55}.rating-options input{accent-color:var(--pink)}.rubric{font-size:12px;color:#cdb8ca}.rubric span{color:var(--pink);padding:0 6px}.evidence-box{margin-top:25px;padding:23px;background:#160f1c;border:1px solid #654e6c;border-radius:10px}.evidence-box p{font-size:13px;color:#d5c5d6}.error{color:#ff9fbe}.report-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.report-stamp{border:1px solid #bd8b52;color:var(--gold);padding:10px 16px;font-size:11px;text-align:center;letter-spacing:.12em}.summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:27px 0}.summary-metrics>div{padding:19px;border:1px solid #866084;border-radius:12px;background:#281a2e}.summary-metrics small,.summary-metrics span{display:block;color:#d0c0cf;font-size:12px}.summary-metrics strong{display:block;font:38px Georgia,serif;color:var(--gold);margin:9px 0}.report h3{font-size:27px;margin:32px 0 12px}.findings{display:grid;grid-template-columns:1fr 1fr;gap:11px}.finding,.priority{border:1px solid #674b6a;border-radius:10px;padding:16px;background:#1b1421}.finding h4,.priority h4{font-size:15px;margin:0 0 9px;color:#f1d5a3}.finding p,.priority p{font-size:12px;color:#ddcfdd;margin:7px 0}.finding small,.priority small{font-size:11px;color:#c6afc3}.finding .score{color:var(--gold);font-weight:700}.priority{margin:11px 0}.narrative{background:#21162a;border-left:3px solid var(--gold);padding:20px}.narrative p{font-size:14px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.disclaimer{font-size:12px;color:#c0afc1;border-top:1px solid #735875;margin-top:24px;padding-top:18px}footer{text-align:center;padding:30px;color:#baa9b9;font-size:12px}
@media(max-width:700px){.topinner{flex-direction:column;align-items:flex-start;padding:14px 0}.panel{padding:19px}.fields.two,.summary-metrics,.findings,.action-grid{grid-template-columns:1fr}.stepper span{font-size:10px}.rating-options label{min-width:70px}.report-stamp{display:none}.masthead{padding-top:32px}}
@media print{@page{size:A4;margin:13mm}body{background:#fff;color:#111;font:11px Arial,sans-serif}.topbar,.masthead,.stepper,.noprint,footer,#setup,#audit{display:none!important}.shell{width:100%;max-width:none}.panel{background:white;color:#111;box-shadow:none;border:0;padding:0;margin:0}.report{display:block!important}.summary-metrics>div,.finding,.priority,.narrative,.interpretation{background:white;color:#111;border:1px solid #aaa;break-inside:avoid}.report h2,.report h3,.finding h4,.priority h4,.summary-metrics strong,.eyebrow{color:#111}.report p,.report small,.summary-metrics span,.summary-metrics small,.muted{color:#333!important}.findings{grid-template-columns:1fr 1fr}.summary-metrics{grid-template-columns:repeat(3,1fr)}.action-grid{grid-template-columns:1fr 1fr}textarea,input{color:#111!important;border:1px solid #bbb!important;background:#fff!important}.disclaimer{color:#333}}

/* ECIIS crosswalk: evidence-backed diagnostic handoff */
.eciis-map{margin:38px 0;padding:26px;border:1px solid #98704d;border-radius:14px;background:linear-gradient(145deg,#25172b,#100d17)}
.eciis-map h3{margin:8px 0 12px}.eciis-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 25px}
.eciis-flow span{padding:10px 12px;background:#2c1b33;border:1px solid #a47855;border-radius:8px;color:#f1d29d;font-size:11px;font-weight:700}
.eciis-flow b{color:#ef4b9d}.eciis-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:15px 0 26px}
.eciis-component{padding:14px 10px;background:#1b1223;border:1px solid #6f4f74;border-radius:9px;display:flex;flex-direction:column;gap:6px}
.eciis-component strong{font:22px Georgia,serif;color:#f0c67e}
.eciis-component span{font-size:11px;color:#f4e6ec}.eciis-component small{font-size:10px;color:#c6b4c6;line-height:1.45}
.eciis-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.eciis-item{background:#170f1e;border:1px solid #654b6a;border-radius:9px;padding:16px}
.eciis-item-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.eciis-item-heading strong{font-size:13px;color:#fff0dc}.eciis-item-heading span{font-size:11px;color:#e6c188;white-space:nowrap}
.eciis-tags{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.eciis-tags span{border:1px solid #865b85;border-radius:15px;padding:4px 8px;font-size:10px;color:#f1d7e7}
.eciis-item p{font-size:12px;color:#d8cbd7;margin:8px 0}.eciis-handoff{margin-top:20px;border-left:3px solid #e9bd70;padding:12px 18px;background:#291a2c}
.eciis-handoff h4{color:#f1d29d;margin:5px 0 13px}.eciis-handoff p{font-size:13px;color:#e8dce8}
@media(max-width:850px){.eciis-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.eciis-list{grid-template-columns:1fr}}
@media(max-width:500px){.eciis-map{padding:16px}.eciis-summary{grid-template-columns:1fr 1fr}.eciis-item-heading{flex-direction:column;gap:4px}}
@media print{.eciis-map,.eciis-component,.eciis-item,.eciis-handoff,.eciis-flow span{background:#fff;color:#111;border-color:#aaa}.eciis-component strong,.eciis-item-heading strong,.eciis-handoff h4,.eciis-item p,.eciis-component span,.eciis-component small,.eciis-handoff p{color:#222}.eciis-map{break-before:page}.eciis-item{break-inside:avoid}.eciis-summary{grid-template-columns:repeat(5,1fr)}}
