/* Koda — võrgustiku tööruum. Sama perekond mis avalik leht, aga tihedam:
   siin ei veenda kedagi, siin tehakse tööd. */

.koda-nav{ position:sticky; top:0; z-index:60; background:var(--ink); color:#fff; }
.koda-nav .wrap{ display:flex; align-items:center; gap:16px; height:60px; }
.koda-nav .brand{ color:#fff; }
.koda-nav .brand small{ color:#8FD8C9; }
.koda-who{ margin-left:auto; display:flex; align-items:center; gap:12px; font-size:.9rem;
  color:rgba(255,255,255,.75); }
.koda-who b{ color:#fff; font-weight:700; }
.koda-who a,.koda-who button{ color:#8FD8C9; background:none; border:0; cursor:pointer;
  font:inherit; font-weight:650; text-decoration:none; }

.tabs{ display:flex; gap:2px; border-bottom:1.5px solid var(--line); margin:26px 0 24px;
  overflow-x:auto; scrollbar-width:none; }
.tabs::-webkit-scrollbar{ display:none; }
.tabs button{ border:0; background:none; padding:12px 16px; font-weight:700; font-size:.98rem;
  color:var(--ink-3); cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-1.5px;
  white-space:nowrap; display:inline-flex; align-items:center; gap:8px; }
.tabs button[aria-selected="true"]{ color:var(--ink); border-bottom-color:var(--sea); }
.tabs .badge{ background:var(--ember); color:#fff; border-radius:99px; padding:1px 8px;
  font-size:.75rem; font-weight:800; }

.panel{ padding-bottom:80px; }
.panel-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.panel-head h2{ font-size:1.35rem; font-weight:750; }
.panel-head .btn{ margin-left:auto; }
.block{ margin-bottom:38px; }
.block > h3{ font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.block > h3 .n{ background:var(--sand); color:var(--ink-2); border-radius:99px; padding:2px 9px;
  font-size:.75rem; letter-spacing:0; }
.block.warn > h3{ color:var(--ember); }

.rows{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line);
  border-radius:var(--r-s); overflow:hidden; }
.row{ background:var(--paper-2); padding:14px 16px; display:flex; gap:14px; align-items:center;
  flex-wrap:wrap; }
.row-main{ flex:1; min-width:220px; }
.row-main > b{ display:block; font-weight:700; font-size:1rem; }
.row-main small{ color:var(--ink-3); font-size:.87rem; display:block; margin-top:2px; }
.row-acts{ display:flex; gap:6px; flex-wrap:wrap; }
.row.is-new{ background:#FFFBF6; box-shadow:inset 3px 0 0 var(--ember); }
.row.is-hidden{ background:var(--sand); }
.row .tags{ display:flex; gap:5px; flex-wrap:wrap; }

.mini{ border:1.5px solid var(--line); background:var(--paper-2); border-radius:99px;
  padding:6px 13px; font-size:.85rem; font-weight:650; cursor:pointer; color:var(--ink-2); }
.mini:hover{ background:var(--sand); color:var(--ink); }
.mini-go{ border-color:var(--sea); color:var(--sea); }
.mini-go:hover{ background:var(--sea); color:#fff; }
.mini-bad{ border-color:#E6BCA8; color:var(--ember); }
.mini-bad:hover{ background:var(--ember); color:#fff; }

.editor .sheet-panel{ width:min(760px,100%); }
.editor .sheet-body{ gap:16px; }
.ed-grid{ display:grid; gap:14px; grid-template-columns:1fr 1fr; }
@media (max-width:660px){ .ed-grid{ grid-template-columns:1fr; } }
.ed-full{ grid-column:1/-1; }
.check{ display:flex; align-items:center; gap:10px; font-weight:650; cursor:pointer; }
.check input{ width:18px; height:18px; accent-color:var(--sea); }

.needs-ed{ display:flex; flex-direction:column; gap:8px; }
.need-ed{ border:1.5px solid var(--line); border-left:4px solid var(--ember);
  border-radius:var(--r-s); padding:12px 14px; background:var(--paper-2);
  display:grid; gap:8px; grid-template-columns:150px 1fr auto; align-items:start; }
.need-ed.done{ border-left-color:var(--sea); opacity:.62; }
.need-ed input,.need-ed select{ padding:8px 11px; border:1.5px solid var(--line);
  border-radius:6px; width:100%; font-size:.92rem; }
.need-ed .stack{ display:flex; flex-direction:column; gap:6px; }
.need-ed .acts{ display:flex; gap:5px; }
@media (max-width:660px){ .need-ed{ grid-template-columns:1fr; } }

.doc{ line-height:1.65; }
.doc h1,.doc h2,.doc h3{ margin:1.4em 0 .5em; line-height:1.2; }
.doc h1{ font-size:1.5rem; } .doc h2{ font-size:1.25rem; } .doc h3{ font-size:1.05rem; }
.doc ul,.doc ol{ margin:0 0 1em; padding-left:1.4em; }
.doc li{ margin-bottom:.35em; }
.doc p{ margin:0 0 1em; }
.doc code{ background:var(--sand); padding:1px 5px; border-radius:4px; font-size:.92em; }
.doc hr{ border:0; border-top:1px solid var(--line); margin:1.6em 0; }

.split{ display:grid; gap:24px; grid-template-columns:minmax(0,1fr) 280px; align-items:start; }
@media (max-width:900px){ .split{ grid-template-columns:1fr; } }
.revs{ border:1.5px solid var(--line); border-radius:var(--r-s); padding:16px;
  background:var(--paper-2); }
.revs h4{ font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); margin:0 0 10px; }
.revs ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1px; }
.revs li{ padding:9px 0; border-bottom:1px solid var(--line); font-size:.88rem; }
.revs li:last-child{ border:0; }
.revs b{ font-weight:700; }
.revs span{ display:block; color:var(--ink-3); font-size:.8rem; }

.login-wrap{ max-width:420px; margin:80px auto; padding:0 22px; }
.login-card{ background:var(--paper-2); border:1.5px solid var(--line); border-radius:var(--r);
  padding:30px; box-shadow:var(--shadow); }
.login-card h1{ font-size:1.6rem; font-weight:800; margin-bottom:8px; }
.login-card > p{ color:var(--ink-2); margin-bottom:22px; }

.ed-body{ min-height:340px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.92rem; line-height:1.6; }
.hint-bar{ font-size:.85rem; color:var(--ink-3); }
