
:root{
  --wp-accent:#cc0066;
  --wp-dark:#1c1f24;
  --wp-text:#22252b;
  --wp-muted:#747b86;
  --wp-bg:#f3f5f8;
  --wp-card:#ffffff;
  --wp-line:#e2e6ec;
  --wp-soft:#f7f8fa;
  --wp-green:#237a55;
  --wp-green-bg:#ecf8f1;
  --wp-amber:#9b6700;
  --wp-amber-bg:#fff6df;
  --wp-red:#b33c3c;
  --wp-red-bg:#fff0f0;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,"Saira Semi Condensed",Arial,sans-serif;background:var(--wp-bg);color:var(--wp-text)}
body.wpcp-blank-page{margin:0!important;padding:0!important;overflow-x:hidden}
.wpcp-blank-page #wpadminbar{display:none!important}
html{margin-top:0!important}

.wpcp-label{
  display:block;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:1.6px;
  color:var(--wp-accent);
  text-transform:uppercase
}

/* ---------- LOGIN ---------- */
.wpcp-auth-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  background:
    radial-gradient(circle at 10% 8%,rgba(204,0,102,.09),transparent 28%),
    linear-gradient(180deg,#f7f8fa 0%,#eef1f5 100%)
}
.wpcp-auth-wrap{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:1.12fr .88fr;
  background:#fff;
  border:1px solid var(--wp-line);
  box-shadow:0 24px 70px rgba(30,34,42,.10)
}
.wpcp-auth-showcase{
  min-height:610px;
  background:#1b1d22;
  color:#fff;
  padding:56px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.wpcp-logo-auth{
  width:250px;
  height:auto;
  display:block;
  margin-bottom:32px;
  background:transparent;
  padding:0;
  border:0;
  box-shadow:none;
}
.wpcp-auth-showcase h1{
  font-size:50px;
  line-height:1.04;
  letter-spacing:-1.6px;
  margin:16px 0 18px;
  max-width:580px
}
.wpcp-auth-showcase p{
  margin:0;
  max-width:560px;
  color:#cbd0d8;
  font-size:17px;
  line-height:1.7
}
.wpcp-auth-points{
  margin:32px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px
}
.wpcp-auth-points li{
  position:relative;
  padding-left:24px;
  color:#fff;
  font-size:14px
}
.wpcp-auth-points li:before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:9px;
  height:9px;
  background:var(--wp-accent)
}
.wpcp-auth-card{padding:56px;display:flex;flex-direction:column;justify-content:center}
.wpcp-auth-card h2{font-size:34px;line-height:1.1;margin:14px 0 10px}
.wpcp-auth-card>p{margin:0 0 22px;color:var(--wp-muted);line-height:1.65}
.wpcp-login-form label{display:block;font-size:13px;font-weight:700;margin:16px 0 7px}
.wpcp-login-form input[type=text],
.wpcp-login-form input[type=password]{
  width:100%;
  height:50px;
  border:1px solid #d8dde5;
  padding:0 14px;
  border-radius:5px;
  font-size:15px;
  outline:none;
  background:#fff
}
.wpcp-login-form input:focus{border-color:var(--wp-accent);box-shadow:0 0 0 3px rgba(204,0,102,.08)}
.wpcp-remember{display:flex!important;align-items:center!important;gap:8px;color:var(--wp-muted);font-weight:500!important}
.wpcp-button{
  width:100%;
  height:50px;
  border:0;
  border-radius:5px;
  background:var(--wp-accent);
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  margin-top:6px
}
.wpcp-alert{padding:12px 14px;background:#fff0f0;color:#a62e2e;border:1px solid #f1caca;margin-bottom:16px}

/* ---------- APP SHELL ---------- */
.wpcp-app-shell{min-height:100vh;background:var(--wp-bg)}
.wpcp-app-header{
  height:78px;
  background:#fff;
  border-bottom:1px solid var(--wp-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 34px;
  position:sticky;
  top:0;
  z-index:20
}
.wpcp-header-left,.wpcp-header-right{display:flex;align-items:center}
.wpcp-brand-lockup{display:flex;align-items:center}
.wpcp-header-logo{
  width:152px;
  height:auto;
  display:block
}
.wpcp-header-divider{
  width:1px;
  height:34px;
  background:var(--wp-line);
  margin:0 22px
}
.wpcp-portal-title{display:flex;flex-direction:column;gap:3px}
.wpcp-portal-title strong{font-size:15px}
.wpcp-portal-title span{font-size:11px;color:var(--wp-muted);letter-spacing:.4px}
.wpcp-user-meta{display:flex;flex-direction:column;align-items:flex-end;margin-right:18px}
.wpcp-user-meta strong{font-size:13px}
.wpcp-user-meta span{font-size:11px;color:var(--wp-muted);margin-top:3px}
.wpcp-logout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding:0 14px;
  border:1px solid var(--wp-line);
  border-radius:5px;
  color:#3d424a;
  font-size:12px;
  font-weight:700
}
.wpcp-logout:hover{border-color:var(--wp-accent);color:var(--wp-accent)}

.wpcp-project-tabs{
  background:#fff;
  border-bottom:1px solid var(--wp-line)
}
.wpcp-project-tabs-inner{
  width:min(1480px,calc(100% - 64px));
  margin:0 auto;
  display:flex;
  gap:0;
  overflow-x:auto
}
.wpcp-project-tabs a{
  min-width:190px;
  padding:14px 18px 13px;
  color:#4c535e;
  border-bottom:3px solid transparent;
  border-right:1px solid var(--wp-line)
}
.wpcp-project-tabs a span{display:block;font-size:10px;letter-spacing:1.2px;color:#8a919d;margin-bottom:3px}
.wpcp-project-tabs a strong{font-size:13px}
.wpcp-project-tabs a.is-active{border-bottom-color:var(--wp-accent);background:#fcf8fa}
.wpcp-project-tabs a.is-active strong{color:var(--wp-accent)}

.wpcp-app-main{
  width:min(1480px,calc(100% - 64px));
  margin:0 auto;
  padding:36px 0 52px
}

/* ---------- HERO ---------- */
.wpcp-project-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:26px
}
.wpcp-project-meta-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.wpcp-project-code{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  background:#eceff3;
  color:#6f7783;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  border-radius:3px
}
.wpcp-status{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  font-size:10px;
  font-weight:800;
  border-radius:3px
}
.wpcp-status-on_track{background:var(--wp-green-bg);color:var(--wp-green)}
.wpcp-status-attention{background:var(--wp-amber-bg);color:var(--wp-amber)}
.wpcp-status-delayed{background:var(--wp-red-bg);color:var(--wp-red)}
.wpcp-project-hero h1{
  margin:0 0 8px;
  font-size:40px;
  line-height:1.08;
  letter-spacing:-1.1px
}
.wpcp-project-hero p{margin:0;color:var(--wp-muted);font-size:14px}

/* ---------- KPI ---------- */
.wpcp-kpi-grid{
  display:grid;
  grid-template-columns:1.45fr 1fr 1fr 1fr;
  gap:22px;
  margin-bottom:26px
}
.wpcp-kpi{
  min-height:145px;
  background:#fff;
  border:1px solid var(--wp-line);
  padding:22px
}
.wpcp-kpi .wpcp-label{margin-bottom:18px}
.wpcp-kpi>strong{
  display:block;
  font-size:25px;
  line-height:1.15;
  margin-bottom:7px
}
.wpcp-kpi small{
  display:block;
  font-size:12px;
  color:var(--wp-muted);
  line-height:1.5
}
.wpcp-kpi-progress{
  background:#1c1f24;
  border-color:#1c1f24;
  color:#fff
}
.wpcp-kpi-progress .wpcp-label{color:#ff6aad}
.wpcp-kpi-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:25px
}
.wpcp-kpi-head .wpcp-label{margin:0}
.wpcp-kpi-head strong{
  font-size:48px;
  line-height:.95;
  letter-spacing:-1.7px
}
.wpcp-progress-track{
  height:8px;
  background:#363a42;
  overflow:hidden
}
.wpcp-progress-track span{
  display:block;
  height:100%;
  background:var(--wp-accent)
}

/* ---------- SHARED SECTION ---------- */
.wpcp-section-card{
  background:#fff;
  border:1px solid var(--wp-line);
  padding:26px
}
.wpcp-section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.wpcp-section-head h2{
  margin:9px 0 0;
  font-size:25px;
  letter-spacing:-.5px
}

/* ---------- TIMELINE ---------- */
.wpcp-timeline-section{margin-bottom:26px}
.wpcp-timeline{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--wp-line);
  border-bottom:1px solid var(--wp-line)
}
.wpcp-step{
  min-width:0;
  min-height:126px;
  padding:18px 14px;
  border-right:1px solid var(--wp-line);
  position:relative
}
.wpcp-step:first-child{border-left:1px solid var(--wp-line)}
.wpcp-step-marker{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e9edf2;
  color:#69717d;
  font-size:11px;
  font-weight:800;
  margin-bottom:16px
}
.wpcp-step-copy strong{
  display:block;
  font-size:12px;
  line-height:1.35;
  min-height:34px
}
.wpcp-step-copy span{
  display:block;
  margin-top:8px;
  font-size:10px;
  line-height:1.3;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#9299a4
}
.wpcp-step-completed{background:#fff8fb}
.wpcp-step-completed .wpcp-step-marker{background:var(--wp-accent);color:#fff}
.wpcp-step-completed .wpcp-step-copy span{color:var(--wp-accent)}
.wpcp-step-in_progress{background:#f7f7fb;box-shadow:inset 0 3px 0 #22252b}
.wpcp-step-in_progress .wpcp-step-marker{background:#22252b;color:#fff}
.wpcp-step-in_progress .wpcp-step-copy span{color:#4b4f57}
.wpcp-step-on_hold{background:#fffaf0}
.wpcp-step-on_hold .wpcp-step-copy span{color:var(--wp-amber)}

/* ---------- UPDATES ---------- */
.wpcp-update-grid{
  display:grid;
  grid-template-columns:1.35fr 1.35fr .9fr;
  gap:22px;
  margin-bottom:26px
}
.wpcp-update-card{min-height:190px}
.wpcp-update-card h3{
  margin:13px 0 12px;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.35px
}
.wpcp-update-card p{
  margin:0;
  color:var(--wp-muted);
  font-size:13px;
  line-height:1.75
}
.wpcp-next-milestone{background:#fbfbfc}

/* ---------- CONTACT ---------- */
.wpcp-contact-bar{
  min-height:96px;
  background:#fff;
  border:1px solid var(--wp-line);
  padding:20px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px
}
.wpcp-contact-bar .wpcp-label{margin-bottom:9px}
.wpcp-contact-bar strong{font-size:20px}
.wpcp-contact-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.wpcp-contact-links a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--wp-line);
  border-radius:4px;
  color:#444b54;
  font-size:12px;
  font-weight:600
}
.wpcp-contact-links a:hover{border-color:var(--wp-accent);color:var(--wp-accent)}
.wpcp-disclaimer{
  padding:14px 0 0;
  color:#9299a4;
  font-size:10px;
  text-align:center
}

.wpcp-empty-screen,.wpcp-empty{
  max-width:760px;
  margin:70px auto;
  background:#fff;
  border:1px solid var(--wp-line);
  padding:40px;
  text-align:center
}
.wpcp-empty-screen h1{font-size:34px;margin:14px 0 10px}
.wpcp-empty-screen p{margin:0;color:var(--wp-muted)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1180px){
  .wpcp-app-main,.wpcp-project-tabs-inner{width:min(100% - 40px,1480px)}
  .wpcp-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wpcp-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wpcp-step:nth-child(3n){border-right:1px solid var(--wp-line)}
  .wpcp-update-grid{grid-template-columns:1fr 1fr}
  .wpcp-next-milestone{grid-column:1/-1}
}

@media (max-width:760px){
  .wpcp-app-header{height:auto;min-height:72px;padding:14px 18px;gap:18px}
  .wpcp-header-divider,.wpcp-portal-title,.wpcp-user-meta{display:none}
  .wpcp-header-logo{width:125px}
  .wpcp-app-main,.wpcp-project-tabs-inner{width:min(100% - 28px,1480px)}
  .wpcp-project-hero h1{font-size:31px}
  .wpcp-kpi-grid,.wpcp-update-grid{grid-template-columns:1fr}
  .wpcp-next-milestone{grid-column:auto}
  .wpcp-timeline{grid-template-columns:1fr}
  .wpcp-step,.wpcp-step:first-child{border-left:1px solid var(--wp-line);border-right:1px solid var(--wp-line);border-bottom:1px solid var(--wp-line);min-height:auto;display:flex;gap:14px;align-items:flex-start}
  .wpcp-step-marker{flex:0 0 30px;margin-bottom:0}
  .wpcp-step-copy strong{min-height:auto}
  .wpcp-contact-bar{flex-direction:column;align-items:flex-start}
  .wpcp-contact-links{justify-content:flex-start}
  .wpcp-auth-shell{padding:16px}
  .wpcp-auth-wrap{grid-template-columns:1fr}
  .wpcp-auth-showcase{min-height:auto;padding:30px}
  .wpcp-auth-showcase h1{font-size:34px}
  .wpcp-auth-card{padding:30px}
}

@media (max-width:520px){
  .wpcp-app-header{align-items:center}
  .wpcp-logout{height:34px;padding:0 10px}
  .wpcp-app-main{padding-top:24px}
  .wpcp-project-hero{margin-bottom:20px}
  .wpcp-project-hero h1{font-size:28px}
  .wpcp-kpi{min-height:130px}
  .wpcp-section-card{padding:20px}
}


/* ---------- BRANDED 404 ---------- */
.wpcp-404-page{
  background:#f3f5f8!important;
}
.wpcp-404-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
}
.wpcp-404-card{
  width:min(1080px,100%);
  min-height:560px;
  display:grid;
  grid-template-columns:330px 1fr;
  background:#fff;
  border:1px solid var(--wp-line);
  box-shadow:0 24px 70px rgba(30,34,42,.10);
}
.wpcp-404-brand{
  background:#1c1f24;
  color:#fff;
  padding:42px 36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:16px;
}
.wpcp-404-brand img{
  width:230px;
  max-width:100%;
  height:auto;
  display:block;
  background:transparent;
  padding:0;
  border:0;
  box-shadow:none;
}
.wpcp-404-brand span{
  font-size:11px;
  letter-spacing:2px;
  color:#aeb4bf;
  font-weight:800;
}
.wpcp-404-content{
  padding:62px 70px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.wpcp-404-code{
  font-size:92px;
  line-height:.9;
  font-weight:800;
  letter-spacing:-4px;
  color:#1c1f24;
  margin-bottom:24px;
}
.wpcp-404-content h1{
  margin:14px 0 12px;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.2px;
  color:#1c1f24;
}
.wpcp-404-content p{
  margin:0;
  max-width:520px;
  font-size:15px;
  line-height:1.7;
  color:var(--wp-muted);
}
.wpcp-404-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:28px;
  padding:0 18px;
  background:var(--wp-accent);
  color:#fff;
  font-size:13px;
  font-weight:800;
  border-radius:4px;
}
.wpcp-404-button:hover{
  filter:brightness(.96);
  color:#fff;
}
.wpcp-404-foot{
  position:fixed;
  bottom:20px;
  left:0;
  right:0;
  text-align:center;
  color:#9299a4;
  font-size:10px;
  letter-spacing:.8px;
}
@media(max-width:760px){
  .wpcp-404-shell{padding:16px}
  .wpcp-404-card{grid-template-columns:1fr;min-height:0}
  .wpcp-404-brand{padding:24px}
  .wpcp-404-brand img{width:170px}
  .wpcp-404-content{padding:40px 24px 46px}
  .wpcp-404-code{font-size:72px}
  .wpcp-404-content h1{font-size:32px}
  .wpcp-404-foot{position:static;padding:18px 0 4px}
}
