/* ============================================================
   Scienceroot Editorial Manager — brand theme
   Matches scienceroot.in: forest green, gold, parchment.
   ============================================================ */
:root{
  --ink:#1c1b14;
  --parchment:#f4f0e3;
  --parchment-2:#ece5d1;
  --forest:#22402f;
  --forest-2:#173026;
  --forest-3:#12271e;
  --root:#7c4a30;
  --root-light:#a9754f;
  --gold:#c69a3d;
  --gold-lt:#d8ab4c;
  --line:#d9d0b8;
  --line-soft:#e6dfcc;
  --white:#fffdf7;
  --muted:#6b6753;
  --journal:#c69a3d;
  --maxw:1180px;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Source Sans 3',system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;color:var(--forest-2);margin:0 0 12px;letter-spacing:-.01em;}
h1{font-size:28px;font-weight:600;line-height:1.2;}
h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
   color:var(--root);font-family:'IBM Plex Mono',monospace;margin:0 0 14px;}
h3{font-size:19px;font-weight:600;}
a{color:var(--forest);}
a:hover{color:var(--root);}
.mono,pre,.code,.hdate,.dcode{font-family:'IBM Plex Mono',monospace;}
.muted{color:var(--muted);} .small{font-size:13.5px;} .bad{color:#8f2f2f;}
.req{color:#c0392b;font-size:15px;line-height:1;font-weight:700;
     letter-spacing:0;text-transform:none;margin-left:2px;vertical-align:middle;}
.reqnote{font-size:13.5px;color:var(--muted);margin:0 0 4px;}
.reqnote .req{font-size:14px;}
.barwrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}

/* ---------------- masthead ---------------- */
.bar{
  background:linear-gradient(160deg,var(--forest-3) 0%,var(--forest-2) 55%,#1d3a2b 100%);
  color:var(--parchment);
  border-bottom:3px solid var(--gold);
  padding:14px 0;
}
.bar .barwrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;}
.logo img{height:46px;width:auto;display:block;}
.logo .sub{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);border-left:1px solid rgba(198,154,61,.4);
  padding-left:14px;line-height:1.5;
}
.mainnav{margin-left:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.mainnav a{
  color:#d5d0bd;text-decoration:none;font-size:14.5px;
  padding:4px 0;border-bottom:2px solid transparent;
}
.mainnav a:hover{color:var(--white);border-bottom-color:var(--gold);}
.mainnav .who{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.05em;
  color:#9fb0a4;text-transform:uppercase;
}
.mainnav .who span{color:var(--gold);}

/* ---------------- page ---------------- */
.page{max-width:var(--maxw);margin:0 auto;padding:30px 26px 70px;}
.narrow{max-width:720px;margin:0 auto;}

.card{
  background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:22px 24px;margin-bottom:18px;
}
.card.accentbar{border-left:4px solid var(--gold);}

.flash{padding:12px 16px;border-radius:3px;margin-bottom:18px;font-size:15px;border:1px solid;}
.flash.ok{background:#eef3ea;color:#2c5138;border-color:#cfe0d2;}
.flash.err{background:#f8eeea;color:#8f2f2f;border-color:#e8d3ca;}

/* ---------------- stats ---------------- */
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;}
.stat{
  background:var(--white);border:1px solid var(--line);border-top:3px solid var(--forest);
  border-radius:3px;padding:14px 16px;
}
.stat .n{display:block;font-family:'Fraunces',serif;font-size:26px;font-weight:600;
  line-height:1.05;color:var(--forest-2);}
.stat .l{font-size:12px;color:var(--muted);font-family:'IBM Plex Mono',monospace;
  letter-spacing:.05em;text-transform:uppercase;}

/* ---------------- tables ---------------- */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{
  text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
  text-transform:uppercase;letter-spacing:.1em;color:var(--root);
  padding:9px 12px;border-bottom:1px solid var(--line);font-weight:500;
}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top;font-size:15px;}
.tbl tr:last-child td{border-bottom:0;}
.tbl tr[onclick]{cursor:pointer;}
.tbl tr[onclick]:hover td{background:var(--parchment);}
.rev{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--root);}

/* ---------------- pills ---------------- */
.pill{
  display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
  font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 11px;border-radius:2px;border:1px solid;
}
.pill.blue{background:#eaf0f5;color:#2d4a63;border-color:#cdd9e4;}
.pill.amber{background:#f9f0dc;color:#7a5a16;border-color:#e8d9b4;}
.pill.green{background:#eaf2ea;color:#2c5138;border-color:#cddcd0;}
.pill.red{background:#f8eeea;color:#8f2f2f;border-color:#e8d3ca;}
.pill.violet{background:#efecf5;color:#4a4070;border-color:#dbd5e6;}
.pill.grey{background:var(--parchment-2);color:var(--muted);border-color:var(--line);}

/* ---------------- manuscript head ---------------- */
.dhead{
  display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;
  border-left:4px solid var(--journal);
}
.dcode{margin:0 0 6px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--root);}
.dhead h1{font-size:25px;margin-bottom:8px;}

/* ---------------- tracker ---------------- */
.phaseline{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  margin:0 0 10px;padding:10px 14px;background:var(--white);
  border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:3px;
}
.phaseline .pstep{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--root);
}
.phaseline .pname{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--forest-2);}
.phaseline .pwho{margin-left:auto;font-size:13.5px;color:var(--muted);}
.phaseline .pwho strong{color:var(--forest-2);}

.scorecard{
  background:var(--parchment);border:1px solid var(--line);
  border-radius:3px;padding:4px 16px 16px;margin-top:8px;
}
.scorecard label{margin-top:14px;}

.tracker{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap;}
.tstep{
  flex:1 1 132px;background:var(--white);border:1px solid var(--line);border-radius:3px;
  padding:10px 12px;display:flex;align-items:center;gap:10px;
}
.tstep .tn{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:500;
  background:var(--parchment-2);color:var(--muted);
}
.tstep .tl{font-size:12.5px;line-height:1.3;color:var(--muted);}
.tstep.done{border-color:#cddcd0;}
.tstep.done .tn{background:var(--forest);color:var(--parchment);}
.tstep.done .tl{color:var(--forest-2);}
.tstep.now{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,154,61,.18);}
.tstep.now .tn{background:var(--gold);color:var(--forest-2);}
.tstep.now .tl{color:var(--ink);font-weight:600;}
.tstep.dead{border-color:#e8d3ca;}
.tstep.dead .tn{background:#e8d3ca;color:#8f2f2f;}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-block;border:1px solid var(--line);background:var(--parchment);
  color:var(--forest-2);border-radius:2px;padding:11px 20px;cursor:pointer;
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;font-weight:500;text-decoration:none;
}
.btn:hover{background:var(--parchment-2);color:var(--forest-2);}
.btn.primary{background:var(--gold);color:var(--forest-2);border-color:transparent;font-weight:600;}
.btn.primary:hover{background:var(--gold-lt);}
.btn.danger{background:#f8eeea;color:#8f2f2f;border-color:#e8d3ca;}
.btn.small{padding:6px 13px;font-size:10.5px;}

/* ---------------- forms ---------------- */
.form label{
  display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
  text-transform:uppercase;letter-spacing:.1em;color:var(--root);
  font-weight:500;margin:16px 0 6px;
}
.form input[type=text],.form input[type=email],.form input[type=password],
.form input[type=tel],.form input[type=number],.form input[type=url],
.form textarea,.form select,.form input[type=file]{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:2px;
  font-family:inherit;font-size:15px;background:var(--white);color:var(--ink);
}
.form input:focus,.form textarea:focus,.form select:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,154,61,.16);
}
.form textarea{resize:vertical;line-height:1.6;}
.form .chk{
  display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;
  font-family:inherit;font-weight:400;font-size:15px;color:var(--ink);margin:10px 0;
}
.form .chk input{width:auto;margin-top:5px;}
.form button{margin-top:18px;}
.form.compact label{margin-top:10px;}
.inline{display:inline;}
.inline select{
  padding:5px 9px;border:1px solid var(--line);border-radius:2px;
  font-family:inherit;font-size:13.5px;background:var(--white);
}

/* ---------------- actions ---------------- */
.actform{border-top:1px solid var(--line-soft);padding:14px 0;}
.actform:first-of-type{border-top:0;padding-top:0;}
.actline{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.actline strong{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--forest-2);}

/* ---------------- reviewers ---------------- */
.rv{border-top:1px solid var(--line-soft);padding:14px 0;}
.rv:first-of-type{border-top:0;padding-top:0;}
.rvc{
  font-size:14.5px;color:#3a3826;background:var(--parchment);
  border-left:2px solid var(--line);border-radius:0 3px 3px 0;
  padding:10px 14px;margin-top:9px;line-height:1.6;
}
.rvc.conf{background:#f9f4e8;border-left-color:var(--gold);}
.rec{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:500;color:var(--root);}

/* ---------------- emails ---------------- */
.mail{border-top:1px solid var(--line-soft);padding:4px 0;}
.mail:first-of-type{border-top:0;}
.mail summary{cursor:pointer;padding:11px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.mail summary:hover .msub{color:var(--root);}
.mail summary .code{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;background:var(--parchment-2);
  border-radius:2px;padding:3px 8px;color:var(--root);letter-spacing:.05em;
}
.mail .msub{font-weight:600;flex:1;min-width:200px;font-size:15px;}
.mail pre{
  white-space:pre-wrap;word-wrap:break-word;background:var(--parchment);
  border:1px solid var(--line);border-radius:3px;padding:16px 18px;
  font-size:13px;line-height:1.7;color:#3a3826;
}

/* ---------------- history ---------------- */
.hist{list-style:none;margin:0;padding:0;}
.hist li{border-top:1px solid var(--line-soft);padding:11px 0;font-size:15px;}
.hist li:first-child{border-top:0;}
.hdate{font-size:11px;color:var(--muted);margin-right:10px;letter-spacing:.03em;}
.hnote{font-size:14px;color:var(--muted);margin-top:4px;}

/* ---------------- misc ---------------- */
.abs{font-size:16px;line-height:1.75;color:#3a3826;}
.note{
  background:var(--parchment);border-left:3px solid var(--gold);
  padding:14px 18px;margin:16px 0;font-size:14.5px;color:#3a3826;
}
.note p{margin:0 0 9px;} .note p:last-child{margin:0;}
.filelist{margin:0;padding-left:20px;} .filelist li{margin-bottom:6px;}
.checks{list-style:none;padding:0;} .checks li{padding:5px 0;font-size:15px;}
.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 16px;}

/* ---------------- footer ---------------- */
.foot{
  background:var(--forest-2);color:#8d9686;padding:22px 0;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.04em;
  margin-top:40px;border-top:3px solid var(--gold);
}
.foot .barwrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}

/* ---------------- sign-in ---------------- */
.authwrap{max-width:440px;margin:10px auto 0;}
.authwrap .card{padding:26px 30px 28px;}
.authwrap h1{font-size:25px;text-align:center;margin-bottom:6px;}
.authlede{
  text-align:center;font-size:14.5px;color:var(--muted);
  margin:0 0 4px;line-height:1.55;
}

/* ---------------- journal catalogue (sign-in page) ---------------- */
.catalogue{
  max-width:1080px;margin:48px auto 0;padding-top:34px;
  border-top:1px solid var(--line);
}
.cathead{text-align:center;margin-bottom:8px;}
.catlede{
  text-align:center;max-width:600px;margin:0 auto 30px;
  color:var(--muted);font-size:15.5px;
}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.jcard{
  display:flex;flex-direction:column;background:var(--parchment-2);
  border:1px solid var(--line);border-radius:4px;overflow:hidden;
}
.jart{display:flex;align-items:center;justify-content:center;height:172px;padding:16px;}
.jart img{max-height:140px;width:auto;}
.j-acs .jart{background:linear-gradient(135deg,#05132d,#1f4c8f);}
.j-tmm .jart{background:linear-gradient(135deg,#04121f,#11475f);}
.j-med .jart{background:linear-gradient(135deg,#03273f,#1094a9);}
.jbody{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;}
.jcode{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--root);margin:0 0 8px;
}
.jcard h3{font-size:17px;line-height:1.32;margin-bottom:11px;}
.jscope{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 18px;flex:1;}
.jlink{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;color:var(--forest);font-weight:600;
  border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:3px;
}
.jlink:hover{color:var(--root);}

@media (max-width:980px){
  .jgrid{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
}
@media (max-width:900px){
  .stats{grid-template-columns:repeat(2,1fr);}
  .mainnav{width:100%;margin-left:0;gap:16px;}
  .logo .sub{display:none;}
}
@media (max-width:560px){
  .barwrap,.page{padding-left:18px;padding-right:18px;}
  .logo img{height:38px;}
  h1{font-size:23px;}
}
