:root { --public-page:#f4f7fc; --public-surface:#fcfdff; --public-surface-muted:#eaf0f8; --public-border:#c9d6e7; --public-text:#182b49; --public-text-muted:#4e6380; --public-accent:#2864c7; --public-accent-strong:#1d4f9f; --public-accent-soft:#dce8fa; --public-radius:8px; }
.portal-body { margin:0; min-height:100vh; background:var(--public-page); color:var(--public-text); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.portal-main,.lookup-page { width:min(100% - 3rem,1080px); margin:0 auto; padding:1.5rem 0 3rem; }
.portal-topbar,.lookup-topbar { display:flex; align-items:center; justify-content:space-between; min-height:3.25rem; }
.portal-brand,.lookup-brand { display:inline-flex; align-items:center; gap:.7rem; color:var(--public-text); text-decoration:none; }
.portal-mark,.lookup-brand > span { display:grid; width:2.3rem; height:2.3rem; margin:0; place-items:center; border-radius:var(--public-radius); background:var(--public-accent); color:#fff; font-size:1.1rem; font-weight:800; }
.portal-brand > span:last-child { display:grid; gap:.05rem; }
.portal-brand strong,.lookup-brand strong { font-size:1rem; font-weight:800; }
.portal-brand small { color:var(--public-text-muted); font-size:.76rem; }
.portal-topbar-link,.lookup-back { color:var(--public-accent); font-size:.9rem; font-weight:750; text-decoration:none; }
.portal-topbar-link:hover,.lookup-back:hover { color:var(--public-accent-strong); text-decoration:underline; }
.portal-workbench { padding:4rem 0 2rem; }
.portal-workbench-copy { max-width:44rem; }
.portal-kicker { margin:0 0 .6rem; color:var(--public-accent); font-size:.88rem; font-weight:800; }
.portal-workbench h1,.lookup-command h1 { margin:0; color:var(--public-text); font-size:2.3rem; font-weight:800; line-height:1.18; text-wrap:balance; }
.portal-summary,.lookup-command p { max-width:42rem; margin:.8rem 0 0; color:var(--public-text-muted); line-height:1.65; }
.portal-tool-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(16rem,.75fr); gap:1rem; margin-top:2rem; }
.portal-lookup-tool,.portal-admin-tool { min-height:12.5rem; border:1px solid var(--public-border); border-radius:var(--public-radius); background:var(--public-surface); }
.portal-lookup-tool { display:grid; align-content:space-between; gap:1.5rem; padding:1.4rem; color:var(--public-text); }
.portal-lookup-tool h2 { margin:0; color:var(--public-text); font-size:1.15rem; font-weight:800; }
.portal-lookup-tool p { margin:.35rem 0 0; color:var(--public-text-muted); }
.portal-lookup-form label,.lookup-field label { display:block; margin-bottom:.42rem; color:#3b5273; font-size:.83rem; font-weight:750; }
.portal-lookup-form > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; }
.portal-lookup-form input,.lookup-field input { width:100%; min-height:2.75rem; padding:.55rem .75rem; border:1px solid #aabbd2; border-radius:6px; background:#fefeff; color:var(--public-text); }
.portal-lookup-form input::placeholder,.lookup-field input::placeholder { color:#627895; opacity:1; }
.portal-lookup-form input:focus,.lookup-field input:focus { outline:0; border-color:var(--public-accent); box-shadow:0 0 0 .2rem rgb(40 100 199 / .18); }
.portal-lookup-form button,.lookup-submit { min-height:2.75rem; padding:.5rem 1.2rem; border:1px solid var(--public-accent); border-radius:6px; background:var(--public-accent); color:#f7fbfa; font-weight:800; }
.portal-lookup-form button:hover,.portal-lookup-form button:focus,.lookup-submit:hover,.lookup-submit:focus { border-color:var(--public-accent-strong); background:var(--public-accent-strong); }
.portal-lookup-form button:active,.lookup-submit:active,.portal-admin-tool:active { transform:translateY(1px); }
.portal-admin-tool { display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem; color:var(--public-text); text-decoration:none; }
.portal-admin-tool:hover { border-color:var(--public-accent); background:#f8fbff; }
.portal-admin-tool-label { color:var(--public-accent); font-size:.83rem; font-weight:800; }
.portal-admin-tool strong { margin-top:.35rem; font-size:1.35rem; }
.portal-admin-tool-description { margin-top:.7rem; color:var(--public-text-muted); line-height:1.6; }
.portal-footer-note { margin:1.4rem 0 0; padding-top:1.2rem; border-top:1px solid var(--public-border); color:var(--public-text-muted); font-size:.88rem; }

.lookup-page { max-width:1000px; }
.lookup-command { margin-top:2.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--public-border); border-radius:0; background:transparent; color:var(--public-text); }
.lookup-command h1 { font-size:2rem; }
.lookup-command p:not(.lookup-kicker) { color:var(--public-text-muted); }
.lookup-form { display:grid; grid-template-columns:minmax(0,1fr) 7.25rem; gap:.75rem; align-items:end; max-width:46rem; margin-top:1.4rem; }
.lookup-field { min-width:0; }
.lookup-field input,.lookup-submit { box-sizing:border-box; }
.lookup-submit { width:100%; min-width:0; }
.lookup-notice { margin-top:1rem; padding:.85rem 1rem; border:1px solid #d6b765; border-radius:6px; background:#fff9e9; color:#594819; }
.lookup-results { margin-top:1.75rem; }
.lookup-result-summary { display:flex; align-items:baseline; gap:.65rem; margin-bottom:.75rem; }
.lookup-result-summary span { color:var(--public-text-muted); font-size:.87rem; font-weight:750; }
.lookup-result-summary strong { color:var(--public-text); font-size:1.05rem; }
.lookup-household { overflow:hidden; border:1px solid var(--public-border); border-radius:var(--public-radius); background:var(--public-surface); }
.lookup-household + .lookup-household { margin-top:1rem; }
.lookup-household-header { display:flex; justify-content:space-between; gap:1rem; padding:1.35rem 1.5rem 1rem; }
.lookup-household-label { margin:0 0 .25rem; color:var(--public-text-muted); font-size:.81rem; font-weight:800; }
.lookup-household h2 { margin:0; color:var(--public-text); font-size:1.5rem; font-weight:800; }
.lookup-household-location { margin:.45rem 0 0; color:var(--public-text-muted); }
.lookup-status { align-self:flex-start; padding:.38rem .6rem; border-radius:5px; background:var(--public-accent-soft); color:#204f9e; font-size:.84rem; font-weight:800; white-space:nowrap; }
.lookup-household-meta { display:grid; grid-template-columns:1.5fr repeat(2,minmax(8rem,.5fr)); margin:0; border-top:1px solid #d5e0ee; border-bottom:1px solid #d5e0ee; background:var(--public-surface-muted); }
.lookup-household-meta div { display:block; padding:.75rem 1.5rem; }
.lookup-household-meta div + div { border-left:1px solid #d5e0ee; }
.lookup-household-meta dt { color:var(--public-text-muted); font-size:.78rem; font-weight:750; }
.lookup-household-meta dd { margin:.22rem 0 0; color:#263d60; font-weight:750; }
.lookup-code { color:var(--public-accent) !important; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; overflow-wrap:anywhere; }
.lookup-remarks { display:grid; grid-template-columns:7rem minmax(0,1fr); gap:.75rem; padding:.85rem 1.5rem; color:#435a79; line-height:1.6; }
.lookup-remarks strong { color:var(--public-text-muted); font-size:.84rem; }
.lookup-remarks p { margin:0; }
.lookup-section { padding:1.25rem 1.5rem 1.5rem; }
.lookup-section + .lookup-section { border-top:1px solid #d5e0ee; }
.lookup-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:.75rem; }
.lookup-section h3 { margin:0; color:#263d60; font-size:1rem; font-weight:800; }
.lookup-section-heading span { color:var(--public-text-muted); font-size:.85rem; }
.lookup-table-wrap { overflow-x:auto; overscroll-behavior-inline:contain; }
.lookup-table-wrap:focus-visible { outline:2px solid var(--public-accent); outline-offset:3px; }
.lookup-table { width:100%; min-width:720px; border-collapse:collapse; font-size:.9rem; }
.lookup-table th,.lookup-table td { padding:.7rem .75rem; border-bottom:1px solid #d9e3f0; text-align:left; vertical-align:top; }
.lookup-table th { color:#435a79; background:var(--public-surface-muted); font-size:.8rem; font-weight:800; white-space:nowrap; }
.lookup-table tbody tr:hover { background:#f7faff; }
.lookup-empty-cell { color:var(--public-text-muted); text-align:center !important; }
@media (max-width:860px) { .lookup-table-wrap { overflow:visible; } .lookup-table { min-width:0; } .lookup-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .lookup-table,.lookup-table tbody,.lookup-table tr,.lookup-table td { display:block; width:100%; } .lookup-table tr { padding:.3rem 0; border-bottom:1px solid #d9e3f0; } .lookup-table tr:last-child { border-bottom:0; } .lookup-table td { display:grid; grid-template-columns:minmax(7.5rem,.8fr) minmax(0,1.2fr); gap:.75rem; padding:.55rem 0; border:0; line-height:1.5; } .lookup-table td::before { content:attr(data-label); color:var(--public-text-muted); font-size:.8rem; font-weight:800; } .lookup-table .lookup-empty-cell { display:block; padding:.85rem 0; } .lookup-table .lookup-empty-cell::before { content:none; } }
@media (max-width:767px) { .portal-main,.lookup-page { width:min(100% - 1.5rem,1080px); padding:1rem 0 2.5rem; } .portal-workbench { padding:2.7rem 0 1.5rem; } .portal-workbench h1,.lookup-command h1 { font-size:1.7rem; } .portal-tool-grid,.portal-lookup-form > div,.lookup-form { grid-template-columns:1fr; } .portal-lookup-tool,.portal-admin-tool { min-height:auto; } .portal-lookup-form button,.lookup-submit { width:100%; } .lookup-command { margin-top:1.8rem; padding-bottom:1.25rem; } .lookup-household-header { flex-direction:column; padding:1.1rem; } .lookup-household-meta { grid-template-columns:1fr; } .lookup-household-meta div { padding:.7rem 1.1rem; } .lookup-household-meta div + div { border-top:1px solid #d5e0ee; border-left:0; } .lookup-remarks { grid-template-columns:1fr; gap:.25rem; padding:.85rem 1.1rem; } .lookup-section { padding:1.1rem; } }
@media (prefers-reduced-motion:reduce) { .portal-lookup-form button,.lookup-submit,.portal-admin-tool { transition:none; } }
