:root{color-scheme:light;--color-page: #f7fbff;--color-surface: rgba(255, 255, 255, .72);--color-surface-strong: rgba(255, 255, 255, .9);--color-surface-soft: rgba(255, 255, 255, .54);--color-text: #101318;--color-text-soft: #3f4754;--color-muted: #687385;--color-border: rgba(18, 25, 38, .1);--color-border-strong: rgba(255, 255, 255, .8);--color-primary: #111318;--color-primary-contrast: #ffffff;--color-cyan: #18b7c9;--color-green: #18a878;--color-rose: #e94f70;--color-amber: #e7a82f;--color-danger: #c7354c;--shadow-low: 0 10px 28px rgba(24, 33, 48, .08);--shadow-mid: 0 18px 60px rgba(24, 33, 48, .13);--shadow-high: 0 26px 90px rgba(24, 33, 48, .2);--blur-soft: blur(18px) saturate(1.25);--blur-strong: blur(26px) saturate(1.35);--radius: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-family: Tahoma, Arial, sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--color-page);text-size-adjust:100%}body{min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(115deg,rgba(24,183,201,.15),transparent 28%),linear-gradient(245deg,rgba(233,79,112,.12),transparent 30%),linear-gradient(180deg,#fff,#f7fbff 48%,#edf6fb);color:var(--color-text);font-family:var(--font-family)}body,button,input,a{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:3px solid rgba(24,183,201,.38);outline-offset:3px}#root{min-height:100vh}.app-root{position:relative;isolation:isolate;min-height:100vh;padding:max(14px,env(safe-area-inset-top)) 14px max(28px,env(safe-area-inset-bottom))}.ambient-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient-bg:before,.ambient-bg:after{content:"";position:absolute;width:92vmax;height:32vmax;opacity:.52;filter:blur(42px);transform:rotate(-12deg)}.ambient-bg:before{top:-12vmax;inset-inline-start:-18vmax;background:linear-gradient(90deg,rgba(24,183,201,.16),rgba(231,168,47,.12),transparent);animation:light-sheet 16s ease-in-out infinite alternate}.ambient-bg:after{right:-20vmax;bottom:-13vmax;background:linear-gradient(90deg,transparent,rgba(233,79,112,.12),rgba(24,168,120,.12));animation:light-sheet 18s ease-in-out infinite alternate-reverse}.ambient-bg__beam{position:absolute;display:block;width:60vmax;height:10vmax;border-radius:999px;opacity:.22;filter:blur(30px);transform:rotate(20deg)}.ambient-bg__beam--cyan{top:22%;inset-inline-start:-24%;background:#18b7c966}.ambient-bg__beam--rose{top:46%;inset-inline-end:-28%;background:#e94f7052}.ambient-bg__beam--amber{bottom:10%;inset-inline-start:12%;background:#e7a82f42}.eyebrow{margin:0 0 3px;color:var(--color-muted);font-size:12px;font-weight:800}.app-main{width:min(100%,1180px);margin:0 auto}.page{animation:page-in .36s ease both}.page--center{display:grid;min-height:62vh;place-items:center}.hero-panel{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-5);min-height:clamp(130px,24vw,210px);text-align:center}.hero-panel__content{max-width:720px}.hero-panel__content--center{display:grid;justify-items:center;width:100%}.hero-panel h2,.section-title h2,.not-found-panel h2{margin:0;color:var(--color-text);font-size:clamp(22px,5vw,36px);line-height:1.25;letter-spacing:0}.animated-border-title{position:relative;width:min(100%,760px);padding:8px 6px;background:linear-gradient(110deg,#101318,#101318 28%,#18b7c9 42%,#f0b43d,#e94f70 58%,#101318 72%,#101318);background-size:320% 100%;color:transparent;font-size:clamp(24px,7.4vw,72px)!important;font-weight:900;line-height:1.16;white-space:nowrap;-webkit-background-clip:text;background-clip:text;animation:title-text-flow 4.2s ease-in-out infinite,title-text-glow 3.4s ease-in-out infinite}.hero-panel p:last-child,.not-found-panel p{margin:10px 0 0;color:var(--color-text-soft);font-size:clamp(14px,2.7vw,16px);line-height:1.85}.content-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(340px,1.05fr);align-items:start;gap:var(--space-5)}.glass-panel{position:relative;overflow:hidden;padding:var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-mid);backdrop-filter:var(--blur-strong);-webkit-backdrop-filter:var(--blur-strong)}.glass-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,.78),transparent 36%),linear-gradient(315deg,rgba(255,255,255,.2),transparent 40%);pointer-events:none}.glass-panel--hero{background:#ffffffc2}.glass-panel--soft{background:#ffffff9e}.glass-panel--dialog{background:#ffffffdb;box-shadow:var(--shadow-high)}.capture-card{scroll-margin-top:18px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section-title--inline{align-items:center}.section-title h2{font-size:clamp(20px,4vw,26px)}.capture-card__description{margin:0 0 var(--space-4);color:var(--color-text-soft);font-size:14px;line-height:1.8}.camera-trigger{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:56px;border-radius:var(--radius);background:linear-gradient(135deg,#111318,#242831);color:var(--color-primary-contrast);cursor:pointer;font-weight:900;box-shadow:0 18px 34px #11131833,inset 0 1px #ffffff29;transition:transform .18s ease,box-shadow .18s ease}.camera-trigger:hover{box-shadow:0 20px 42px #1113183d,inset 0 1px #fff3}.camera-trigger:active,.ui-button:active,.record-card:active{transform:scale(.985)}.camera-trigger input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.image-preview{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;margin-top:var(--space-4);overflow:hidden;border:1px dashed rgba(18,25,38,.18);border-radius:var(--radius);background:#ffffff9e;box-shadow:inset 0 1px 18px #ffffff7a}.image-preview[data-has-image=true]{border-style:solid}.image-preview img{width:100%;height:100%;object-fit:contain}.image-preview__empty{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-5);color:var(--color-muted);text-align:center}.image-preview__empty svg{width:58px;height:58px;padding:14px;border-radius:50%;background:linear-gradient(135deg,#18b7c92e,#e94f7024);color:var(--color-cyan)}.image-preview__empty p{margin:0;font-size:13px}.capture-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.mrz-scanner{display:grid;gap:var(--space-4)}.mrz-scanner__pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.camera-trigger--secondary{background:linear-gradient(135deg,#0d7280,#18a878)}.mrz-preview{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;overflow:auto;border:1px dashed rgba(18,25,38,.18);border-radius:var(--radius);background:#ffffff9e;box-shadow:inset 0 1px 18px #ffffff7a}.mrz-preview[data-has-image=true]{border-style:solid}.mrz-preview__stage{position:relative;width:100%;height:100%;transform:scale(var(--preview-zoom));transform-origin:center}.mrz-preview__stage img{width:100%;height:100%;object-fit:contain}.mrz-overlay{position:absolute;border:2px solid var(--color-green);border-radius:4px;box-shadow:0 0 0 9999px #1113182e;pointer-events:none}.mrz-zoom{display:grid;grid-template-columns:auto minmax(90px,1fr) auto auto;align-items:center;gap:var(--space-2)}.mrz-zoom input{width:100%}.mrz-progress{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:#ffffff94}.mrz-progress div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--color-text-soft);font-size:13px}.mrz-progress progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:999px}.mrz-crop{display:grid;gap:var(--space-2);color:var(--color-muted);font-size:12px;font-weight:900}.mrz-crop img{width:100%;max-height:130px;border:1px solid var(--color-border);border-radius:var(--radius);object-fit:contain;background:#fff}.mrz-message{padding:var(--space-3);border-radius:var(--radius);font-size:13px;font-weight:800;line-height:1.7}.mrz-message--error{background:#c7354c14;color:var(--color-danger)}.mrz-message--warning{background:#e7a82f1f;color:#8a5a04}.mrz-results-list{display:grid;gap:var(--space-2)}.mrz-result-option{display:grid;grid-template-columns:minmax(0,1fr) auto 72px;align-items:center;gap:var(--space-2);padding:8px;border:1px solid var(--color-border);border-radius:var(--radius);background:#ffffffa3;color:var(--color-text);cursor:pointer}.mrz-result-option[data-selected=true]{border-color:#18a8787a;background:#18a87814}.mrz-result-option img{width:72px;height:42px;object-fit:contain}.mrz-review{display:grid;gap:var(--space-3)}.mrz-review__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mrz-review__header span,.mrz-checks span{display:inline-flex;min-height:28px;align-items:center;padding:4px 8px;border-radius:999px;background:#12192614;font-size:12px;font-weight:900}.mrz-review__header span[data-status=VALID],.mrz-checks span[data-valid=true]{background:#18a8781f;color:#0d7655}.mrz-review__header span[data-status=PARTIALLY_VALID],.mrz-checks span[data-valid=false]{background:#e7a82f24;color:#8a5a04}.mrz-review__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.mrz-checks{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;padding:0 15px;border-radius:var(--radius);cursor:pointer;font-weight:900;text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease}.ui-button--primary{background:linear-gradient(135deg,var(--color-green),#20bd91);color:#fff;box-shadow:0 14px 28px #18a87838,inset 0 1px #ffffff38}.ui-button--secondary{background:#1113180f;color:var(--color-text)}.ui-button--outline{border:1px solid rgba(24,183,201,.22);background:#18b7c91a;color:#087486}.ui-button--whatsapp{width:100%;background:linear-gradient(135deg,#22c55e,#18a878);color:#fff;box-shadow:0 14px 34px #18a87833}.ui-button--destructive{background:linear-gradient(135deg,#d83b55,#a9283e);color:#fff;box-shadow:0 14px 34px #c7354c33,inset 0 1px #ffffff2e}.ui-button--dangerGhost{min-height:42px;border:1px solid rgba(199,53,76,.22);background:#c7354c12;color:var(--color-danger);box-shadow:none}.ui-button--dangerGhost:hover{background:#c7354c1c}.ui-button:disabled,.ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.48;transform:none}.ui-button.is-loading{cursor:wait}.count-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:6px;min-height:34px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.count-badge{background:#18b7c91f;color:#087486}.records-card{min-height:380px}.records-list{display:grid;gap:var(--space-3)}.record-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius);background:#ffffffa8;box-shadow:var(--shadow-low);transition:transform .18s ease,border-color .18s ease,background .18s ease}.record-card:hover{border-color:#18b7c947;background:#ffffffd1;transform:translateY(-1px)}.record-card img{width:86px;height:86px;border-radius:var(--radius);object-fit:contain;background:#fff}.record-card__body{min-width:0}.record-card__body h3{margin:0 0 5px;overflow:hidden;color:var(--color-text);font-size:15px;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.record-card__body p{margin:0 0 10px;color:var(--color-muted);font-size:12px}.record-card__body .ui-button{min-height:36px;padding-inline:12px;font-size:13px}.empty-state,.loading-state,.error-state{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);border:1px solid rgba(18,25,38,.08);border-radius:var(--radius);background:#ffffff7a;color:var(--color-text-soft);text-align:center}.empty-state__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#18b7c91f;color:var(--color-cyan)}.empty-state h3{margin:0;color:var(--color-text);font-size:17px}.empty-state p,.error-state p{max-width:360px;margin:0;line-height:1.7}.error-state{color:var(--color-danger)}.loading-state__spinner{width:28px;height:28px;border:3px solid rgba(24,183,201,.16);border-top-color:var(--color-cyan);border-radius:50%;animation:spin .8s linear infinite}.dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-items:end;justify-items:center;padding:22px 12px 0;background:#10131847;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:fade-in .18s ease both}.details-dialog{width:min(100%,760px);max-height:min(92vh,880px);overflow:auto;padding:12px;animation:sheet-in .26s ease both}.details-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:4px 2px 12px}.details-toolbar h2{margin:0;overflow:hidden;color:var(--color-text);font-size:clamp(18px,4.2vw,24px);line-height:1.35;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.dialog-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(18,25,38,.08);border-radius:var(--radius);background:#ffffffc2;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-low)}.dialog-close:hover{background:#fffffff2}.details-dialog__image{width:100%;max-height:42vh;border-radius:var(--radius);object-fit:contain;background:#fff}.details-dialog__content{padding:var(--space-4) 2px 2px}.details-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.field-card{padding:12px;border:1px solid var(--color-border);border-radius:var(--radius);background:#ffffffa8}.field-card span{display:block;margin-bottom:6px;color:var(--color-muted);font-size:12px;font-weight:800}.field-card strong{display:block;overflow-wrap:anywhere;color:var(--color-text);font-size:15px;line-height:1.5}.raw-text-box{margin:var(--space-3) 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius);background:#1113180e}.raw-text-box p{margin:0 0 var(--space-2);color:var(--color-muted);font-size:12px;font-weight:900}.raw-text-box pre{max-height:136px;margin:0;overflow:auto;direction:ltr;color:#20242b;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap}.details-actions,.confirm-dialog__actions{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.danger-action{display:flex;justify-content:center;padding-top:var(--space-2);border-top:1px solid rgba(18,25,38,.08)}.danger-action .ui-button{width:auto;min-width:min(100%,210px);padding-inline:14px;font-size:13px}.confirm-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:var(--space-4);background:#10131842;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fade-in .18s ease both}.confirm-dialog{display:grid;justify-items:center;gap:var(--space-3);width:min(100%,460px);padding:var(--space-5);border:1px solid rgba(255,255,255,.78);border-radius:var(--radius);background:#ffffffe6;box-shadow:var(--shadow-high);text-align:center}.confirm-dialog__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#c7354c1a;color:var(--color-danger)}.confirm-dialog h3{margin:0;color:var(--color-text);font-size:20px;line-height:1.35}.confirm-dialog p{margin:0;color:var(--color-text-soft);font-size:14px;line-height:1.8}.countdown-pill{min-height:38px;padding:8px 12px;border-radius:999px;background:#c7354c17;color:var(--color-danger);font-size:13px;font-weight:900}.toast-viewport{position:fixed;inset-inline:14px;bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:grid;justify-items:center;gap:var(--space-2);pointer-events:none}.toast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);width:min(100%,520px);padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);background:#111318e0;color:#fff;box-shadow:var(--shadow-high);pointer-events:auto;animation:toast-in .24s ease both}.toast--success{background:#0d7751eb}.toast--error{background:#972538ed}.toast p{margin:0;font-size:13px;font-weight:800}.toast button{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer}.not-found-panel{width:min(100%,520px);text-align:center}.not-found-panel .ui-button{margin-top:var(--space-5)}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes light-sheet{0%{transform:translate3d(-2%,-1%,0) rotate(-12deg)}to{transform:translate3d(2%,1%,0) rotate(-10deg)}}@keyframes title-text-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes title-text-glow{0%,to{filter:drop-shadow(0 10px 18px rgba(24,183,201,.04))}50%{filter:drop-shadow(0 14px 24px rgba(24,183,201,.18)) drop-shadow(0 4px 16px rgba(233,79,112,.12))}}@media(max-width:880px){.content-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-root{padding-inline:12px}.hero-panel{flex-direction:column}.glass-panel{padding:var(--space-4)}.capture-actions{grid-template-columns:1fr}.record-card{grid-template-columns:78px minmax(0,1fr)}.record-card img{width:78px;height:78px}.details-fields{grid-template-columns:1fr}.dialog-layer{padding-inline:0}.details-dialog{width:100%;max-height:94vh;border-radius:var(--radius) var(--radius) 0 0}}@media(max-width:390px){.animated-border-title{font-size:clamp(19px,6.4vw,25px)!important}.record-card{grid-template-columns:70px minmax(0,1fr)}.record-card img{width:70px;height:70px}.ui-button{padding-inline:12px;font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-panel{background:#fffffff0}}
