:root{--fondo:#1c0f17;--tarjeta:#2a1823;--campo:#22131c;--texto:#fff5f9;--suave:#c9a5b7;--linea:#4a2b3e;--acento:#e8336f;--acento-hover:#ff5a8c;--acento-suave:#ff8db8;--ventas:#e9c46a;--gastos:#ff8db8;--balance:#b48cf0;--negativo:#ff6b8e;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{background:var(--fondo);color:var(--texto);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--acento-suave)}h1{font-size:1.35rem;margin:0}h2{font-size:1.15rem}h2,h3{margin:0 0 .75rem}h3{font-size:1rem}.opc,.suave{color:var(--suave)}.opc{font-weight:400;font-size:.85em}.menu{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--tarjeta);border-bottom:1px solid var(--linea);position:-webkit-sticky;position:sticky;top:0;z-index:5;flex-wrap:wrap}.marca{font-weight:700;color:var(--acento-suave)}.menu nav{display:flex;gap:.25rem;flex:1 1;flex-wrap:wrap}.menu nav a{text-decoration:none;color:var(--texto);padding:.35rem .7rem;border-radius:6px}.menu nav a.activo{background:var(--acento);color:#fff}.contenido{max-width:1000px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.tarjeta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:10px;padding:1rem}.encabezado{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.encabezado h2{margin:0}.periodo{display:flex;gap:.5rem}.resumen{margin:-.25rem 0 0}label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem}input,select{font:inherit;font-weight:400;padding:.45rem .6rem;border:1px solid var(--linea);border-radius:6px;background:var(--campo);color:var(--texto);min-width:0}input:focus,select:focus{outline:2px solid var(--acento);outline-offset:-1px}.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.botones{display:flex;gap:.5rem;margin-top:.9rem}.boton,button{font:inherit;cursor:pointer;border:0;border-radius:6px;padding:.5rem 1rem;background:var(--acento);color:#fff;text-decoration:none;display:inline-block}.boton:hover,button:hover{background:var(--acento-hover)}button:disabled{opacity:.6;cursor:wait}.secundario{background:transparent;color:var(--texto);border:1px solid var(--linea)}.secundario:hover{background:var(--linea)}.peligro{background:transparent;color:var(--negativo);border:1px solid var(--negativo)}.peligro:hover{background:var(--negativo);color:#1c0f17}.chico{padding:.25rem .6rem}.chico,.chico-txt{font-size:.85rem}.error{color:var(--negativo);margin:.6rem 0 0;font-weight:600}.totales{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.total{display:flex;flex-direction:column;gap:.15rem}.total span{color:var(--suave);font-size:.9rem}.total strong{font-size:1.5rem}.total small{color:var(--suave)}.txt-ventas{color:var(--ventas)}.txt-gastos{color:var(--gastos)}.txt-balance{color:var(--balance)}.txt-negativo{color:var(--negativo)}.grafico .ayuda{color:var(--suave);font-size:.85rem;margin:.5rem 0 0}.dos-columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1rem;gap:1rem}.barras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.barras li{display:grid;grid-template-columns:minmax(80px,1.2fr) 2fr auto;grid-gap:.5rem;gap:.5rem;align-items:center;font-size:.9rem}.barras .nombre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pista{background:var(--campo);border-radius:4px;height:10px;overflow:hidden}.pista span{display:block;height:100%;border-radius:4px}.barra-ventas{background:var(--ventas)}.barra-gastos{background:var(--gastos)}.barras .valor{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabla-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.5rem;border-bottom:1px solid var(--linea);vertical-align:top}th{color:var(--suave);font-weight:600;font-size:.85rem}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}tfoot td{font-weight:700;border-bottom:0}tr.resaltado td{background:color-mix(in srgb,var(--acento) 12%,transparent)}.acciones{display:flex;gap:.4rem;justify-content:flex-end;white-space:nowrap}.nota{color:var(--suave);font-size:.85rem}.fila-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.fila-form input[name=nombre]{flex:1 1}.lista-lugares{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.5rem}.lista-lugares li{display:flex;gap:.5rem;align-items:center}.lista-lugares li>form:first-child{flex:1 1}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:.75rem}.login h1{text-align:center;color:var(--acento-suave)}.login p.suave{text-align:center;margin:-.5rem 0 .25rem}@media (max-width:560px){.contenido{padding:.75rem}td:nth-child(3),th:nth-child(3){max-width:140px}.menu{gap:.5rem}.menu nav{order:3;flex-basis:100%}.menu form{margin-left:auto}}.ovillos{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:.75rem;gap:.75rem}.ovillos li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.1rem}.ovillos .nombre{font-weight:600;font-size:.9rem;text-transform:capitalize}.ovillos .valor{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.85rem}.ovillos .pct{color:var(--suave);font-size:.8rem}.grafico{position:relative}.grafico .osito{position:absolute;top:-66px;right:-4px;pointer-events:none}@media (max-width:560px){.grafico .osito{transform:scale(.85);transform-origin:top right}}