:root{--cafe:#6f4e37;--crema:#f4eee0;--tinta:#1a1512;--suave:#8b7355;--ok:#4a7c59;--alto:#b4453c;--radio:16px;--sombra:0 2px 12px #1a151214}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--crema);color:var(--tinta);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}.pantalla{min-height:100dvh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:480px;margin:0 auto;display:flex}.marca{letter-spacing:.08em;text-transform:uppercase;color:var(--suave);margin-bottom:6px;font-size:13px}h1{margin:0 0 8px;font-size:26px;font-weight:700;line-height:1.2}.sub{color:var(--suave);max-width:30ch;margin:0 0 28px;font-size:15px;line-height:1.45}form{text-align:left;flex-direction:column;gap:14px;width:100%;display:flex}label{color:var(--suave);margin-bottom:6px;font-size:13px;font-weight:600;display:block}input{border-radius:var(--radio);width:100%;color:var(--tinta);background:#fff;border:1.5px solid #e0d6c4;padding:15px 16px;font-family:inherit;font-size:16px}input:focus{border-color:var(--cafe);outline:none}.opcional{border-top:1px dashed #ddd2bf;margin-top:8px;padding-top:18px}.gancho{align-items:center;gap:8px;margin:0 0 14px;font-size:15px;font-weight:600;display:flex}button{border-radius:var(--radio);background:var(--cafe);color:#fff;cursor:pointer;border:0;width:100%;min-height:54px;padding:17px;font-family:inherit;font-size:17px;font-weight:600}button:active{transform:scale(.98)}button:disabled{opacity:.5}.sellos{flex-wrap:wrap;justify-content:center;gap:10px;max-width:280px;margin:24px 0 8px;display:flex}.sello{border:2.5px solid var(--cafe);border-radius:50%;width:34px;height:34px}.sello.puesto{background:var(--cafe)}.grande{margin:0 0 4px;font-size:56px;line-height:1}.cuenta{margin:0;font-size:34px;font-weight:700}.aviso{border-radius:var(--radio);margin-top:20px;padding:18px 20px;font-size:15px;line-height:1.45}.aviso.malo{color:var(--alto);background:#fbeae8}.aviso.bien{color:var(--ok);background:#e8f1ea}.chico{color:var(--suave);margin-top:20px;font-size:13px;line-height:1.5}.panel{max-width:760px;padding:20px 16px calc(80px + env(safe-area-inset-bottom));margin:0 auto}.barra{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.barra h2{margin:0;font-size:20px}.salir{color:var(--suave);background:0 0;border:0;width:auto;min-height:44px;padding:8px;font-size:14px}.tarjetas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.dato{border-radius:var(--radio);box-shadow:var(--sombra);background:#fff;padding:18px}.dato.tocable{cursor:pointer}.dato.tocable:active{transform:scale(.98)}.dato .n{font-size:30px;font-weight:700;line-height:1}.dato .q{color:var(--suave);margin-top:6px;font-size:13px;line-height:1.35}.lista{border-radius:var(--radio);box-shadow:var(--sombra);background:#fff;margin-top:16px;overflow:hidden}.fila{border-bottom:1px solid #f0e9dc;align-items:center;gap:12px;min-height:60px;padding:14px 16px;display:flex}.fila:last-child{border-bottom:0}.fila .quien{flex:1;min-width:0}.fila .nom{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.fila .det{color:var(--suave);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.pilde{background:var(--crema);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.pilde.listo{color:var(--ok);background:#e8f1ea}.mini{width:auto;min-height:44px;padding:10px 14px;font-size:14px}.mini.ghost{color:var(--cafe);background:0 0;border:1.5px solid #e0d6c4}.tabs{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.tab{width:auto;color:var(--suave);background:0 0;border:1.5px solid #0000;border-radius:999px;flex:none;min-height:44px;padding:10px 14px;font-size:14px}.tab.on{background:var(--cafe);color:#fff}.calc{border-radius:var(--radio);background:#fff8e9;border:1px solid #f0e0b8;margin-top:16px;padding:16px;font-size:14px;line-height:1.6}.calc b{font-size:17px}.campo-fila{gap:12px;display:flex}.campo-fila>div{flex:1}.vacio{text-align:center;color:var(--suave);padding:40px 20px}textarea{border-radius:var(--radio);resize:vertical;border:1.5px solid #e0d6c4;width:100%;min-height:100px;padding:14px 16px;font-family:inherit;font-size:16px}textarea:focus{border-color:var(--cafe);outline:none}
