:root{--navy-900: #0b1f3a;--navy-800: #122a4d;--navy-700: #1e3a8a;--teal-600: #0f766e;--teal-500: #14b8a6;--teal-50: #ecfeff;--ink: #0f172a;--muted: #5b6b82;--line: #e2e8f0;--bg: #f4f6fb;--card: #ffffff;--danger: #b91c1c;--p0-bg: #e5e7eb;--p0-fg: #374151;--p1-bg: #f59e0b;--p1-fg: #ffffff;--p2-bg: #facc15;--p2-fg: #3f3000;--p3-bg: #14b8a6;--p3-fg: #ffffff;--p4-bg: #1e3a8a;--p4-fg: #ffffff;--radius: 14px;--shadow: 0 1px 3px rgba(15, 31, 58, .08), 0 6px 20px rgba(15, 31, 58, .06);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--teal-600);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.2;margin:0 0 .4em}p{line-height:1.55}.container{max-width:1180px;margin:0 auto;padding:24px}.container-narrow{max-width:640px;margin:0 auto;padding:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card+.card{margin-top:18px}.section-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}.brand{display:inline-flex;align-items:baseline;gap:8px;font-weight:800;letter-spacing:-.01em}.brand .mark{background:linear-gradient(135deg,var(--navy-700),var(--teal-500));color:#fff;padding:4px 9px;border-radius:8px;font-size:1rem}.brand .name{color:var(--ink);font-weight:700}.brand .tm{font-size:.6em;vertical-align:super;color:var(--muted);font-weight:600}.app-header{background:var(--navy-900);color:#fff;border-bottom:3px solid var(--teal-500)}.app-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.app-header .brand .name{color:#fff}.app-header .brand .tm{color:#9fb3cf}.app-header nav{display:flex;gap:18px;align-items:center}.app-header nav a{color:#cfe0f5;font-weight:600;font-size:.92rem}.app-header nav a.active{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:650;cursor:pointer;background:var(--navy-700);color:#fff;transition:filter .15s,background .15s}.btn:hover{filter:brightness(1.07)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-teal{background:var(--teal-600)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:#f8fafc;filter:none}.btn-lg{padding:16px 26px;font-size:1.08rem;border-radius:12px}.btn-block{width:100%}.btn-sm{padding:7px 12px;font-size:.85rem;border-radius:8px}label{font-weight:600;font-size:.9rem;display:block;margin-bottom:6px}.input,textarea.input,select.input{width:100%;padding:12px 14px;font-size:1rem;font-family:inherit;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.input:focus{outline:2px solid var(--teal-500);outline-offset:0;border-color:transparent}textarea.input{resize:vertical;min-height:90px}.field{margin-bottom:16px}.help{color:var(--muted);font-size:.85rem}.error{color:var(--danger);font-size:.9rem}.plevel{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-weight:800;font-size:.8rem}.plevel-lg{padding:6px 14px;font-size:.95rem}.plevel-P0{background:var(--p0-bg);color:var(--p0-fg)}.plevel-P1{background:var(--p1-bg);color:var(--p1-fg)}.plevel-P2{background:var(--p2-bg);color:var(--p2-fg)}.plevel-P3{background:var(--p3-bg);color:var(--p3-fg)}.plevel-P4{background:var(--p4-bg);color:var(--p4-fg)}.plevel-empty{background:#f1f5f9;color:var(--muted);border:1px dashed var(--line)}.formative-banner{background:var(--teal-50);border:1px solid #99f6e4;color:#0f766e;border-radius:10px;padding:12px 16px;font-size:.92rem;font-weight:600}.steps{display:flex;gap:8px;margin-bottom:20px}.steps .step{flex:1;height:6px;border-radius:999px;background:var(--line)}.steps .step.done{background:var(--teal-500)}.steps .step.current{background:var(--navy-700)}.step-label{color:var(--muted);font-size:.85rem;font-weight:600;margin-bottom:8px}.option-grid{display:grid;gap:12px}.option{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:16px 18px;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-size:1.05rem;font-weight:600;color:var(--ink)}.option:hover{border-color:var(--teal-500)}.option.selected{border-color:var(--navy-700);background:#f5f8ff}.chip-toggle{border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer}.chip-toggle.on{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 12px;border-bottom:2px solid var(--line)}.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:#f8fafc}.dist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dist-col h3{font-size:.95rem}.dist-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dist-bar{flex:1;height:10px;background:var(--line);border-radius:999px;overflow:hidden}.dist-bar>span{display:block;height:100%}.dist-count{width:28px;text-align:right;font-weight:700}.muted{color:var(--muted)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stack>*+*{margin-top:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.badge{background:#eef2ff;color:var(--navy-700);padding:3px 9px;border-radius:999px;font-size:.78rem;font-weight:700}.badge-amber{background:#fef3c7;color:#92400e}.kpi{font-size:2.2rem;font-weight:800;color:var(--navy-800)}.analyzing{color:var(--teal-600);font-weight:700;font-style:italic}.divider{height:1px;background:var(--line);margin:18px 0}.pill-link{font-size:.85rem;font-weight:700}.center{text-align:center}@media(max-width:760px){.dist-grid,.grid-2{grid-template-columns:1fr}.app-header .container{flex-direction:column;gap:10px;align-items:flex-start}}
