:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf3f5;background:#071116}
*{box-sizing:border-box}body{margin:0;background:#071116}.topbar{height:76px;padding:0 max(5vw,28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #20343d;background:#091820}.brand{font-weight:900;letter-spacing:-.03em;font-size:20px;color:white;text-decoration:none}nav{display:flex;align-items:center;gap:22px}nav a{color:#a9bdc5;text-decoration:none;font-size:14px}.login{border:1px solid #34515d;border-radius:999px;padding:9px 14px;color:#f3c96f}.local-banner{padding:9px max(5vw,28px);font-size:11px;letter-spacing:.12em;color:#f5c96b;background:#2c2412;border-bottom:1px solid #5a471d}
main{min-height:calc(100vh - 150px);padding:0 max(5vw,28px)}.hero{padding:110px 0 80px;max-width:1080px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:#6cd8ff}.hero h1,.page-head h1,.auth-box h1{font-size:clamp(46px,7vw,96px);line-height:.96;letter-spacing:-.055em;margin:14px 0 26px}.lede,.page-head p,.auth-box p{font-size:20px;line-height:1.7;color:#a4b7bf;max-width:780px}
.home-grid,.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding-bottom:80px}.feature,.module-card{border:1px solid #29414b;border-radius:20px;padding:28px;background:#0c1b22;color:white;text-decoration:none;min-height:210px}.feature span,.pill{font-size:11px;font-weight:900;letter-spacing:.09em;color:#74e0bd}.feature.private span,.pill{color:#f4ca72}.feature h2,.module-card h2{font-size:30px;margin:34px 0 12px}.feature p,.module-card p,.module-card small{color:#8fa6af}.page-head,.auth-box{padding:100px 0 60px}.guard{max-width:760px;padding:20px;border:1px solid #5b4820;background:#2c2412;border-radius:14px;color:#f2d18a;line-height:1.6}.module-card>div{display:flex;justify-content:space-between}.mode{font-size:11px;color:#79939e;font-weight:800}.module-card code{color:#d9e8ed}.module-card small{display:block;margin-top:20px;font-size:11px}footer{padding:28px max(5vw,28px);border-top:1px solid #20343d;color:#637d87;font-size:12px}
body{overflow-x:hidden}.hero h1,.page-head h1,.auth-box h1{overflow-wrap:anywhere}.module-card p,.module-card small{overflow-wrap:anywhere}
@media(max-width:720px){.topbar{padding:0 20px}.brand{font-size:17px;white-space:nowrap}.topbar nav{gap:0;flex:0 0 auto}.topbar nav a:not(.login){display:none}.login{padding:8px 11px}.local-banner{padding-left:20px;padding-right:20px}.hero{padding-top:72px}.hero h1,.page-head h1,.auth-box h1{font-size:40px;line-height:1.02;max-width:100%}.lede,.page-head p,.auth-box p{font-size:18px}.home-grid,.module-grid{grid-template-columns:1fr}.feature,.module-card{min-width:0}}

.auth-form{display:grid;gap:12px;max-width:460px;margin-top:28px}.auth-form label{font-size:12px;font-weight:800;letter-spacing:.08em;color:#91aab4}.auth-form input{width:100%;border:1px solid #34515d;border-radius:12px;padding:14px 16px;background:#0c1b22;color:#eef5f8;font:inherit}.auth-form button,.nav-logout button{border:1px solid #536d78;border-radius:999px;padding:10px 16px;background:#10242c;color:#eef5f8;font-weight:800;cursor:pointer}.nav-logout{margin:0}.nav-logout button{padding:8px 12px;font-size:12px}.module-link{display:block}.module-link:hover{border-color:#4d7483}

/* WEB-P4A Owner Console V2 — presentation only; module ACL remains server-side. */
.owner-console-v2{max-width:1480px;margin:0 auto;padding:48px 0 82px;color:#edf5f4}
.console-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.72fr);gap:42px;align-items:stretch;padding:14px 0 75px;border-bottom:1px solid #24404a}
.console-hero-main{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.console-eyebrow,.console-section-kicker{display:flex;align-items:center;gap:9px;margin:0;color:#79d6c7;font-size:11px;font-weight:800;letter-spacing:.17em}
.console-signal{width:8px;height:8px;border-radius:50%;background:#60d4b2;box-shadow:0 0 0 4px #60d4b217;flex:none}
.owner-console-v2 h1{margin:24px 0 18px;font-size:clamp(48px,6vw,84px);line-height:1.08;letter-spacing:-.055em;font-weight:780}
.console-title-dot{color:#eac06c}
.console-intro{max-width:660px;margin:0;color:#adc0c5;font-size:clamp(16px,1.5vw,20px);line-height:1.8}
.console-owner-row{display:flex;align-items:center;gap:10px;margin-top:36px;color:#a9c7be;font-size:13px;font-weight:550}
.console-private-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#15342f;color:#6bd5b2;font-size:11px}
.console-overview{position:relative;display:flex;flex-direction:column;min-height:286px;justify-content:space-between;padding:27px 30px;border:1px solid #31534d;border-radius:23px;background:radial-gradient(circle at 90% 18%,#256c633d,transparent 42%),linear-gradient(135deg,#13282c,#0c2028);overflow:hidden}
.console-overview:after{content:"";position:absolute;width:215px;height:215px;right:-68px;top:-80px;border:1px solid #5fc8ac22;border-radius:50%;pointer-events:none}
.console-overview-top{display:flex;justify-content:space-between;align-items:center;color:#a8c8be;letter-spacing:.15em;font-size:10px;font-weight:850}
.console-small-dot{width:7px;height:7px;background:#65d2b5;border-radius:50%}
.console-overview>strong{font-size:clamp(64px,7vw,98px);font-weight:750;line-height:1;letter-spacing:-.055em;color:#e9f7ef;margin-top:16px}
.console-overview-label{margin-top:3px;font-size:16px;font-weight:700;color:#e7f3f1}
.console-overview-rule{height:1px;background:#3f5b58;margin-top:16px}
.console-overview p{font-size:12px;line-height:1.7;margin:10px 0 0;color:#9bb7b4;max-width:310px}
.console-systems{padding-top:42px}
.console-systems-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 25px}
.console-section-kicker{color:#e5bc67;font-size:10px}
.console-systems-head h2{font-size:clamp(30px,3vw,42px);font-weight:750;line-height:1.2;letter-spacing:-.035em;margin:10px 0 8px}
.console-systems-head p:not(.console-section-kicker){font-size:14px;color:#91adb5;margin:0}
.console-module-count{flex:none;border:1px solid #34525a;padding:9px 13px;border-radius:10px;color:#9ab5bc;font-size:11px;font-weight:700;letter-spacing:.13em}
.console-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0}
.console-module-grid>.console-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;padding:27px 30px 25px;gap:17px;border:1px solid #2b4651;border-radius:22px;background:linear-gradient(135deg,#0e222c,#0b1a24);text-decoration:none;color:#f0f7f7;isolation:isolate;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.console-module-grid>.console-card:hover{transform:translateY(-3px);border-color:#6caeaf;background:linear-gradient(135deg,#143039,#0d2330)}
.console-module-grid>.console-card:focus-visible{outline:3px solid #e8c77d;outline-offset:3px}
.console-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--module-accent,#72c4b3);border-radius:22px 0 0 22px}
.console-card-map{--module-accent:#77c5de;--module-glow:#183f4c}
.console-card-flood{--module-accent:#76c9b6;--module-glow:#1a3b34}
.console-card-election{--module-accent:#e7c473;--module-glow:#423821}
.console-card-ea{--module-accent:#b2adf1;--module-glow:#2c2a49}
.console-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.console-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid color-mix(in srgb,var(--module-accent),transparent 65%);border-radius:15px;background:var(--module-glow);color:var(--module-accent);font-size:33px;line-height:1;font-weight:700}
.console-card-private{font-size:11px;font-weight:650;color:#b4c9cc;border:1px solid #3a535b;padding:7px 10px;border-radius:999px;white-space:nowrap}
.console-card-body{min-width:0}
.console-card-category{font-size:11px!important;margin:0 0 9px!important;letter-spacing:.09em;font-weight:800;color:var(--module-accent)!important}
.console-module-grid .console-card h3{font-size:clamp(23px,2.2vw,31px);line-height:1.3;letter-spacing:-.045em;margin:0;color:#f2f7f8;font-weight:740}
.console-card-description{max-width:500px;font-size:14px!important;line-height:1.68;margin:11px 0 0!important;color:#a1bac1!important;overflow-wrap:anywhere}
.console-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #29434d;padding-top:17px}
.console-card-footer .mode{color:#a1bbc1;font-size:11px;font-weight:650;line-height:1.4}
.console-card-cta{display:inline-flex;align-items:center;gap:10px;color:#f5d28a;font-size:13px;font-weight:760;white-space:nowrap}
.console-card-cta span{font-size:20px;font-weight:400;line-height:1}
.console-safety-note{display:flex;align-items:flex-start;gap:12px;padding:20px 23px;border:1px solid #2e484d;border-radius:14px;background:#0d2028;margin-top:24px}
.console-info-symbol{display:grid;place-items:center;flex:0 0 21px;height:21px;border:1px solid #76989c;border-radius:50%;font-size:12px;color:#a9cad0;font-weight:800;font-family:serif}
.console-safety-note p{font-size:12px;line-height:1.75;color:#9cb4ba;margin:0}
.console-safety-note strong{color:#c5d8da}
@media(max-width:980px){.console-hero{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.console-module-grid>.console-card{padding:25px 23px;min-height:315px}}
@media(max-width:720px){.owner-console-v2{padding:24px 0 52px}.console-hero{grid-template-columns:1fr;gap:23px;padding:12px 0 43px}.owner-console-v2 h1{font-size:clamp(42px,11vw,60px);margin:16px 0}.console-intro{font-size:16px}.console-owner-row{margin-top:20px}.console-overview{min-height:160px;padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:center}.console-overview-top,.console-overview-rule,.console-overview p{grid-column:1/-1}.console-overview>strong{font-size:59px;margin:0}.console-overview-label{font-size:13px}.console-overview-rule{margin-top:0}.console-overview p{font-size:11px;margin:0}.console-systems{padding-top:31px}.console-systems-head h2{font-size:31px}.console-module-grid{grid-template-columns:1fr;gap:13px}.console-module-grid>.console-card{min-height:260px;padding:23px 22px;gap:13px}.console-card-description{font-size:13px!important}.console-card-footer{flex-wrap:wrap;gap:8px}.console-card-footer .mode{max-width:65%}.console-card-private{font-size:10px}.console-module-count{font-size:10px;padding:8px}.console-safety-note{padding:15px 14px}}
@media(prefers-reduced-motion:reduce){.console-module-grid>.console-card{transition:none}.console-module-grid>.console-card:hover{transform:none}}

/* V2 visual review correction: old .module-card > div layout must not split card text. */
.console-module-grid .console-card>.console-card-body{display:block}
.console-module-grid .console-card>.console-card-top,.console-module-grid .console-card>.console-card-footer{display:flex}
.console-card-body h3,.console-card-body p{max-width:100%}
.console-owner-email{color:#8fb3b8;font-size:12px;margin-left:5px;overflow-wrap:anywhere}
@media(min-width:721px){
  .owner-console-v2{padding-top:24px}
  .console-hero{padding:0 0 38px;gap:30px}
  .owner-console-v2 h1{margin:15px 0 14px}
  .console-intro{line-height:1.6}
  .console-owner-row{margin-top:20px}
  .console-overview{min-height:220px;padding:21px 26px}
  .console-overview>strong{font-size:70px;margin-top:5px}
  .console-systems{padding-top:28px}
  .console-systems-head{margin-bottom:20px}
  .console-module-grid>.console-card{min-height:265px}
}
