@font-face{font-family:GateLogRoboto;src:url('fonts/roboto-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:GateLogRoboto;src:url('fonts/roboto-medium.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:GateLogRoboto;src:url('fonts/roboto-bold.ttf') format('truetype');font-weight:700 800;font-display:swap}
@font-face{font-family:GateLogRoboto;src:url('fonts/roboto-black.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:GateLogMaterial;src:url('fonts/MaterialIcons-Regular.otf') format('opentype');font-weight:normal;font-style:normal;font-display:block}
/* Colors, background and card treatment ported from Flutter core/ui/glass_ui.dart. */
.security-app{--sec-navy:#0b2b68;--sec-primary:#1764e8;--sec-muted:#64748b;min-height:100svh;background-color:#eaf3ff;background-position:center top;background-size:cover;background-attachment:fixed;color:#172a4a;font:500 14px/1.45 GateLogRoboto,Roboto,Arial,sans-serif}
.security-app a{color:inherit;text-decoration:none}.security-app button,.security-app input,.security-app select,.security-app textarea{font:inherit}.security-app button:disabled{opacity:.5;cursor:default}.security-app h1{font:900 20px/1.25 GateLogRoboto,Arial,sans-serif;color:inherit;text-shadow:none;letter-spacing:0;margin:0}.security-app h2{color:#0b2b68;text-align:left;font-size:20px;font-weight:900;line-height:1.3;margin:0 0 12px}.security-app h3{font-size:16px;color:#172a4a;margin:0 0 8px;font-weight:800}.security-app p{overflow-wrap:anywhere}.security-app .sec-icon{font-family:GateLogMaterial!important;font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;display:inline-block;-webkit-font-smoothing:antialiased;font-feature-settings:'liga';flex-shrink:0}
.sec-appbar{height:56px;background:#f5faffea;color:#0b2b68}.sec-appbar>div{max-width:1120px;margin:auto;height:100%;display:flex;gap:16px;align-items:center;padding:0 8px}.sec-appbar.colored{color:white}.sec-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;background:transparent;border:0;border-radius:50%;color:inherit;padding:8px;cursor:pointer}.sec-main{margin:0 auto;padding:16px 16px 28px;min-width:0}.has-bottom-nav .sec-main{padding-bottom:112px}.sec-main.sec-scan-body{padding:0;max-width:none!important}.sec-card{min-width:0;padding:18px;margin-bottom:16px;border:1.25px solid #fffffff0;border-radius:22px;background:linear-gradient(135deg,#ffffffdb,#ffffffad,#dcebff94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 22px #1764e824}.sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.sec-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.sec-stat{background:#ffffffc2;border:1.2px solid #ffffffeb;border-radius:22px;padding:18px}.sec-stat strong{display:block;color:#0b2b68;font-size:30px;font-weight:900}.sec-list{display:grid;gap:12px}.sec-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid #e8eef7;border-radius:20px;background:#fff;min-width:0}.sec-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 18px;border:0;border-radius:16px;background:#1764e8;color:white!important;font-weight:900;text-align:center;cursor:pointer}.sec-button.secondary{background:#ffffffb8;color:#1764e8!important;border:1.2px solid #d8e5f5}.sec-button.danger{background:#e83d5b}.sec-input{display:block;width:100%;min-height:52px;border:1.2px solid #ffffffe0;border-radius:17px;background:#ffffffad;padding:16px;color:#172a4a;outline:none}.sec-input:focus{border:1.6px solid #1764e8}.sec-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#eaf7ef;color:#159447;padding:5px 10px;font-size:11px;font-weight:900}.sec-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:36px 20px;color:#64748b}.sec-error{padding:14px 16px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:16px;margin:12px 0}.sec-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.sec-toolbar .sec-input{flex:1;min-width:150px;width:auto}.sec-toolbar h2{margin-bottom:0}.security-app label{color:#172a4a}.security-app table{border-collapse:collapse;width:100%}.security-app th,.security-app td{padding:12px;text-align:left;border-bottom:1px solid #d8e5f5}.security-app :focus-visible{outline:2px solid #1764e8;outline-offset:3px}.security-app h1:focus{outline:none}.sec-spinner{display:block;width:28px;height:28px;border:3px solid #dbeafe;border-top-color:#1764e8;border-radius:50%;animation:sec-spin .8s linear infinite}@keyframes sec-spin{to{transform:rotate(360deg)}}
.sec-bottom-nav{position:fixed;z-index:30;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:1096px;height:76px;border-radius:27px;background:#ffffffe0;border:1.2px solid #fffffff5;box-shadow:0 -5px 20px #1764e829;display:grid;grid-template-columns:1fr 92px 1fr;align-items:center;padding:8px 24px 6px}.sec-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#64748b!important;height:50px;font-size:10px;font-weight:600;border-radius:18px}.sec-nav-item .sec-icon{font-size:22px}.sec-nav-item.active{color:#1764e8!important;font-weight:800}.sec-nav-item.active .sec-icon{font-size:23px}.sec-qr-fab{width:78px;height:78px;align-self:start;justify-self:center;margin-top:-37px;padding:8px;border-radius:50%;border:1.5px solid #fffffffa;background:#fffffffa;box-shadow:0 7px 18px #1764e838,0 3px 8px #00000018}.sec-qr-fab>span{display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#159ef2,#1764e8,#786af4);color:white}.sec-qr-fab .sec-icon{font-size:30px}.sec-qr-fab.active{box-shadow:0 7px 22px #1764e852,0 3px 8px #00000018}
@media(min-width:900px){.sec-main{padding-left:42px;padding-right:42px}.sec-appbar>div{padding-inline:26px}}
@media(prefers-reduced-motion:reduce){.sec-spinner{animation:none}}
@media print{.sec-appbar,.sec-profile-header,.sec-bottom-nav,.sec-button,.sec-toolbar.gp-no-print{display:none!important}.sec-main,.has-bottom-nav .sec-main{padding:0;margin:0;max-width:none!important}.security-app{background:white!important}.sec-card{background:white;backdrop-filter:none;box-shadow:none;break-inside:avoid}}

/* Approved AYN-11 liquid glass theme. Restricted to the Security shell. */
.security-app.security-liquid{--glass-fill:linear-gradient(130deg,#ffffffba,#eef7ff91);--glass-border:#ffffffd9;--glass-shadow:inset 0 1px 1px #fff,0 8px 24px #123c7514;background:#99c7ed;color:#102951;isolation:isolate;font-weight:400}
.security-app.security-liquid:not(.liquid-camera)::before{content:'';position:fixed;inset:0;z-index:-1;background-image:linear-gradient(#dceeff0d,#dceeff0d),var(--liquid-scene);background-size:cover;background-repeat:no-repeat;background-color:#a6cff0;background-position:center bottom;pointer-events:none}
.security-app.security-liquid .sec-main{padding-top:20px;padding-bottom:40px}
.security-app.security-liquid.has-bottom-nav .sec-main{padding-bottom:130px}
.security-app.security-liquid .history-body{background:transparent;margin:0;padding:0}
.security-app.security-liquid .profile-header,.security-app.security-liquid .sec-appbar{background:linear-gradient(110deg,#3785d755,#b5dcff45)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #ffffff8c;box-shadow:0 4px 18px #164c8410;color:#092956}
.security-app.security-liquid .profile-header{height:78px}.security-app.security-liquid .header-title h1{font-size:22px;font-weight:700}.security-app.security-liquid .header-title p{color:#254b76}.security-app.security-liquid .shield{color:#fff;filter:drop-shadow(0 2px 4px #1363c8)}
.security-app.security-liquid .notification-button,.security-app.security-liquid .avatar{background:#ffffff45;border:1px solid #fff9;box-shadow:inset 0 1px 2px #fff8;color:#0b4596}
.security-app.security-liquid .sec-card,.security-app.security-liquid .summary-card,.security-app.security-liquid .gatepass-card,.security-app.security-liquid .feedback-card,.security-app.security-liquid .info-card,.security-app.security-liquid .history-card,.security-app.security-liquid .search-box,.security-app.security-liquid .gp-option,.security-app.security-liquid .gp-document,.security-app.security-liquid .gp-edit-item,.security-app.security-liquid .gp-filter-panel,.security-app.security-liquid .gp-item,.security-app.security-liquid .request-card,.security-app.security-liquid .request-header,.security-app.security-liquid .request-info,.security-app.security-liquid .preview-item,.security-app.security-liquid .preview-lines{background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;color:#102951}
.security-app.security-liquid .summary-card{box-shadow:var(--glass-shadow)}.security-app.security-liquid .summary-card strong{font-size:27px;font-weight:700}.security-app.security-liquid .summary-card div>span,.security-app.security-liquid .summary-card>span:last-child{color:#30547c;font-weight:500}
.security-app.security-liquid .intro h2,.security-app.security-liquid .heading h2{font-size:23px;font-weight:700}.security-app.security-liquid .intro-copy{font-size:14px;font-weight:400;color:#244970}.security-app.security-liquid h2,.security-app.security-liquid h3{font-weight:700}
.security-app.security-liquid .info-card p,.security-app.security-liquid .gatepass-copy p,.security-app.security-liquid .feedback-card p,.security-app.security-liquid .gp-copy p,.security-app.security-liquid .gp-intro,.security-app.security-liquid .gp-section-subtitle{color:#36567b;font-weight:400;line-height:1.5}
.security-app.security-liquid .sec-input,.security-app.security-liquid .gp-form .sec-input{background:#ffffffa6;border:1px solid #ffffffed;border-radius:14px;color:#122e55;box-shadow:inset 0 1px 2px #ffffffd9;min-height:48px}
.security-app.security-liquid .sec-input::placeholder{color:#58718d}.security-app.security-liquid .sec-input:focus{border-color:#1764e8;outline:2px solid #1764e833}.security-app.security-liquid select option{background:#f0f7ff;color:#102951}
.security-app.security-liquid .sec-button{background:linear-gradient(180deg,#409cff,#0068f6 65%,#0054dd);border:1px solid #9bd1ff;box-shadow:inset 0 2px 3px #ffffffa6,0 4px 12px #005ce633;border-radius:15px;font-weight:600;min-height:48px}
.security-app.security-liquid .sec-button.secondary{background:linear-gradient(#ffffffd1,#d6e9ffab);border:1px solid #fff;color:#104b98!important;box-shadow:inset 0 1px 3px white,0 4px 10px #123c7512}
.security-app.security-liquid .sec-button.danger,.security-app.security-liquid .reject-button{background:linear-gradient(#fff2f3ed,#ffdce4d9);color:#b31d3d!important;border:1px solid #f5b8c7;box-shadow:inset 0 1px 2px white}
.security-app.security-liquid .sec-bottom-nav{height:72px;background:linear-gradient(135deg,#ffffffc9,#dfefff9e);border:1px solid #ffffffe6;box-shadow:inset 0 1px 2px white,0 8px 28px #0d407533;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:26px}
.security-app.security-liquid .sec-qr-fab{background:linear-gradient(140deg,#b6eeff,#0a75fa);border:2px solid #dff8ff;box-shadow:inset 0 1px 5px #fff,0 0 15px #45b8ffb3,0 6px 16px #0050d659}
.security-app.security-liquid .sec-qr-fab>span{background:radial-gradient(circle at 35% 15%,#51c4ff,#087aff 55%,#0051e4)}.security-app.security-liquid .sec-nav-item{font-size:11px;color:#163c6b!important}.security-app.security-liquid .sec-nav-item.active{color:#0051ce!important}
.security-app.security-liquid .gp-hero,.security-app.security-liquid .gp-heading,.security-app.security-liquid .gp-step{background:linear-gradient(120deg,#277ed28c,#6bb7f06b);border:1px solid #ffffffad;box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#102951;border-radius:22px}
.security-app.security-liquid .gp-hero h2,.security-app.security-liquid .gp-hero p{color:#102951}.security-app.security-liquid .gp-option.green{background:linear-gradient(120deg,#d4fff0d4,#dff7ef9c)}.security-app.security-liquid .gp-option.amber{background:linear-gradient(120deg,#ffecc5de,#fff4da9c)}
.security-app.security-liquid .gp-note,.security-app.security-liquid .request-notice{background:#fff3d9d9;border:1px solid #ffe4ae;backdrop-filter:blur(12px)}
.security-app.security-liquid .profile-menu,.security-app.security-liquid .preview-sheet,.security-app.security-liquid .request-dialog,.security-app.security-liquid .gp-confirm{background:linear-gradient(130deg,#f6fbfff5,#dceeffed);border:1px solid #fff;box-shadow:0 20px 60px #0c37644d;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.security-app.security-liquid .profile-menu>button{background:transparent}.security-app.security-liquid .preview-overlay,.security-app.security-liquid .request-overlay,.security-app.security-liquid .gp-modal-backdrop{background:#102a5066;backdrop-filter:blur(5px)}
.security-app.security-liquid .item-name,.security-app.security-liquid .gp-title strong{font-weight:700}.security-app.security-liquid .item-copy>span{color:#395777;font-weight:500}.security-app.security-liquid .search-box input::placeholder{color:#526b87}
.security-app.security-liquid .sec-empty{background:#eef7ffb3;border:1px solid #fff9;border-radius:20px;color:#355578;backdrop-filter:blur(16px)}
.security-app.security-liquid .sec-main.sec-scan-body{padding:0}.security-app.security-liquid.liquid-camera{background:#061326}.security-app.security-liquid .handover-camera{background:#000}
@media(min-width:900px){.security-app.security-liquid:not(.liquid-camera)::before{background-size:cover;background-repeat:no-repeat;background-color:#a6cff0}.security-app.security-liquid .sec-main{max-width:1120px}.security-app.security-liquid .dashboard-body{max-width:800px}.security-app.security-liquid .profile-header{padding-inline:max(26px,calc((100vw - 1040px)/2))}}
@media(prefers-reduced-transparency:reduce){.security-app.security-liquid{--glass-fill:#eaf4ff}.security-app.security-liquid .sec-input{background:#f6faff}}
@media print{.security-app.security-liquid{background:white!important}.security-app.security-liquid::before{display:none!important}.security-app.security-liquid .sec-card,.security-app.security-liquid .gp-item,.security-app.security-liquid .gp-heading{background:white!important;box-shadow:none!important;backdrop-filter:none!important;color:black!important}.security-app.security-liquid .sec-main{padding:0!important}}

.security-app.security-liquid .request-header,.security-app.security-liquid .request-info{background:transparent;box-shadow:none;backdrop-filter:none;border:0;border-radius:0}
.security-app.security-liquid .detail-button:not(:disabled):not(.outlined):not(.reject-button){background:linear-gradient(#409cff,#0068f6);border:1px solid #a5dbff;box-shadow:inset 0 1px 3px white,0 4px 12px #005ce633}
.security-app.security-liquid .request-notice:not(.expired){background:#dff8ebdc;border-color:#b2e6cb}.security-app.security-liquid .request-notice.expired{background:#ffe8ebed;border-color:#f8b8c4}
.security-app.security-liquid .gp-info{background:linear-gradient(120deg,#277ed28c,#6bb7f06b);border:1px solid white;box-shadow:var(--glass-shadow)}
.security-app.security-liquid .gp-info h2,.security-app.security-liquid .gp-info p,.security-app.security-liquid .gp-info small{color:#102951}


/* The scanner retains the original camera navigation treatment. */
.security-app.security-liquid.liquid-camera .sec-bottom-nav{height:76px;background:#f1f2f5ed;border:1.2px solid #fff;border-radius:27px;box-shadow:0 -5px 20px #1764e829;backdrop-filter:none;-webkit-backdrop-filter:none}
.security-app.security-liquid.liquid-camera .sec-qr-fab{background:#fff;border:1.5px solid #fff;box-shadow:0 7px 18px #1764e838,0 3px 8px #00000018}
.security-app.security-liquid.liquid-camera .sec-qr-fab>span{background:linear-gradient(135deg,#159ef2,#1764e8,#786af4)}
.security-app.security-liquid.liquid-camera .sec-nav-item{color:#64748b!important;font-size:10px}
