:root{--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-serif:"Fraunces",Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",monospace;--bg:#fbf9f5;--ink:#1c1c1a;--ink-soft:#6b6b68;--inverse:#f7f3ec;--line:#e5ddcd;--green:#3d6b3f;--blue:#2f5c8a;--orange:#b5651d;--red:#9b2c2c;--violet:#6b4e9b;--white:#fff}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans),Inter,system-ui,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:250px;min-width:250px;background:var(--bg);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 0 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.main{flex:1 1;padding:32px 48px 64px;max-width:1200px}.logo{display:flex;align-items:center;gap:8px;padding:0 24px 4px}.logo-name{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.2px}.logo-tm{font-size:9px;vertical-align:super;color:var(--ink-soft)}.logo-sub{font-family:var(--font-mono),"JetBrains Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);padding:0 24px 24px 46px}.nav-section{margin-top:22px}.nav-section-label{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);padding:0 24px 8px}.nav-item{display:block;padding:9px 24px;font-size:14px;color:var(--ink);border:none;background:none;width:100%;text-align:left;cursor:pointer}.nav-item:hover{background:rgba(0,0,0,.03)}.nav-item.active{background:var(--ink);color:var(--inverse);font-weight:500}.sidebar-footer{margin-top:auto;padding:12px 24px 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft)}.eyebrow{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft)}h1.page-title{font-family:var(--font-serif),Fraunces,Georgia,serif;font-weight:300;font-size:36px;margin:6px 0 4px;color:var(--ink);letter-spacing:-.5px}.page-sub{color:var(--ink-soft);font-size:14px;margin:0 0 24px}.header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;font-family:var(--font-sans),Inter,sans-serif;font-size:12px;font-weight:500;border-radius:0;cursor:pointer;border:1px solid var(--line);background:var(--white);color:var(--ink);white-space:nowrap}.btn-cta,.btn:hover{border-color:var(--ink)}.btn-cta{background:var(--ink);color:var(--inverse)}.btn-cta:hover{opacity:.9}.btn-sm{height:32px;padding:0 12px;font-size:11px}.input,.select,textarea.input{height:40px;padding:0 12px;border:1px solid var(--line);background:var(--white);border-radius:0;font-size:14px;font-family:var(--font-sans),Inter,sans-serif;color:var(--ink);width:100%}textarea.input{height:auto;padding:10px 12px;line-height:1.5}.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--ink)}.field{margin-bottom:18px}.field label{display:block;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.req{color:var(--red)}.search{max-width:320px}.card{border:1px solid var(--line)}.card,table.tbl{background:var(--white)}table.tbl{width:100%;border-collapse:collapse}.tbl thead th{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);font-weight:500;text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}.tbl tbody td.num,.tbl thead th.num{text-align:right}.tbl tbody td{padding:16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:rgba(0,0,0,.015)}.cell-code{font-family:var(--font-mono),monospace;font-weight:600;font-size:13px;letter-spacing:.5px}.cell-name{font-family:var(--font-serif),Fraunces,Georgia,serif;font-size:16px}.muted{color:var(--ink-soft)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:500}.badge .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.badge-green{color:var(--green)}.badge-green .dot{background:var(--green)}.badge-grey{color:var(--ink-soft)}.badge-grey .dot{background:var(--ink-soft)}.badge-blue{color:var(--blue)}.badge-blue .dot{background:var(--blue)}.badge-orange{color:var(--orange)}.badge-orange .dot{background:var(--orange)}.badge-red{color:var(--red)}.badge-red .dot{background:var(--red)}.badge-violet{color:var(--violet)}.badge-violet .dot{background:var(--violet)}.badge-darkred{color:#7f1d1d;font-weight:600}.badge-darkred .dot{background:#7f1d1d}.chip{display:inline-block;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.8px;padding:3px 8px;border:1px solid var(--line);margin:2px 4px 2px 0;color:var(--ink)}.filters{display:flex;gap:8px;margin:18px 0 12px}.filter-tab{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.6px;text-transform:uppercase;padding:6px 12px;border:1px solid var(--line);background:var(--white);color:var(--ink-soft);cursor:pointer}.filter-tab.active{background:var(--ink);color:var(--inverse);border-color:var(--ink)}.section{margin-top:36px}.section-title{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px}.timeline{border-left:2px solid var(--line);padding-left:20px;margin-left:6px}.tl-item{position:relative;padding-bottom:20px}.tl-item:before{content:"";position:absolute;left:-27px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--green)}.tl-date{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.5px}.tl-desc{font-size:14px;margin-top:2px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px}.spacer{flex:1 1}.btn-group{display:flex;gap:8px}.empty{padding:48px;text-align:center;font-size:14px}.empty,.notice{color:var(--ink-soft)}.notice{padding:12px 16px;border:1px solid var(--line);background:var(--white);font-size:13px;margin-bottom:16px}.notice-error{border-color:var(--red);color:var(--red)}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:10px 16px;gap:10px 16px;font-size:14px}.kv dt{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft);align-self:center}.kv dd{margin:0}.link-green{color:var(--green);text-decoration:underline;text-underline-offset:2px}.row-actions{display:flex;gap:8px;justify-content:flex-end}.chat-wrap{max-width:760px}.chat-thread{border:1px solid var(--line);background:var(--white);height:480px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.bubble-row{display:flex}.bubble-row.user{justify-content:flex-end}.bubble-row.agent{justify-content:flex-start}.bubble{max-width:78%;padding:11px 14px;font-size:14px;line-height:1.5;white-space:pre-wrap}.bubble.user{background:var(--ink);color:var(--inverse)}.bubble.agent{background:#efe9dd;color:var(--ink)}.recap-card{max-width:90%;border:1px solid var(--line);background:var(--bg);padding:16px}.chat-input{display:flex;gap:8px;margin-top:12px;align-items:center}.chat-input .input{flex:1 1}