:root{--navy:#0f2c4c;--deep:#091e35;--ink:#183953;--muted:#61798b;--gold:#d9a441;--line:#dfe7ea;--paper:#f3f5f5;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}[hidden]{display:none!important}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.wrap{width:min(1060px,calc(100% - 40px));margin:0 auto}
.topline{background:var(--deep);color:#d4e0e8;font-size:9px;font-weight:850;letter-spacing:.13em}.topline-inner{display:flex;justify-content:space-between;gap:20px;padding:11px 0}
.site-header{background:white;border-bottom:1px solid #e7edef}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:91px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{display:block;width:58px;height:58px;object-fit:contain}.brand strong{font-size:19px;font-weight:900;letter-spacing:.025em;color:var(--navy);display:block}.brand small{display:block;font-size:9px;letter-spacing:.16em;font-weight:850;color:#698091;margin-top:4px}
nav{display:flex;align-items:center;gap:30px}nav a{font-size:12px;font-weight:800;color:#3a5972;text-decoration:none}nav a:hover{text-decoration:underline}
.hub-hero{background:linear-gradient(116deg,#091e35,#103958 82%,#153c57);color:white;padding:48px 0 50px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.17em;color:#a87932;margin:0 0 10px}.hub-hero .eyebrow{color:#e1b85e}.hub-hero h1{font-size:clamp(39px,5.3vw,61px);line-height:1.05;letter-spacing:-.055em;max-width:790px;margin:0 0 16px}.hub-hero em{color:#f0c477;font-family:Georgia,serif;font-weight:400}.hub-hero p:not(.eyebrow){color:#d8e4ed;font-size:13.5px;max-width:600px;line-height:1.75;margin:0}.hub-hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.hub-hero-tags span{border:1px solid rgba(245,238,219,.27);color:#dce7ed;border-radius:999px;padding:7px 12px;font-size:10.5px;font-weight:750}
.content{min-height:400px;padding:35px 0 65px}.message-panel{border:1px solid var(--line);padding:27px;border-radius:10px;background:white;color:#587284;font-size:13px;line-height:1.6}.message-panel h2{margin:0 0 12px;color:var(--navy);font-size:21px}.message-panel p{max-width:760px}.small-button{background:#fff;border:1px solid #c7d6df;color:#214962;padding:10px 15px;font-size:11.5px;font-weight:850;border-radius:6px}.small-button:hover{background:#eff5f7}
.login-panel{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:31px;border-radius:11px;border:1px solid var(--line);background:#fff;align-items:center}.login-copy h2{font-size:26px;color:var(--navy);letter-spacing:-.04em;margin:0 0 13px}.login-copy p:last-child{font-size:13px;color:#657c89;line-height:1.7;max-width:400px;margin:0}.login-form{display:flex;flex-direction:column;gap:9px}.login-form label{font-size:12px;font-weight:800}.login-form input{padding:13px 14px;border:1px solid #cbd8df;border-radius:6px;color:var(--navy)}.login-form button{border:0;background:var(--gold);color:var(--deep);padding:13px 16px;font-size:12px;font-weight:900;border-radius:6px}.login-form button:hover{background:#e8b75b}.login-status{min-height:17px;line-height:1.5;margin:0;color:#357857;font-size:12px}.login-status.error{color:#b24139}.helper{font-size:11px;line-height:1.55;color:#7a8d9a;margin:0}
.staff-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.staff-toolbar h2{font-size:28px;letter-spacing:-.045em;margin:0 0 5px;color:var(--navy)}.staff-toolbar p:last-child{font-size:12.5px;color:#657b87;margin:0}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.tool-card{border:1px solid var(--line);background:white;border-radius:13px;padding:29px;display:flex;flex-direction:column;min-width:0;box-shadow:0 8px 27px rgba(10,32,50,.03)}.tool-icon{display:grid;place-items:center;width:49px;height:49px;color:#b47f2b;border-radius:12px;background:#fcf5e5;margin-bottom:25px}.tool-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-kicker{color:#ac7a32;font-size:10px;font-weight:900;letter-spacing:.17em;margin:0 0 9px}.tool-card h3{font-size:21px;color:var(--navy);letter-spacing:-.034em;margin:0 0 11px}.tool-card>p:not(.card-kicker):not(.restricted-message){color:#627987;font-size:12.5px;line-height:1.77;margin:0 0 22px}.tool-button{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:7px;background:#0e2d4a;color:white;font-size:12px;font-weight:850;text-decoration:none;padding:13px 16px;margin-top:auto}.tool-button:hover{background:#1d4a6e}.tool-button span{font-size:18px}.restricted-message{font-size:12px;color:#a3593d;background:#fbf2ed;border:1px solid #f1dacf;padding:12px 14px;border-radius:6px;line-height:1.6;margin:auto 0 0}.hub-note{margin-top:18px;background:#fafafa;border:1px solid var(--line);padding:17px 21px;border-radius:9px}.hub-note strong{font-size:12px;color:var(--navy)}.hub-note p{margin:6px 0 0;color:#697f8b;font-size:12px;line-height:1.6}.site-footer{background:var(--deep);color:#b8ccd9}.site-footer .wrap{display:flex;justify-content:space-between;gap:10px;padding:24px 0;font-size:11px}
@media(max-width:760px){.wrap{width:min(100% - 30px,560px)}.topline-inner span:last-child{display:none}.header-inner{min-height:74px;gap:12px;align-items:flex-start;flex-direction:column;padding:14px 0}.brand img{height:44px;width:44px}.brand strong{font-size:17px}nav{gap:20px;padding-left:4px}.hub-hero{padding:34px 0 39px}.hub-hero h1{font-size:clamp(37px,7.7vw,49px)}.tool-grid,.login-panel{grid-template-columns:1fr;gap:15px}.login-panel{padding:24px}.content{padding:24px 0 40px}.tool-card{padding:23px}.staff-toolbar{align-items:flex-start;flex-direction:column}.site-footer .wrap{flex-wrap:wrap;padding:16px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Live team-report count, available only to statewide staff after authentication. */
.team-flags-alert{font-size:11.5px;line-height:1.55;border-radius:6px;border:1px solid #d5e4df;background:#f2f8f5;color:#326a58;padding:10px 13px;margin:0 0 16px!important;font-weight:780}
.team-flags-alert.has-pending{border-color:#edd1aa;background:#fff6e8;color:#96602d}

/* Unified moderator hub: private On the Range photo flag inbox */
.photo-flags-alert{padding:10px 13px;margin:13px 0 10px!important;border:1px solid #dae8e3;border-radius:6px;background:#f4f8f5;color:#326a58;font-size:11.5px;line-height:1.6;font-weight:800}
.photo-flags-alert.has-pending{border-color:#ebc894;background:#fff6e7;color:#9a5b23}
.photo-flags-link{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #c4d6df;border-radius:7px;background:#f4f8fa;color:#164763;font-size:11.8px;font-weight:850;text-decoration:none;padding:11px 14px;margin:3px 0 12px}
.photo-flags-link:hover,.photo-flags-link:focus-visible{background:#e7f1f6;border-color:#7395a7;outline-offset:2px}
.photo-flags-link span{font-size:15px}
