:root{--fondo: #0f172a;--panel: #1e293b;--panel-alto: #334155;--borde: #475569;--texto: #f1f5f9;--tenue: #94a3b8;--acento: #38bdf8;--verde: #22c55e;--verde-fondo: #14532d;--ambar: #f59e0b;--ambar-fondo: #451a03;--rojo: #ef4444;--rojo-fondo: #450a0a;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding-bottom:env(safe-area-inset-bottom)}.envoltura{max-width:560px;margin:0 auto;padding:16px 16px 96px}.barra{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 20px}.barra h1{font-size:18px;margin:0;font-weight:600}.barra .quien{color:var(--tenue);font-size:13px}.estado{border-radius:20px;padding:28px 20px;text-align:center;border:2px solid var(--borde);background:var(--panel)}.estado.activo{border-color:var(--verde);background:var(--verde-fondo)}.estado .etiqueta{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue);margin-bottom:8px}.estado.activo .etiqueta{color:#bbf7d0}.estado .valor{font-size:34px;font-weight:800;line-height:1.1}.estado .cronometro{font-size:46px;font-weight:800;font-variant-numeric:tabular-nums;margin:6px 0 2px}.estado .detalle{color:var(--tenue);font-size:15px;margin-top:10px}.estado.activo .detalle{color:#dcfce7}.boton{display:block;width:100%;border:0;border-radius:16px;padding:22px 18px;font-size:20px;font-weight:700;cursor:pointer;margin-top:14px;color:#04121f;background:var(--acento);font-family:inherit}.boton:disabled{opacity:.45;cursor:default}.boton.salida{background:var(--rojo);color:#fff}.boton.secundario{background:transparent;color:var(--texto);border:2px solid var(--borde);font-size:17px;padding:16px}.boton.chico{padding:12px 16px;font-size:15px;margin-top:0;width:auto}.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:16px;padding:16px;margin-top:16px}.tarjeta h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tenue);margin:0 0 12px}.fila{display:flex;justify-content:space-between;gap:12px;padding:10px 0}.fila+.fila{border-top:1px solid var(--panel-alto)}.fila .principal{font-weight:600}.fila .sub{color:var(--tenue);font-size:13px}.numero{font-variant-numeric:tabular-nums;font-weight:700}.aviso{border-radius:12px;padding:12px 14px;margin-top:14px;font-size:15px;border:1px solid}.aviso.info{background:#082f49;border-color:#0369a1}.aviso.ambar{background:var(--ambar-fondo);border-color:var(--ambar)}.aviso.rojo{background:var(--rojo-fondo);border-color:var(--rojo)}.campo{width:100%;padding:16px;font-size:17px;border-radius:12px;border:2px solid var(--borde);background:var(--panel);color:var(--texto);font-family:inherit}.campo:focus{outline:none;border-color:var(--acento)}.opciones{margin-top:12px;max-height:46vh;overflow-y:auto}.opcion{display:block;width:100%;text-align:left;padding:14px 16px;background:var(--panel);border:1px solid var(--borde);color:var(--texto);border-radius:12px;margin-bottom:8px;font-size:16px;cursor:pointer;font-family:inherit}.opcion.puesta{border-color:var(--acento);background:#082f49}.opcion .codigo{font-weight:700;font-variant-numeric:tabular-nums}.opcion .ruta{display:block;color:var(--tenue);font-size:12px;margin-top:3px}.pastillas{display:flex;flex-wrap:wrap;gap:8px}.pastilla{padding:12px 16px;border-radius:999px;font-size:15px;font-weight:600;background:var(--panel);border:2px solid var(--borde);color:var(--texto);cursor:pointer;font-family:inherit}.pastilla.puesta{border-color:var(--acento);background:#082f49;color:var(--acento)}.foto-previa{width:100%;border-radius:12px;margin-top:12px;display:block;border:1px solid var(--borde)}.nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--panel);border-top:1px solid var(--borde);padding-bottom:env(safe-area-inset-bottom)}.nav button{flex:1;padding:14px 8px;background:none;border:0;cursor:pointer;color:var(--tenue);font-size:13px;font-weight:600;font-family:inherit}.nav button.puesta{color:var(--acento)}.centrado{text-align:center;padding:48px 24px;color:var(--tenue)}.marca{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ambar);margin-left:6px;vertical-align:middle}.encabezado-modal{display:flex;align-items:center;gap:12px;margin-bottom:20px}.encabezado-modal h1{font-size:20px;margin:0;flex:1}.volver{background:none;border:0;color:var(--acento);font-size:16px;cursor:pointer;padding:8px 0;font-family:inherit}.interruptor{display:flex;align-items:flex-start;gap:10px;padding:10px 0;cursor:pointer;line-height:1.4}.interruptor+.interruptor{border-top:1px solid var(--panel-alto)}.interruptor input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--acento)}.interruptor strong{color:var(--texto)}.interruptor span{color:var(--tenue);font-size:14px}.mapa{width:100%;display:block;margin-top:10px;border-radius:12px;border:1px solid var(--borde);cursor:crosshair}.rama{background:none;border:0;color:var(--tenue);cursor:pointer;font-size:16px;padding:14px 4px 0;width:22px;flex:none;font-family:inherit}.rama.vacia{cursor:default}textarea.campo{resize:vertical;font-family:inherit}input[type=range]{accent-color:var(--acento)}.semana{display:flex;align-items:center;gap:8px;margin-bottom:12px}.semana .volver{font-size:26px;padding:4px 12px;line-height:1}.turno{display:flex;gap:12px;align-items:flex-start;width:100%;background:var(--panel-alto);border:1px solid var(--borde);border-left:4px solid var(--ambar);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer;color:var(--texto);font-family:inherit;text-align:left}.turno.publicado{border-left-color:var(--verde)}.turno .hora{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;color:var(--tenue);line-height:1.3;flex:none;min-width:48px}.borrador{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ambar);flex:none;align-self:center}.etiqueta-desvio{flex:none;align-self:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ambar);text-align:right;max-width:40%}.punto{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}.punto.s1{background:var(--rojo)}.punto.s2{background:var(--ambar)}.punto.s3{background:var(--tenue)}.pie{margin-top:32px;padding-top:16px;border-top:1px solid var(--panel-alto);color:var(--tenue);font-size:13px;line-height:1.7;text-align:center}.pie a{color:var(--acento)}
