:root{
  --cpia-ink:#082e3c;
  --cpia-ink-soft:#0b4351;
  --cpia-teal:#00a88f;
  --cpia-teal-dark:#007f76;
  --cpia-blue:#3f6fea;
  --cpia-cyan:#4cb7d8;
  --cpia-amber:#f4b942;
  --cpia-red:#e35b52;
  --cpia-body:#18313d;
  --cpia-muted:#6b7f88;
  --cpia-line:#cbdce3;
  --cpia-wash:#f2f6f8;
  --cpia-paper:#fff;
  --cpia-shadow:0 12px 34px rgba(16,42,54,.09);
}
html{background:#eef4f6}
body{color:var(--cpia-body);font-family:Inter,Manrope,"Segoe UI Variable","Segoe UI",Arial,sans-serif;background:linear-gradient(135deg,#f8fbfc 0%,#edf4f6 42%,#f8fafb 100%)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.page-wrapper{background:transparent!important;min-height:100vh}
.cpia-legacy-nav-hidden{display:none!important}
.body-wrapper{margin-left:0!important;min-height:calc(100vh - 76px);background:transparent!important}
.body-wrapper>.container-fluid,.container-fluid{max-width:1420px!important;margin-inline:auto!important;padding:30px 28px 50px!important}

/* Luminous top navigation */
.cpia-modern-topbar{position:sticky;top:0;z-index:1050;height:76px;width:100%;display:flex;align-items:center;gap:24px;padding:0 max(24px,calc((100vw - 1480px)/2));color:#fff;background:linear-gradient(110deg,#062c3a 0%,#0b4351 100%);box-shadow:0 8px 26px rgba(5,35,46,.2);border:0}
.cpia-modern-brand{display:flex;align-items:center;gap:11px;min-width:216px;color:#fff!important;text-decoration:none!important}
.cpia-modern-brand img{display:block;width:50px!important;height:58px!important;object-fit:contain!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.18))!important}
.cpia-modern-brand>span{display:block!important;line-height:1.05!important;text-shadow:none!important}.cpia-modern-brand strong{display:block;color:#fff;font-size:16px;font-weight:750;letter-spacing:.08em;white-space:nowrap}.cpia-modern-brand small{display:block;margin-top:5px;color:#b9d3d9;font-size:9px;font-weight:700;letter-spacing:.16em;white-space:nowrap}
.cpia-modern-nav{display:flex;align-items:stretch;align-self:stretch;gap:2px;min-width:0}.cpia-modern-direct,.cpia-modern-group>button{height:100%;display:flex;align-items:center;gap:7px;padding:0 13px;border:0;border-bottom:3px solid transparent;background:transparent;color:#d7e6e9!important;font-size:13px;font-weight:650;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:.16s ease-out}.cpia-modern-direct:hover,.cpia-modern-group>button:hover,.cpia-modern-direct.active{color:#fff!important;border-bottom-color:var(--cpia-teal)}.cpia-modern-direct>i{display:none}.cpia-modern-group{position:relative;display:flex;align-items:stretch}.cpia-modern-group>button>i{font-size:13px;color:#9dc0c7;transition:.16s}.cpia-modern-group.open>button>i{transform:rotate(180deg)}
.cpia-modern-dropdown{display:none;position:absolute;top:68px;left:0;width:238px;padding:8px;background:#fff;border:1px solid #d5e2e7;border-radius:14px;box-shadow:0 20px 54px rgba(8,46,60,.22);color:var(--cpia-body)}.cpia-modern-dropdown-right{left:auto;right:0}.cpia-modern-group.open .cpia-modern-dropdown{display:block;animation:cpiaDropdown .14s ease-out}.cpia-modern-dropdown a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:9px;color:var(--cpia-body)!important;font-size:13px;font-weight:650;text-decoration:none!important}.cpia-modern-dropdown a i{width:22px;color:var(--cpia-teal-dark);font-size:18px}.cpia-modern-dropdown a:hover{background:#ecf8f6;color:var(--cpia-teal-dark)!important}
.cpia-modern-user{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto;color:#d9e8eb!important}.cpia-modern-user-name{font-size:12px;font-weight:650;white-space:nowrap}.cpia-modern-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8fe4d6,#4f7cea);color:#07313e;font-size:12px;font-weight:850;border:2px solid rgba(255,255,255,.7);box-shadow:none!important}.cpia-modern-user>a{width:39px!important;height:39px!important;border-radius:11px!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;display:grid!important;place-items:center!important;text-decoration:none!important}.cpia-modern-menu-button{display:none;width:43px;height:43px;border-radius:11px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:22px}.cpia-modern-mobile-menu{display:none}
@keyframes cpiaDropdown{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Page hierarchy and surfaces */
.page-title,.cpia-page-heading h1,.quote-hero h1,.staff-page-head h1{color:var(--cpia-ink)!important;font-weight:650!important;letter-spacing:-.035em!important}.page-subtitle,.cpia-page-heading p,.quote-hero p{color:var(--cpia-muted)!important}.cpia-kicker,.eyebrow,.staff-kicker{color:var(--cpia-teal-dark)!important;font-weight:800!important;letter-spacing:.12em!important}.card,.project-register,.metric-card,.admin-start-screen,.quote-form-card,.quote-send-summary,.staff-card,.staff-stat{background:rgba(255,255,255,.91)!important;border:1px solid var(--cpia-line)!important;border-radius:17px!important;box-shadow:0 8px 26px rgba(16,42,54,.065)!important}.card:hover,.metric-card:hover,.admin-start-card:hover,.staff-stat:hover{box-shadow:var(--cpia-shadow)!important}.card-header,.card-footer,.register-heading,.recent-jobs-heading,.staff-card-head{border-color:#dce7eb!important;background:transparent!important}
.btn{min-height:44px;border-radius:11px!important;font-weight:700!important;box-shadow:none!important}.btn-primary,.staff-primary{border-color:transparent!important;background:linear-gradient(135deg,var(--cpia-teal),var(--cpia-teal-dark))!important;color:#fff!important;box-shadow:0 8px 20px rgba(0,168,143,.19)!important}.btn-primary:hover,.staff-primary:hover{filter:brightness(.97);transform:translateY(-1px)}.btn-outline-primary,.staff-secondary{border-color:#a8cbd0!important;background:#fff!important;color:var(--cpia-teal-dark)!important}.btn-info,.btn-secondary{border-color:var(--cpia-blue)!important;background:var(--cpia-blue)!important;color:#fff!important}.btn-warning{border-color:#efaa2e!important;background:#efaa2e!important;color:#fff!important}.btn-danger{border-color:var(--cpia-red)!important;background:var(--cpia-red)!important}
.form-control,.form-select,input[type=text],input[type=email],input[type=search],input[type=date],input[type=datetime-local],input[type=number],textarea,select{border-color:#c9dce2!important;border-radius:11px!important;background:#fff!important;color:var(--cpia-body)!important}.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:var(--cpia-teal)!important;box-shadow:0 0 0 3px rgba(0,168,143,.13)!important;outline:0}.form-label,label{color:#29424c;font-weight:650}

/* Dashboard */
.admin-start-screen{position:relative;overflow:hidden;padding:24px!important}.admin-start-screen:after{content:"";position:absolute;right:-40px;top:-80px;width:430px;height:250px;opacity:.12;background:radial-gradient(circle at 20% 50%,var(--cpia-cyan) 0 2px,transparent 3px),linear-gradient(135deg,transparent 45%,#79c4d4 46% 46.5%,transparent 47%);background-size:24px 24px,100% 100%;pointer-events:none}.admin-start-heading,.admin-start-grid{position:relative;z-index:1}.admin-start-heading h2{color:var(--cpia-ink);font-weight:650;letter-spacing:-.025em}.admin-start-card{border:1px solid #d7e5e9!important;border-radius:15px!important;background:rgba(255,255,255,.85)!important;box-shadow:none!important;transition:.16s ease-out}.admin-start-card:hover{transform:translateY(-2px)}.admin-start-icon{background:#e6f8f5!important;color:var(--cpia-teal-dark)!important}.admin-start-review .admin-start-icon{background:#fff3dc!important;color:#a66a00!important}.admin-start-label{color:var(--cpia-teal-dark)!important}.metric-grid{gap:16px!important}.metric-card{min-height:126px!important;transition:.16s ease-out}.metric-card:hover{transform:translateY(-2px)}.metric-icon{background:#e6f8f5!important;color:var(--cpia-teal-dark)!important;border-radius:16px!important}.metric-value{color:var(--cpia-ink)!important;font-weight:700!important}.total-unpaid-value,.metric-note{color:var(--cpia-muted)!important}

/* Tables and data */
.table{color:var(--cpia-body)}.table thead th,.job-table thead th,.recent-jobs-table thead th{background:#f4f8f9!important;color:#5d747e!important;border-color:#dce7eb!important;font-size:11px!important;font-weight:800!important;letter-spacing:.035em}.table td,.job-table td,.recent-jobs-table td{border-color:#e2ecef!important}.table tbody tr:hover td,.job-table tbody tr:hover td{background:#f0faf8!important}.invoice-number,.recent-job-link,.job-card-code{color:var(--cpia-teal-dark)!important}.status-approved,.invoice-paid{background:#e6f7f1!important;color:#087553!important}.status-pending,.invoice-unpaid{background:#fff2dd!important;color:#9b6200!important}.row-action-icon,.staff-icon-button{border-color:#bcd5da!important;color:var(--cpia-teal-dark)!important;background:#fff!important}.row-action-icon:hover,.staff-icon-button:hover{background:#e9f7f5!important}.delete-action{border-color:#edc5c0!important;color:#cc4c42!important}.summary-pill{border-color:#c9dce2!important;background:#f7fafb!important}

/* Staff portal translation */
body.staff-app{--staff-blue:var(--cpia-teal);--staff-ink:var(--cpia-ink);--staff-muted:var(--cpia-muted);--staff-line:var(--cpia-line);--staff-bg:var(--cpia-wash);--staff-green:#087553;--staff-amber:#b87400;background:linear-gradient(135deg,#f8fbfc,#edf4f6 45%,#f8fafb)!important;color:var(--cpia-body)!important}.staff-main{max-width:1420px!important;padding:30px 28px 100px!important}.staff-page-head{margin-bottom:22px!important}.staff-desktop-nav{display:none!important}.staff-topbar.cpia-modern-topbar{height:76px!important;padding:0 max(24px,calc((100vw - 1480px)/2))!important;border:0!important;background:linear-gradient(110deg,#062c3a,#0b4351)!important;box-shadow:0 8px 26px rgba(5,35,46,.2)!important}.staff-topbar.cpia-modern-topbar:after{display:none!important}.staff-brand.cpia-modern-brand{gap:11px!important}.staff-brand.cpia-modern-brand>span{display:block!important}.staff-stat-icon,.staff-start-icon{background:#e6f8f5!important;color:var(--cpia-teal-dark)!important}.staff-stat strong,.staff-card-head h2,.staff-job-site,.staff-job-view-title h2{color:var(--cpia-ink)!important}.staff-job-code,.staff-map-address{color:var(--cpia-teal-dark)!important}.staff-job:hover{background:#f0faf8!important}.staff-start-card{border-color:#d7e5e9!important;background:rgba(255,255,255,.9)!important}.staff-start-card:hover{transform:translateY(-2px);box-shadow:var(--cpia-shadow)!important}.staff-start-label{color:var(--cpia-teal-dark)!important}.staff-search input{border-color:#c9dce2!important}.staff-calendar-wrap .fc{--fc-button-bg-color:var(--cpia-teal);--fc-button-border-color:var(--cpia-teal);--fc-button-hover-bg-color:var(--cpia-teal-dark);--fc-button-hover-border-color:var(--cpia-teal-dark);--fc-today-bg-color:#ebf8f6}.staff-calendar-wrap .fc .fc-toolbar-title{color:var(--cpia-ink)!important}.staff-calendar-job-count{border-color:#9fd6cd!important;background:#e7f7f4!important;color:#08756d!important}

/* Mobile */
@media(max-width:1100px){.cpia-modern-topbar{gap:10px;padding-inline:18px}.cpia-modern-brand{min-width:185px}.cpia-modern-nav{gap:0}.cpia-modern-direct,.cpia-modern-group>button{padding-inline:8px;font-size:12px}.cpia-modern-user-name{display:none}.body-wrapper>.container-fluid,.container-fluid{padding-inline:20px!important}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){body{padding-bottom:66px}.cpia-modern-topbar,.staff-topbar.cpia-modern-topbar{height:64px!important;padding:0 14px!important}.cpia-modern-brand{min-width:0}.cpia-modern-brand img{width:43px!important;height:48px!important}.cpia-modern-brand strong{font-size:14px}.cpia-modern-brand small{font-size:8px}.cpia-modern-nav,.cpia-modern-user-name,.cpia-modern-user>a{display:none!important}.cpia-modern-user{margin-left:auto!important}.cpia-modern-avatar{width:38px;height:38px}.cpia-modern-menu-button{display:grid;place-items:center}.cpia-modern-mobile-menu{position:fixed;display:none;top:64px;left:0;right:0;z-index:1049;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;background:#073442;box-shadow:0 17px 30px rgba(5,35,46,.3)}.cpia-modern-mobile-menu.open{display:grid}.cpia-modern-mobile-menu a{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.075);color:#fff!important;font-size:12px;font-weight:650;text-decoration:none}.cpia-modern-mobile-menu a i{font-size:19px;color:#8de0d4}.body-wrapper{min-height:calc(100vh - 64px)}.body-wrapper>.container-fluid,.container-fluid,.staff-main{padding:20px 14px 90px!important}.page-title,.cpia-page-heading h1,.quote-hero h1,.staff-page-head h1{font-size:28px!important}.metric-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.metric-card{min-height:105px!important;padding:14px!important}.metric-icon{width:44px!important;height:44px!important}.metric-value{font-size:25px!important}.admin-start-screen{padding:17px!important}.admin-start-grid{grid-template-columns:1fr!important}.card,.project-register,.metric-card,.admin-start-screen,.staff-card,.staff-stat{border-radius:15px!important}.table-responsive{border-radius:13px}.staff-grid{gap:10px!important}.staff-mobile-nav{border-color:#d5e4e7!important;box-shadow:0 -8px 25px rgba(16,42,54,.1)!important}.staff-mobile-nav a.active{color:var(--cpia-teal-dark)!important}.staff-mobile-nav a:nth-last-child(1) i{color:var(--cpia-teal-dark)}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr!important}.cpia-modern-mobile-menu{grid-template-columns:1fr 1fr}.cpia-modern-brand span{display:none!important}.staff-brand.cpia-modern-brand>span{display:block!important}.staff-brand.cpia-modern-brand strong{font-size:13px}.staff-brand.cpia-modern-brand small{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Active navigation and four-column operational summary */
.cpia-modern-group>button.active{color:#fff!important;border-bottom-color:var(--cpia-teal)!important}
.cpia-modern-dropdown a.active{background:#e7f7f4!important;color:var(--cpia-teal-dark)!important}
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.metric-card{position:relative;overflow:hidden}
.metric-card:after{content:"";position:absolute;right:-34px;bottom:-46px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(76,183,216,.12),transparent 68%);pointer-events:none}
.metric-card-alert .metric-icon{background:#fff3dc!important;color:#a66a00!important}
.metric-card-money .metric-icon{background:#edf1ff!important;color:#315bd0!important}
.metric-card-events .metric-icon{background:#e9f7f5!important;color:#08756d!important}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr!important}}

/* Shared sign-in experience */
body.cpia-login{min-height:100vh;background:linear-gradient(140deg,#062c3a 0 35%,#0c5863 35% 47%,#edf5f6 47% 100%)!important}
.cpia-login .radial-gradient{background:radial-gradient(circle at 18% 22%,rgba(81,199,184,.22),transparent 30%)!important}
.cpia-login .card{overflow:hidden;border:1px solid rgba(202,221,227,.9)!important;border-radius:22px!important;box-shadow:0 28px 80px rgba(3,35,46,.24)!important}
.cpia-login .card-body{padding:34px!important}
.cpia-login .logo-img{padding:0 0 18px!important}.cpia-login .logo-img img{width:180px!important;height:118px!important;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(7,46,60,.12))}
.cpia-login-heading{text-align:center;margin:0 0 28px}.cpia-login-heading span{color:var(--cpia-teal-dark);font-size:10px;font-weight:850;letter-spacing:.15em}.cpia-login-heading h1{margin:7px 0 5px;color:var(--cpia-ink);font-size:29px;font-weight:680;letter-spacing:-.035em}.cpia-login-heading p{margin:0;color:var(--cpia-muted);font-size:13px;line-height:1.55}
.cpia-login .btn-primary{min-height:50px}
@media(max-width:600px){body.cpia-login{background:linear-gradient(165deg,#07313e 0 25%,#edf5f6 25% 100%)!important}.cpia-login .card-body{padding:27px 23px!important}}
