:root{
  --red:#c9141c;--red-dark:#9e0f15;--red-soft:#fff1f2;--ink:#17191c;--charcoal:#25282c;--graphite:#34383d;
  --paper:#ffffff;--page:#f2f3f5;--soft:#f7f7f8;--line:#dfe2e5;--muted:#707780;--success:#14734a;--warn:#9a6100;
  --shadow:0 18px 48px rgba(18,23,28,.09);--shadow-sm:0 8px 24px rgba(18,23,28,.07);--radius:14px;--radius-sm:9px
}
*{box-sizing:border-box}html{background:var(--page)}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8f8f9 0,#f1f2f4 100%);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit}.inline{display:inline}.hidden-field{display:none!important}.muted-copy{color:var(--muted);line-height:1.55;font-size:13px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--red);text-transform:uppercase;margin-bottom:7px}.eyebrow.light{color:#ff6970}.app-shell{max-width:1480px;margin:0 auto;padding:30px 26px 48px}

/* Header */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:22px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-top:5px solid var(--red);border-bottom:1px solid #ddd;padding:9px 24px;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.brand-lockup{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:380px}.brand-lockup img{width:275px;height:58px;object-fit:contain;object-position:left center}.brand-divider{width:1px;height:38px;background:#ddd}.site-lockup{display:flex;flex-direction:column;gap:5px}.site-lockup b{font-size:17px;letter-spacing:.09em}.site-lockup small{font-size:8px;font-weight:850;color:var(--red);letter-spacing:.12em}
.main-nav{display:flex;align-items:center;gap:4px}.main-nav>a,.nav-menu-button,.signout{padding:9px 10px;border:0;background:none;border-radius:7px;text-decoration:none;font-size:11px;font-weight:800;color:#4c5055;cursor:pointer;white-space:nowrap}.main-nav>a:hover,.main-nav>a.active,.nav-menu-button:hover{background:#f1f1f2;color:var(--red)}.main-nav>a.active{box-shadow:inset 0 -2px 0 var(--red);border-radius:7px 7px 0 0}.main-nav>a.nav-primary{background:var(--red);color:#fff;box-shadow:none}.main-nav>a.nav-primary:hover{background:var(--red-dark)}
.nav-menu{position:relative}.nav-menu-panel{display:none;position:absolute;right:0;top:40px;width:220px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:7px;z-index:60}.nav-menu.open .nav-menu-panel{display:block}.nav-menu-panel a{display:block;text-decoration:none;padding:10px 11px;border-radius:7px;font-size:12px;font-weight:750;color:#444}.nav-menu-panel a:hover{background:#f4f4f5;color:var(--red)}
.user-menu{display:flex;align-items:center;gap:8px;margin-left:6px;padding-left:12px;border-left:1px solid #ddd}.user-menu>span:nth-child(2){display:flex;flex-direction:column}.user-menu b{font-size:11px}.user-menu small{font-size:9px;color:var(--muted);margin-top:2px}.online-dot{width:8px;height:8px;border-radius:50%;background:#2aa768;box-shadow:0 0 0 4px rgba(42,167,104,.12)}.signout{color:#777}.signout:hover{color:var(--red)}

/* Core */
h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.05;letter-spacing:-.035em;margin-bottom:8px}h2{font-size:19px;letter-spacing:-.015em;margin-bottom:14px}h3{font-size:15px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:20px}.page-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.card-heading h2{margin:0}.card-heading.compact{margin-bottom:12px}.card-heading>a{font-size:11px;color:var(--red);font-weight:850;text-decoration:none}.narrow-page{max-width:620px;margin:0 auto}.form-card{padding:24px}

.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:10px 14px;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.01em;cursor:pointer;transition:.15s ease;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-red{background:var(--red);color:#fff;box-shadow:0 7px 18px rgba(201,20,28,.18)}.button-red:hover{background:var(--red-dark)}.button-dark{background:#24272b;color:#fff}.button-dark:hover{background:#101214}.button-light{background:#f5f5f6;color:#34373b;border-color:#d9dcdf}.button-light:hover{background:#ececee}.button-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.17);color:#fff}.button-ghost:hover{background:rgba(255,255,255,.1)}.button-xl{padding:13px 18px;font-size:12px}.checkout-button{background:#fff5f5;border-color:#efc9cb;color:#9d171d;padding:8px 10px}.checkout-button:hover{background:#ffe9ea}.text-button{border:0;background:none;color:#8d9399;font-size:10px;font-weight:800;cursor:pointer;padding:5px}.text-button:hover{color:var(--red)}

label{display:block;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#3e4247}label em{font-size:10px;font-weight:500;color:var(--muted);text-transform:none;font-style:normal}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd1d5;border-radius:8px;background:#fff;color:var(--ink);padding:12px 13px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(201,20,28,.08)}input::placeholder,textarea::placeholder{color:#a2a7ac}.field-help{display:block;text-transform:none;letter-spacing:0;font-weight:500;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.4}.alert{max-width:1480px;margin:0 auto 14px;padding:12px 14px;border-radius:9px;font-size:12px;font-weight:700;border:1px solid}.alert.success{background:#edf8f2;color:#17623f;border-color:#cce8d9}.alert.danger{background:#fff1f1;color:#93252a;border-color:#efc7c9}.alert.warning{background:#fff8e7;color:#765716;border-color:#ebdba6}

/* Hero / dashboard */
.hero{border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.hero-command{position:relative;display:flex;justify-content:space-between;gap:24px;padding:32px 34px;margin-bottom:16px;color:#fff;background:radial-gradient(circle at 80% -20%,rgba(255,255,255,.12),transparent 35%),linear-gradient(125deg,#1a1c1f 0,#2a2d31 63%,#17191b 100%);border-left:7px solid var(--red)}.hero-command:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(255,255,255,.06);right:-160px;bottom:-230px;box-shadow:0 0 0 48px rgba(255,255,255,.015),0 0 0 96px rgba(255,255,255,.01)}.hero-copy{position:relative;z-index:2}.live-badge{display:inline-flex;align-items:center;gap:8px;font-size:9px;font-weight:900;letter-spacing:.16em;color:#dfdfe1;margin-bottom:15px}.pulse{width:8px;height:8px;border-radius:50%;background:#3fd081;box-shadow:0 0 0 5px rgba(63,208,129,.12)}.hero-client{font-size:10px;color:#ff7379;font-weight:900;letter-spacing:.17em;margin-bottom:6px}.hero h1{font-size:42px;margin-bottom:9px;color:#fff}.hero p{max-width:690px;color:#c6c9cc;font-size:14px;line-height:1.55;margin-bottom:20px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.clock-panel{position:relative;z-index:2;min-width:235px;align-self:center;text-align:right;padding-left:24px;border-left:1px solid rgba(255,255,255,.12)}.clock-panel>small{font-size:9px;color:#aaaeb3;letter-spacing:.16em;font-weight:850}.clock{font-variant-numeric:tabular-nums;font-size:37px;font-weight:850;letter-spacing:.02em;margin:5px 0 2px}.clock-date{font-size:11px;color:#b9bdc1}.operator-chip{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.07);font-size:9px;color:#d8dbde;font-weight:750}.operator-chip span{width:7px;height:7px;border-radius:50%;background:#33c875}
.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 16px;box-shadow:0 7px 20px rgba(20,25,30,.045);min-height:104px}.metric-primary{border-top:4px solid var(--red);padding-top:12px}.metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.metric-top span{font-size:10px;color:#666d74;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.25}.metric-top b{font-size:30px;line-height:1}.metric>small{display:block;margin-top:17px;color:#989da2;font-size:10px}.metric .small-number{font-size:24px}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(280px,.8fr);gap:16px}.side-stack{display:flex;flex-direction:column;gap:16px}.live-card{min-width:0}.quick-search{width:310px}.quick-search input{margin:0;padding:10px 12px;font-size:12px}.expected-list{display:flex;flex-direction:column}.expected-item{display:grid;grid-template-columns:54px 1fr 14px;gap:10px;align-items:center;text-decoration:none;padding:12px 4px;border-top:1px solid #eee}.expected-item:hover{background:#fafafa}.expected-time{font-size:9px;font-weight:900;color:var(--red);letter-spacing:.04em}.expected-item b{display:block;font-size:12px}.expected-item span:not(.arrow){display:block;color:#686e74;font-size:10px;margin-top:3px}.expected-item small{display:block;color:#999;font-size:9px;margin-top:3px}.arrow{font-size:20px;color:#bbb}.mini-empty{padding:22px 8px;text-align:center;color:#8a9096;font-size:11px}.site-card-head{display:flex;align-items:center;gap:11px;border-bottom:1px solid #eee;padding-bottom:14px}.site-card-head img{width:42px;height:42px;object-fit:contain}.site-card-head h2{margin:0}.site-facts{display:grid;gap:0;margin-top:7px}.site-facts>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #eee}.site-facts span{font-size:9px;text-transform:uppercase;color:#888e94;letter-spacing:.07em}.site-facts b{text-align:right;font-size:11px}.privacy-panel{margin-top:14px;border-left:4px solid var(--red);background:#f6f6f7;padding:11px 12px}.privacy-panel b{display:block;font-size:9px;color:var(--red);letter-spacing:.1em}.privacy-panel span{display:block;font-size:10px;color:#6a7076;line-height:1.45;margin-top:4px}

/* Tables */
.table-wrap{overflow:auto;border:1px solid #e1e3e5;border-radius:10px}.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:11px}.data-table th,.data-table td{padding:11px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid #eceeef;vertical-align:middle}.data-table th{position:sticky;top:0;background:#f6f6f7;color:#6f757b;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;border-top:3px solid var(--red);z-index:2}.data-table tbody tr:hover{background:#fffafa}.data-table tbody tr:last-child td{border-bottom:0}.data-table td b{font-size:11px}.data-table td small{display:block;color:#8d9399;font-size:9px;margin-top:3px}.wide-table{min-width:1180px}.wrap-cell{white-space:normal!important;min-width:230px;line-height:1.45}.status-pill,.type-pill,.verify-chip,.pass-chip,.audit-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;letter-spacing:.04em}.status-pill.in{background:#e9f6ef;color:#176e48}.status-pill.out{background:#eff0f1;color:#676c72}.type-pill{background:#eceeef;color:#454b50}.type-pill.visitor{background:#eef3f8;color:#405f78}.type-pill.contractor{background:#fff0e5;color:#87511e}.type-pill.delivery{background:#f0edfb;color:#5e4d8e}.verify-chip{background:#eef6f2;color:#327258}.pass-chip{background:#fff1f2;color:#a3171d;border:1px solid #f0c9cb}.audit-pill{background:#24272b;color:#fff;border-radius:5px}.table-empty{padding:34px;text-align:center}.table-empty b{display:block;font-size:13px}.table-empty span{display:block;color:#8c9298;font-size:10px;margin-top:5px}

/* Check in */
.checkin-layout{display:grid;grid-template-columns:minmax(0,950px) minmax(260px,1fr);gap:18px;align-items:start}.checkin-main{padding:24px}.prelookup{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;margin:-4px 0 20px;background:#f7f7f8;border:1px solid #e2e3e5;border-radius:10px}.prelookup>div b{display:block;font-size:11px}.prelookup>div span{display:block;color:#7e848a;font-size:9px;margin-top:3px}.prelookup form{display:flex;gap:7px;width:360px}.prelookup input{margin:0;padding:10px 11px;font-size:12px;text-transform:uppercase}.preapproval-loaded{display:flex;gap:12px;align-items:center;padding:12px 14px;margin-bottom:16px;border-radius:9px;background:#edf8f2;border:1px solid #cee8da;color:#255d46}.preapproval-loaded b{font-size:9px;letter-spacing:.08em}.preapproval-loaded span{font-size:10px}.watch-alert{display:flex;gap:14px;padding:16px;margin-bottom:18px;background:#fff1f1;border:1px solid #edbfc2;border-left:5px solid var(--red);border-radius:10px}.watch-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:18px;font-weight:900;flex:none}.watch-alert b{font-size:9px;color:var(--red);letter-spacing:.11em}.watch-alert h3{margin:5px 0 4px}.watch-alert p,.watch-alert span{font-size:10px;color:#5f656a;margin:0}.entry-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.entry-form>.full{grid-column:1/-1}.form-step{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:7px 0 10px;padding-top:12px;border-top:1px solid #eee}.form-step:first-of-type{border-top:0;padding-top:0}.form-step>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:10px;font-weight:900}.form-step b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.form-step small{display:block;color:#8b9197;font-size:9px;margin-top:2px}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:7px}.type-card{position:relative;margin:0}.type-card input{position:absolute;opacity:0}.type-card span{display:flex;flex-direction:column;justify-content:center;min-height:72px;border:1px solid #d9dcdf;border-radius:9px;padding:10px 11px;cursor:pointer;text-transform:none;letter-spacing:0;background:#fff;transition:.15s}.type-card span b{font-size:11px}.type-card span small{font-size:9px;color:#83898f;margin-top:4px;line-height:1.3;font-weight:500}.type-card input:checked+span{border-color:var(--red);background:#fff6f6;box-shadow:inset 4px 0 0 var(--red)}.advanced{border:1px solid #e1e3e5;border-radius:9px;margin-top:5px;background:#fafafa}.advanced summary{padding:11px 13px;font-size:10px;font-weight:900;cursor:pointer;color:#5e646a;text-transform:uppercase;letter-spacing:.06em}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 13px;padding:2px 13px 12px}.advanced-grid.single{grid-template-columns:1fr}.advanced-grid .full{grid-column:1/-1}.override-box{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;background:#fff7e8;border:1px solid #ead5a2;border-radius:9px;text-transform:none;letter-spacing:0;line-height:1.45}.override-box input{width:auto;margin:2px 0 0}.override-box span{font-size:10px;font-weight:600;color:#6d561f}.privacy-inline{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;background:#f4f5f6;border-left:4px solid #2f3337;border-radius:4px}.privacy-inline b{font-size:8px;letter-spacing:.09em;white-space:nowrap}.privacy-inline span{font-size:9px;color:#676e74;line-height:1.45}.form-actions{display:flex;gap:9px;padding-top:14px;border-top:1px solid #eee;margin-top:4px}.officer-guide{position:sticky;top:98px}.gate-steps{list-style:none;margin:0;padding:0}.gate-steps li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #eee}.gate-steps li>span{font-size:9px;font-weight:900;color:var(--red);padding-top:2px}.gate-steps b{display:block;font-size:10px}.gate-steps small{display:block;color:#858b91;font-size:9px;margin-top:3px;line-height:1.35}.guide-alert{margin-top:15px;padding:12px;background:#25282c;color:#fff;border-left:4px solid var(--red);border-radius:5px}.guide-alert b{display:block;font-size:9px;letter-spacing:.06em}.guide-alert span{display:block;font-size:9px;color:#c8cbce;line-height:1.45;margin-top:4px}

/* Filters / records */
.record-warning,.emergency-banner{display:flex;align-items:flex-start;gap:12px;padding:11px 13px;margin-bottom:13px;background:#f7f7f8;border-left:4px solid var(--red);border-radius:4px}.record-warning b,.emergency-banner b{font-size:8px;color:var(--red);letter-spacing:.1em;white-space:nowrap}.record-warning span,.emergency-banner span{font-size:10px;color:#686e74;line-height:1.45}.filter-card{padding:12px;margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:2fr 1fr .85fr .9fr 1fr 1fr auto auto;gap:7px;align-items:center}.filter-grid input,.filter-grid select{margin:0;padding:9px 10px;font-size:11px}.filter-grid .button{height:36px}.audit-search{display:grid;grid-template-columns:1fr auto auto;gap:8px}.audit-search input{margin:0}

/* Pre-approvals */
.split-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:18px;align-items:start}.sticky-card{position:sticky;top:98px}.compact-form{display:grid;gap:10px}.compact-form label{margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.segmented{display:flex;background:#f1f2f3;border-radius:8px;padding:3px}.segmented a{text-decoration:none;padding:6px 9px;font-size:9px;font-weight:850;color:#73787d;border-radius:6px}.segmented a.active{background:#fff;color:var(--red);box-shadow:0 2px 7px rgba(0,0,0,.08)}.preapproval-list{display:flex;flex-direction:column}.preapproval-row{display:grid;grid-template-columns:135px minmax(180px,1fr) 80px 230px;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #eee}.preapproval-row:first-child{border-top:0}.pre-code span{display:block;font-size:11px;font-weight:900;color:var(--red);letter-spacing:.04em}.pre-code small,.pre-person small{display:block;font-size:9px;color:#969ba0;margin-top:4px}.pre-person b{display:block;font-size:11px}.pre-person span{display:block;font-size:9px;color:#686e74;margin-top:3px}.pre-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px}.pre-actions form{display:inline-flex}

/* Emergency */
.emergency-heading .eyebrow{color:#a20e14}.emergency-banner{background:#fff0f0;border:1px solid #edc0c2;border-left:5px solid var(--red)}.emergency-banner span{color:#5e5658}.compact-metrics{grid-template-columns:repeat(4,1fr)}.roll-check{display:grid;place-items:center;margin:0}.roll-check input{width:20px;height:20px;margin:0;accent-color:var(--red)}.rollcall-card{border-top:5px solid var(--red)}

/* Reports */
.report-metrics{grid-template-columns:repeat(6,1fr)}.report-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.chart-card{grid-row:span 2}.bar-chart{height:260px;display:grid;grid-template-columns:repeat(14,1fr);gap:7px;align-items:end;padding-top:24px}.bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.bar-value{font-size:8px;color:#7d8389;margin-bottom:4px}.bar-track{height:190px;width:100%;max-width:26px;background:#f0f1f2;border-radius:5px 5px 2px 2px;display:flex;align-items:flex-end;overflow:hidden}.bar-track i{display:block;width:100%;min-height:2px;background:linear-gradient(180deg,#e33a41,var(--red));border-radius:5px 5px 2px 2px}.bar-col small{font-size:7px;color:#8f9499;margin-top:6px;writing-mode:vertical-rl;transform:rotate(180deg);max-height:34px}.rank-list{display:grid;gap:13px}.rank-row>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.rank-row b{font-size:10px}.rank-row span{font-size:9px;color:#858b90}.rank-track{height:7px;border-radius:999px;background:#eff0f1;overflow:hidden}.rank-track i{display:block;height:100%;min-width:2px;background:var(--red);border-radius:999px}.insight-card p{font-size:11px;color:#666d73;line-height:1.55}.insight-points{display:grid;grid-template-columns:1fr 1fr;gap:8px}.insight-points span{font-size:9px;font-weight:750;color:#52585e}

/* Admin / watchlist */
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.site-spec-card{background:linear-gradient(135deg,#202226,#32363b);color:#fff;border-top:5px solid var(--red)}.site-spec-card h2{color:#fff}.site-spec-card p{color:#c4c7ca;font-size:11px;line-height:1.55}.site-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.site-spec-grid>div{padding:11px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:8px}.site-spec-grid span{display:block;color:#aeb2b6;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.site-spec-grid b{display:block;font-size:10px;margin-top:5px}.inline-settings{display:flex;align-items:flex-end;gap:8px}.inline-settings label{flex:1;margin:0}.security-note{margin-top:16px;padding:11px 12px;background:#f5f6f7;border-left:4px solid var(--red);border-radius:4px}.security-note b{display:block;font-size:9px;letter-spacing:.06em}.security-note span{display:block;font-size:9px;color:#747a80;line-height:1.45;margin-top:4px}.feature-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feature-check-grid span{font-size:10px;font-weight:750}.watch-layout{grid-template-columns:360px minmax(0,1fr)}

/* Login */
.login-page{max-width:1240px;margin:0 auto;padding:28px 26px 46px}.login-frame{border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(18,22,26,.14);border-top:6px solid var(--red)}.login-masthead{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:14px 20px;border:1px solid #dedede;border-top:0}.login-masthead img{width:430px;max-width:70%;height:78px;object-fit:contain;object-position:left center}.login-masthead span{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.15em}.login-layout{display:grid;grid-template-columns:1.2fr .8fr;min-height:510px}.login-showcase{position:relative;overflow:hidden;padding:52px;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.09),transparent 32%),linear-gradient(135deg,#1b1d20,#33373c);color:#fff}.login-showcase:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.05);right:-270px;bottom:-300px;box-shadow:0 0 0 65px rgba(255,255,255,.012),0 0 0 130px rgba(255,255,255,.008)}.login-showcase h1{position:relative;z-index:2;font-size:52px;line-height:.95;letter-spacing:-.04em;margin:18px 0 18px}.login-showcase h1 span{color:#ff3f47}.login-showcase>p{position:relative;z-index:2;max-width:580px;color:#cdd0d3;font-size:13px;line-height:1.65}.showcase-grid{position:relative;z-index:2;display:flex;gap:36px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.showcase-grid small{display:block;font-size:8px;color:#9fa4a9;letter-spacing:.11em}.showcase-grid b{display:block;font-size:12px;margin-top:6px}.showcase-feature{position:relative;z-index:2;margin-top:38px;max-width:540px;padding:14px;border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--red)}.showcase-feature b{display:block;font-size:9px;letter-spacing:.12em}.showcase-feature span{display:block;color:#bbc0c4;font-size:10px;margin-top:5px;line-height:1.45}.login-panel{display:flex;align-items:center;background:#fff;padding:42px}.login-card{width:100%;max-width:360px;margin:auto}.login-card h2{font-size:29px;margin-bottom:6px}.login-card>p{font-size:12px;color:#797f85;margin-bottom:24px}.login-card form{display:grid;gap:14px}.login-card .button{width:100%;margin-top:2px}.login-foot{text-align:center;background:#fafafa;border:1px solid #dedede;border-top:0;padding:14px;font-size:9px;color:#777d82}.login-foot b{color:var(--red)}

/* Print invite */
.print-body{background:#eceeef;padding:28px}.invite-sheet{max-width:700px;margin:0 auto;background:#fff;border-top:7px solid var(--red);box-shadow:var(--shadow);padding:22px}.invite-brand{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;padding-bottom:14px}.invite-brand img{width:330px;height:70px;object-fit:contain;object-position:left}.invite-brand span{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.12em}.invite-main{text-align:center;padding:30px 36px}.invite-main h1{font-size:34px}.invite-code{font-size:27px;font-weight:900;letter-spacing:.1em;margin:12px 0 7px}.invite-main>p{font-size:11px;color:#6f757a;line-height:1.55}.invite-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;text-align:left}.invite-grid>div{padding:11px;background:#f6f6f7;border-radius:7px}.invite-grid span{display:block;font-size:8px;color:#858b91;text-transform:uppercase;letter-spacing:.08em}.invite-grid b{display:block;font-size:11px;margin-top:5px}.invite-footer{text-align:center;border-top:1px solid #ddd;padding-top:14px;font-size:9px;color:#777}.print-actions{display:flex;justify-content:center;gap:8px;margin-top:16px}

/* Footer */
.app-footer{max-width:1480px;margin:0 auto;padding:0 26px 26px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;color:#7a8086;font-size:9px}.footer-slogan{color:var(--red);font-weight:800}
.empty-state{text-align:center;max-width:600px;margin:70px auto;padding:48px}.empty-code{font-size:64px;font-weight:900;color:#ddd}.empty-state h1{font-size:22px;margin-bottom:22px}


.integration-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-5px 0 16px;padding:12px 15px;border:1px solid;border-left-width:5px;border-radius:10px;background:#fff}.integration-banner b{display:block;font-size:10px;letter-spacing:.09em}.integration-banner span:not(.integration-badge){display:block;font-size:10px;margin-top:4px;color:#666d74}.integration-banner.warning{border-color:#ead7a9;border-left-color:var(--warn);background:#fffaf0}.integration-banner.success{border-color:#cce6d8;border-left-color:var(--success);background:#f3fbf7}.integration-badge{font-size:8px;font-weight:900;letter-spacing:.12em;border:1px solid currentColor;border-radius:999px;padding:6px 8px;white-space:nowrap}.integration-banner.warning .integration-badge{color:var(--warn)}.integration-banner.success .integration-badge{color:var(--success)}
.sms-action-note{padding:11px 12px;border-left:4px solid var(--red);background:#f6f6f7;border-radius:5px}.sms-action-note b{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase}.sms-action-note span{display:block;font-size:10px;color:#686e74;line-height:1.45;margin-top:4px}.preapproval-row.sms-row{grid-template-columns:135px minmax(180px,1fr) 138px minmax(300px,auto)}.pre-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.sms-pill{display:inline-flex;border-radius:999px;padding:5px 7px;font-size:7px;font-weight:900;letter-spacing:.06em;white-space:nowrap;background:#f0f1f2;color:#656b71}.sms-delivered{background:#e8f7ef;color:var(--success)}.sms-sent,.sms-queued,.sms-accepted,.sms-sending{background:#eef4fb;color:#2c5f8f}.sms-failed,.sms-undelivered{background:#fff0f0;color:#9b2228}.sms-not-configured,.sms-not-sent{background:#f1f2f3;color:#71777d}.sms-error{grid-column:1/-1;margin-top:-5px;padding:8px 10px;border-radius:6px;background:#fff6f6;color:#8f3035;font-size:9px;line-height:1.4}.sms-preview-box{margin:20px auto 8px;max-width:560px;text-align:left;white-space:pre-wrap;padding:16px 18px;border:1px solid #d8dcdf;border-left:5px solid var(--red);border-radius:9px;background:#f7f7f8;font-size:13px;line-height:1.55;color:#33383d}.print-actions{flex-wrap:wrap}
.integration-status-card{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-left:5px solid;border-radius:10px;background:#f8f8f9}.integration-status-card b{font-size:12px}.integration-status-card span{font-size:9px;font-weight:900;letter-spacing:.09em}.integration-status-card small{font-size:10px;color:#696f75;line-height:1.45}.integration-status-card.online{border-left-color:var(--success)}.integration-status-card.online span{color:var(--success)}.integration-status-card.offline{border-left-color:var(--warn)}.integration-status-card.offline span{color:var(--warn)}.integration-status-card code{font-size:9px;background:#eceeef;padding:2px 4px;border-radius:4px}
@media(max-width:1260px){.brand-lockup{min-width:310px}.brand-lockup img{width:225px}.site-lockup{display:none}.metric-grid{grid-template-columns:repeat(3,1fr)}.dashboard-layout{grid-template-columns:1fr}.side-stack{display:grid;grid-template-columns:1fr 1fr}.checkin-layout{grid-template-columns:1fr 290px}.filter-grid{grid-template-columns:2fr 1fr 1fr 1fr}.filter-grid .button{height:auto}.preapproval-row{grid-template-columns:120px 1fr 70px 210px}.report-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.topbar{position:relative;flex-direction:column;align-items:flex-start;padding:9px 16px}.brand-lockup img{width:260px}.main-nav{width:100%;overflow-x:auto;padding-bottom:3px}.user-menu{margin-left:auto}.main-nav>a,.nav-menu-button,.signout{font-size:10px}.app-shell{padding:22px 16px 38px}.checkin-layout,.split-layout,.watch-layout{grid-template-columns:1fr}.officer-guide,.sticky-card{position:relative;top:auto}.officer-guide{order:-1}.login-layout{grid-template-columns:1fr}.login-showcase{min-height:auto}.login-panel{padding:34px}.report-grid{grid-template-columns:1fr}.chart-card{grid-row:auto}.preapproval-row{grid-template-columns:115px 1fr 70px}.pre-actions{grid-column:1/-1;justify-content:flex-start}.side-stack{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:680px){.topbar{padding:8px 10px}.brand-lockup{min-width:0}.brand-lockup img{width:235px;height:54px}.brand-divider{display:none}.main-nav{gap:2px}.user-menu{display:none}.app-shell{padding:18px 10px 32px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:29px}.hero-command{flex-direction:column;padding:24px 20px;border-radius:12px}.hero h1{font-size:34px}.clock-panel{text-align:left;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:16px 0 0;min-width:0;width:100%}.metric-grid,.report-metrics,.compact-metrics{grid-template-columns:1fr 1fr}.metric{min-height:92px;padding:13px}.metric-top b{font-size:26px}.side-stack{grid-template-columns:1fr}.card{padding:15px;border-radius:11px}.card-heading{align-items:flex-start;flex-direction:column}.quick-search{width:100%}.entry-form{grid-template-columns:1fr}.entry-form>.full,.form-step{grid-column:1}.type-grid{grid-template-columns:1fr 1fr}.prelookup{align-items:flex-start;flex-direction:column}.prelookup form{width:100%}.advanced-grid,.two-col{grid-template-columns:1fr}.advanced-grid .full{grid-column:1}.form-actions{flex-direction:column}.form-actions .button{width:100%}.privacy-inline{flex-direction:column;gap:4px}.filter-grid{grid-template-columns:1fr}.audit-search{grid-template-columns:1fr}.preapproval-row{grid-template-columns:1fr}.pre-actions{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}.pre-code{display:flex;justify-content:space-between;align-items:center}.bar-chart{gap:4px}.bar-col small{font-size:6px}.insight-points{grid-template-columns:1fr}.site-spec-grid{grid-template-columns:1fr}.feature-check-grid{grid-template-columns:1fr}.login-page{padding:10px}.login-masthead{padding:10px 12px}.login-masthead img{width:300px;height:auto;max-width:78%}.login-showcase{padding:30px 24px}.login-showcase h1{font-size:39px}.showcase-grid{gap:18px;flex-wrap:wrap}.login-panel{padding:28px 22px}.invite-main{padding:24px 8px}.invite-grid{grid-template-columns:1fr}.print-body{padding:8px}.invite-brand{align-items:flex-start;flex-direction:column}.invite-brand img{width:280px}.app-footer{padding:0 12px 20px}.no-mobile{display:none}}
@media print{.topbar,.app-footer,.page-heading .button,.no-print,.print-actions{display:none!important}.app-shell{max-width:none;padding:0}.card{box-shadow:none}.emergency-banner{border:2px solid #000}.rollcall-card{border:1px solid #999}.data-table th{position:static;color:#000}.print-body{background:#fff;padding:0}.invite-sheet{box-shadow:none;max-width:none}.invite-sheet,.card{page-break-inside:avoid}}


.integration-status-card{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-left:5px solid;border-radius:10px;background:#f8f8f9}.integration-status-card b{font-size:12px}.integration-status-card span{font-size:9px;font-weight:900;letter-spacing:.09em}.integration-status-card small{font-size:10px;color:#696f75;line-height:1.45}.integration-status-card.online{border-left-color:var(--success)}.integration-status-card.online span{color:var(--success)}.integration-status-card.offline{border-left-color:var(--warn)}.integration-status-card.offline span{color:var(--warn)}.integration-status-card code{font-size:9px;background:#eceeef;padding:2px 4px;border-radius:4px}
@media(max-width:1260px){.preapproval-row.sms-row{grid-template-columns:120px 1fr 120px 260px}}
@media(max-width:980px){.preapproval-row.sms-row{grid-template-columns:115px 1fr 110px}.preapproval-row.sms-row .pre-actions{grid-column:1/-1}}
@media(max-width:680px){.integration-banner{align-items:flex-start;flex-direction:column}.preapproval-row.sms-row{grid-template-columns:1fr}.preapproval-row.sms-row .pre-actions{grid-column:auto}.sms-error{grid-column:auto}}


/* v2.3 visitor messaging */
.message-action-note{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #dfe5e2;border-left:4px solid #1f8f5f;background:#f6fbf8;border-radius:8px}.message-action-note .message-icon{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#1f8f5f;color:#fff;font-size:8px;font-weight:900;letter-spacing:.04em}.message-action-note b{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase}.message-action-note span{display:block;font-size:10px;color:#636a70;line-height:1.45;margin-top:4px}
.message-list{display:grid;gap:12px}.message-invite-card{border:1px solid #e0e3e6;border-radius:12px;background:#fff;padding:15px;box-shadow:0 7px 22px rgba(21,25,29,.04)}.message-invite-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #eceef0}.message-invite-body{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:18px;align-items:start;padding:13px 0}.message-invite-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:11px;border-top:1px solid #eceef0}.message-invite-actions form{display:inline-flex;margin:0}.channel-statuses{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.channel-pill{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;letter-spacing:.035em;background:#f0f2f3;color:#60666c;white-space:nowrap}.channel-pill strong{font-weight:900}.channel-whatsapp{border:1px solid #cae9da}.channel-sms{border:1px solid #dce5ef}.status-delivered,.status-read{background:#e8f7ef;color:#16734d}.status-sent,.status-queued,.status-accepted,.status-sending{background:#eef4fb;color:#2c5f8f}.status-failed,.status-undelivered{background:#fff0f0;color:#9b2228}.status-not-configured,.status-not-sent{background:#f2f3f4;color:#747a80}.message-detail{margin-top:9px;padding:8px 10px;border-radius:7px;font-size:9px;line-height:1.4}.warning-detail{background:#fff7ed;color:#7e5326}.integration-secondary{margin-top:10px}.integration-status-card.neutral{border-left-color:#9ca3aa}.integration-status-card.neutral span{color:#717980}.whatsapp-preview{max-width:570px;margin:18px auto;text-align:left;border-radius:12px;background:#e9f0ec;padding:12px}.wa-preview-head{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#59635e;margin:0 0 8px 4px}.wa-bubble{display:inline-block;max-width:88%;white-space:pre-wrap;padding:12px 14px;border-radius:10px 10px 10px 2px;background:#fff;font-size:12px;line-height:1.55;color:#2b302d;box-shadow:0 2px 8px rgba(0,0,0,.06)}
@media(max-width:900px){.message-invite-body{grid-template-columns:1fr}.channel-statuses{align-items:flex-start}}

.contact-consent{display:flex!important;gap:10px;align-items:flex-start!important;padding:11px 12px;border:1px solid #dedfe1;border-radius:8px;background:#fbfbfc}.contact-consent input{width:18px!important;height:18px!important;min-height:0!important;margin-top:1px;accent-color:#c9141c}.contact-consent span{display:block}.contact-consent b{display:block;font-size:9px}.contact-consent small{display:block;margin-top:3px;font-size:9px;color:#737a80;line-height:1.4}

/* v2.4 one-screen WhatsApp connection wizard */
.messaging-setup-card{grid-column:1/-1}.setup-state{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900;letter-spacing:.1em}.setup-state.online{background:#e8f7ef;color:#14734a}.setup-state.offline{background:#fff4dd;color:#8b5d09}.setup-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.setup-steps>div{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafafa}.setup-steps>div>b{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#24272b;color:#fff;font-size:9px}.setup-steps span{display:flex;flex-direction:column;gap:3px}.setup-steps strong{font-size:10px}.setup-steps small{font-size:9px;color:#747a80;line-height:1.35}.setup-external{margin:0 0 14px}.messaging-form{max-width:760px}.password-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.password-row .button{height:43px;margin-top:7px}.connection-test{display:grid;grid-template-columns:1fr minmax(300px,.8fr);gap:20px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.connection-test h3{margin-bottom:6px}.connection-test p{font-size:10px;color:var(--muted);line-height:1.45}.connection-test .compact-form{margin:0}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.clear-config{margin-top:12px}.integration-banner .banner-actions{display:flex;align-items:center;gap:9px}.integration-banner .banner-actions .button{font-size:9px;padding:7px 10px}
@media(max-width:980px){.setup-steps{grid-template-columns:1fr 1fr}.connection-test{grid-template-columns:1fr}}
@media(max-width:680px){.setup-steps{grid-template-columns:1fr}.password-row{grid-template-columns:1fr}.password-row .button{margin-top:0}.integration-banner .banner-actions{width:100%;justify-content:space-between}}

/* v2.5 client-ready refinements */
.metric-alert{border-color:#efb9bc;background:#fff7f7}.metric-alert .metric-top b{color:var(--red)}
.premium-loaded{position:relative;display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#eefaf4,#f8fcfa);border:1px solid #bfe2cf;border-left:5px solid var(--success)}
.loaded-check{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--success);color:#fff;font-size:20px;font-weight:900}.loaded-copy{display:flex;flex-direction:column;gap:3px}.loaded-copy>b{color:#16734d}.loaded-copy strong{font-size:16px;color:#202428}.loaded-copy span{font-size:10px;color:#465049}.loaded-copy small{font-size:9px;color:#6c746f;line-height:1.4}.loaded-status{align-self:start;border-radius:999px;background:#dff4e8;color:#146c47;padding:6px 8px;font-size:8px!important;font-weight:900;letter-spacing:.1em}
.integration-banner.sandbox{border-color:#c8d9ef;border-left-color:#3c6fa3;background:#f4f8fd}.integration-banner.sandbox .integration-badge{color:#315f90}.sandbox-admin-note{display:flex;gap:10px;align-items:flex-start;margin:10px 0 14px;padding:10px 12px;border-radius:8px;border-left:4px solid #3c6fa3;background:#f3f7fc}.sandbox-admin-note b{font-size:8px;letter-spacing:.1em;color:#315f90}.sandbox-admin-note span{font-size:9px;color:#5f6c78;line-height:1.45}
.template-blueprint{margin:0 0 16px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.template-blueprint summary{cursor:pointer;padding:12px 14px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.template-blueprint>p{margin:0;padding:0 14px 10px;font-size:9px;color:var(--muted);line-height:1.45}.template-copy{margin:0 14px 10px;padding:12px;border-radius:8px;background:#fff;border:1px solid #e0e3e6;font-size:10px;line-height:1.55;white-space:pre-wrap}.template-vars{display:flex;flex-wrap:wrap;gap:6px;margin:0 14px 10px}.template-vars span{font-size:8px;background:#eceff1;border-radius:999px;padding:5px 7px;color:#60666c}.template-blueprint>.button{margin:0 14px 14px}
.arrival-shell{max-width:900px;margin:18px auto 60px}.arrival-approved-card{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(145deg,#1e2428,#30363b);color:#fff;padding:42px;box-shadow:0 28px 70px rgba(19,24,28,.22);border-top:6px solid var(--success);text-align:center}.arrival-approved-card:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.055);border-radius:50%;right:-180px;bottom:-240px}.arrival-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--success);font-size:42px;font-weight:900;box-shadow:0 10px 30px rgba(21,135,88,.35)}.arrival-approved-card h1{font-size:42px;margin:7px 0 5px}.arrival-approved-card>p{color:#cbd0d3;margin:0}.arrival-destination{margin:22px auto;padding:13px 18px;width:max-content;max-width:100%;border-radius:999px;background:#fff;color:#1e2428;font-weight:900;font-size:17px;letter-spacing:.06em}.arrival-destination span{color:var(--red);margin:0 6px}.arrival-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 26px;text-align:left}.arrival-grid>div{min-height:90px;border:1px solid rgba(255,255,255,.11);border-radius:10px;padding:13px;background:rgba(255,255,255,.035)}.arrival-grid span{display:block;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#9ca5ab}.arrival-grid b{display:block;font-size:14px;margin-top:7px}.arrival-grid small{display:block;font-size:8px;color:#aeb6bb;margin-top:4px}.arrival-actions{display:flex;justify-content:center;gap:10px;position:relative;z-index:2}.arrival-footer-note{display:flex;justify-content:center;gap:12px;align-items:center;padding:15px;color:#687078}.arrival-footer-note b{font-size:8px;letter-spacing:.11em;color:var(--red)}.arrival-footer-note span{font-size:9px}
.checkout-confirm-card{max-width:850px;margin:0 auto}.checkout-person{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.checkout-avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#25292d;color:#fff;font-size:20px;font-weight:900}.checkout-person h2{margin:2px 0 3px}.checkout-person p{margin:0;color:var(--muted);font-size:10px}.checkout-form{margin-top:20px}.pass-control{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px;border-radius:10px;background:#f4f5f6;border-left:5px solid var(--red)}.pass-control span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#747b81}.pass-control strong{display:block;font-size:24px;margin-top:3px}.pass-control p{margin:0;max-width:360px;font-size:9px;color:#6f767c;line-height:1.45}.pass-return-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.pass-return-options label{position:relative;margin:0}.pass-return-options input{position:absolute;opacity:0}.pass-return-options span{display:flex;flex-direction:column;min-height:80px;padding:14px;border:1px solid #d9dcdf;border-radius:10px;background:#fff;cursor:pointer;text-transform:none;letter-spacing:0}.pass-return-options b{font-size:12px}.pass-return-options small{font-size:9px;color:#777e84;margin-top:5px;line-height:1.35}.pass-return-options input:checked+span{border-color:var(--red);background:#fff6f6;box-shadow:inset 4px 0 0 var(--red)}.pass-return{display:block;margin-top:4px;font-size:8px;font-weight:900}.pass-return.ok{color:var(--success)}.pass-return.alert{color:var(--red)}

@media(max-width:1500px){.topbar{padding-left:16px;padding-right:16px}.brand-lockup{min-width:285px;gap:10px}.brand-lockup img{width:220px;height:50px}.site-lockup{display:none}.main-nav{gap:4px}.main-nav>a,.nav-menu-button,.signout{padding-left:8px;padding-right:8px}.user-menu{margin-left:4px}}
@media(max-width:1180px){.user-menu{display:none}.brand-lockup{min-width:230px}.brand-lockup img{width:210px}}
@media(max-width:820px){.metric-grid{grid-template-columns:repeat(2,1fr)}.arrival-approved-card{padding:30px 20px}.arrival-grid{grid-template-columns:1fr 1fr}.pass-control{align-items:flex-start;flex-direction:column}.pass-return-options{grid-template-columns:1fr}.premium-loaded{grid-template-columns:38px 1fr}.loaded-status{grid-column:1/-1;justify-self:start;margin-left:51px}}
@media(max-width:520px){.arrival-approved-card h1{font-size:32px}.arrival-grid{grid-template-columns:1fr}.arrival-actions{flex-direction:column}.arrival-actions .button{width:100%}.arrival-footer-note{flex-direction:column;gap:4px;text-align:center}}
@media(min-width:1450px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1261px) and (max-width:1449px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v3.0 Resident Connect + Delivery Evidence */
.offline-banner{position:sticky;top:0;z-index:1000;background:#7d1015;color:#fff;text-align:center;padding:8px 12px;font-size:10px;font-weight:900;letter-spacing:.06em}.offline-banner[hidden]{display:none}
.heading-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.narrow-card{max-width:760px;margin:0 auto}
.delivery-photo-capture{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px dashed #cfd4d8;border-radius:12px;padding:14px;background:#fafbfb}.delivery-photo-copy{display:flex;flex-direction:column;gap:4px}.delivery-photo-copy>b{font-size:13px}.delivery-photo-copy>span{font-size:9px;line-height:1.45;color:var(--muted)}.camera-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:0 16px!important;border-radius:9px;background:#24282c;color:#fff!important;font-size:10px!important;font-weight:900!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;white-space:nowrap}.camera-button input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0!important}.delivery-photo-preview{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding-top:10px;border-top:1px solid var(--line)}.delivery-photo-preview[hidden]{display:none}.delivery-photo-preview img{width:128px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#fff}.resident-coverage.ok{color:#16734d;font-weight:700}.resident-coverage.warn{color:#986512}.photo-chip{display:inline-flex;align-items:center;border-radius:999px;background:#f0f2f4;padding:5px 8px;font-size:9px;font-weight:800;color:#333;text-decoration:none}.photo-chip:hover{background:#e5e8eb}
.resident-notify-summary{position:relative;z-index:2;margin:4px 0 24px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04);text-align:left}.notify-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px}.notify-line:last-child{border-bottom:0}.notify-status{font-size:8px;letter-spacing:.08em;border-radius:999px;padding:5px 7px}.notify-status.ok{background:#dff4e8;color:#146c47}.notify-status.warn{background:#fff2d9;color:#8a5b00}.notify-status.neutral{background:#e9ecef;color:#616970}.arrival-link{color:#fff;text-decoration:underline;text-underline-offset:2px}
.resident-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:10px;margin-bottom:14px}.resident-layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:16px;align-items:start}.resident-add-card{position:sticky;top:90px}.resident-directory-card{min-width:0}.resident-filter{display:grid;grid-template-columns:1fr 160px auto auto;gap:8px;margin:12px 0 14px}.resident-table small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.primary-label{display:inline-block!important;width:max-content;background:#fff1f1;color:var(--red)!important;border-radius:999px;padding:3px 5px;font-weight:900;letter-spacing:.08em}.row-actions{display:flex;gap:7px;align-items:center}.row-actions form{margin:0}.resident-import-card{margin-top:16px}.import-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:12px 0}.admin-ops-card{min-height:0}.policy-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}
.install-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.install-card{padding:24px}.device-icon{font-size:32px;margin-bottom:10px}.install-card h2{margin:6px 0 12px}.install-card ol{padding-left:20px;margin:0 0 14px}.install-card li{margin:0 0 9px;font-size:11px;line-height:1.5;color:#4d555b}
@media(max-width:1100px){.resident-layout{grid-template-columns:1fr}.resident-add-card{position:static}.install-grid{grid-template-columns:1fr}.resident-filter{grid-template-columns:1fr 1fr}.resident-filter .button{width:100%}}
@media(max-width:680px){.two-col{grid-template-columns:1fr}.delivery-photo-capture{grid-template-columns:1fr}.camera-button{width:100%}.resident-kpis{grid-template-columns:1fr 1fr}.resident-filter{grid-template-columns:1fr}.import-row,.policy-row{grid-template-columns:1fr}.heading-actions{justify-content:flex-start}.delivery-photo-preview{align-items:flex-start;flex-direction:column}.delivery-photo-preview img{width:100%;height:auto;max-height:260px}.resident-table{min-width:900px}}

/* 4.0: accommodate the resident platform link without clipping the company masthead. */
.topbar{flex-wrap:wrap}.main-nav{min-width:0;flex-wrap:wrap}.brand-lockup{flex-shrink:0}
@media(max-width:1100px){.topbar{position:relative;align-items:flex-start}.main-nav{width:100%;overflow:visible}}

.demo-banner{padding:12px 20px;text-align:center;background:#fff3cf;color:#6b4b00;font-weight:700;font-size:13px;border-bottom:1px solid #ead49a;line-height:1.5}
