/* PracticeCue app — editorial ledger system (see /SETUP.md design notes) */
:root{
  --paper:#faf7f1; --paper-deep:#f3eee4; --ink:#1c1e1b; --ink-soft:#4c4f49; --ink-faint:#8a8d84;
  --rule:#d8d2c4; --green:#14604a; --green-soft:#e4efe7; --amber:#a06e12; --amber-soft:#f6ecd6;
  --red:#a83a2e; --red-soft:#f5e2de;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Schibsted Grotesk",-apple-system,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}
.app-bar{display:flex;justify-content:space-between;align-items:baseline;padding:16px 28px;border-bottom:1px solid var(--rule)}
.app-bar .logo{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--ink)}
.app-bar .logo em{font-style:normal;color:var(--green)}
.app-bar form button{background:none;border:none;color:var(--ink-soft);font:inherit;font-size:.82rem;cursor:pointer}
main{max-width:1080px;margin:0 auto;padding:32px 28px}
h1{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.6rem;letter-spacing:-.01em}
.muted{color:var(--ink-faint);font-size:.85rem}
.board-topline{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.deadline{text-align:right;font-family:"IBM Plex Mono",monospace}
.deadline .k{display:block;font-size:.62rem;letter-spacing:.14em;color:var(--ink-faint)}
.deadline .v{display:block;font-size:1.3rem;font-weight:600;color:var(--red)}
.summary{margin:20px 0 14px;display:flex;gap:10px}
.pill{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.68rem;font-weight:600;letter-spacing:.05em;padding:4px 10px;border-radius:99px;white-space:nowrap}
.pill.g{background:var(--green-soft);color:var(--green)}
.pill.a{background:var(--amber-soft);color:var(--amber)}
.pill.r{background:var(--red-soft);color:var(--red)}
.pill.n{background:var(--paper-deep);color:var(--ink-soft)}
table.ledger{width:100%;border-collapse:collapse;background:#fffdf8;border:1px solid var(--rule);border-radius:6px;overflow:hidden;font-size:.86rem}
.ledger th{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:10px 12px;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.ledger td{padding:12px;border-bottom:1px solid #efe9dc;vertical-align:middle}
.ledger tr:last-child td{border-bottom:none}
.ledger .name{font-weight:600}
.ledger .kind{font-family:"IBM Plex Mono",monospace;font-size:.64rem;color:var(--ink-faint);letter-spacing:.04em}
.ledger .needs{font-size:.8rem;color:var(--ink-soft)}
.ledger tr.rag-red{box-shadow:inset 3px 0 0 var(--red)}
.ledger tr.rag-amber{box-shadow:inset 3px 0 0 var(--amber)}
.ledger tr.rag-green{box-shadow:inset 3px 0 0 var(--green)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.dot.g{background:var(--green)} .dot.a{background:var(--amber)} .dot.r{background:var(--red)}
/* auth pages */
.auth-card{max-width:380px;margin:80px auto;background:#fffdf8;border:1px solid var(--rule);border-radius:6px;padding:32px}
.auth-card h1{margin-bottom:18px}
.auth-card label{display:block;font-size:.8rem;font-weight:600;margin:12px 0 4px}
.auth-card input[type=email],.auth-card input[type=password]{width:100%;padding:10px;border:1px solid var(--rule);border-radius:3px;background:var(--paper);font:inherit}
.auth-card button{margin-top:18px;width:100%;padding:12px;background:var(--green);color:#fff;border:none;border-radius:3px;font:inherit;font-weight:600;cursor:pointer}
/* client detail */
.panel{background:#fffdf8;border:1px solid var(--rule);border-radius:6px;padding:20px 22px;margin-top:18px}
.panel h2{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.05rem;margin-bottom:12px}
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.status-item .k{display:block;font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.status-item select{font:inherit;padding:7px;border:1px solid var(--rule);border-radius:3px;background:var(--paper);width:100%}
.toggle{font:inherit;font-size:.82rem;padding:8px 10px;border-radius:3px;border:1px solid var(--rule);cursor:pointer;width:100%;text-align:left}
.toggle.on{background:var(--green-soft);color:var(--green);border-color:var(--green)}
.toggle.off{background:var(--red-soft);color:var(--red);border-color:var(--red)}
.flash{margin:14px 0;padding:10px 14px;background:var(--green-soft);color:var(--green);border-radius:3px;font-size:.85rem}
.flash.alert{background:var(--red-soft);color:var(--red)}
.ledger .name a{color:var(--ink);text-decoration:none}
.ledger .name a:hover{color:var(--green);text-decoration:underline}
.btn-small{display:inline-block;font-size:.82rem;font-weight:600;text-decoration:none;padding:8px 14px;border:1px solid var(--ink);border-radius:3px;color:var(--ink)}
.btn-small:hover{background:var(--ink);color:var(--paper)}
