/* Captain Brody — the manager's portal.
   One stylesheet, no framework, no build step. Served from panel/ by an
   exact-name allowlist, so it is the only .css this box will ever serve. */
:root{--bg:#14161a;--surface:#1b1e24;--line:#2b3038;--text:#e6e8ec;--dim:#8b93a1;
      --good:#5fd08a;--warn:#e8b34a;--bad:#e8695f;--accent:#7aa2f7}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
     font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body.centred{display:flex;align-items:center;justify-content:center;min-height:100vh}
nav{display:flex;gap:1.25rem;align-items:center;padding:.9rem 1.25rem;
    background:var(--surface);border-bottom:1px solid var(--line)}
nav a{color:var(--dim);text-decoration:none;font-weight:500}
nav a:hover{color:var(--text)}
nav form{margin-left:auto}
button.link{background:none;border:0;color:var(--dim);cursor:pointer;font:inherit;padding:0}
button.link:hover{color:var(--text)}
main{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem 4rem}
main.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;
          padding:2rem;width:min(92vw,380px)}
h1{font-size:1.35rem;margin:.2rem 0 .4rem}
h2{font-size:1rem;margin:2rem 0 .6rem;color:var(--dim);font-weight:600;
   text-transform:uppercase;letter-spacing:.06em}
a{color:var(--accent)}
.dim{color:var(--dim)}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}

/* thread list */
ul.threads{list-style:none;padding:0;margin:1.2rem 0 0}
ul.threads li{border-bottom:1px solid var(--line)}
ul.threads a{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;
             padding:.85rem .25rem;text-decoration:none;color:inherit}
ul.threads a:hover{background:var(--surface)}
.who{font-weight:600}
.meta{color:var(--dim);font-size:.85rem;text-align:right}
.last{grid-column:1/-1;color:var(--dim);font-size:.9rem;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* transcript */
ol.turns{list-style:none;padding:0;margin:1.2rem 0 0}
ol.turns li{margin-bottom:1.5rem}
.when{color:var(--dim);font-size:.78rem;margin-bottom:.35rem}
.q,.a{padding:.6rem .8rem;border-radius:10px;white-space:pre-wrap;
      overflow-wrap:anywhere;max-width:85%}
.q{background:var(--surface);border:1px solid var(--line)}
.a{background:#1d2a3f;border:1px solid #2a3b57;margin:.4rem 0 0 auto}

/* facts + forms */
dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.25rem;margin:1rem 0}
dt{color:var(--dim)}
dd{margin:0}
label{display:block;color:var(--dim);font-size:.85rem;margin:1rem 0 .3rem}
input,textarea{width:100%;background:var(--bg);color:var(--text);
               border:1px solid var(--line);border-radius:7px;padding:.6rem .7rem;font:inherit}
textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
p.ok{background:#12301f;border:1px solid #2c6b45;color:var(--good);
     padding:.75rem .9rem;border-radius:8px;margin:0 0 1.25rem;font-weight:500}
button[type=button],button[type=submit]{margin-top:1rem;background:var(--accent);color:#0d1117;border:0;
                    border-radius:7px;padding:.6rem 1.1rem;font:inherit;font-weight:600;cursor:pointer}
button:disabled{background:var(--line);color:var(--dim);cursor:default}
