@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--color-navy:#0b2545;--color-blue:#1b4965;--color-bg:#f7f5f0;--color-verified:#1e8e5a;--color-expired:#b3001b;--color-text:#3a3a3a;--color-surface:#fff;--color-border:#d9d4c7;--font-serif:"Source Serif 4", Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:repeating-linear-gradient(135deg,#0b254506 0 1px,#0000 1px 14px);font-size:16px;line-height:1.5}#root{min-height:100vh}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-shell__main{flex:1}h1,h2,h3{font-family:var(--font-serif);color:var(--color-navy);margin:0}a{color:var(--color-blue)}button{font-family:var(--font-sans)}input,select,textarea{font-family:var(--font-sans);color:var(--color-text)}:focus-visible{outline:3px solid var(--color-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.toast-stack{z-index:200;flex-direction:column;gap:.6rem;max-width:calc(100vw - 2rem);display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background-color:var(--color-surface);min-width:260px;max-width:380px;color:var(--color-text);border-left:4px solid var(--color-verified);align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.9rem;animation:.2s ease-out toast-in;display:flex;box-shadow:0 6px 20px #0b25452e}.toast--error{border-left-color:var(--color-expired)}.toast__message{flex:1}.toast__close{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.2rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.toast-stack{bottom:1rem;left:1rem;right:1rem}.toast{width:100%;min-width:0;max-width:none}}.emblem-mark{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.emblem-mark__ring{border:2px solid var(--color-navy);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.emblem-mark__ring:before{content:"";border:1px solid var(--color-navy);border-radius:50%;position:absolute;inset:3px}.emblem-mark__shield{background-color:var(--color-navy);clip-path:polygon(0% 0%,100% 0%,100% 58%,50% 100%,0% 58%);width:15px;height:18px}.emblem-mark--light .emblem-mark__ring,.emblem-mark--light .emblem-mark__ring:before{border-color:#fff}.emblem-mark--light .emblem-mark__shield{background-color:#fff}.admin-sidebar{background-color:var(--color-navy);color:#ffffffd9;flex-direction:column;flex-shrink:0;width:240px;padding:1.5rem 1.25rem;display:flex}.admin-sidebar__brand{border-bottom:1px solid #ffffff26;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.admin-sidebar__brand-label{font-family:var(--font-serif);color:#fff;font-size:1.05rem}.admin-sidebar__nav{flex-direction:column;flex:1;gap:.3rem;display:flex}.admin-sidebar__nav-item{text-align:left;color:#ffffffbf;width:100%;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:.7rem;padding:.65rem .75rem;font-size:.92rem;font-weight:600;display:flex}.admin-sidebar__nav-item--active{color:#fff;border-left:3px solid var(--color-verified);background-color:#ffffff1f}.admin-sidebar__nav-icon{flex-direction:column;gap:3px;width:16px;display:flex}.admin-sidebar__nav-icon span{background-color:currentColor;height:2px;display:block}.admin-sidebar__nav-icon span:nth-child(2){width:70%}.admin-sidebar__nav-icon span:nth-child(3){width:45%}.admin-sidebar__logout{color:#ffffffe6;cursor:pointer;background:0 0;border:1px solid #ffffff4d;margin-top:1.5rem;padding:.6rem .75rem;font-size:.85rem;font-weight:600}.admin-sidebar__logout:hover{background-color:#ffffff1a}@media (width<=768px){.admin-sidebar{flex-direction:row;align-items:center;width:100%;padding:1rem 1.25rem}.admin-sidebar__brand{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-sidebar__nav{flex-direction:row;flex:1}.admin-sidebar__nav-item--active{border-left:none;border-bottom:3px solid var(--color-verified)}.admin-sidebar__logout{margin-top:0}}.spinner{color:var(--color-navy);border:2px solid;border-color:currentColor currentColor #0000 #0000;border-radius:50%;animation:.7s linear infinite spinner-rotate;display:inline-block}.spinner--light{color:#fff}.spinner--small{width:14px;height:14px}.spinner--medium{border-width:3px;width:22px;height:22px}.spinner--large{border-width:3px;width:32px;height:32px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:.9s!important}}.visa-form h2{margin-bottom:1.5rem;font-size:1.3rem}.visa-form__section{border:none;border-top:1px solid var(--color-border);margin:0;padding:1.25rem 0}.visa-form__section:first-of-type{border-top:none;padding-top:0}.visa-form__section legend{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-blue);margin-bottom:1rem;padding:0;font-size:.78rem;font-weight:600}.visa-form__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.5rem;display:grid}.visa-form__field{color:var(--color-navy);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.visa-form__field input,.visa-form__field select{font-family:var(--font-sans);color:var(--color-text);border:1px solid var(--color-border);background-color:#fff;padding:.55rem .7rem;font-weight:400}.visa-form__message{margin:1rem 0 0;font-size:.88rem}.visa-form__message--error{color:var(--color-expired)}.visa-form__actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.visa-form__cancel{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;padding:.75rem 1.5rem;font-weight:600}.visa-form__cancel:hover:not(:disabled){border-color:var(--color-navy)}.visa-form__submit{background-color:var(--color-navy);color:#fff;cursor:pointer;border:none;align-items:center;gap:.6rem;padding:.75rem 1.75rem;font-weight:600;transition:background-color .15s;display:inline-flex}.visa-form__submit:hover:not(:disabled){background-color:var(--color-blue)}.visa-form__cancel:disabled,.visa-form__submit:disabled{opacity:.6;cursor:not-allowed}.visa-table-wrapper{background-color:var(--color-surface);border:1px solid var(--color-border);overflow-x:auto}.visa-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.88rem}.visa-table th,.visa-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.65rem .9rem}.visa-table th{background-color:var(--color-navy);color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.visa-table__mono{font-family:var(--font-mono)}.visa-table__empty{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:1.5rem}.visa-table__status{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.visa-table__status--valid{color:var(--color-verified)}.visa-table__status--expired,.visa-table__status--revoked{color:var(--color-expired)}.visa-table__delete{border:1px solid var(--color-expired);color:var(--color-expired);cursor:pointer;background:0 0;padding:.35rem .7rem;font-size:.78rem;font-weight:600}.visa-table__delete:hover{background-color:var(--color-expired);color:#fff}.confirm-overlay{z-index:110;background-color:#0b25458c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-panel{background-color:var(--color-surface);border-top:4px solid var(--color-expired);width:100%;max-width:380px;padding:1.75rem 1.5rem}.confirm-panel__message{color:var(--color-text);margin:0 0 1.25rem;font-size:.95rem}.confirm-panel__error{color:var(--color-expired);margin:0 0 1rem;font-size:.85rem}.confirm-panel__actions{justify-content:flex-end;gap:.75rem;display:flex}.confirm-panel__cancel{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;padding:.6rem 1.1rem;font-weight:600}.confirm-panel__cancel:hover:not(:disabled){border-color:var(--color-navy)}.confirm-panel__confirm{background-color:var(--color-expired);color:#fff;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:600;display:inline-flex}.confirm-panel__confirm:hover:not(:disabled){background-color:#8f0016}.confirm-panel__cancel:disabled,.confirm-panel__confirm:disabled{opacity:.65;cursor:not-allowed}.modal-overlay{z-index:100;background-color:#0b25458c;justify-content:center;align-items:flex-start;padding:3rem 1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background-color:var(--color-surface);border-top:4px solid var(--color-navy);width:100%;max-width:760px;padding:2.25rem 2rem;position:relative}.modal-panel__close{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.6rem;line-height:1;position:absolute;top:.75rem;right:.9rem}.modal-panel__close:hover{color:var(--color-navy)}@media (width<=640px){.modal-overlay{padding:1.5rem .75rem}.modal-panel{padding:2rem 1.25rem}}.admin-shell{min-height:100vh;display:flex}.admin-shell__content{flex:1;max-width:1300px;padding:2.25rem 2.5rem 4rem}.admin-content__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.admin-content__header h1{margin:0;font-size:1.85rem}.admin-content__add{background-color:var(--color-navy);color:#fff;cursor:pointer;border:none;padding:.65rem 1.5rem;font-weight:600;transition:background-color .15s}.admin-content__add:hover{background-color:var(--color-blue)}.admin-content__loading{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.admin-content__error{color:var(--color-expired)}@media (width<=768px){.admin-shell{flex-direction:column}.admin-shell__content{padding:1.75rem 1.25rem 3rem}}.site-footer{background-color:var(--color-navy);color:#ffffffd9;margin-top:auto}.site-footer__main{flex-wrap:wrap;justify-content:space-between;gap:2rem;max-width:1100px;margin:0 auto;padding:2.25rem 1.5rem;display:flex}.site-footer__brand{align-items:flex-start;gap:.85rem;max-width:360px;display:flex}.site-footer__dept{font-family:var(--font-serif);color:#fff;margin:0 0 .3rem;font-size:1.05rem}.site-footer__tagline{color:#ffffffb3;margin:0;font-size:.85rem}.site-footer__help{color:#ffffffbf;max-width:320px;font-size:.85rem}.site-footer__heading{letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 .4rem;font-size:.72rem;font-weight:600}.site-footer__help p{margin:0}.site-footer__legal{color:#fff9;border-top:1px solid #ffffff26;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;max-width:1100px;margin:0 auto;padding:1rem 1.5rem 1.5rem;font-size:.75rem;display:flex}.site-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.site-header__notice{background-color:var(--color-navy);color:#fff;letter-spacing:.02em;text-align:center;padding:.4rem 1rem;font-size:.75rem}.site-header__notice-mark{color:var(--color-verified);margin-right:.4rem;font-weight:700}.site-header__main{justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;padding:.9rem 1.5rem;display:flex}.site-header__brand{align-items:center;gap:.85rem;text-decoration:none;display:flex}.site-header__wordmark{flex-direction:column;gap:.15rem;display:flex}.site-header__dept{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--color-blue);font-size:.7rem;font-weight:600}.site-header__service{font-family:var(--font-serif);color:var(--color-navy);font-size:1.2rem;font-weight:600}.site-header__nav{flex-shrink:0}.site-header__staff-link{color:var(--color-blue);border:1px solid var(--color-border);padding:.5rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none}.site-header__staff-link:hover{border-color:var(--color-blue)}@media (width<=560px){.site-header__service{font-size:1.05rem}.site-header__staff-link{padding:.45rem .7rem;font-size:.8rem}}.admin-login-page{justify-content:center;align-items:center;padding:3.5rem 1.5rem;display:flex}.admin-login-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-navy);flex-direction:column;gap:1.1rem;width:100%;max-width:380px;padding:2.5rem 2rem;display:flex}.admin-login-form__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--color-blue);margin:0;font-size:.75rem;font-weight:600}.admin-login-form h1{margin:0 0 .5rem;font-size:1.5rem}.admin-login-form__field{flex-direction:column;gap:.35rem;display:flex}.admin-login-form__field label{color:var(--color-navy);font-size:.8rem;font-weight:600}.admin-login-form__field input{border:1px solid var(--color-border);padding:.65rem .8rem;font-size:1rem}.admin-login-form__error{color:var(--color-expired);margin:0;font-size:.88rem}.admin-login-form button{background-color:var(--color-navy);color:#fff;cursor:pointer;border:none;margin-top:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:background-color .15s}.admin-login-form button:hover:not(:disabled){background-color:var(--color-blue)}.admin-login-form button:disabled{opacity:.6;cursor:not-allowed}.status-seal{border:3px solid var(--color-verified);text-align:center;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;padding:8px;display:flex;position:absolute;top:-20px;right:24px;transform:rotate(-10deg);box-shadow:0 2px 6px #0b25452e}.status-seal:before{content:"";border:1px solid;border-radius:50%;position:absolute;inset:6px}.status-seal--verified{color:var(--color-verified);border-color:var(--color-verified)}.status-seal--expired{color:var(--color-expired);border-color:var(--color-expired)}.status-seal__text{font-family:var(--font-serif);letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;font-weight:700;line-height:1.15}@media (prefers-reduced-motion:no-preference){.status-seal--stamp-in{animation:.36s cubic-bezier(.2,.8,.2,1) status-seal-stamp-in}}@keyframes status-seal-stamp-in{0%{opacity:0;transform:scale(2.2)rotate(-32deg)}to{opacity:1;transform:scale(1)rotate(-10deg)}}@media (width<=540px){.status-seal{width:76px;height:76px;top:-16px;right:12px}.status-seal__text{font-size:.68rem}}.visa-card{background-color:var(--color-surface);border-top:5px double var(--color-navy);border-bottom:5px double var(--color-navy);max-width:720px;margin:2.5rem auto 0;padding:2.5rem 2rem 2rem;position:relative;box-shadow:0 6px 24px #0b254514}.visa-card__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem;display:grid}.visa-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.visa-field__label{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-blue);font-size:.7rem;font-weight:600}.visa-field__value{font-family:var(--font-mono);color:var(--color-text);word-break:break-word;font-size:.95rem}.visa-card__download{background-color:var(--color-navy);color:#fff;font-family:var(--font-sans);text-align:center;border-radius:2px;margin-top:2.25rem;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-block}.visa-card__download:hover{background-color:var(--color-blue)}@media (width<=640px){.visa-card{margin-top:2rem;padding:2.5rem 1.25rem 1.75rem}.visa-card__grid{grid-template-columns:1fr}.visa-card__download{width:100%;display:block}}.hero-band{background-color:var(--color-navy);background-image:repeating-linear-gradient(135deg,#ffffff0a 0 1px,#0000 1px 14px)}.hero-band__inner{text-align:center;max-width:760px;margin:0 auto;padding:3.25rem 1.5rem 3rem}.hero-band__eyebrow{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;margin:0 0 .75rem;font-size:.78rem;font-weight:600}.hero-band__inner h1{color:#fff;margin-bottom:.75rem;font-size:2.25rem}.hero-band__lede{color:#ffffffd9;max-width:520px;margin:0 auto;font-size:1rem}.trust-strip{background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.trust-strip__inner{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto;padding:1.75rem 1.5rem;display:grid}.trust-strip__item{align-items:flex-start;gap:.7rem;display:flex}.trust-strip__bullet{background-color:var(--color-verified);flex-shrink:0;width:8px;height:8px;margin-top:.4rem;transform:rotate(45deg)}.trust-strip__title{color:var(--color-navy);margin:0 0 .2rem;font-size:.85rem;font-weight:600}.trust-strip__body{color:var(--color-text);margin:0;font-size:.82rem}.lookup-page{max-width:760px;margin:0 auto;padding:3rem 1.5rem 5rem}.lookup-form{background-color:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.lookup-form__field{flex-direction:column;gap:.4rem;display:flex}.lookup-form__field label{letter-spacing:.04em;color:var(--color-navy);font-size:.8rem;font-weight:600}.lookup-form__field input{font-family:var(--font-mono);border:1px solid var(--color-border);background-color:#fff;padding:.7rem .85rem;font-size:1rem}.lookup-form__message{margin:0;font-size:.9rem}.lookup-form__message--error{color:var(--color-expired)}.lookup-form__submit{background-color:var(--color-navy);color:#fff;cursor:pointer;border:none;align-self:flex-start;padding:.85rem 2rem;font-size:.95rem;font-weight:600;transition:background-color .15s}.lookup-form__submit:hover:not(:disabled){background-color:var(--color-blue)}.lookup-form__submit:disabled{opacity:.6;cursor:not-allowed}.lookup-result-message{border-left:4px solid var(--color-expired);background-color:#fff;max-width:720px;margin:2rem auto 0;padding:1.25rem 1.5rem}.lookup-result-message p{color:var(--color-text);margin:0}@media (width<=720px){.trust-strip__inner{grid-template-columns:1fr}}@media (width<=640px){.hero-band__inner h1{font-size:1.85rem}.lookup-form{padding:1.5rem}.lookup-form__submit{align-self:stretch}}
