:root{--teal:#00897B;--teal-dark:#00695C;--teal-mid:#00796B;--teal-light:#4DB6AC;--teal-pale:#E0F2F1;--coral:#E64A19;--coral-light:#FF7043;--coral-pale:#FBE9E7;--coral-dark:#BF360C;--gold:#F9A825;--gold-light:#FDD835;--gold-pale:#FFF8E1;--ink:#1A2B3C;--muted:#455A64;--dim:#78909C;--smoke:#F4F7F9;--border:rgba(0,137,123,.22);--white:#fff;--danger:#C62828;--success:#2E7D32;--shadow:0 4px 14px rgba(0,0,0,.07);--radius:14px}*{box-sizing:border-box}html{background:var(--smoke)}body{margin:0;background:linear-gradient(180deg,#fff 0%,var(--smoke) 100%);color:var(--ink);font-family:'Source Sans 3',Arial,sans-serif;font-size:16px;line-height:1.65}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--teal);line-height:1.2}a{color:var(--teal)}.jnw-app-header{background:var(--teal);border-bottom:4px solid var(--coral);color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.20)}.jnw-header-inner{max-width:1180px;margin:0 auto;min-height:96px;padding:14px 28px;display:flex;align-items:center;gap:28px}.jnw-logo-box{color:#fff;text-decoration:none;min-width:245px;display:flex;flex-direction:column;line-height:1.1}.jnw-logo-main{font-size:27px;font-weight:900;letter-spacing:.02em}.jnw-logo-sub{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-light);margin-top:5px}.jnw-title-box{flex:1;color:#fff;border-left:1px solid rgba(255,255,255,.22);padding-left:26px}.jnw-title-box h1{margin:0;color:#fff;font-size:28px;font-weight:900}.jnw-title-box p{margin:5px 0 0;color:rgba(255,255,255,.86);font-size:14px;font-weight:700}.jnw-header-btn{color:#fff;text-decoration:none;border:1.5px solid rgba(255,255,255,.55);border-radius:24px;padding:9px 18px;font-weight:800;font-size:13px;white-space:nowrap}.jnw-header-btn:hover{background:rgba(255,255,255,.12)}.jnw-nav{max-width:1120px;margin:18px auto 0;padding:0 30px;display:flex;gap:10px;flex-wrap:wrap}.jnw-nav a{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--teal);text-decoration:none;font-weight:800;padding:9px 14px;border-radius:999px;border:1px solid rgba(13,77,74,.18);box-shadow:0 3px 10px rgba(13,77,74,.06)}.jnw-nav a:hover,.jnw-nav a.active{background:var(--teal);color:#fff;border-color:var(--teal)}.container,.main,.workspace{max-width:1120px;margin:0 auto;padding:30px}.main,.workspace{padding-top:30px}.card,.panel,.status-panel,.reviewer-note,.history-panel,.checklist-panel,.applicant-card,.summary-card{background:#fff;border:1px solid var(--border);border-top:5px solid var(--coral);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:22px}.card h2,.panel h2,.card h3,.panel h3{margin-top:0}.grid,.stats-grid,.summary-row,.form-2col{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}.stats-grid{grid-template-columns:repeat(3,minmax(180px,1fr));margin:24px 0}.summary-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.stat-card,.stat-item{background:#fff;border:1px solid var(--border);border-left:6px solid var(--teal);border-radius:12px;padding:18px;box-shadow:0 6px 18px rgba(13,77,74,.08)}.num,.stat-num,.sc-count{display:block;color:var(--teal);font-size:30px;font-weight:900;line-height:1}.lbl,.stat-lbl,.sc-label{display:block;color:var(--muted);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:7px}.summary-card{cursor:pointer;text-align:center;border-top-color:var(--teal)}.summary-card.active{outline:3px solid rgba(216,90,48,.25);border-color:var(--coral)}label{display:block;color:var(--teal);font-weight:800;margin:14px 0 6px}input,select,textarea{width:100%;padding:13px 14px;border:1.5px solid var(--border);border-radius:10px;font-family:'Source Sans 3',Arial,sans-serif;font-size:15px;background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}textarea.short{min-height:96px}textarea.medium{min-height:130px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,77,74,.12)}.btn,.button,button,.btn-primary,.btn-secondary,.btn-coral,.btn-review,.btn-save,.btn-pkg,.gen-btn{background:var(--coral)!important;color:#fff!important;border:0!important;border-radius:10px!important;font-weight:800!important;text-decoration:none!important;display:inline-flex!important;align-items:center;justify-content:center;padding:12px 18px!important;min-height:44px;cursor:pointer;font-family:'Source Sans 3',Arial,sans-serif;font-size:15px}.btn:hover,.button:hover,button:hover,.btn-primary:hover,.btn-review:hover,.btn-save:hover,.btn-pkg:hover,.gen-btn:hover{background:var(--coral-dark)!important}.btn.secondary,.btn-secondary{background:var(--teal)!important}.action-row,.jnw-action-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.jnw-action-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(190px,1fr))!important}.jnw-action-tabs .btn{width:100%}.status,.success,.save-msg,.message{background:var(--teal-pale);border-left:5px solid var(--teal);border-radius:10px;padding:12px 14px;color:var(--teal);font-weight:800}.danger,.warning,.error{background:#FEE4E2;border-left:5px solid var(--danger);border-radius:10px;padding:12px 14px;color:var(--danger);font-weight:800}.helper,.helper-box,.form-note,.workflow-box,.next-steps,.review-check{background:var(--gold-pale);border-left:5px solid var(--gold);border-radius:10px;padding:14px 16px;margin:14px 0 20px;color:var(--ink)}.small,.small-note,.section-note,.footer-note,.small-muted{color:var(--muted);font-size:14px;line-height:1.6}.welcome{font-family:'Playfair Display',Georgia,serif;font-size:36px;color:var(--teal);font-weight:900}.welcome-sub{color:var(--muted);margin-bottom:24px}.status-badge,.status-badge-large{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--teal-pale);color:var(--teal);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.status-badge-large{font-size:14px;padding:9px 15px}.progress-track,.bar-track{height:14px;background:#EAECF0;border-radius:999px;overflow:hidden;margin:16px 0}.progress-fill,.bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--coral));border-radius:999px}.h-row,.check-row,.history-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #EAECF0}.h-row:last-child,.check-row:last-child,.history-row:last-child{border-bottom:0}.h-dot,.history-dot,.check-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--teal-pale);color:var(--teal);font-weight:900}.check-done{background:#DCFAE6;color:var(--success)}.check-todo{background:#F2F4F7;color:var(--dim)}table,.data-table,.info-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}th,td{padding:12px 13px;border-bottom:1px solid #EAECF0;text-align:left;vertical-align:top}th{background:var(--teal);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:0}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.filter-tab{background:#fff;border:1px solid var(--border);border-radius:999px;color:var(--teal);font-weight:800;text-decoration:none;padding:8px 12px}.filter-tab.active,.filter-tab:hover{background:var(--teal);color:#fff}.applicant-card{border-top-color:var(--teal)}.ac-header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.ac-name,.applicant-name{font-weight:900;color:var(--teal);font-size:20px}.ac-email,.ac-meta,.applicant-meta{color:var(--muted);font-size:14px}.ac-body{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.ac-stats{display:flex;gap:10px;flex-wrap:wrap}.ac-actions{display:flex;flex-direction:column;gap:8px}.applicant-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:#fff;border:1px solid var(--border);border-left:6px solid var(--coral);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.panel-header,.project-card-header{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#F8FAFC;border-radius:12px;padding:14px 16px}.panel-body,.project-card-body{padding:16px 0}.project-card{border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:14px;background:#fff}.project-card-title{font-weight:900;color:var(--teal)}.project-card-meta{color:var(--muted);font-size:14px}.domain-bar{margin:10px 0}.domain-bar-label{display:flex;justify-content:space-between;color:var(--muted);font-weight:800;font-size:13px}.narrative-panel,.narrative-section,.status-control{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;margin:14px 0}.narrative-project-tab{display:inline-flex;margin:5px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--teal);font-weight:800;cursor:pointer}.narrative-project-tab.active{background:var(--teal);color:#fff}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:14px;padding:30px}.jnw-footer{margin-top:40px;background:var(--teal);border-top:4px solid var(--coral);color:rgba(255,255,255,.75);padding:22px 30px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.jnw-footer strong{color:#fff}.jnw-footer span{color:var(--teal-pale)}.topbar,.portal-header,.portal-nav,.jnw-app-brand,.jnw-app-hero{display:none!important}@media(max-width:860px){.jnw-header-inner{flex-wrap:wrap;gap:14px;padding:14px 20px}.jnw-logo-box{min-width:0}.jnw-title-box{border-left:none;padding-left:0;flex-basis:100%}.jnw-title-box h1{font-size:23px}.container,.main,.workspace{padding:22px 16px}.grid,.stats-grid,.form-2col,.jnw-action-tabs{grid-template-columns:1fr!important}.summary-row{grid-template-columns:repeat(2,minmax(140px,1fr))}.ac-header,.ac-body,.applicant-bar{flex-direction:column}.btn,.button,button,.btn-primary,.btn-secondary,.btn-coral,.btn-review,.btn-save,.btn-pkg,.gen-btn{width:100%}.jnw-nav{padding:0 16px}.card,.panel,.status-panel,.reviewer-note,.history-panel,.checklist-panel,.applicant-card,.summary-card{padding:20px}}@media(max-width:520px){.summary-row{grid-template-columns:1fr}.welcome{font-size:30px}th,td{font-size:14px;padding:9px}}

.auth-container{max-width:620px}.auth-card{max-width:560px;margin:30px auto}.auth-card h2{margin-top:0}.auth-card .action-row{margin-top:20px}


/* =========================================================
   JNW Phase A v3 official branding overrides
   Matched to working PMP course Foundation header/colors.
   ========================================================= */
body{background:var(--smoke)!important;color:var(--ink)!important;font-family:'Source Sans 3',Arial,sans-serif!important;font-size:17px;line-height:1.65;}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--teal-dark);}
.jnw-app-header{position:sticky;top:0;z-index:100;background:var(--teal-dark)!important;border-bottom:3px solid var(--coral)!important;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)!important;}
.jnw-header-inner{max-width:1180px;margin:0 auto;min-height:96px;padding:12px 28px;display:flex;align-items:center;gap:28px;}
.jnw-logo-box{min-width:250px;display:flex!important;align-items:center!important;justify-content:flex-start;text-decoration:none;line-height:1;}
.jnw-logo-img{height:66px;width:auto;display:block;object-fit:contain;}
.jnw-logo-main,.jnw-logo-sub{display:none!important;}
.jnw-title-box{flex:1;color:#fff;border-left:1px solid rgba(255,255,255,.22);padding-left:26px;min-width:0;}
.jnw-title-box h1{margin:0;color:#fff!important;font-family:'Playfair Display',Georgia,serif;font-size:28px;line-height:1.15;font-weight:900;}
.jnw-title-box p{margin:5px 0 0;color:rgba(255,255,255,.86);font-size:14px;line-height:1.4;font-weight:700;}
.jnw-header-btn{color:#fff!important;text-decoration:none;border:1.5px solid rgba(255,255,255,.55);border-radius:22px;padding:9px 18px;font-weight:800;font-size:13px;white-space:nowrap;background:transparent!important;}
.jnw-header-btn:hover{background:rgba(255,255,255,.12)!important;}
.jnw-nav{max-width:1120px;margin:18px auto 0;padding:0 30px;display:flex;gap:10px;flex-wrap:wrap;}
.jnw-nav a{background:#fff;color:var(--teal-dark);padding:9px 14px;border-radius:9px;text-decoration:none;font-weight:800;border:1px solid var(--border);box-shadow:none;}
.jnw-nav a:hover,.jnw-nav a.active{background:var(--teal-pale);color:var(--teal-dark);border-color:var(--teal);}
.container,.main,.workspace{max-width:1120px;margin:0 auto;padding:34px 30px;}
.card,.panel,.status-panel,.reviewer-note,.history-panel,.checklist-panel,.applicant-card,.summary-card,.auth-card{background:#fff;border:1px solid rgba(0,137,123,.18);border-top:4px solid var(--coral);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.07);padding:28px 32px;margin-bottom:24px;}
.auth-container{max-width:680px;}
.auth-card{max-width:560px;margin:34px auto;}
label{color:var(--teal-dark)!important;font-weight:800;}
input,select,textarea{border:1.5px solid #C8DAD8;border-radius:9px;font-family:'Source Sans 3',Arial,sans-serif;font-size:15px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal-dark);box-shadow:0 0 0 3px rgba(0,105,92,.12);}
.btn,.button,button,.btn-primary,.btn-secondary,.btn-coral,.btn-review,.btn-save,.btn-pkg,.gen-btn{background:linear-gradient(135deg,var(--coral),var(--coral-light))!important;color:#fff!important;border:0!important;border-radius:10px!important;font-weight:800!important;}
.btn.secondary,.btn-secondary{background:var(--teal-dark)!important;}
.status,.success,.save-msg,.message{background:var(--teal-pale);border-left:5px solid var(--teal);color:var(--teal-dark);}
.helper,.helper-box,.form-note,.workflow-box,.next-steps,.review-check{background:var(--gold-pale);border-left:5px solid var(--gold);}
th{background:var(--teal)!important;color:#fff!important;}
.jnw-footer{margin-top:40px;background:var(--teal-dark)!important;border-top:3px solid var(--coral);color:rgba(255,255,255,.82);padding:22px 30px;display:flex;justify-content:center;align-items:center;}
.jnw-footer-inner{max-width:1180px;width:100%;display:flex;align-items:center;gap:24px;justify-content:center;flex-wrap:wrap;}
.jnw-footer-logo{height:58px;width:auto;display:block;}
.jnw-footer strong{display:block;color:#fff;font-size:16px;}
.jnw-footer span{display:block;color:var(--coral-light);font-weight:700;margin-top:3px;}
.topbar,.portal-header,.portal-nav,.jnw-app-brand,.jnw-app-hero{display:none!important;}
@media(max-width:860px){.jnw-header-inner{flex-wrap:wrap;gap:14px;padding:14px 20px}.jnw-logo-box{min-width:0}.jnw-logo-img{height:56px}.jnw-title-box{border-left:none;padding-left:0;flex-basis:100%}.jnw-title-box h1{font-size:23px}.container,.main,.workspace{padding:24px 16px}.card,.panel,.auth-card{padding:24px 22px}.jnw-nav{padding:0 16px}.jnw-footer-inner{justify-content:flex-start}}


/* =========================================================
   JNW Phase A Final Readability & Branding Patch v4
   Purpose: fix all identified contrast/readability defects.
   ========================================================= */
:root{
  --jnw-blue:#1565C0;
  --jnw-purple:#6A1B9A;
  --jnw-slate:#37474F;
}

/* Header action grouping and public/login behavior */
.jnw-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.jnw-public .jnw-header-actions{display:none!important;}
.jnw-public .jnw-app-header .jnw-header-btn{display:none!important;}

/* Never allow unreadable status pills */
.status-badge,
.status-badge-large,
.panel-badge,
.badge,
.status-pill{
  color:#FFFFFF!important;
  font-weight:900!important;
  text-shadow:none!important;
  letter-spacing:.045em!important;
  line-height:1.1!important;
}
.status-badge,
.status-badge-large{
  box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
  border:1px solid rgba(255,255,255,.24)!important;
}
.status-badge-large{
  font-size:16px!important;
  padding:10px 18px!important;
  border-radius:999px!important;
}
.panel-badge{background:var(--teal-dark)!important;padding:7px 12px;border-radius:999px;display:inline-flex;}

/* Dashboard progress readability */
.progress-track,.bar-track{height:15px!important;background:#E5EAF0!important;border-radius:999px!important;}
.progress-fill,.bar-fill{min-width:2px;border-radius:999px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)!important;}
.progress-percent{font-size:16px!important;color:var(--ink)!important;text-align:right!important;font-weight:900!important;margin:8px 0 12px!important;}
.status-msg{font-size:17px!important;color:var(--ink)!important;font-weight:700!important;line-height:1.7!important;}

/* General readability: no weak gray text for functional labels */
.lbl,.stat-lbl,.sc-label{color:#243746!important;font-weight:900!important;letter-spacing:.075em!important;}
.small,.small-note,.section-note,.footer-note,.small-muted,.ac-meta,.applicant-meta,.project-card-meta,.domain-bar-label,.welcome-sub{color:#455A64!important;}
.muted-strong{color:#455A64!important;font-weight:700!important;}

/* Better dashboard cards */
.stat-card,.stat-item{border-left:6px solid var(--teal-dark)!important;background:#FFFFFF!important;}
.num,.stat-num,.sc-count{color:var(--teal-dark)!important;font-weight:900!important;}
.status-panel h2,.checklist-panel h2,.card h2,.panel h2{color:var(--teal-dark)!important;}

/* Buttons: strong readable labels */
.btn,.button,button,.btn-primary,.btn-secondary,.btn-coral,.btn-review,.btn-save,.btn-pkg,.gen-btn{
  color:#FFFFFF!important;
  font-weight:900!important;
  text-shadow:none!important;
  letter-spacing:.01em!important;
}
.btn-secondary,.btn.secondary{background:linear-gradient(135deg,var(--teal-dark),var(--teal))!important;}
.btn-secondary:hover,.btn.secondary:hover{background:var(--teal-dark)!important;}

/* Reviewer dashboard status pills may have light inline backgrounds; force legible dark text only on reviewer dashboard cards */
.reviewer-dashboard .status-badge[style*="#e3f2fd"],
.reviewer-dashboard .status-badge[style*="#e8f5e9"],
.reviewer-dashboard .status-badge[style*="#fff3e0"],
.reviewer-dashboard .status-badge[style*="#f3e5f5"],
.reviewer-dashboard .status-badge[style*="#e0f2f1"],
.reviewer-dashboard .status-badge[style*="#f5f5f5"]{
  color:var(--ink)!important;
  text-shadow:none!important;
  border:1px solid rgba(0,0,0,.12)!important;
}

/* Tables and forms */
th{color:#FFFFFF!important;font-weight:900!important;}
td{color:var(--ink)!important;}
label{color:var(--teal-dark)!important;font-weight:900!important;}
input,select,textarea{color:var(--ink)!important;background:#FFFFFF!important;}

/* Footer contrast */
.jnw-footer{color:#FFFFFF!important;}
.jnw-footer strong{color:#FFFFFF!important;}
.jnw-footer span{color:var(--coral-light)!important;font-weight:900!important;}

@media(max-width:860px){
  .jnw-header-actions{width:100%;justify-content:flex-start;}
  .progress-percent{text-align:left!important;}
}
