:root{--navy: #2a3566;--navy-soft: #4a5a96;--rose: #d4687e}*,*::before,*::after{box-sizing:border-box}html{font-size:17px}body{margin:0;overflow-x:hidden;font-family:"Asap",system-ui,sans-serif;color:#2f3447;background:#f5f5f3;line-height:1.45}h1,h2,h3{margin:0 0 .5rem;color:#2a3566;font-weight:600}h2{font-size:1.35rem}h3{font-size:1.05rem}a{color:#2a3566}.muted{color:#767c8c;font-size:.88rem}.hidden{display:none !important}:focus-visible{outline:3px solid #4a5a96;outline-offset:2px}.app-header{background:#fff;box-shadow:0 2px 12px rgba(42,53,102,.0588235294);position:sticky;top:0;z-index:10}.app-header .topbar{max-width:1180px;margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.app-header .brand{font-weight:700;font-size:1.3rem;color:#4a5a96;letter-spacing:.5px}.app-header .brand small{display:block;font-size:.72rem;color:#767c8c;font-weight:400;letter-spacing:0}.app-header nav{display:flex;gap:.4rem;margin-left:auto;flex-wrap:wrap}main{max-width:1180px;margin:0 auto;padding:1.2rem 1rem 3rem}.grid{display:grid;gap:1rem}.grid>*{min-width:0}.grid.cols-2{grid-template-columns:repeat(2, 1fr)}.grid.cols-3{grid-template-columns:repeat(3, 1fr)}@media(max-width: 720px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.kpis{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:.8rem;margin-bottom:1rem}.tabs{display:flex;gap:.3rem;border-bottom:2px solid #e3e3df;margin-bottom:1rem;overflow-x:auto}body.sup{background:#f5f5f3}.float-wrap{min-height:calc(100vh - 70px);display:flex;align-items:flex-start;justify-content:center;padding:1.2rem .9rem 2rem}.float-card{background:#fff;border:1px solid #e3e3df;border-radius:10px;box-shadow:0 4px 16px rgba(42,53,102,.1019607843);width:100%;max-width:460px;padding:1.4rem 1.2rem 1.6rem;border-radius:18px;box-shadow:0 10px 30px rgba(42,53,102,.1490196078)}.float-card h2{font-size:1.3rem;margin-bottom:0}.float-card .muted{margin:0 0 .4rem}@media(max-width: 720px){html{font-size:16px}main{padding:.9rem .75rem 2.5rem}.topbar{padding:.55rem .75rem;gap:.5rem}.kpis{grid-template-columns:repeat(2, 1fr)}.float-wrap{padding:.8rem .6rem 1.5rem}.float-card{padding:1.1rem .95rem 1.3rem;border-radius:16px}}.card{background:#fff;border:1px solid #e3e3df;border-radius:10px;box-shadow:0 4px 16px rgba(42,53,102,.1019607843);padding:1rem 1.2rem}.kpi{background:#fff;border:1px solid #e3e3df;border-radius:10px;box-shadow:0 4px 16px rgba(42,53,102,.1019607843);padding:.8rem 1rem;border-top:4px solid #d4687e;text-align:center}.kpi b{display:block;font-size:1.9rem;color:#2a3566;line-height:1.1}.kpi span{font-size:.78rem;color:#767c8c;text-transform:uppercase;letter-spacing:.4px}.kpi.warn{border-top-color:#e8c97a}.kpi.bad{border-top-color:#c4475f}.kpi.bad b{color:#c4475f}.btn,.tab{text-decoration:none;display:inline-block;font:inherit;cursor:pointer;border:1px solid rgba(0,0,0,0);border-radius:999px;padding:.5rem 1.1rem;background:rgba(0,0,0,0);color:#2f3447;transition:background .15s}.btn:hover,.tab:hover{background:#eceff8}.btn.primary,.primary.tab{background:#4a5a96;color:#fff}.btn.primary:hover,.primary.tab:hover{background:#2a3566}.btn.active,.active.tab{background:#4a5a96;color:#fff}.btn.ghost,.ghost.tab{border-color:#e3e3df}.btn[disabled],[disabled].tab{opacity:.5;cursor:wait}.tab{border-radius:10px 10px 0 0;border-bottom:3px solid rgba(0,0,0,0)}.tab.active{background:rgba(0,0,0,0);color:#2a3566;border-bottom-color:#4a5a96;font-weight:600}label{display:block;font-size:.85rem;font-weight:600;margin:.8rem 0 .25rem}input,select,textarea{width:100%;font:inherit;color:inherit;padding:.5rem .65rem;border:1px solid #e3e3df;border-radius:10px;background:#fff}input:focus,select:focus,textarea:focus{border-color:#4a5a96}input[type=range]{padding:0;accent-color:#4a5a96}input[type=checkbox]{width:auto;margin-right:.4rem}.check{display:flex;align-items:center;font-weight:400}.avance-val{float:right;color:#2a3566;font-size:1.1rem}table{width:100%;border-collapse:collapse;font-size:.9rem}table th{text-align:left;color:#2a3566;border-bottom:2px solid #e3e3df;padding:.45rem .5rem;white-space:nowrap}table td{padding:.45rem .5rem;border-bottom:1px solid #e3e3df}table tr:hover td{background:#eceff8}.scroll{overflow-x:auto}.bar{height:10px;background:#e3e3df;border-radius:5px;overflow:hidden;min-width:90px}.bar i{display:block;height:100%;background:#4a5a96;border-radius:5px}.chip{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.78rem;background:#eceff8;color:#2a3566}.chip.ok{background:#e6f2ec;color:#3f7a5c}.chip.warn{background:#f8f0d9;color:#8a6d1f}.chip.bad{background:#fbeaee;color:#c4475f}.alerta{background:#fff;border:1px solid #e3e3df;border-radius:10px;box-shadow:0 4px 16px rgba(42,53,102,.1019607843);border-left:5px solid #c4475f;padding:.6rem 1rem;margin-bottom:.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);background:#2f3447;color:#fff;padding:.7rem 1.2rem;border-radius:10px;box-shadow:0 4px 16px rgba(42,53,102,.1019607843);z-index:20}.toast.err{background:#c4475f}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}input:not([type=range]):not([type=checkbox]),select,textarea{min-height:48px;font-size:16px}.btn,.tab{min-height:44px}.btn.block,.block.tab{display:block;width:100%;min-height:52px;font-size:1.05rem}.check input{width:22px;height:22px;min-height:0}input[type=range]{min-height:36px}.tabs .tab{white-space:nowrap}@media(max-width: 720px){table{font-size:.84rem}table th,table td{padding:.4rem .35rem}.alerta{flex-direction:column}.toast{width:calc(100% - 1.5rem);text-align:center}}.pin-gate{min-height:60vh;display:grid;place-items:center}.pin-card{background:#fff;border:1px solid #e3e3df;border-radius:10px;box-shadow:0 4px 16px rgba(42,53,102,.1019607843);width:min(92vw,360px);padding:2rem 1.5rem;text-align:center}.pin-card small{color:#767c8c;font-family:ui-monospace,monospace}.pin-card h3{color:#2f3447;margin:1.2rem 0 .2rem}.pin-card .boxes{display:flex;justify-content:center;gap:.6rem;margin:1.2rem 0 .8rem}.pin-card input{width:46px;height:52px;padding:0;text-align:center;font-size:1.4rem;border-radius:10px}.pin-card input:focus{border-color:#4a5a96}.pin-card .err{color:#c4475f;font-size:.85rem;min-height:1.2em}
