/* ============================================================================
   Firm Administrator — master stylesheet for the whole site.
   This is the single file that controls the site's look (colours, fonts,
   spacing, buttons, cards, tables, the navy brand bar). Edit here to restyle
   the entire app. Loaded by every page via <link> in console.py (_shell + login).
   Colours are CSS variables in :root below — change those to re-theme.
   ============================================================================ */
:root{--ink:#1f2430;--muted:#5b6577;--line:#e6e8ee;--bg:#f6f7fb;--navy:#12244f;
      --navy2:#33477a;--silver:#c6ccd8;--accent:#7e8ba3;--card:#fff;--flag:#fdf0f0}
*{box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;margin:0;
     background:var(--bg);color:var(--ink);line-height:1.5}
a{color:var(--navy2);text-decoration:none} a:hover{text-decoration:underline}
/* Brand header: navy bar carrying the white BLG logo + FIRM ADMINISTRATOR wordmark (2026-07-11
   redesign — navy + silver-gray across the app, matching the login/cover pages) */
header.top{background:var(--navy);border-bottom:3px solid var(--silver)}
.top .row{max-width:1200px;margin:0 auto;display:flex;align-items:center;
          justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.55rem 1.4rem}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{height:40px;display:block}
.brand .wordmark{color:var(--silver);font-weight:700;letter-spacing:.22em;font-size:.82rem;
                 text-transform:uppercase;border-left:1px solid #3a4a74;padding-left:.7rem}
.top nav a{margin-left:1.1rem;font-weight:600;color:#e8ebf2} .top nav a:hover{color:#fff}
.top nav .who{color:var(--silver);font-size:.85rem}
.wrap{max-width:1200px;margin:1.3rem auto;padding:0 1.4rem}
h1{font-size:1.45rem;margin:0 0 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;
      padding:.8rem 1rem;margin:0 0 1rem;box-shadow:0 1px 2px rgba(20,30,60,.04)}
.lbl{font-size:.85rem;color:var(--muted)}
input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line);
      border-radius:6px;padding:.32rem .45rem;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #c9d4ec;border-color:var(--navy2)}
textarea{width:100%;resize:vertical;min-height:5.5em}
button,.btn{font:inherit;font-weight:600;border:0;border-radius:8px;padding:.5rem 1.05rem;cursor:pointer}
.btn-primary{background:var(--navy);color:#fff} .btn-primary:hover{background:var(--navy2)}
.btn-accent{background:var(--accent);color:#fff} .btn-accent:hover{filter:brightness(1.06)}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{background:#f3f5fa}
.btn-danger{background:#fff;border:1px solid #d9b3b3;color:#a23}
.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;
      border:1px solid var(--line);border-radius:10px;overflow:hidden}
th,td{padding:3px 6px;font-size:13px;vertical-align:top;border-bottom:1px solid var(--line);text-align:left}
th{background:var(--navy);color:#fff;font-weight:600;font-size:12.5px;letter-spacing:.02em}
tbody tr:nth-child(even){background:#fafbfd} tbody tr:last-child td{border-bottom:0}
tr.flagged{background:var(--flag)!important}
td.desc{min-width:220px}
td:first-child,th:first-child{width:22px;padding-left:6px;padding-right:2px;text-align:center}
td input,td select,td textarea{max-width:100%;box-sizing:border-box}
td textarea{width:100%}
.tag{font-size:12px;color:var(--muted)}
.ok{color:#127a3e;font-weight:600} .warn{color:#b3261e;font-weight:600}
.pill{display:inline-block;background:#eef0f6;border-radius:999px;padding:.04rem .55rem;
      font-size:12px;color:var(--navy2)}
.notice{background:#eef6ef;border:1px solid #bcd9c2;color:#1f5130;padding:.7rem .9rem;
        border-radius:8px;white-space:pre-wrap;margin:0 0 1rem}
.thread{margin:.45rem 0}
.thread .c{background:#f4f6fa;border:1px solid #e7ebf3;border-radius:6px;padding:.3rem .5rem;
           margin:.25rem 0;font-size:13px}
.thread .c .meta{color:var(--muted);font-size:11px;margin-bottom:.1rem}
details>summary{cursor:pointer;color:var(--navy2);font-size:13px;font-weight:600;margin-top:.35rem}
.totals{color:var(--muted)} .statline b{color:var(--navy)}
@media(max-width:700px){table{font-size:13px}}
