:root{--rojo:#a0001c;--rojo-oscuro:#7a0015;--rojo-suave:#ffe8ec;--blanco:#fff;--texto:#1a1a1a;--texto-suave:#5c5c5c;--borde:#e8d0d4;color:var(--texto);-webkit-tap-highlight-color:transparent;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100dvh}body{overscroll-behavior:none;-webkit-text-size-adjust:100%;background:#111}button,input{font:inherit}button{cursor:pointer;background:0 0;border:none}.kiosko{--header-h:clamp(3.55rem, 11vw, 4.35rem);--footer-h:clamp(3.55rem, 11vw, 4.35rem);--radius-card:clamp(1.35rem, 4.5vw, 2rem);--clock-w:clamp(9rem, 34vw, 12rem);--logo-w:var(--clock-w);--fs-title:clamp(1.45rem, 5.5vw, 1.85rem);--fs-hour:clamp(1.3rem, 5vw, 1.7rem);--fs-date:clamp(.68rem, 2.3vw, .8rem);--fs-ampm:clamp(.78rem, 2.7vw, .92rem);grid-template-rows:var(--header-h) minmax(0, 1fr) var(--footer-h);background:var(--blanco);min-height:100dvh;display:grid;overflow:hidden}.kiosko-header{background:var(--rojo);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;height:100%;display:grid;overflow:hidden}.kiosko-header__title-wrap{flex-direction:column;justify-content:center;align-items:flex-start;gap:.12rem;min-width:0;padding:0 clamp(.85rem,3.5vw,1.35rem);display:flex}.kiosko-header__title{color:var(--blanco);font-size:var(--fs-title);letter-spacing:.04em;white-space:nowrap;margin:0;font-weight:800;line-height:1}.kiosko-header__meta{color:#ffffffe0;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;font-weight:600;overflow:hidden}.kiosko-header__clock{height:100%;width:var(--clock-w);min-width:var(--clock-w);background:var(--blanco);border-bottom-left-radius:var(--radius-card);flex-direction:column;justify-content:center;align-items:flex-end;gap:.15rem;padding:.3rem clamp(.7rem,2.5vw,1.1rem);display:flex;overflow:hidden}.kiosko-header__hour{color:var(--rojo);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:.3em;font-weight:800;line-height:1;display:flex}.kiosko-header__time{font-size:var(--fs-hour)}.kiosko-header__ampm{font-size:var(--fs-ampm);letter-spacing:.03em;font-weight:800;line-height:1}.kiosko-header__date{max-width:100%;color:var(--rojo);font-size:var(--fs-date);text-transform:capitalize;white-space:nowrap;font-weight:600;line-height:1.15;display:block}.kiosko-main{min-height:0;padding:.85rem .85rem calc(.85rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 100% 0,#a0001c14,#0000 42%),linear-gradient(#fff 0%,#faf6f7 100%);flex-direction:column;justify-content:flex-start;align-items:center;display:flex;overflow:auto}.kiosko-footer{grid-template-columns:var(--logo-w) minmax(0, 1fr);background:var(--rojo);align-items:stretch;height:100%;display:grid;overflow:hidden}.kiosko-footer__logo{background:var(--blanco);border-top-right-radius:var(--radius-card);justify-content:center;align-items:center;width:100%;height:100%;padding:.3rem clamp(.55rem,2vw,.9rem);display:flex;overflow:hidden}.kiosko-footer__logo img{object-fit:contain;width:100%;height:100%;display:block}.kiosko-footer__side{min-width:0;color:var(--blanco);align-items:center;gap:.55rem;padding:0 .55rem 0 0;display:flex;overflow:hidden}.kiosko-footer__ticker{flex:1;align-items:center;min-width:0;height:100%;display:flex;overflow:hidden}.kiosko-footer__track{white-space:nowrap;letter-spacing:.02em;align-items:center;gap:2.5rem;width:max-content;font-size:.72rem;font-weight:700;animation:18s linear infinite kiosko-ticker;display:flex}.kiosko-footer__track span{flex-shrink:0}@keyframes kiosko-ticker{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.kiosko-footer__logout{color:var(--blanco);background:#ffffff2e;border-radius:999px;flex-shrink:0;margin-right:.55rem;padding:.45rem .9rem;font-size:.82rem;font-weight:700}.confirm-modal{z-index:40;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-modal__backdrop{cursor:pointer;background:#1a0a0e7a;border:none;position:absolute;inset:0}.confirm-modal__panel{z-index:1;background:var(--blanco);text-align:left;border-radius:1.35rem;width:min(360px,100%);padding:1.35rem 1.2rem 1.2rem;position:relative;box-shadow:0 18px 40px #50000e47}.confirm-modal__title{color:var(--rojo-oscuro);margin:0 0 .55rem;font-size:1.25rem;font-weight:800;line-height:1.2}.confirm-modal__message{color:var(--texto);margin:0 0 .4rem;font-size:1rem;font-weight:600;line-height:1.4}.confirm-modal__detail{color:var(--texto-suave);margin:0 0 1.15rem;font-size:.9rem;line-height:1.4}.confirm-modal__actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.confirm-modal__cancel,.confirm-modal__confirm{touch-action:manipulation;border-radius:.95rem;min-height:3rem;font-size:.98rem;font-weight:800}.confirm-modal__cancel{color:var(--texto-suave);background:#f2ecee}.confirm-modal__confirm{background:var(--rojo);color:var(--blanco);box-shadow:0 6px 14px #a0001c38}.confirm-modal__cancel:active,.confirm-modal__confirm:active{transform:scale(.98)}.auth-card,.select-kiosko{text-align:left;width:min(420px,100%)}.auth-card h1,.select-kiosko h1{color:var(--rojo-oscuro);margin-bottom:.35rem;font-size:clamp(1.45rem,5.5vw,1.85rem);font-weight:800}.auth-card__hint,.select-kiosko__hint{color:var(--texto-suave);margin-bottom:1.1rem;font-size:.95rem;line-height:1.4}.auth-card{gap:.85rem;display:grid}.auth-card__field{color:var(--texto-suave);gap:.35rem;font-size:.9rem;font-weight:600;display:grid}.auth-card__field input{border:2px solid var(--borde);color:var(--texto);background:var(--blanco);border-radius:1rem;padding:.95rem 1rem;font-size:1.05rem}.auth-card__field input:focus{border-color:var(--rojo);outline:none}.auth-card__remember{color:var(--texto);-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;font-size:.95rem;font-weight:600;display:flex}.auth-card__remember input{width:1.15rem;height:1.15rem;accent-color:var(--rojo)}.auth-card__submit{background:var(--rojo);width:100%;min-height:56px;color:var(--blanco);border-radius:1rem;margin-top:.25rem;font-size:1.1rem;font-weight:800}.auth-card__submit:disabled{opacity:.55}.auth-card__error{color:var(--rojo);background:var(--rojo-suave);border-radius:.85rem;padding:.75rem .9rem;font-size:.92rem;font-weight:600}.select-kiosko__list{gap:.75rem;margin-bottom:1rem;display:grid}.select-kiosko__card{text-align:left;background:var(--blanco);border:2px solid var(--borde);border-radius:1.25rem;gap:.25rem;padding:1.1rem 1.15rem;display:grid;box-shadow:0 8px 22px #a0001c14}.select-kiosko__card strong{color:var(--rojo-oscuro);font-size:1.15rem}.select-kiosko__card span{color:var(--texto-suave);font-size:.9rem}.kiosko__link-btn{color:var(--rojo);text-underline-offset:3px;font-size:.95rem;font-weight:700;text-decoration:underline}.cedula-pad,.tipo-consulta,.ticket,.datos-paciente,.auth-card,.select-kiosko{width:min(440px,100%);margin-top:auto;margin-bottom:auto}.cedula-pad{text-align:center;padding-bottom:.25rem}.cedula-pad__card{background:var(--blanco);border:1px solid #a0001c1a;border-radius:1.5rem;padding:1.1rem 1rem 1rem;box-shadow:0 12px 28px #a0001c14}.cedula-pad__head{margin-bottom:.85rem}.cedula-pad h1,.tipo-consulta h1,.datos-paciente h1{color:var(--rojo-oscuro);margin-bottom:.25rem;font-size:clamp(1.35rem,5vw,1.75rem);font-weight:800}.cedula-pad__hint,.tipo-consulta__hint{color:var(--texto-suave);margin:0;font-size:1rem;font-weight:400}.cedula-pad__display{background:0 0;border:none;border-bottom:2px solid #e0c4c9;border-radius:0;justify-content:center;align-items:center;min-height:3.4rem;margin-bottom:1rem;padding:.55rem .35rem .7rem;display:flex}.cedula-pad__display--filled{border-bottom-color:#a0001c73}.cedula-pad__display--error{border-bottom-color:var(--rojo);background:0 0}.cedula-pad__value{color:var(--rojo);font-variant-numeric:tabular-nums;letter-spacing:.12em;font-size:clamp(1.7rem,7vw,2.25rem);font-weight:800;line-height:1}.cedula-pad__placeholder{color:#c4a0a6;letter-spacing:.02em;font-size:1.05rem;font-weight:600}.cedula-pad__error{color:var(--rojo);margin:-.35rem 0 .75rem;font-size:.9rem;font-weight:700}.cedula-pad__grid{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:.95rem;display:grid}.cedula-pad__key{min-height:3.35rem;color:var(--texto);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#f7f2f3;border:none;border-radius:1rem;font-size:1.4rem;font-weight:800;transition:transform 80ms,background .12s;box-shadow:0 1px #0000000a}.cedula-pad__key:active{background:#efe6e8;transform:scale(.96)}.cedula-pad__key--borrar{color:var(--texto-suave);background:#ececec;font-size:1.25rem}.cedula-pad__key--limpiar{color:var(--rojo);background:#f3e4e7;font-size:1.15rem;font-weight:800}.cedula-pad__key--limpiar:active{background:#ead0d5}.cedula-pad__actions{padding-top:.15rem;padding-bottom:.15rem}.cedula-pad__continuar{background:var(--rojo);width:100%;min-height:3.4rem;color:var(--blanco);touch-action:manipulation;border-radius:1.05rem;font-size:1.12rem;font-weight:800;box-shadow:0 8px 18px #a0001c38}.cedula-pad__continuar:disabled{opacity:.4;box-shadow:none}.cedula-pad__continuar:not(:disabled):active{transform:scale(.985)}.tipo-consulta,.ticket,.datos-paciente{text-align:center;width:100%;max-width:52rem;margin:0 auto}.tipo-consulta__doc{color:var(--texto);background:#a0001c0f;border-radius:999px;flex-direction:column;align-items:center;gap:.15rem;margin:0 auto 1rem;padding:.35rem .85rem;line-height:1.2;display:inline-flex}.tipo-consulta__doc:active{background:#a0001c1f}.tipo-consulta__doc-num{letter-spacing:.02em;font-size:1.05rem;font-weight:800}.tipo-consulta__doc-name{color:var(--texto-suave);text-overflow:ellipsis;white-space:nowrap;max-width:18rem;font-size:.82rem;font-weight:600;overflow:hidden}.tipo-consulta__status{color:var(--texto-suave);margin:0 0 .75rem;font-weight:600}.tipo-consulta__error{color:var(--rojo);margin:0 0 .85rem;font-weight:700}.tipo-consulta__pisos{-webkit-overflow-scrolling:touch;text-align:left;gap:1.25rem;max-height:min(62vh,38rem);padding:.15rem .2rem .4rem;display:grid;overflow-y:auto}.tipo-consulta__piso{gap:.65rem;display:grid}.tipo-consulta__piso-title{letter-spacing:.08em;text-transform:uppercase;color:var(--rojo);margin:0;font-size:.78rem;font-weight:800}.tipo-consulta__cards{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.7rem;display:grid}.tipo-consulta__cards--fallback{grid-template-columns:1fr 1fr;margin-top:.5rem}.tipo-consulta__card{text-align:center;background:var(--blanco);border:2px solid var(--borde);border-radius:1.1rem;place-items:center;min-height:5.25rem;padding:1.15rem .85rem;transition:border-color .15s,transform .15s;display:grid;box-shadow:0 8px 18px #1414140a}.tipo-consulta__card:active{border-color:var(--rojo);transform:scale(.985)}.tipo-consulta__card strong{color:var(--rojo-oscuro);font-size:1.05rem;font-weight:800;line-height:1.25}.tipo-consulta__card--siau{border-color:#a0001c59}.ticket__receipt{--ticket-ink:#111;--ticket-muted:#555;width:min(100%,22rem);color:var(--ticket-ink);background:#fff;border:2px solid #111;border-radius:.35rem;margin:0 auto;padding:1.15rem 1.1rem 1.25rem;font-family:Courier New,Courier,ui-monospace,monospace;box-shadow:0 10px 28px #0000001a}.ticket__receipt-head{margin-bottom:.35rem}.ticket__brand{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:1.35rem;font-weight:800}.ticket__receipt-sub{color:var(--ticket-muted);letter-spacing:.04em;text-transform:uppercase;margin:.2rem 0 0;font-size:.85rem}.ticket__receipt-rule{background:#111;height:2px;margin:.85rem 0}.ticket__receipt-rule--dashed{background:0 0;border-top:2px dashed #111;height:0}.ticket__label{color:var(--ticket-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.9rem}.ticket__numero{color:#111;letter-spacing:.04em;margin:.35rem 0 0;font-size:clamp(3.2rem,16vw,5.2rem);font-weight:800;line-height:.95}.ticket__meta{text-align:left;gap:.55rem;margin:0;display:grid}.ticket__meta>div{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.ticket__meta dt{color:var(--ticket-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.85rem}.ticket__meta dd{text-align:right;word-break:break-word;margin:0;font-weight:700}.ticket__aviso{color:var(--ticket-ink);letter-spacing:.02em;margin:0;font-size:.88rem}.ticket__nuevo{background:var(--rojo);min-width:10rem;min-height:56px;color:var(--blanco);border-radius:999px;margin-top:1.25rem;padding:0 1.6rem;font-size:1.05rem;font-weight:800}.datos-paciente__form{text-align:left;gap:.75rem;margin-top:.9rem;display:grid}.datos-paciente__form label{color:var(--texto-suave);gap:.3rem;font-weight:600;display:grid}.datos-paciente__form input{border:2px solid var(--borde);color:var(--texto);border-radius:.9rem;padding:.85rem .95rem;font-size:1.05rem}.datos-paciente__form input:focus{border-color:var(--rojo);outline:none}.kiosko__loading{color:var(--rojo);z-index:20;background:#ffffffc7;place-items:center;font-size:1.25rem;font-weight:800;display:grid;position:fixed;inset:0}@media (width>=720px){.tipo-consulta__cards{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.85rem}.tipo-consulta__card{min-height:5.75rem;padding:1.25rem 1rem}.tipo-consulta__card strong{font-size:1.12rem}.kiosko{--header-h:clamp(3.85rem, 8vw, 4.5rem);--footer-h:clamp(3.85rem, 8vw, 4.5rem);--clock-w:clamp(10rem, 22vw, 14rem);--logo-w:var(--clock-w)}}html,body,#root{height:100%;min-height:100%;margin:0}
