@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root{--red:#2d8cff;--red2:#0d5fa8;--bg:#080a0c;--panel:#12171b;--line:#293138;--muted:#9ba4aa;--white:#f3f4f4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080a0c;color:var(--white);font-family:Inter,Arial,sans-serif}button,a{font:inherit}.public-site{background:#080a0c}
.public-nav{position:absolute;z-index:10;top:0;left:0;right:0;height:86px;display:flex;align-items:center;gap:34px;padding:0 5vw;background:linear-gradient(180deg,rgba(0,0,0,.72),transparent);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:11px;min-width:230px}.brand-mark{width:48px;height:48px;border:2px solid var(--sasp-blue);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.brand strong{display:block;letter-spacing:1.4px}.brand span{display:block;color:var(--sasp-blue);font-size:13px;font-weight:800;letter-spacing:1px}.public-nav nav{display:flex;gap:25px;flex:1;justify-content:center}.public-nav nav a{color:#e9e9e9;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.8px}.public-nav nav a:hover{color:#62b9f0}.primary-btn,.ghost-btn,.line-btn{border:0;padding:14px 20px;text-decoration:none;cursor:pointer;font-weight:800;font-size:12px;letter-spacing:.7px}.primary-btn{background:var(--sasp-blue);color:#fff;box-shadow:0 8px 25px rgba(22,140,255,.25)}.primary-btn:hover{background:#0d5fa8}.ghost-btn{border:1px solid #606a70;background:rgba(0,0,0,.4);color:#fff}.hero{min-height:790px;display:flex;align-items:center;padding:130px 8vw 90px;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(5,7,8,.94) 0%,rgba(5,7,8,.72) 28%,rgba(5,7,8,.12) 64%,rgba(5,7,8,.28) 100%),none center/cover}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,#080a0c);pointer-events:none}.hero-copy{max-width:700px;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:2.6px;color:#cbd0d3;font-weight:800}.crest{margin:24px 0 15px;color:#fff;font-size:20px;font-weight:800;letter-spacing:3px}.hero h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif}.hero h1{font-size:88px;line-height:.85;margin:0;letter-spacing:-2px}.hero h1 span{color:var(--sasp-blue)}.hero-sub{font-weight:800;letter-spacing:1.6px}.hero-text{max-width:610px;color:#c3c9cc;line-height:1.7}.hero-actions{display:flex;gap:12px;margin-top:30px}.stats-strip{display:grid;grid-template-columns:repeat(5,1fr);background:#090c0e;border-top:1px solid #22282d;border-bottom:1px solid #22282d;padding:25px 7vw}.stats-strip div{text-align:center;border-right:1px solid #252a2f}.stats-strip div:last-child{border:0}.stats-strip b{display:block;font-size:30px}.stats-strip span{font-size:10px;color:#929ba0;font-weight:800;letter-spacing:1px}.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.photo-panel{background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.72)),none center/cover}.section-copy{padding:90px 9vw;display:flex;justify-content:center;flex-direction:column;background:#101417}.section-copy h2,.content-section h2,.recruit-banner h2{font-size:55px;line-height:.9;margin:14px 0}.section-copy p{color:#aeb6ba;line-height:1.7;max-width:530px}.line-btn{background:transparent;border-bottom:2px solid var(--sasp-blue);color:#fff;align-self:flex-start;padding:13px 0}.content-section{padding:90px 7vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading>span{font-size:10px;letter-spacing:1.5px;color:#788188}.division-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.division-grid article{min-height:220px;padding:22px;background:linear-gradient(145deg,#171d21,#0e1215);border:1px solid #283036;position:relative;overflow:hidden}.division-grid article:after{content:"";position:absolute;right:-40px;bottom:-50px;width:140px;height:140px;border-radius:50%;background:rgba(22,140,255,.12)}.division-grid strong{color:var(--sasp-blue);font-size:12px}.division-grid h3{font-size:25px;margin-top:65px}.division-grid p{font-size:12px;color:#9da6ab}.recruit-banner{margin:0 7vw 80px;padding:45px 50px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#08213a,#06111e);border:1px solid #164d79}.recruit-banner h2{margin:8px 0}.recruit-banner p{color:#c4c4c4}.news-list{border-top:1px solid #2a3034}.news-list>div{display:grid;grid-template-columns:130px 1fr 1fr;gap:30px;padding:24px 0;border-bottom:1px solid #2a3034;align-items:center}.news-list span{font-size:11px;color:var(--sasp-blue);font-weight:800}.news-list h3{margin:0;font-size:24px}.news-list p{margin:0;color:#8f989e;font-size:13px}footer{padding:50px 7vw;background:#060708;border-top:1px solid #22282d;display:flex;align-items:center;gap:40px;flex-wrap:wrap}footer p{font-size:11px;color:#aab1b4;letter-spacing:1px}footer small{margin-left:auto;color:#687177}

.desktop{position:fixed;inset:0;background:#07090b url('sasp-wallpaper.svg') center/cover;overflow:hidden;color:#fff}.desktop:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.43);pointer-events:none}.desktop-icons{position:absolute;z-index:2;top:18px;left:14px;display:flex;flex-direction:column;gap:18px}.desktop-icon{width:86px;background:transparent;border:0;color:#fff;text-shadow:0 1px 5px #000;cursor:pointer;padding:4px}.desktop-icon span{display:block;font-size:32px;margin-bottom:5px}.desktop-icon label{font-size:11px}.desktop-icon:hover{background:rgba(255,255,255,.08)}.desktop-clock{position:absolute;z-index:2;right:32px;top:18px;text-align:right}.desktop-clock span{display:block;color:#bbb;font-size:11px;letter-spacing:1px}.desktop-clock b{font-size:26px}.app-window{position:absolute;z-index:3;top:6vh;left:10vw;width:80vw;height:84vh;background:rgba(8,11,14,.86);border:1px solid #4c5961;box-shadow:0 30px 80px rgba(0,0,0,.65);backdrop-filter:blur(7px);display:flex;flex-direction:column}.window-bar{height:42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #313b42;background:rgba(8,11,14,.94)}.window-title{font-size:12px;font-weight:600;padding-left:12px}.mini-crest{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;margin-right:8px}.window-controls{display:flex;height:100%}.window-controls button{width:46px;background:transparent;border:0;color:#cbd0d3;cursor:pointer}.window-controls button:hover{background:#252b30}.window-controls button:last-child:hover{background:#0d5fa8}.app-body{display:flex;min-height:0;flex:1}.sidebar{width:255px;background:rgba(7,10,12,.9);border-right:1px solid #273137;padding:22px 14px;display:flex;flex-direction:column;overflow:auto}.internal-brand{padding:0 8px 25px;display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center}.internal-brand strong{font-size:13px;letter-spacing:.4px}.internal-brand small{grid-column:2;color:#7f898e;font-size:9px;letter-spacing:1.2px}.mini-crest.large{width:44px;height:44px;border:1px solid #6c2528}.side-link{border:0;background:transparent;color:#cbd1d4;text-align:left;padding:10px 11px;border-radius:4px;display:flex;gap:12px;align-items:center;cursor:pointer;font-size:12px}.side-link:hover,.side-link.active{background:linear-gradient(90deg,#0d5fa8,#083b69);color:#fff}.side-label{font-size:10px;color:#69747a;margin:12px 10px 4px;text-transform:uppercase;letter-spacing:1.2px}.sidebar-footer{margin-top:auto;padding:20px 10px 5px;color:#687177;font-size:10px;letter-spacing:1.2px;line-height:1.8}.sidebar-footer small{letter-spacing:0}.app-content{flex:1;min-width:0;overflow:auto;padding:18px 22px 28px;background:linear-gradient(180deg,rgba(8,11,14,.78),rgba(11,15,18,.9))}.app-top{display:flex;align-items:center;gap:14px;justify-content:flex-end}.app-top input{margin-right:auto;width:230px;background:rgba(0,0,0,.3);border:1px solid #465158;padding:10px 13px;color:#fff;border-radius:4px}.notification{font-size:12px;color:#168cff}.profile{display:flex;align-items:center;gap:9px;font-size:11px}.profile small,.member small{display:block;color:#899298;font-size:9px;margin-top:3px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#343c42;border:1px solid #7a858c;font-weight:800}.welcome{display:flex;justify-content:space-between;align-items:end;margin:22px 0}.welcome h1{font-size:27px;margin:0 0 5px}.welcome p{margin:0;color:#9da6ab;font-size:12px}.date{text-align:right;color:#9ca5aa;font-size:10px;line-height:1.7}.date b{font-size:22px;color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:linear-gradient(135deg,rgba(25,30,34,.95),rgba(14,18,21,.95));border:1px solid #283137;padding:16px;display:grid;grid-template-columns:46px 1fr;column-gap:12px;align-items:center}.metric span{grid-row:span 3;font-size:24px;width:42px;height:42px;display:grid;place-items:center;background:#222a2f}.metric b{font-size:24px}.metric small{font-size:10px;color:#9da6aa}.metric em{font-style:normal;font-size:9px;color:#52c98b}.metric.red span{background:rgba(22,140,255,.18)}.metric.blue span{background:rgba(23,135,190,.18)}.metric.green span{background:rgba(29,173,120,.18)}.panel-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px;margin-top:10px}.panel{background:rgba(15,20,24,.9);border:1px solid #283137;padding:13px;min-width:0}.panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.panel header b{font-size:12px}.panel header button{background:transparent;border:0;color:#62b9f0;font-size:9px;cursor:pointer}.dispatch-row{display:grid;grid-template-columns:75px 1fr 60px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #20282d;font-size:9px}.dispatch-row strong{background:#0b6c45;padding:6px;text-align:center;border-radius:3px;font-size:8px}.dispatch-row span{color:#c0c7ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-row i{font-style:normal;color:#51ca8b;text-align:right;font-size:8px}.full-red{width:100%;margin-top:10px;border:0;background:#168cff;color:#fff;padding:11px;font-weight:700;font-size:10px;cursor:pointer}.list-row{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #20282d}.list-row>span{font-size:16px}.list-row>div{min-width:0;flex:1}.list-row b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row small{display:block;color:#7e888e;font-size:8px;margin-top:4px}.list-row i{font-style:normal;font-size:8px;padding:4px 6px;border-radius:3px;white-space:nowrap}.pending{background:#123b5c;color:#f2a72e}.valid{background:#0e3b2c;color:#50ce91}.danger{background:#421719;color:#f05a5f}.list-row time{font-size:8px;color:#7f888d}.new-link{width:100%;border:0;background:transparent;color:#e3e6e7;padding:10px 0;font-size:9px}.lower-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr)}.quick-stats div{padding:12px;border-right:1px solid #273036}.quick-stats div:last-child{border:0}.quick-stats b{display:block;font-size:20px}.quick-stats small{font-size:8px;color:#8f999e}.member{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #20282d}.member .avatar{width:26px;height:26px;font-size:9px}.member>div{flex:1}.member b{font-size:9px}.member i{font-style:normal;font-size:8px;color:#50ca8c}.task{font-size:9px;color:#b9c0c4;padding:7px 0;border-bottom:1px solid #20282d}.taskbar{position:absolute;z-index:5;bottom:0;left:0;right:0;height:34px;background:rgba(8,11,14,.9);border-top:1px solid #2b3439;display:flex;align-items:center;gap:18px;padding:0 14px;font-size:11px}.task-app{height:28px;display:flex;align-items:center;padding:0 14px;border-left:1px solid #30383d;border-right:1px solid #30383d}.task-spacer{flex:1}.toast{position:fixed;z-index:20;bottom:50px;right:25px;background:#171d21;border:1px solid #3b474e;padding:12px 16px;display:none;font-size:11px}

@media(max-width:1000px){.public-nav nav{display:none}.hero h1{font-size:66px}.division-grid{grid-template-columns:repeat(2,1fr)}.stats-strip{grid-template-columns:repeat(3,1fr);gap:20px}.split-section{grid-template-columns:1fr}.photo-panel{min-height:300px}.app-window{left:3vw;width:94vw}.sidebar{width:210px}.metric-grid{grid-template-columns:repeat(2,1fr)}.panel-grid,.lower-grid{grid-template-columns:1fr}.recruit-banner{margin:0 4vw 60px}}
@media(max-width:700px){.public-nav{padding:0 18px}.public-nav .primary-btn{display:none}.hero{min-height:680px;padding:120px 25px 70px}.hero h1{font-size:54px}.stats-strip{grid-template-columns:repeat(2,1fr);padding:22px}.content-section{padding:60px 25px}.division-grid{grid-template-columns:1fr}.news-list>div{grid-template-columns:1fr}.recruit-banner{margin:0 25px 50px;padding:30px;display:block}.recruit-banner .primary-btn{margin-top:20px}.sidebar{display:none}.app-window{top:2vh;height:92vh;left:2vw;width:96vw}.app-content{padding:14px}.metric-grid{grid-template-columns:1fr 1fr}.desktop-icons{transform:scale(.9);transform-origin:top left}}

.public-site main { position:relative; }
.public-site main::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(8,10,12,.76),rgba(8,10,12,.90)),none center top/cover fixed;
  opacity:.16;
  pointer-events:none;
  z-index:0;
}
.public-site main > section,
.public-site main > .stats-strip { position:relative; z-index:1; }


.public-nav nav a.active-nav{color:#62b9f0;border-bottom:2px solid var(--sasp-blue);padding-bottom:31px}
.division-grid .division-card{display:block;color:inherit;text-decoration:none;min-height:220px;padding:22px;background:linear-gradient(145deg,#171d21,#0e1215);border:1px solid #283036;position:relative;overflow:hidden}
.division-grid .division-card:hover{border-color:#168cff;transform:translateY(-2px)}
.page-site{min-height:100vh;background:#080a0c}
.page-hero{min-height:560px;padding:170px 8vw 90px;display:flex;align-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(5,7,8,.95) 0%,rgba(5,7,8,.68) 33%,rgba(5,7,8,.20) 70%,rgba(5,7,8,.40) 100%),
url('sasp-police-hero.svg') center/cover no-repeat}
.page-hero-copy{max-width:760px}.page-hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:92px;line-height:.88;margin:18px 0 14px}.page-hero h1 span{color:var(--sasp-blue)}.page-hero p{max-width:650px;color:#c2c8cb;line-height:1.7}.editable-copy{max-width:800px;color:#b9c1c5;line-height:1.8}
@media(max-width:800px){.public-nav nav{display:none}.page-hero h1{font-size:62px}.division-page-grid{grid-template-columns:1fr 1fr}}

/* V11 — SASP emblem logo */
.brand-mark{
  width:58px;
  height:58px;
  border:0;
  border-radius:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  box-shadow:none;
}
.brand-mark img{
  width:58px;
  height:58px;
  object-fit:contain;
  display:block;
}
.mini-crest{
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.mini-crest img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}
.mini-crest.large img{
  width:52px;
  height:52px;
}
.internal-brand .mini-crest.large{
  width:52px;
  height:52px;
}

/* V12 — logo officiel dans le header public */
.public-nav .brand-mark.header-logo{
  width:68px;
  height:68px;
  flex:0 0 68px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
}
.public-nav .brand-mark.header-logo img{
  width:68px;
  height:68px;
  object-fit:contain;
  display:block;
}
.public-nav .brand{
  gap:13px;
}
@media(max-width:700px){
  .public-nav .brand-mark.header-logo{
    width:54px;
    height:54px;
    flex-basis:54px;
  }
  .public-nav .brand-mark.header-logo img{
    width:54px;
    height:54px;
  }
}

/* V13 — header logo compact */
.public-nav .brand-mark.header-logo{
  width:52px !important;
  height:52px !important;
  flex:0 0 52px !important;
  margin-top:0 !important;
}
.public-nav .brand-mark.header-logo img{
  width:52px !important;
  height:52px !important;
  object-fit:contain !important;
}
.public-nav .brand{
  gap:9px !important;
}
@media(max-width:700px){
  .public-nav .brand-mark.header-logo{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .public-nav .brand-mark.header-logo img{
    width:44px !important;
    height:44px !important;
  }
}

/* V14 — logo header : uniquement l'écusson, sans cercle/bordure rouge */
.public-nav .brand-mark.header-logo,
.public-nav .brand-mark.header-logo:hover,
.public-nav .brand-mark.header-logo:focus {
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  padding: 0 !important;
}
.public-nav .brand-mark.header-logo img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  display: block;
}

/* V15 — header logo: true emblem, zero circular frame */
.public-nav .brand-mark,
.public-nav .brand-mark.header-logo{
  width:52px !important;height:52px !important;min-width:52px;
  border:0 !important;border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.public-nav .brand-mark::before,.public-nav .brand-mark::after,
.public-nav .brand-mark.header-logo::before,.public-nav .brand-mark.header-logo::after{content:none!important;display:none!important}
.public-nav .brand-mark img,.public-nav .brand-mark.header-logo img{
  width:52px !important;height:52px !important;object-fit:contain;display:block;
}
.public-nav .brand{gap:9px}
.public-nav .brand strong{line-height:1.02}
@media(max-width:700px){
  .public-nav .brand-mark,.public-nav .brand-mark.header-logo{width:44px!important;height:44px!important;min-width:44px}
  .public-nav .brand-mark img,.public-nav .brand-mark.header-logo img{width:44px!important;height:44px!important}
}

/* V16 — footer logo: compact, clean, no oversized header styling */
.public-site footer .brand-mark.footer-logo{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  flex:0 0 46px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
}
.public-site footer .brand-mark.footer-logo img{
  width:46px !important;
  height:46px !important;
  object-fit:contain !important;
  display:block !important;
}
.public-site footer .brand{gap:9px}

.technical-link{color:#4f595e;text-decoration:none;font-size:9px;margin-left:6px}.technical-link:hover{color:#858f94}

.public-nav .brand-mark,.public-nav .brand-mark.header-logo{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}

.page-site .public-nav nav a{white-space:nowrap}
.page-site .line-btn{display:inline-block}
.page-site .news-list h3 a:hover{color:#168cff}


/* V33 — Internal System premium refinement */
.desktop{background-image:linear-gradient(135deg,rgba(3,5,7,.62),rgba(9,11,13,.42)),url('sasp-wallpaper.svg');background-position:center;background-size:cover}
.desktop:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(22,140,255,.11),transparent 28%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.45) 100%);pointer-events:none;z-index:1}
.desktop-icons{top:24px;left:20px;gap:12px}
.desktop-icon{width:94px;padding:8px 6px;border:1px solid transparent;border-radius:8px;transition:background .18s,border-color .18s,transform .18s}
.desktop-icon:hover{background:rgba(20,24,28,.52);border-color:rgba(255,255,255,.10);transform:translateY(-1px)}
.desktop-icon span{width:48px;height:48px;margin:0 auto 7px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(24,29,34,.92),rgba(8,11,14,.76));border:1px solid rgba(255,255,255,.10);box-shadow:0 10px 25px rgba(0,0,0,.28);font-size:23px;border-radius:10px}
.desktop-icon label{display:block;font-size:10px;line-height:1.25;text-align:center;color:#e8eaeb}
.desktop-clock{right:30px;top:24px;text-shadow:0 2px 10px rgba(0,0,0,.6);z-index:2}
.desktop-clock span{font-size:10px;letter-spacing:1.8px;color:#aeb6bb}
.desktop-clock b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:38px;letter-spacing:.5px}
.app-window{top:7vh;left:8.5vw;width:83vw;height:83vh;background:rgba(7,10,13,.82);border:1px solid rgba(210,220,226,.16);box-shadow:0 35px 100px rgba(0,0,0,.62),0 0 0 1px rgba(22,140,255,.04) inset;backdrop-filter:blur(16px) saturate(120%);border-radius:12px;overflow:hidden}
.window-bar{height:46px;background:linear-gradient(180deg,rgba(24,29,34,.96),rgba(10,13,16,.96));border-bottom:1px solid rgba(255,255,255,.07);padding-left:4px}
.window-title{display:flex;align-items:center;gap:2px;font-size:11px;letter-spacing:.55px;color:#e8ebed}.window-title:after{content:'SECURE CHANNEL';margin-left:14px;color:#8e999f;font-size:8px;letter-spacing:1.4px;border-left:1px solid #39434a;padding-left:12px}
.window-controls a,.window-controls button{width:42px;color:#aab2b7}.window-controls a{display:grid;place-items:center;text-decoration:none;font-size:18px}
.app-body{background:linear-gradient(90deg,rgba(4,7,9,.18),rgba(15,19,23,.12))}
.sidebar{width:272px;padding:18px 13px;background:linear-gradient(180deg,rgba(6,9,12,.96),rgba(9,12,15,.91));border-right:1px solid rgba(255,255,255,.07);position:relative}
.sidebar:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:160px;background:linear-gradient(transparent,#168cff,transparent);opacity:.7}
.internal-brand{padding:3px 10px 22px;grid-template-columns:50px 1fr;gap:11px}.internal-brand strong{font-size:12px;line-height:1.25;letter-spacing:1px}.internal-brand small{font-size:8px;letter-spacing:1.5px;color:#9aa2a6}
.internal-brand .mini-crest.large{width:50px;height:50px;background:linear-gradient(145deg,rgba(22,140,255,.16),rgba(0,0,0,.12));border:1px solid rgba(22,140,255,.28);border-radius:12px!important;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.internal-brand .mini-crest.large img{width:42px;height:42px}
.side-label{margin:18px 10px 5px;font-size:8px;letter-spacing:1.8px;color:#7e898f}.side-link{padding:10px 12px;border-radius:7px;gap:11px;color:#bfc7cb;border:1px solid transparent;transition:.18s}
.side-link:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.06)}.side-link.active{background:linear-gradient(90deg,rgba(22,140,255,.92),rgba(13,95,168,.76));box-shadow:0 7px 18px rgba(0,45,90,.22);border-color:rgba(98,185,240,.16)}
.app-content{padding:20px 24px 30px;background:linear-gradient(180deg,rgba(9,12,15,.54),rgba(10,14,18,.86))}.app-content::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:8px}.app-content::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:#384249;border-radius:999px}
.app-top{height:42px}.app-top input{height:36px;width:300px;background:rgba(0,0,0,.22);border:1px solid #364148;border-radius:8px;transition:.18s}.app-top input:focus{outline:none;border-color:#168cff;box-shadow:0 0 0 3px rgba(22,140,255,.09)}
.notification{width:30px;height:30px;display:grid;place-items:center;background:rgba(22,140,255,.08);border:1px solid rgba(22,140,255,.18);border-radius:50%}.profile{padding:5px 8px 5px 5px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:9px}.avatar{background:linear-gradient(145deg,#39434a,#1f262b);border-color:#6d777d}
.welcome{margin:26px 0 18px;padding:4px 0 2px}.welcome h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px;letter-spacing:.2px}.welcome p{font-size:11px;color:#8f999e}.date{padding-left:20px}.date b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px}
.metric-grid{gap:12px}.metric{min-height:88px;padding:15px 16px;border-radius:9px;border-color:rgba(255,255,255,.065);background:linear-gradient(145deg,rgba(28,34,39,.82),rgba(12,16,19,.92));box-shadow:0 12px 28px rgba(0,0,0,.17);position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,rgba(22,140,255,.75),transparent);opacity:.55}.metric span{border-radius:8px}.metric b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px}.metric em{letter-spacing:.8px}
.panel-grid,.lower-grid{gap:12px}.panel{border-radius:9px;border-color:rgba(255,255,255,.065);background:linear-gradient(145deg,rgba(17,22,26,.88),rgba(10,14,17,.94));box-shadow:0 12px 28px rgba(0,0,0,.14);transition:transform .18s,border-color .18s}.panel:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.10)}.panel header{padding-bottom:2px}.panel header b{letter-spacing:.3px}.panel header a{color:#aab2b6;text-decoration:none;font-size:9px}.panel header a:hover{color:#62b9f0}
.dispatch-row,.list-row,.task{border-bottom-color:rgba(255,255,255,.055)}.dispatch-row strong{box-shadow:0 5px 12px rgba(0,0,0,.18)}
.full-red{border-radius:7px;box-shadow:0 10px 22px rgba(22,140,255,.18);background:linear-gradient(90deg,#168cff,#0d5fa8)}
.taskbar{height:38px;background:rgba(6,9,11,.9);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 28px rgba(0,0,0,.2);padding:0 16px}.task-app{border-color:rgba(255,255,255,.08);font-size:10px;letter-spacing:.3px}
@media(max-width:1000px){.app-window{left:3vw;width:94vw}.sidebar{width:225px}.app-content{padding:17px}.app-top input{width:250px}}

.status-dot{width:6px;height:6px;border-radius:50%;background:#46d18a;display:inline-block;margin-left:8px;box-shadow:0 0 0 3px rgba(70,209,138,.09),0 0 12px rgba(70,209,138,.35)}

/* SASP — COMPLETE POLICE VISUAL OVERHAUL */
:root{
  --sasp-navy:#071321;--sasp-navy2:#0b1d31;--sasp-panel:#0e2236;
  --sasp-blue:#2d8cff;--sasp-blue2:#62b0ff;--sasp-cyan:#56d7ff;
  --sasp-gold:#d7b56d;--sasp-line:rgba(116,168,210,.20);--sasp-text:#eef6ff;--sasp-muted:#91a7ba;
  --red:var(--sasp-blue);--red2:#1257a8;
}
body{background:var(--sasp-navy);color:var(--sasp-text)}
.public-site{background:linear-gradient(180deg,#071321 0%,#081827 48%,#06111d 100%)}
.public-nav{height:92px;padding:0 4vw;gap:30px;background:linear-gradient(180deg,rgba(3,11,20,.97),rgba(5,17,29,.78));border-bottom:1px solid var(--sasp-line);backdrop-filter:blur(12px)}
.brand{min-width:265px;gap:12px}.brand-mark{width:52px;height:52px;border:0;border-radius:10px;background:linear-gradient(145deg,#143b62,#071321);box-shadow:inset 0 0 0 1px rgba(98,176,255,.35),0 8px 25px rgba(0,0,0,.3)}
.header-logo img,.footer-logo img{width:100%;height:100%;object-fit:contain}
.brand strong{letter-spacing:2px;font-family:'Barlow Condensed',sans-serif;font-size:18px}.brand span{color:var(--sasp-blue2);font-size:11px;letter-spacing:2px}
.public-nav nav{gap:21px}.public-nav nav a{color:#b8c9d8;font-size:10px;letter-spacing:1.2px;position:relative}.public-nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--sasp-blue);transition:.2s}.public-nav nav a:hover,.public-nav nav a.active-nav{color:#fff}.public-nav nav a:hover:after,.public-nav nav a.active-nav:after{right:0}
.primary-btn,.ghost-btn,.line-btn{border-radius:6px;font-size:10px;letter-spacing:1.1px}.primary-btn{background:linear-gradient(135deg,#2d8cff,#1764bf);box-shadow:0 10px 28px rgba(45,140,255,.24)}.primary-btn:hover{background:linear-gradient(135deg,#62b0ff,#2474ce)}.ghost-btn{border-color:#41617c;background:rgba(7,19,33,.65)}
.hero{min-height:820px;padding:145px 8vw 100px;background-position:center}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 45%,rgba(45,140,255,.15),transparent 34%),linear-gradient(90deg,rgba(3,12,22,.98),rgba(5,18,31,.78) 38%,rgba(5,18,31,.25) 75%);pointer-events:none}
.hero-copy{max-width:760px}.eyebrow{color:var(--sasp-cyan);font-size:10px;letter-spacing:3.2px}.crest{font-size:14px;letter-spacing:4px;color:var(--sasp-gold);margin:25px 0 18px}.hero h1{font-size:92px;letter-spacing:-2.5px;text-shadow:0 10px 40px rgba(0,0,0,.35)}.hero h1 span{color:var(--sasp-blue2)}.hero-sub{color:#b7c9da;font-size:11px;letter-spacing:3px}.hero-text{color:#afc0cf;max-width:650px;font-size:14px}.hero-actions{margin-top:34px}
.stats-strip{background:#071523;border-top:1px solid var(--sasp-line);border-bottom:1px solid var(--sasp-line);padding:27px 7vw}.stats-strip div{border-right:1px solid var(--sasp-line)}.stats-strip b{font-family:'Barlow Condensed',sans-serif;font-size:34px}.stats-strip span{color:#7e98ae;font-size:9px;letter-spacing:1.6px}
.split-section{background:#091a2a}.section-copy{background:linear-gradient(145deg,#0c2033,#081523)}.section-copy p{color:#9fb3c4}.section-copy h2,.content-section h2,.recruit-banner h2{font-size:60px}.line-btn{border-color:var(--sasp-blue);color:#dcecff}
.content-section{padding:95px 7vw}.section-heading{margin-bottom:38px}.section-heading>span{color:#688198}.division-grid{grid-template-columns:repeat(5,1fr)}.division-grid article{background:linear-gradient(145deg,#102940,#0a1928);border:1px solid var(--sasp-line);border-radius:10px;min-height:235px}.division-grid article:after{background:rgba(45,140,255,.12)}.division-grid strong{color:var(--sasp-cyan);font-size:11px;letter-spacing:1.5px}.division-grid h3{font-size:27px}.division-grid p{color:#91a7ba}
.recruit-banner{margin:0 7vw 80px;padding:48px 52px;background:linear-gradient(100deg,#0d3152,#0b1a2a);border:1px solid rgba(98,176,255,.3);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.recruit-banner p{color:#9fb6ca}.news-list{border-top:1px solid var(--sasp-line)}.news-list>div{border-bottom:1px solid var(--sasp-line)}.news-list span{color:var(--sasp-cyan)}.news-list p{color:#8499ab}
footer{background:#040b13;border-top:1px solid var(--sasp-line)}footer p{color:#8ea5b8}footer small{color:#60768a}
@media(max-width:1000px){.public-nav nav{display:none}.public-nav{justify-content:space-between}.division-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:70px}}
@media(max-width:600px){.public-nav{height:78px}.brand{min-width:0}.brand span{font-size:9px}.hero{min-height:720px;padding:125px 7vw 80px}.hero h1{font-size:54px}.content-section{padding:70px 6vw}.division-grid{grid-template-columns:1fr}.recruit-banner{margin:0 6vw 55px;display:block}.recruit-banner .primary-btn{display:inline-block;margin-top:20px}}

/* SASP PUBLIC BACKGROUND — stable local SVG, no legacy SASP imagery */
.public-site .hero,.public-site .page-hero,.public-site .photo-panel{background-image:linear-gradient(90deg,rgba(2,7,13,.88),rgba(2,9,18,.62) 38%,rgba(2,9,18,.30) 100%),url('sasp-public-police-background.svg?v=999')!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;}
.public-site main::before{background-image:linear-gradient(180deg,rgba(2,8,15,.18),rgba(2,8,15,.72)),url('sasp-public-police-background.svg?v=999')!important;background-size:cover!important;background-position:center!important;}

/* SASP PUBLIC BACKGROUND — DIRECT LOCAL ASSET */
html body .public-site .hero{background-image:linear-gradient(90deg,rgba(2,7,13,.92) 0%,rgba(2,7,13,.72) 34%,rgba(2,7,13,.20) 72%,rgba(2,7,13,.42) 100%),url("sasp-public-police-background.svg") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
html body .public-site .page-hero{background-image:linear-gradient(90deg,rgba(2,7,13,.94),rgba(2,7,13,.72) 40%,rgba(2,7,13,.28) 78%),url("sasp-public-police-background.svg") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
html body .public-site .photo-panel{background-image:linear-gradient(90deg,rgba(2,7,13,.25),rgba(2,7,13,.76)),url("sasp-public-police-background.svg") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}

/* SASP FINAL PUBLIC OVERRIDE */
html body .public-site .hero { background-image: linear-gradient(90deg,rgba(2,7,13,.94),rgba(2,7,13,.72) 30%,rgba(2,7,13,.18) 70%,rgba(2,7,13,.40)), url("sasp-public-police-background.svg?v=999") !important; background-position:center !important; background-size:cover !important; background-repeat:no-repeat !important; }
html body .public-site .page-hero, html body .public-site .photo-panel { background-image: linear-gradient(90deg,rgba(2,7,13,.94),rgba(2,7,13,.70) 40%,rgba(2,7,13,.28) 78%), url("sasp-public-police-background.svg?v=999") !important; background-position:center !important; background-size:cover !important; background-repeat:no-repeat !important; }
html body .public-site .primary-btn { background:#168cff !important; }
html body .public-site .primary-btn:hover { background:#0d5fa8 !important; }
html body .public-site .hero h1 span, html body .public-site .division-grid strong, html body .public-site .news-list span { color:#62b9f0 !important; }
html body .public-site .division-card:hover { border-color:#168cff !important; }
