:root{--paper: #faf7f2;--paper-raised: #fffdf9;--ink: #1a1814;--ink-soft: #5c564c;--ink-faint: #8a8378;--rule: #e3ddd2;--accent: #e8590c;--accent-soft: #fdeee3;--ok: #2f7d4f;--ok-soft: #e4f2e9;--warn: #b02e2e;--warn-soft: #fbe9e9;--wait: #8a6d1c;--wait-soft: #f7efd8;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "Archivo", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);background-image:radial-gradient(var(--rule) .5px,transparent .5px);background-size:24px 24px;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:baseline;gap:1.5rem;padding:1rem 2rem;border-bottom:2px solid var(--ink);background:var(--paper-raised)}.topbar .brand{font-weight:800;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.topbar .brand .tick{color:var(--accent)}.topbar nav{display:flex;gap:1.25rem}.topbar nav a{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.topbar nav a.active,.topbar nav a:hover{color:var(--accent)}.topbar .spacer{flex:1}.topbar .whoami{font-family:var(--mono);font-size:.75rem;color:var(--ink-faint)}.topbar button.linklike{background:none;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-size:.75rem;color:var(--accent)}.page{max-width:1080px;margin:0 auto;padding:2.5rem 2rem 4rem;animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}h1{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .25rem}.kicker{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.5rem}.sub{color:var(--ink-soft);margin:0 0 2rem}.card{background:var(--paper-raised);border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--rule);padding:1.75rem}label{display:block;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:1.1rem 0 .35rem}label:first-child{margin-top:0}input[type=text],input[type=email],textarea{width:100%;font-family:var(--sans);font-size:.95rem;padding:.6rem .75rem;background:var(--paper);border:1.5px solid var(--rule);color:var(--ink);transition:border-color .15s}input:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{min-height:180px;resize:vertical}button.primary{margin-top:1.5rem;font-family:var(--mono);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);padding:.7rem 1.6rem;cursor:pointer;transition:background .15s,color .15s,transform .08s}button.primary:hover{background:var(--accent);border-color:var(--accent)}button.primary:active{transform:translate(1px,1px)}button.primary:disabled{opacity:.5;cursor:wait}button.ghost{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;background:none;border:1.5px solid var(--ink-soft);color:var(--ink-soft);padding:.35rem .8rem;cursor:pointer;transition:all .15s}button.ghost:hover{border-color:var(--accent);color:var(--accent)}button.ghost:disabled{opacity:.4;cursor:default}button.ghost.danger{border-color:var(--warn);color:var(--warn)}button.ghost.danger:hover{background:var(--warn-soft);border-color:var(--warn)}.notice{font-family:var(--mono);font-size:.8rem;padding:.75rem 1rem;margin-bottom:1.25rem;border-left:3px solid var(--accent);background:var(--accent-soft)}.notice.error{border-color:var(--warn);background:var(--warn-soft)}table.ledger{width:100%;border-collapse:collapse;background:var(--paper-raised);border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--rule)}.ledger th{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;text-align:left;color:var(--ink-soft);border-bottom:2px solid var(--ink);padding:.65rem .9rem}.ledger td{padding:.75rem .9rem;border-bottom:1px solid var(--rule);vertical-align:top}.ledger tr:last-child td{border-bottom:none}.ledger tbody tr{transition:background .12s}.ledger tbody tr:hover{background:var(--accent-soft)}.ledger .id{font-family:var(--mono);font-size:.8rem;color:var(--ink-faint)}.ledger .subject a{color:var(--ink);font-weight:600}.ledger .subject a:hover{color:var(--accent)}.ledger .meta{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft)}.chip{display:inline-block;font-family:var(--mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .55rem;border:1px solid currentColor}.chip.waiting{color:var(--wait);background:var(--wait-soft)}.chip.answered{color:var(--ok);background:var(--ok-soft)}.chip.closed{color:var(--ink-faint);background:var(--paper)}.silence{font-family:var(--mono);font-size:.82rem}.silence.overdue{color:var(--warn);font-weight:600}.empty{text-align:center;padding:3rem 1rem;color:var(--ink-faint);font-family:var(--mono);font-size:.85rem}.thread{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.msg{border:1.5px solid var(--rule);background:var(--paper-raised);padding:1rem 1.25rem;max-width:85%}.msg.outbound{align-self:flex-end;border-color:var(--ink)}.msg.inbound{align-self:flex-start;border-left:3px solid var(--accent)}.msg .msghead{display:flex;gap:1rem;font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);margin-bottom:.5rem}.msg .msghead .who{color:var(--ink-soft);font-weight:600}.msg pre{margin:0;font-family:var(--sans);font-size:.92rem;white-space:pre-wrap;word-break:break-word}.msg .summaryline{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--rule);font-size:.82rem;color:var(--ink-soft);font-style:italic}.detailbar{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:100%;max-width:420px}.login-card .stamp{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:.75rem}.login-card h1{font-size:1.6rem}.buildtag{margin-top:2.5rem;text-align:right;font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:var(--ink-faint)}
