:root{--portal-canvas: #e9eef0;--portal-panel: #fff;--portal-ink: #0f2733;--portal-ink-soft: #2e4753;--portal-muted: #5c6e75;--portal-navy: #1b5670;--portal-navy-dark: #0f3a4c;--portal-tint: #e4eef1;--portal-line: #d9e0e2;--portal-line-strong: #c4cdd0;--portal-brass: #a9803f;--portal-green: #3e6b49;--portal-shadow: 0 1px 2px rgb(15 39 51 / 6%), 0 6px 20px rgb(15 39 51 / 5%);--portal-font-sans: "Inter", Aptos, "Segoe UI", Arial, sans-serif;--portal-font-serif: "Source Serif 4", Cambria, Georgia, serif;--portal-font-mono: "IBM Plex Mono", Consolas, monospace;font-family:var(--portal-font-sans);color:var(--portal-ink);background:var(--portal-canvas);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background-color:var(--portal-canvas);background-image:linear-gradient(var(--portal-line) 1px,transparent 1px),linear-gradient(90deg,var(--portal-line) 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:var(--portal-tint);color:var(--portal-navy-dark)}:focus-visible{outline:2px solid var(--portal-navy);outline-offset:2px}.portal-frame{width:min(1720px,100%);min-height:100vh;margin:0 auto;padding:0 22px 42px}.portal-header{min-height:96px;padding:13px 4px 15px;display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-brand{min-width:0;display:flex;align-items:center;gap:16px}.portal-brand-mark{width:68px;height:68px;flex:0 0 auto;object-fit:contain}.portal-seal{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--portal-navy);border-radius:50%;color:var(--portal-navy-dark);font-family:var(--portal-font-serif);font-weight:800}.portal-brand-copy,.portal-user>div,.portal-login-heading{display:grid}.portal-brand-copy small,.portal-login-heading small,.portal-user small{margin:0 0 3px;color:var(--portal-navy);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.portal-brand-copy strong{color:var(--portal-ink);font-family:var(--portal-font-serif);font-size:23px;font-weight:700;letter-spacing:-.01em;line-height:1.05}.portal-brand-copy span{margin-top:5px;color:var(--portal-muted);font-size:13px}.portal-user{display:flex;align-items:center;gap:16px}.portal-user>div{gap:2px;text-align:right}.portal-user strong{color:var(--portal-ink);font-size:14px;font-weight:600}.portal-user button{padding:9px 15px;border:1px solid var(--portal-line-strong);border-radius:3px;background:var(--portal-panel);color:var(--portal-ink-soft);font-size:13px;font-weight:600}.portal-user button:hover{border-color:var(--portal-navy);color:var(--portal-navy-dark);background:var(--portal-tint)}.demo-ribbon{min-height:36px;margin-bottom:18px;padding:8px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:3px;background:repeating-linear-gradient(135deg,transparent 0 10px,rgb(255 255 255 / 35%) 10px 11px),linear-gradient(90deg,var(--portal-brass),#b58f52);color:#3b2c10;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portal-login{min-height:100vh;display:grid;place-items:center;background-color:var(--portal-canvas);background-image:linear-gradient(var(--portal-line) 1px,transparent 1px),linear-gradient(90deg,var(--portal-line) 1px,transparent 1px);background-size:28px 28px}.portal-login form,.portal-login>section{width:min(450px,calc(100% - 32px));padding:34px 38px;display:grid;gap:15px;border:1px solid var(--portal-line);border-radius:6px;background:var(--portal-panel);box-shadow:0 18px 60px #0f27332e}.portal-login .portal-brand-mark{width:108px;height:108px;justify-self:center}.portal-login-heading{gap:3px;text-align:center}.portal-login-heading strong{color:var(--portal-ink);font-family:var(--portal-font-serif);font-size:17px}.portal-login h1{margin:0 0 6px;color:var(--portal-ink);font-family:var(--portal-font-serif);font-size:27px;font-weight:600;text-align:center}.portal-login label{display:grid;gap:6px;color:var(--portal-ink-soft);font-size:12px;font-weight:600}.portal-login input{padding:11px;border:1px solid var(--portal-line-strong);border-radius:3px}.portal-login input:focus{border-color:var(--portal-navy);outline:2px solid rgb(27 86 112 / 14%)}.portal-login button{padding:12px;border:0;border-radius:3px}.primary{background:var(--portal-navy-dark)!important;color:#fff!important;border-color:var(--portal-navy-dark)!important}.portal-error{padding:10px;border-left:4px solid #93472e;background:#f3e4dd;color:#823d29}.demo-note{margin:1px 0 0;color:#79612d;font-size:10px;text-align:center}.empty-copy{padding:15px;color:var(--portal-muted);font-size:12px}.portal-empty{min-height:100%;padding:30px;display:grid;align-content:center}.portal-empty strong{color:var(--portal-ink);font-family:var(--portal-font-serif);font-size:26px;font-weight:600}.portal-empty p{color:var(--portal-muted);font-size:13px;line-height:1.55}.empty-kicker{color:var(--portal-green);font-size:9px;font-weight:700;letter-spacing:.12em}.parcel-map polygon{fill:#dbe8e0;stroke:#315d4d;stroke-width:.6;vector-effect:non-scaling-stroke}.parcel-map polygon.selected{fill:#f1ba5f;stroke:#985d16;stroke-width:2}.parcel-map.empty{display:grid;place-items:center;color:#708078}.portal-frame small{font-size:10px}.portal-frame h1,.portal-frame h2,.portal-frame h3{font-weight:600}@media(max-width:760px){.portal-frame{padding:0 12px 30px}.portal-header{min-height:88px;padding:10px 2px}.portal-brand-mark{width:58px;height:58px}.portal-brand-copy strong{font-size:18px}.portal-brand-copy span,.portal-user>div{display:none}.demo-ribbon{padding:8px 12px}}
