:root{font-family:Inter,system-ui,Arial,sans-serif;color:#172033;background:#eef3f8}*{box-sizing:border-box}body{margin:0}main{max-width:1180px;margin:auto;padding:24px}header{background:linear-gradient(135deg,#17365d,#1f6f78);color:white;padding:28px;border-radius:18px;margin-bottom:16px}header h1{margin:8px 0}.badge{display:inline-block;background:#fff2;padding:6px 10px;border-radius:999px;font-size:12px}.card{background:white;border:1px solid #dce4ec;border-radius:16px;padding:22px;margin:16px 0;box-shadow:0 4px 16px #24364a0d}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}label{display:block;font-weight:600}input,select,textarea{width:100%;padding:11px;border:1px solid #bdc9d6;border-radius:9px;margin-top:6px;background:white}.module{border-top:1px solid #e6edf3;padding:16px 0}.module h3{margin:0 0 8px}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.choices label,.confirm{font-weight:400;background:#f7f9fb;padding:9px;border-radius:8px}.choices input,.confirm input{width:auto;margin:0 8px 0 0}.child{margin:12px 0 0 18px;border-left:4px solid #88a9bd;padding:12px;background:#f8fbfd}.child .child{margin-left:12px}.hidden{display:none!important}.primary,button{border:0;border-radius:10px;padding:13px 18px;background:#17365d;color:white;font-weight:700;cursor:pointer}.note{color:#5e6c7c;font-size:14px}.warn{background:#fff7df;border:1px solid #efd17c;padding:13px;border-radius:10px;margin:12px 0}.conflict{background:#ffe9e7;padding:9px;border-radius:8px}.ok{background:#eaf8ee;border:1px solid #acd6b7;padding:13px;border-radius:10px}.progress{height:9px;background:#e7edf2;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:#477d8c;width:0}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.result-box{border:1px solid #d8e1e9;border-radius:12px;padding:14px}.score{font-size:13px;color:#667585;margin:5px 0}.pill{display:inline-block;background:#edf3f7;padding:5px 8px;border-radius:999px;margin:3px;font-size:12px}.trace{font-size:13px;background:#f5f7fa;padding:8px;border-radius:7px;margin-top:8px}.pro{border-left:5px solid #17365d}.confirm{margin-top:14px}.confirm input{vertical-align:middle}.protocol{border-left:4px solid #557b8e;padding-left:10px}.redflag{background:#ffe4e4;border:1px solid #e99;padding:12px;border-radius:9px}@media print{body{background:white}.primary,form,header .badge{display:none}.card{box-shadow:none}}

.cascade{margin-top:12px;padding:12px;border-left:4px solid #9bb6d8;background:#f7faff;border-radius:8px}.danger{padding:14px;margin:12px 0;background:#fff1f1;border:1px solid #e1a0a0;border-radius:10px}.summary{padding:14px;background:#f7f7f7;border-radius:10px;margin:12px 0}.rank{padding:12px 0;border-bottom:1px solid #ddd}.rank span{font-size:.8em;text-transform:uppercase;margin-left:8px}.rank small{display:block;margin-top:5px;line-height:1.45}.module{order:100}

.discriminator{margin-top:20px;padding:16px;border:1px solid #b8d4ff;border-radius:14px;background:#f5f9ff}.jump{margin:5px;padding:8px 12px;border:1px solid #9dbbe8;background:white;border-radius:999px;cursor:pointer}.module.focus{outline:3px solid #8db7ff;transition:.2s}.framework{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.framework>div,.meterline{padding:12px;background:#f7f9fc;border:1px solid #e0e6ef;border-radius:10px}@media(max-width:700px){.framework{grid-template-columns:1fr}}

/* Motor automático final */
.decision{border:2px solid #17365d;border-radius:16px;padding:18px;margin:0 0 22px;background:#fbfdff}.decision.blocked{border-color:#b84848;background:#fff7f7}.formula-hero{padding:18px;border-radius:14px;background:#17365d;color:#fff;margin:12px 0}.formula-hero span,.formula-hero small{display:block;opacity:.8;font-size:12px}.formula-hero strong{display:block;font-size:25px;margin:6px 0}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.decision-grid>div,.protocol-card,.pending,.secondary,.approval{padding:12px;border:1px solid #dbe5ee;border-radius:10px;margin:10px 0;background:#f8fafc}.pending{background:#fff8e6}.secondary{background:#f4f1ff}.protocol-card table{width:100%;border-collapse:collapse;margin:12px 0}.protocol-card th,.protocol-card td{padding:8px;border:1px solid #d9e0e7;text-align:left}.approval label{font-weight:700}.approval input{width:auto;margin-right:8px}@media(max-width:700px){.decision-grid{grid-template-columns:1fr}}
