:root{--teal:#0b3433;--teal2:#164b48;--peach:#f1d5c5;--peach2:#faede5;--ivory:#fffaf6;--ink:#173f3d;--muted:#70807d;--line:#e5d9d1;--white:#fff;--red:#9e3e36;--green:#1c745f}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial;color:var(--ink);background:var(--ivory)}a{text-decoration:none;color:inherit}input,select,textarea,button{font:inherit}.top{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;border-bottom:1px solid var(--line);background:#fffaf6f2;position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center}.brand>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--teal);color:var(--peach);font-size:24px;font-weight:900}.brand b{font-size:22px}.brand small{display:block;font-size:8px;letter-spacing:.16em;color:var(--muted)}nav{display:flex;gap:22px;align-items:center;font-size:13px}.cta,button,.actions a{background:var(--teal);color:#fff;padding:11px 17px;border-radius:9px;border:0;font-weight:800;cursor:pointer}.hero{padding:80px 6%;min-height:600px;display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center;background:radial-gradient(circle at 80% 15%,#efc6af 0,transparent 28%),linear-gradient(135deg,#fff7f2,#fbe7db)}.eyebrow{color:#c88461;font-weight:900;letter-spacing:.16em}.hero h1{font-size:66px;line-height:1.02;margin:12px 0}.hero h1 em{font-style:normal;color:#c88461}.hero p{font-size:19px;color:#59716e;line-height:1.65}.search{display:flex;background:#fff;border:1px solid var(--line);padding:7px;border-radius:13px;max-width:760px;margin:25px 0}.search input{flex:1;border:0;outline:0;padding:14px}.actions{display:flex;gap:10px}.actions .outline{background:transparent;color:var(--teal);border:1px solid #bfaea3}.passport{background:#ffffffd9;border:1px solid #fff;padding:28px;border-radius:22px;box-shadow:0 25px 70px #553b2c1b}.passport>div:not(.bigscore){display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.bigscore{font-size:58px;font-weight:900;color:var(--teal)}.bigscore small{font-size:16px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--teal);color:#fff;padding:27px 7%}.stats div{text-align:center}.stats b{display:block;font-size:32px;color:var(--peach)}.stats span{font-size:12px;color:#bad0cd}.section{padding:68px 6%}.section h2,.pagehead h1{font-size:38px;margin:8px 0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:0 10px 32px #49372d0d;margin-bottom:15px}.card p{color:var(--muted);line-height:1.6}.cardfoot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:17px;padding-top:12px;font-size:11px}.dark{background:var(--teal);color:#fff}.dark h2{color:#fff}.domains{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.domains div{border:1px solid #ffffff1a;background:#ffffff0a;border-radius:12px;padding:14px;display:grid;gap:4px}.domains b{font-size:22px;color:var(--peach)}.domains small{color:#a8c2be}.pagehead{padding:60px 6%;background:linear-gradient(135deg,#fff6f0,#f8e1d4)}.pagehead p{color:var(--muted)}.filter{display:grid;grid-template-columns:1fr auto;gap:8px}.filter input,.form input,.form select,.form textarea,.inline input,.inline select,td input{border:1px solid #dccfc7;border-radius:8px;padding:11px;background:#fff}.journalhero{padding:50px 6%;background:var(--teal);color:#fff;display:flex;justify-content:space-between;align-items:center}.journalhero h1{font-size:42px}.scorebox{background:#ffffff0c;border:1px solid #ffffff1c;border-radius:15px;padding:22px;text-align:center}.scorebox b{display:block;font-size:52px;color:var(--peach)}.profile{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile .card{margin:0}.profile dl{display:grid;grid-template-columns:120px 1fr;gap:7px}.profile dd{margin:0;font-weight:700}.gates{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gates .card{display:grid;gap:4px;margin:0}.gates b{color:#c88461}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.badge.good{background:#e1f3ec;color:#1c6955}.badge.mid{background:#fff0da;color:#8d5a18}.badge.bad{background:#fde7e4;color:#963b34}.narrow{max-width:900px;margin:auto}.form{display:grid;gap:13px}.form label{display:grid;gap:6px;font-size:13px;font-weight:700}.form textarea{min-height:110px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:12px;border-radius:9px;background:#e4f4ed}.auth{min-height:650px;background:linear-gradient(135deg,var(--teal),var(--teal2));display:grid;place-items:center}.auth .card{width:min(460px,92%);background:#fff6f0}.auth h1{margin:0}footer{background:var(--teal);color:#c2d4d1;padding:35px 6%;display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px;font-size:12px}footer b{color:var(--peach);font-size:20px}

/* portal */
.portal{background:#f6efe9}.portal aside{position:fixed;left:0;top:0;width:240px;height:100vh;background:var(--teal);padding:18px 12px;color:#c7d8d5;overflow:auto}.portal aside>.brand{margin-bottom:20px}.portal aside a:not(.brand){display:block;padding:10px 12px;border-radius:8px;font-size:13px}.portal aside a:not(.brand):hover{background:#ffffff0d}.portal main{margin-left:240px;padding:0 25px 45px}.portalhead{min-height:100px;display:flex;justify-content:space-between;align-items:center}.portalhead small{color:#c88461;letter-spacing:.14em;font-weight:900}.portalhead h1{margin:5px 0}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.statgrid div{background:#fff6f0;border:1px solid var(--line);padding:18px;border-radius:12px}.statgrid span{display:block;color:var(--muted);font-size:11px}.statgrid b{font-size:28px}.pipeline{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.pipeline div{padding:12px;border-radius:9px;background:#fff6f0;border:1px solid var(--line);text-align:center}.pipeline span{display:block;font-size:9px;color:var(--muted)}.pipeline b{font-size:20px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:top}th{font-size:10px;text-transform:uppercase;color:var(--muted)}.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline input{min-width:150px}.scoreinput{width:70px}
@media(max-width:900px){nav a:not(.cta){display:none}.hero{grid-template-columns:1fr}.grid3,.domains{grid-template-columns:1fr 1fr}.gates{grid-template-columns:1fr 1fr}.portal aside{position:static;width:100%;height:auto}.portal main{margin:0}.statgrid{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:1fr 1fr}.profile{grid-template-columns:1fr}}
@media(max-width:600px){.hero h1{font-size:44px}.stats{grid-template-columns:1fr 1fr;gap:18px}.grid3,.domains,.gates,.two{grid-template-columns:1fr}.search{flex-direction:column}.search button{padding:11px}.journalhero{flex-direction:column;align-items:flex-start}footer{grid-template-columns:1fr}}

/* Phase 2 Core */
.phase2-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.quicklinks a{background:var(--dark);color:#fff;padding:10px 14px;border-radius:8px}.critical{display:block;color:#9b342d;font-weight:800;font-size:9px;margin-top:4px}.account-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:16px}.notice.success{background:#e1f3ec;color:#1c6955}.notice.bad{background:#fde7e4;color:#963b34}@media(max-width:760px){.account-layout{grid-template-columns:1fr}.phase2-head{display:block}}

/* NeXora Gate Zero feedback */
.gate-status{
    margin-bottom:16px;
    border-left:5px solid #789;
}
.gate-status h3{
    margin-top:0;
}
.gate-pass{
    border-left-color:#27856f;
    background:#f3fbf8;
}
.gate-fail{
    border-left-color:#a6403a;
    background:#fff5f3;
}
.gate-fix{
    border-left-color:#c57b25;
    background:#fff9ef;
}
.gate-pending{
    border-left-color:#6b7780;
    background:#f7f8f8;
}
.gate-meta{
    margin:-6px 0 18px;
    padding:10px 14px;
    font-size:12px;
    color:var(--muted);
}

/* =========================================================
   NeXora Gate Zero Workflow Lock
   ========================================================= */

.nexora-eligibility-block{
    border-left:6px solid #a43e37 !important;
    background:#fff1ee !important;
    color:#672923 !important;
    padding:18px 20px !important;
    margin:0 0 20px !important;
}

.nexora-eligibility-block strong{
    display:inline-block;
    margin-bottom:6px;
    font-size:13px;
    letter-spacing:.08em;
}

.notice.error{
    border-left:6px solid #a43e37;
    background:#fff1ee;
    color:#672923;
}

/* ======================================================
   NeXora Phase 3 — Evaluator Workspace
   ====================================================== */

.coi-card{
    border-left:6px solid #c87855;
}

.evaluation-progress{
    display:grid;
    grid-template-columns:180px 1fr 180px;
    gap:20px;
    align-items:center;
}

.evaluation-progress small{
    display:block;
    color:var(--muted);
    margin-bottom:5px;
}

.progress-track{
    height:12px;
    background:#eee4dd;
    border-radius:20px;
    overflow:hidden;
}

.progress-track span{
    display:block;
    height:100%;
    background:#175a53;
}

.evaluation-domain table td{
    vertical-align:top;
}

.evaluation-domain textarea{
    width:100%;
    min-height:82px;
}

.evaluation-domain td small{
    display:block;
    margin-top:5px;
    color:var(--muted);
}

.evaluation-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.danger-button{
    background:#8f4039 !important;
}

.submit-evaluation{
    background:#123f3a !important;
}

.sticky-actions{
    position:sticky;
    bottom:12px;
    z-index:20;
    box-shadow:0 10px 30px rgba(0,0,0,.14);
}

@media(max-width:900px){

    .evaluation-progress{
        grid-template-columns:1fr;
    }

}

/* ======================================================
   NeXora Phase 3.1 — Stage Mapping
   ====================================================== */

.stage-map-card{
    margin-bottom:22px;
}

.stage-domain-grid{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:12px;
    margin:20px 0;
}

.domain-choice{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:15px;
    border:1px solid #ead8cf;
    border-radius:12px;
    background:#fffaf7;
    cursor:pointer;
}

.domain-choice input{
    margin-top:4px;
}

.domain-choice b,
.domain-choice small{
    display:block;
}

.domain-choice small{
    margin-top:5px;
    color:var(--muted);
}

@media(max-width:1000px){

    .stage-domain-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:650px){

    .stage-domain-grid{
        grid-template-columns:1fr;
    }
}

/* ======================================================
   NeXora Phase 3.2
   Committee Review + Appeals
   ====================================================== */

.committee-score-grid small{
    display:block;
    margin-top:5px;
    color:var(--muted);
}

.appeal-criteria-grid{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:10px;
    margin:18px 0 22px;
}

@media(max-width:800px){
    .appeal-criteria-grid{
        grid-template-columns:1fr;
    }
}

/* ======================================================
   NeXora Phase 4 — Journal Trust Passport
   ====================================================== */

.demo-banner{
    max-width:1180px;
    margin:18px auto 0;
    padding:14px 18px;
    border:1px solid #d3a46b;
    background:#fff3dc;
    border-radius:12px;
    color:#66451d;
}

.demo-banner b{
    display:block;
    margin-bottom:4px;
}

.passport-domains{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}

.passport-domain{
    display:flex;
    gap:14px;
    align-items:center;
    padding:16px;
    border:1px solid #ead8cf;
    border-radius:14px;
    background:#fffaf7;
}

.passport-domain > span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:10px;
    background:#153f3b;
    color:#fff;
    font-weight:700;
}

.passport-domain b,
.passport-domain small{
    display:block;
}

.passport-domain small{
    margin-top:5px;
    color:var(--muted);
}

.passport-note{
    border-left:5px solid #1d5c54;
}

@media(max-width:900px){

    .passport-domains{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){

    .passport-domains{
        grid-template-columns:1fr;
    }
}

/* ======================================================
   NeXora Phase 4 — DEMO Banner Visibility Fix
   ====================================================== */

.demo-banner{
    position:relative;
    z-index:20;
    max-width:none;
    margin:0;
    padding:14px 24px;
    border:0;
    border-bottom:1px solid rgba(103,68,22,.25);
    border-radius:0;
    background:#fff0dc;
    color:#5b3514;
    font-size:15px;
    line-height:1.45;
    box-shadow:none;
}

.demo-banner b{
    display:inline-block;
    margin-right:10px;
    color:#7b3f18;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.demo-banner + .journalhero{
    margin-top:0;
}


/* ======================================================
   NeXora Phase 4.1 — Re-evaluation Context
   ====================================================== */

.review-context{
    border-left:5px solid #c97b54;
}

.review-context dl{
    margin-top:18px;
}


/* ======================================================
   NeXora Phase 4.2B
   ====================================================== */

.historical-lock{
    border-left:5px solid #9b5a35;
    background:#fff2e7;
}

.cycle-comparison{
    border-left:5px solid #c97855;
}

.comparison-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}

.comparison-grid > div{
    padding:15px;
    border:1px solid #ead8cf;
    border-radius:12px;
    background:#fffaf7;
}

.comparison-grid span{
    display:block;
    font-size:13px;
    margin-bottom:6px;
    color:var(--muted);
}

.comparison-grid b{
    display:block;
    font-size:18px;
}

.comparison-note{
    color:var(--muted);
}

@media(max-width:900px){
    .comparison-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:600px){
    .comparison-grid{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   NEXORA PUBLIC EVALUATION TIMELINE
   Phase 4.3D
   ========================================================== */

.nexora-history{
  position:relative;
}

.history-intro{
  max-width:760px;
  margin-bottom:28px;
  color:#64748b;
}

.evaluation-timeline{
  position:relative;
  margin-top:28px;
  padding-left:34px;
}

.evaluation-timeline:before{
  content:"";
  position:absolute;
  left:10px;
  top:12px;
  bottom:12px;
  width:2px;
  background:#e2e8f0;
}

.timeline-event{
  position:relative;
  margin:0 0 26px;
}

.timeline-marker{
  position:absolute;
  left:-31px;
  top:25px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  border:4px solid #172554;
  box-sizing:border-box;
  z-index:2;
}

.timeline-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:22px 24px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.timeline-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
}

.timeline-head small{
  display:block;
  margin-bottom:5px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#64748b;
}

.timeline-head h3{
  margin:0;
}

.timeline-head time{
  white-space:nowrap;
  color:#64748b;
  font-size:14px;
}

.timeline-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin-top:18px;
}

.timeline-score{
  display:flex;
  align-items:baseline;
  gap:7px;
  color:#64748b;
  font-size:14px;
}

.timeline-score b{
  color:#0f172a;
  font-size:17px;
}

.timeline-reason{
  margin:18px 0 0;
  padding-top:17px;
  border-top:1px solid #eef2f7;
  line-height:1.65;
}

.next-review-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:30px 0 0 34px;
  padding:20px 24px;
  border:1px solid #dbe4ef;
  border-radius:14px;
  background:#f8fafc;
}

.next-review-card > div{
  display:flex;
  align-items:center;
  gap:12px;
}

.next-review-card > div:first-child{
  display:block;
}

.next-review-card small{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  color:#64748b;
}

.next-review-card b{
  font-size:18px;
  color:#0f172a;
}

.next-review-card span{
  font-size:13px;
  color:#64748b;
}

@media(max-width:700px){

  .timeline-head{
    display:block;
  }

  .timeline-head time{
    display:block;
    margin-top:8px;
  }

  .next-review-card{
    display:block;
  }

  .next-review-card > div:last-child{
    margin-top:12px;
  }
}


/* ============================================================
   NEXORA PUBLIC APPLICATION TRACKER V1
   ============================================================ */

.tracker-head{
  padding-bottom:24px;
}

.tracker-head p{
  max-width:760px;
  font-size:17px;
}

.tracker-section{
  padding-top:10px;
}

.tracker-search{
  max-width:920px;
  margin:0 auto 32px;
  padding:28px;
  border:1px solid #ead7cb;
  border-radius:18px;
  background:#fff;
}

.tracker-search label{
  display:block;
  font-weight:700;
  margin-bottom:10px;
}

.tracker-search-row{
  display:flex;
  gap:12px;
}

.tracker-search-row input{
  flex:1;
  min-width:0;
  padding:15px 17px;
  border:1px solid #d9c9bf;
  border-radius:10px;
  font-size:17px;
  font-weight:600;
  letter-spacing:.04em;
}

.tracker-search-row button{
  padding:14px 22px;
  white-space:nowrap;
}

.tracker-search > small{
  display:block;
  margin-top:10px;
  opacity:.65;
}

.tracker-result{
  max-width:1100px;
  margin:0 auto;
}

.tracker-result-head{
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:flex-start;
  padding:30px;
  border:1px solid #ead7cb;
  border-radius:18px;
  background:#fff;
}

.tracker-result-head h2{
  margin:7px 0 8px;
}

.tracker-id-box{
  min-width:235px;
  padding:17px;
  border-radius:12px;
  background:#f8f3ef;
}

.tracker-id-box small,
.tracker-id-box b{
  display:block;
}

.tracker-id-box b{
  margin-top:5px;
  letter-spacing:.04em;
}

.tracker-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:15px 0;
}

.tracker-summary-grid > div{
  padding:18px;
  border:1px solid #ead7cb;
  border-radius:14px;
  background:#fff;
}

.tracker-summary-grid small,
.tracker-summary-grid b{
  display:block;
}

.tracker-summary-grid b{
  margin-top:7px;
}

.tracker-progress-title{
  margin:35px 0 18px;
}

.tracker-progress-title h3{
  margin:5px 0 0;
  font-size:25px;
}

.tracker-timeline{
  border:1px solid #ead7cb;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}

.tracker-step{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 22px;
  border-bottom:1px solid #eee2db;
}

.tracker-step:last-child{
  border-bottom:0;
}

.tracker-dot{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:2px solid #cfc3bb;
  font-weight:800;
}

.tracker-step.complete .tracker-dot{
  background:#0d4b45;
  border-color:#0d4b45;
  color:#fff;
}

.tracker-step.current{
  background:#fff9f1;
}

.tracker-step.current .tracker-dot{
  border-color:#c9794d;
  color:#9b4f29;
}

.tracker-step.future{
  opacity:.55;
}

.tracker-step-body b,
.tracker-step-body small{
  display:block;
}

.tracker-step-body small{
  margin-top:3px;
}

.tracker-final{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}

.tracker-final > div{
  padding:22px;
  border-radius:14px;
  background:#0d403d;
  color:#fff;
}

.tracker-final small,
.tracker-final strong{
  display:block;
}

.tracker-final strong{
  margin-top:6px;
  font-size:24px;
}

.tracker-passport-link{
  margin-top:14px;
}

.tracker-passport-link a{
  display:block;
  padding:17px 20px;
  text-align:center;
  border-radius:12px;
  background:#0d403d;
  color:#fff;
  font-weight:700;
  text-decoration:none;
}

.tracker-information,
.tracker-privacy,
.tracker-next-review,
.tracker-not-found{
  max-width:1100px;
  margin:16px auto 0;
  padding:20px;
  border:1px solid #ead7cb;
  border-radius:14px;
  background:#fff;
}

.tracker-information p,
.tracker-privacy p,
.tracker-not-found p{
  margin-bottom:0;
}

.tracker-next-review small,
.tracker-next-review b{
  display:block;
}

.tracker-next-review b{
  margin-top:5px;
  font-size:20px;
}

.tracker-not-found{
  border-color:#e5b6ad;
}

@media(max-width:800px){

  .tracker-search-row{
    display:block;
  }

  .tracker-search-row button{
    width:100%;
    margin-top:10px;
  }

  .tracker-result-head{
    display:block;
  }

  .tracker-id-box{
    min-width:0;
    margin-top:18px;
  }

  .tracker-summary-grid{
    grid-template-columns:1fr 1fr;
  }

  .tracker-final{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){

  .tracker-summary-grid{
    grid-template-columns:1fr;
  }

  .tracker-search,
  .tracker-result-head{
    padding:20px;
  }
}

/* END NEXORA PUBLIC APPLICATION TRACKER V1 */

