/* Acta — laboratory-notebook aesthetic: cream graph-paper, serif headings,
   monospace instrument data, ruled log lines, a red margin rule. */
:root{
  --paper:#efece0; --page:#fbfaf3; --ink:#1f2a36; --ink-dim:#63707c;
  --rule:#d5ddE4; --rule2:#e7ecf0; --grid:rgba(80,110,140,.09); --margin:#cf8f86;
  --accent:#2f5d50; --ink-blue:#20456b;
  --green:#2e7d32; --red:#b23b32; --amber:#a9781a;
  --mono:'Courier New',ui-monospace,monospace;
  --serif:Georgia,'Iowan Old Style','Times New Roman',serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:var(--serif); color:var(--ink); font-size:15px; line-height:1.5;
  background-color:var(--paper);
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size:22px 22px;
}
a{color:var(--ink-blue);text-decoration:none;} a:hover{text-decoration:underline;}

.masthead{background:var(--page);border-bottom:2px solid var(--accent);
  padding:11px 26px;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.masthead .brand{font-weight:700;font-size:1.4rem;color:var(--accent);letter-spacing:.01em;text-decoration:none;}
.masthead .brand:hover{opacity:.8;}
.masthead .sub{color:var(--ink-dim);font-size:.82rem;font-family:var(--mono);}
.masthead a{color:var(--accent);}
.mh-spacer{margin-left:auto;}
/* primary nav — spaced, quiet until hovered */
.topnav{display:flex;gap:1.1rem;align-items:center;}
.topnav a{color:var(--accent);font-size:.92rem;text-decoration:none;opacity:.85;}
.topnav a:hover{opacity:1;text-decoration:underline;}
/* identity block — name over organization, right-aligned, links to settings */
.whoami{display:flex;flex-direction:column;line-height:1.2;text-align:right;text-decoration:none;}
.whoami:hover{text-decoration:none;}
.whoami .who-name{color:var(--ink);font-weight:600;font-size:.92rem;}
.whoami .who-org{color:var(--ink-dim);font-family:var(--mono);font-size:.72rem;}
.whoami:hover .who-org{color:var(--accent);}
.verified-tick{display:inline-block;margin-left:.28rem;color:#fff;background:var(--green);
  font-size:.62rem;font-weight:700;width:14px;height:14px;line-height:14px;text-align:center;
  border-radius:50%;vertical-align:middle;}
.mh-logout{color:var(--ink-dim);font-size:.84rem;align-self:center;}
.mh-search input{background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:5px 12px;font-size:.82rem;color:var(--ink);width:160px;font-family:var(--mono);}
.mh-search input:focus{outline:none;border-color:var(--accent);}
@media (max-width:640px){ .mh-search{order:4;} .mh-search input{width:100%;} }

.page{max-width:960px;margin:1.6rem auto;background:var(--page);
  border:1px solid #d8d4c4;border-left:6px solid var(--margin);
  box-shadow:0 1px 5px rgba(0,0,0,.09);padding:1.7rem 2.1rem 2.5rem;}

h1{font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:.2rem;letter-spacing:.01em;}
h1 .num{color:var(--ink-dim);font-weight:400;font-size:1rem;}
h2{font-size:1.05rem;color:var(--accent);margin:1.5rem 0 .5rem;
  border-bottom:1px solid var(--rule);padding-bottom:.25rem;letter-spacing:.02em;}
.sub-line{color:var(--ink-dim);font-family:var(--mono);font-size:.82rem;margin-bottom:.6rem;}
.dim{color:var(--ink-dim);}
.mono{font-family:var(--mono);}

/* status badges */
.badge{font-family:var(--mono);font-size:.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;padding:2px 9px;border-radius:2px;border:1px solid;}
.badge.ok{background:#e7f2e8;color:var(--green);border-color:#a9ccab;}
.badge.bad{background:#f6e3e1;color:var(--red);border-color:#d8a6a1;}
.badge.pending{background:#f5edd8;color:var(--amber);border-color:#d8c690;}

/* protocol block (uncertainty/hypothesis/controls/measures) */
.protocol{border:1px solid var(--rule);background:#fff;border-radius:3px;
  padding:.9rem 1.1rem;margin:1rem 0;}
.protocol .row{display:flex;gap:.6rem;padding:.25rem 0;border-bottom:1px dotted var(--rule2);}
.protocol .row:last-child{border-bottom:none;}
.protocol .k{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--accent);min-width:110px;padding-top:.15rem;}

/* the log — ruled instrument lines */
table.log{width:100%;border-collapse:collapse;margin-top:.4rem;}
table.log th{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;
  letter-spacing:.05em;color:var(--ink-dim);text-align:left;padding:.35rem .5rem;
  border-bottom:2px solid var(--accent);}
table.log td{padding:.5rem .5rem;border-bottom:1px solid var(--rule);vertical-align:top;}
table.log td.t,table.log td.h{font-family:var(--mono);font-size:.82rem;color:var(--ink-dim);white-space:nowrap;}
table.log .reading{font-family:var(--mono);color:var(--ink-blue);}
table.log .kindtag{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.03em;color:var(--accent);}
pre{font-family:var(--mono);background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:.6rem;white-space:pre-wrap;font-size:.85rem;margin-top:.3rem;}

/* forms — fill-in-the-form feel */
.panel{border:1px solid var(--rule);background:#fff;border-radius:3px;padding:1rem 1.1rem;margin:1rem 0;}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;}
label.fld{display:flex;flex-direction:column;gap:.2rem;font-family:var(--mono);
  font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);}
input,select,textarea{font-family:var(--serif);font-size:.95rem;color:var(--ink);
  background:#fff;border:none;border-bottom:1.5px solid var(--rule);padding:5px 4px;}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--accent);}
textarea{width:100%;min-height:70px;border:1px solid var(--rule);border-radius:3px;padding:8px;}
button{font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.03em;
  background:var(--accent);color:#fbfaf3;border:none;padding:8px 16px;border-radius:3px;cursor:pointer;}
button:hover{background:#26493f;}
button.ghost{background:#fff;color:var(--accent);border:1px solid var(--accent);}
input[type=file]{font-family:var(--mono);font-size:.82rem;color:var(--ink-dim);}
input[type=file]::file-selector-button{background:var(--accent);color:#fbfaf3;border:none;
  padding:6px 12px;border-radius:3px;cursor:pointer;font-family:var(--mono);margin-right:.55rem;}
input[type=file]::file-selector-button:hover{background:#26493f;}

.empty{color:var(--ink-dim);font-style:italic;padding:1rem 0;}
.entry-block{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--accent);
  border-radius:2px;padding:.55rem .8rem;margin-bottom:1rem;}
.foot{margin-top:2.5rem;color:var(--ink-dim);font-size:.78rem;font-family:var(--mono);
  text-align:center;border-top:1px solid var(--rule);padding-top:1rem;}

.linkish{background:none;border:none;color:var(--ink-blue);font:inherit;cursor:pointer;padding:0;text-decoration:none;}
.linkish:hover{text-decoration:underline;}

/* breadcrumb */
.breadcrumb{font-family:var(--mono);font-size:.76rem;color:var(--ink-dim);margin-bottom:.5rem;}
.breadcrumb a{color:var(--accent);} .breadcrumb .crumb-here{color:var(--ink);}

/* first-run welcome guide */
.firstrun h3{font-family:var(--serif);color:var(--accent);font-size:1.05rem;margin-bottom:.3rem;}
.firstrun ol{margin:.4rem 0 .6rem 1.2rem;line-height:1.7;}
.firstrun li{margin-bottom:.15rem;}

/* ── mobile / narrow screens (phone-first field use) ── */
@media (max-width:640px){
  .masthead{padding:9px 14px;gap:.5rem .8rem;}
  .masthead .brand{font-size:1.2rem;}
  .topnav{gap:.8rem;order:3;width:100%;margin-top:.2rem;}
  .mh-spacer{display:none;}
  .whoami{text-align:left;} .whoami .who-org{font-size:.68rem;}
  .page{margin:1rem .7rem;padding:1rem 1rem 1.3rem;}
  h1{font-size:1.3rem;}
  /* tables scroll horizontally instead of overflowing the viewport */
  .log{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .row{flex-wrap:wrap;}
  .fld input,.fld select{max-width:100%;}
}
