:root{--cafe:#3b2a1a;--verde:#5c6434;--crema:#ece4d1;--tostado:#9c7955;--suave:#8a7860;--borde:#ddd2ba;--rojo:#a8452b;--fondo:#f5f0e4}*{box-sizing:border-box}body{margin:0;background:var(--fondo);color:#3b2f22;font-family:-apple-system,Segoe UI,Inter,Arial,sans-serif;font-size:14px}a{color:var(--verde)}.top{background:var(--cafe);color:#f5f0e4;border-bottom:3px solid var(--tostado);position:-webkit-sticky;position:sticky;top:0;z-index:10}.top-in{max-width:1200px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.top img{height:36px;width:36px;border-radius:6px;background:#fff}.brand{font-weight:800;letter-spacing:.06em}.nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.nav a{color:#f5f0e4;text-decoration:none;border:1px solid #f5f0e455;border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600}.nav a.on{background:var(--tostado);border-color:var(--tostado)}.nav button{background:none;border:none;color:#f5f0e4aa;cursor:pointer;font-size:12px}main{max-width:1200px;margin:0 auto;padding:22px 18px 80px}h1{font-size:22px;margin:0 0 14px;color:var(--cafe)}h2{font-size:12px;letter-spacing:.12em;color:var(--suave);margin:0 0 10px;text-transform:uppercase}.card{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:16px;margin-bottom:16px}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}label{display:block;font-size:12px;font-weight:600;color:#5a4a36;margin-bottom:4px}input,select,textarea{width:100%;border:1px solid var(--borde);border-radius:8px;padding:8px 10px;font-size:14px;background:#fdfbf5;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--verde);outline-offset:1px}a.btn,button.btn{background:var(--verde);color:#fff;border:none;border-radius:9px;padding:9px 15px;font-size:13.5px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn.sec{background:transparent;color:var(--cafe);border:1px solid var(--cafe)}.btn.sm{padding:5px 10px;font-size:12px}.btn.danger{background:var(--rojo)}.btn:disabled{opacity:.6;cursor:wait}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--suave);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--borde)}td{padding:7px 8px;border-bottom:1px solid #eee6d3;vertical-align:top}.r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill{display:inline-block;background:var(--crema);color:var(--cafe);border-radius:20px;padding:2px 10px;font-size:12px}.kan{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);grid-gap:10px;gap:10px;overflow-x:auto;padding-bottom:10px;max-width:100%;-webkit-overflow-scrolling:touch}.col{background:#ece4d166;border:1px solid var(--borde);border-radius:10px;padding:8px;min-height:200px}.col h3{font-size:12px;margin:2px 4px 8px;color:var(--cafe)}.lead{background:#fff;border:1px solid var(--borde);border-radius:8px;padding:8px;margin-bottom:8px;font-size:12.5px;display:block;text-decoration:none;color:inherit}.lead b{display:block;margin-bottom:2px}.dim{color:var(--suave);font-size:12.5px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.err{color:var(--rojo);margin:8px 0}.err,.toast{font-size:13px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--cafe);color:#fff;padding:10px 16px;border-radius:10px;z-index:50}.kpis{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:14px}.kpi{background:#fff;border:1px solid var(--borde);border-radius:10px;padding:10px 12px}.kpi .v{font-size:22px;font-weight:700;color:var(--cafe)}.top{display:none}.side{position:fixed;left:0;top:0;bottom:0;width:236px;background:var(--cafe);color:#f5f0e4;display:flex;flex-direction:column;z-index:30;border-right:3px solid var(--tostado);overflow-y:auto}.side-brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;border-bottom:1px solid #f5f0e422}.side-brand img{height:40px;width:40px;border-radius:8px;background:#fff}.side-brand div{display:flex;flex-direction:column;line-height:1.1}.side-brand b{font-size:13px;letter-spacing:.06em}.side-brand span{font-size:10.5px;color:#f5f0e499;margin-top:3px;letter-spacing:.08em;text-transform:uppercase}.side-nav{padding:8px 10px;flex:1 1}.side-sec{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#f5f0e480;margin:16px 8px 6px}.side-nav a{display:flex;align-items:center;gap:10px;color:#f5f0e4;text-decoration:none;padding:9px 10px;border-radius:8px;font-size:13.5px;font-weight:500;margin-bottom:2px}.side-nav a:hover{background:#f5f0e41a}.side-nav a.on{background:var(--tostado);font-weight:700}.side-out{margin:10px;background:none;border:1px solid #f5f0e444;color:#f5f0e4cc;border-radius:8px;padding:8px;cursor:pointer;font-size:12.5px}.side-out:hover{background:#f5f0e41a}main.with-side{margin-left:236px;max-width:none;padding:24px 28px 80px}main.with-side>*{max-width:1280px}.mbar,.scrim{display:none}@media (max-width:900px){.side{transform:translateX(-100%);transition:transform .2s}.side.open{transform:none}.scrim{display:block;position:fixed;inset:0;background:#0006;z-index:25}.mbar{display:flex;align-items:center;gap:10px;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--cafe);color:#f5f0e4;padding:8px 14px;border-bottom:3px solid var(--tostado)}.mbar button{background:none;border:none;color:#f5f0e4;font-size:22px;cursor:pointer}.mbar img{height:30px;width:30px;border-radius:6px;background:#fff}main.with-side{margin-left:0;padding:16px 14px 80px}}html{-webkit-text-size-adjust:100%}body,html{max-width:100%;overflow-x:hidden}main,main.with-side{min-width:0}.card{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:900px){main.with-side{width:100%;overflow-x:hidden}main.with-side>*{max-width:100%}input,select,textarea{font-size:16px}.kan{grid-auto-columns:78vw;scroll-snap-type:x mandatory}.col{scroll-snap-align:start;min-height:120px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .v{font-size:19px}.grid{grid-template-columns:1fr}table{font-size:12px}td,th{padding:6px 5px}h1{font-size:19px}.row{min-width:0}}