/* CC Waterproofing visual refinement — additive; original app.css and routes retained. */
:root{--blue:#103d70;--blue-dark:#092b51;--blue-light:#2469a0;--orange:#f36b24;--line:#dce6ef;--soft:#f4f7fb;--shadow:0 14px 38px rgba(12,46,83,.075)}
body{background:#f7f9fc;color:#19364f;letter-spacing:.005em}
.container{max-width:1380px}
.utility{background:#092b51}.utility .container{min-height:37px}
header.top{background:rgba(255,255,255,.98);border-bottom:1px solid #dbe5ef;box-shadow:0 7px 22px rgba(12,46,83,.055)}
header.top .nav{min-height:76px}header.top .brand-logo{width:235px;max-width:100%}header.top .service-brand{border-left:2px solid #e7edf4;padding-left:14px}header.top .service-brand strong{font-size:15px;color:#123f73}
header.top .primary-nav>a{font-weight:750;border-radius:8px;transition:background .2s,color .2s}header.top .primary-nav>a:hover,header.top .primary-nav>a.active{background:#eff5fb;color:#0d4678}
.btn,.button,button[type=submit],input[type=submit]{transition:background .2s,box-shadow .2s,transform .2s}
.btn:hover,button[type=submit]:hover,input[type=submit]:hover{transform:translateY(-1px);box-shadow:0 8px 19px rgba(16,61,112,.12)}
.btn.orange{background:linear-gradient(135deg,#ef6823,#fa8745);border-color:#ef6823;box-shadow:0 7px 18px rgba(243,107,36,.16)}
main.container{padding-top:30px;padding-bottom:32px}
.hero{border-radius:18px;background:linear-gradient(125deg,#edf5fc 0%,#fff 60%,#fff4eb 100%);border:1px solid #dae6f0;padding:clamp(25px,4vw,52px);box-shadow:0 15px 38px rgba(12,46,83,.055)}
.hero h1{font-size:clamp(28px,3.4vw,46px);letter-spacing:-.035em;line-height:1.15;color:#103d70}
.hero p{font-size:clamp(14px,1.4vw,17px);line-height:1.75}
.hero-card{border-radius:15px;box-shadow:0 12px 34px rgba(12,46,83,.07)}
.eyebrow{color:#e76525;letter-spacing:1.6px}
.grid,.grid3,.grid4{gap:18px}
.card,.panel,.stat,.kpi,.tile,.service-card,.vendor-card{border-color:#e0e8f0;box-shadow:0 6px 20px rgba(12,46,83,.045);border-radius:13px}
.card:hover,.service-card:hover,.vendor-card:hover{box-shadow:0 13px 29px rgba(12,46,83,.10)}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;border-radius:8px;border-color:#d9e4ed}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(36,105,160,.15);outline-offset:1px}
table{border-collapse:separate;border-spacing:0}th{background:#edf3f9;color:#173d61;font-weight:800}td,th{border-bottom:1px solid #e5ebf2}
.admin-nav-wrap{background:#0c345c}.admin-nav a{border-radius:7px}
@media(max-width:900px){header.top .nav{min-height:67px}header.top .brand-logo{width:198px}.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(27px,6vw,37px)}}
@media(max-width:600px){.container{padding-left:14px;padding-right:14px}main.container{padding-top:18px}.hero{padding:22px 18px;border-radius:13px}header.top .brand-logo{width:164px}header.top .service-brand{padding-left:9px;min-width:0}header.top .service-brand strong{font-size:12px}header.top .service-brand small{font-size:8px}.grid.kpis{gap:11px}}
@media(prefers-reduced-motion:reduce){.btn,.card,.service-card,.vendor-card{transition:none!important}}
