
:root{
  --bg:#0c0827; --panel:#17103d; --panel2:#211652; --line:#4c3e7d;
  --text:#fbfaff; --muted:#bdb7d6; --yellow:#ffd42a; --cyan:#62e6ff;
  --lime:#b9f52d; --purple:#765cff; --danger:#ff8585; --soft:#262052;
  --green:#49d88c; --orange:#ff9d4d;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 20% -10%,rgba(92,61,164,.52),transparent 34rem),
    radial-gradient(circle at 100% 10%,rgba(35,42,105,.45),transparent 35rem),
    linear-gradient(180deg,#15103a 0,#0c0827 76%);
  color:var(--text);min-height:100vh}
button,input,select{font:inherit}
.shell{max-width:820px;margin:0 auto;padding:14px 14px 46px}
.brandbar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.8fr);gap:10px;align-items:center;margin:4px 0 12px}
.logoCard{background:#fff;border-radius:13px;min-height:72px;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}
.logoCard.epica{background:#23134f}
.logoCard img{max-width:100%;max-height:64px;object-fit:contain}
.luisfTiny{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:4px 2px 12px;color:#aaa5c6;font-size:10px}
.luisfTiny img{height:26px;width:auto;object-fit:contain;opacity:.92}
.card{background:linear-gradient(180deg,rgba(29,20,73,.97),rgba(16,12,48,.98));
  border:1px solid rgba(141,119,211,.36);border-radius:23px;padding:24px;
  box-shadow:0 24px 90px rgba(0,0,0,.28)}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:900}
h1{font-size:clamp(31px,7.5vw,52px);line-height:1;margin:10px 0 12px}
h1 span{color:var(--yellow)}
h2{font-size:25px;line-height:1.16;margin:5px 0 12px}
h3{font-size:18px;margin:12px 0 7px}
p{line-height:1.55;color:var(--muted);margin:8px 0}
.lead{font-size:18px;color:#f2efff}
.progress{height:7px;background:#2b245a;border-radius:999px;overflow:hidden;margin-bottom:20px}
.progress>div{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--lime));transition:width .25s}
.screen{display:none}.screen.active{display:block}
.pillrow{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}
.pill{padding:7px 10px;border:1px solid #5d4c99;border-radius:999px;background:#1b1646;color:#ded9f6;font-size:12px}
.primary,.secondary,.dangerBtn{min-height:46px;border-radius:13px;padding:12px 15px;font-weight:900;cursor:pointer}
.primary{border:0;background:linear-gradient(90deg,#ffd42a,#ffea63);color:#251745;width:100%;margin-top:15px}
.secondary{border:1px solid #63519c;background:#191442;color:#fff}
.dangerBtn{border:1px solid #9a5252;background:#3c1a31;color:#fff}
.primary:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed}
.meta{display:flex;gap:12px;flex-wrap:wrap;color:#aba4c9;font-size:12px;margin-top:11px}
.callout{border-left:4px solid var(--yellow);background:#1c1749;border-radius:11px;padding:12px 14px;margin:15px 0}
.callout.good{border-left-color:var(--green)} .callout.info{border-left-color:var(--cyan)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
label{display:block;font-weight:800;margin:13px 0 6px}
input,select{width:100%;min-height:46px;border-radius:12px;border:1px solid #5a4c8a;background:#100c31;color:#fff;padding:11px 12px;font-size:16px}
.checkline{display:flex;gap:10px;align-items:flex-start;padding:12px;background:#141038;border-radius:12px;margin-top:14px}
.checkline input{width:auto;min-height:auto;margin-top:3px}
.error{color:#ffadad;font-size:12px;margin-top:8px}
.qnum{color:var(--yellow);font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.question{font-size:24px;line-height:1.23;margin:8px 0 18px}
.options{display:grid;gap:9px}
.option,.thief,.priorityBtn{width:100%;text-align:left;border:1px solid #554786;background:#171241;color:#fff;border-radius:13px;padding:13px 14px;cursor:pointer;line-height:1.3}
.option.selected{border-color:var(--cyan);background:#17204c;box-shadow:0 0 0 2px rgba(98,230,255,.12)}
.thief.selected,.priorityBtn.selected{border-color:var(--yellow);background:#302047}
.nav{display:flex;gap:9px;margin-top:17px}.nav .primary{margin:0;flex:1;width:auto}
.thieves,.priorities{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.waitIcon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:8px auto 18px;
  font-size:34px;background:#261a62;border:1px solid #6750b3}
.waitCenter{text-align:center}
.stagePill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#251b5a;border:1px solid #584a93;color:#e5e1f6;font-size:12px}
.scorebox{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin:12px 0 17px}
.scorecircle{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:conic-gradient(var(--lime) 0deg,var(--lime) var(--deg,0deg),#30285c var(--deg,0deg))}
.scorecircle:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#15103a}
.scoreval{position:relative;z-index:1;font-size:36px;font-weight:900;text-align:center}.scoreval small{display:block;font-size:11px;color:var(--muted)}
.level{font-size:24px;font-weight:900;color:var(--yellow)}
.bars{display:grid;gap:9px;margin:17px 0}.barline{display:grid;grid-template-columns:180px 1fr 40px;gap:8px;align-items:center;font-size:13px}
.bar{height:10px;background:#2d255b;border-radius:999px;overflow:hidden}.bar span{height:100%;display:block;background:linear-gradient(90deg,var(--cyan),var(--lime))}
.code{font-size:12px;color:#b8b2d4;margin-top:12px}
.recommendationList{grid-template-columns:1fr;gap:11px}
.recommendationCard{display:grid;grid-template-columns:1fr 42px;gap:14px;align-items:start;padding:15px 16px}
.recommendationCard .recBadge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#2b205f;border:1px solid #7663bd;color:var(--yellow);font-size:22px;font-weight:950}
.recommendationCard.selected .recBadge{background:var(--yellow);color:#24173f;border-color:var(--yellow)}
.recBody{display:grid;gap:5px}.recBody strong{font-size:18px}.recBody small{color:var(--cyan);font-size:12px;font-weight:850}.recBody>span{color:#d4cfee;font-size:13px;line-height:1.4}
.recCheck{font-size:23px;color:var(--lime);font-weight:950;text-align:right}

.footer{text-align:center;color:#8f88ad;font-size:10px;margin-top:15px}
.adminShell{max-width:1180px;margin:0 auto;padding:18px}
.adminGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.kpi{padding:14px;border-radius:14px;background:#18123f;border:1px solid #4e427f}
.kpi strong{display:block;font-size:27px;color:var(--yellow)}
.phaseBtns{display:flex;gap:8px;flex-wrap:wrap}.phaseBtns button{width:auto}
.phaseBtns button.active{outline:2px solid var(--lime)}
table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:8px;border-bottom:1px solid #3b3366;text-align:left;vertical-align:top}th{color:#dcd6fa}
.scroll{overflow:auto;max-height:420px}
.publicShell{max-width:1250px;margin:0 auto;padding:18px}.publicTitle{text-align:center;margin:8px 0 18px}
.publicTitle h1{font-size:42px}
.summaryGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rank{display:grid;gap:8px}.rankrow{display:grid;grid-template-columns:1fr 70px;gap:8px;background:#171240;padding:11px;border-radius:10px}
.offline{display:none;position:sticky;top:8px;z-index:30;margin-bottom:8px;background:#5a3417;border:1px solid #c47a36;padding:8px 10px;border-radius:10px;color:#ffe6c5;font-size:12px}
.offline.show{display:block}
@media(max-width:700px){
 .shell{padding:9px 9px 28px}.card{padding:18px 15px}.brandbar{grid-template-columns:1.3fr .9fr .9fr}
 .logoCard{min-height:58px;padding:5px}.logoCard img{max-height:51px}.luisfTiny img{height:21px}
 .grid2,.adminGrid,.summaryGrid{grid-template-columns:1fr}.thieves,.priorities{grid-template-columns:1fr}
 .scorebox{grid-template-columns:1fr;text-align:center}.scorecircle{margin:auto}.barline{grid-template-columns:130px 1fr 36px}
 .kpis{grid-template-columns:1fr 1fr}.question{font-size:21px}
}


.routeTimeline{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}
.routeTimeline span{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:74px;border:1px solid #5c4a97;background:#171241;border-radius:14px}
.routeTimeline span:not(:last-child):after{content:"→";position:absolute;right:-13px;z-index:2;color:var(--cyan);font-size:18px;font-weight:900}
.routeTimeline b{font-size:25px;color:var(--yellow)}
.routeTimeline small{color:#c8c1df;margin-top:2px}
.routeNote{background:#15103c;border:1px solid #493b7c;border-radius:13px;padding:12px 14px;margin:10px 0 15px}
.orderPanel{margin-top:14px;padding:14px;border-radius:14px;background:#141038;border:1px solid #4a3d79}
.orderedPriorities{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.orderChip{display:inline-flex;gap:7px;align-items:center;padding:9px 11px;border-radius:999px;background:#24205a;border:1px solid #6353a0;color:#f4f1ff;font-size:13px}
.orderChip b{color:var(--yellow)}
.orderHint{color:#bdb7d6;font-size:13px}
.resetOrder{display:none;min-height:38px;padding:8px 11px;font-size:12px}
.recommendationCard.selected .recCheck{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--yellow);color:#251745;font-weight:950}


.publicPhase{margin:10px auto 2px;width:max-content}
.collectiveInsight{margin-top:16px;padding-top:14px;border-top:1px solid #3b3366}
.insightGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.insightGrid>div{background:#15103c;border:1px solid #493b7c;border-radius:12px;padding:12px}
.insightGrid small{display:block;color:#aaa4c7;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.insightGrid strong{display:block;color:#f6f3ff;font-size:15px;line-height:1.35}
@media(max-width:700px){
  .insightGrid{grid-template-columns:1fr}
}

.privacyShield{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px;border:1px dashed #5f5194;border-radius:14px;
  background:#15103c;color:#eeeaff
}
.privacyShieldIcon{
  width:42px;height:42px;flex:0 0 42px;border-radius:50%;
  display:grid;place-items:center;background:#24205a
}
.privacyShield strong{display:block;font-size:18px;margin-bottom:5px}
.privacyShield p{margin:0 0 6px;color:#c8c2df}
.privacyShield small{color:#8fe9ff}
