:root{
  --bg:#141414; --panel:#1c1c1c; --card:#232323; --card2:#1a1a1a;
  --line:#2e2e2e; --ink:#f3f3f1; --muted:#9a988f; --faint:#6f6d66;
  --amber:#efa23c; --amber-dim:#3a2c17; --red:#e0605e; --red-dim:#3a1f1f;
  --green:#63c07f; --blue:#5aa0e6; --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}
button{font-family:inherit}
.app{display:flex;min-height:100vh}

/* sidebar */
.side{width:250px;flex:0 0 250px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}
.brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin:2px 0 22px}
.brand img{width:150px;max-width:82%;height:auto;display:block}
.brand .sub{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:3px;text-transform:uppercase}
.logo{text-align:center;font-weight:800;letter-spacing:.5px;font-size:22px;margin:2px 0 22px}
.logo b:nth-child(1){color:#e0605e}.logo b:nth-child(2){color:#efa23c}.logo b:nth-child(3){color:#63c07f}.logo b:nth-child(4){color:#5aa0e6}.logo b:nth-child(5){color:#a97fd6}
.usercard{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0 18px;border-bottom:1px solid var(--line);margin-bottom:16px}
.usercard img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--card)}
.usercard .nm{font-weight:600}
.usercard .em{font-size:12px;color:var(--muted);word-break:break-all;text-align:center}
.switch{display:flex;gap:4px;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:16px}
.switch button{flex:1;border:0;background:none;color:var(--muted);font-size:11px;padding:6px 4px;border-radius:7px;cursor:pointer}
.switch button.on{background:var(--amber-dim);color:var(--amber)}
nav{display:flex;flex-direction:column;gap:4px;flex:1}
nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:14px;cursor:pointer}
nav a:hover{background:var(--card2);color:var(--ink)}
nav a.on{background:var(--amber-dim);color:var(--amber)}
nav a svg{width:18px;height:18px;flex:0 0 18px}
.logout{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:11px;border:1px solid var(--red-dim);background:none;color:var(--red);border-radius:10px;cursor:pointer;font-size:14px}
.logout:hover{background:var(--red-dim)}

/* main */
.main{flex:1;padding:34px 40px;max-width:1200px}
h1{font-size:22px;font-weight:600;margin:0 0 2px}
h2.sec{font-size:15px;font-weight:600;margin:0 0 12px;color:var(--muted)}
.lede{color:var(--muted);margin:0 0 26px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.stat .ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.stat .ic svg{width:20px;height:20px}
.stat .lbl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stat .num{font-size:34px;font-weight:700;margin:2px 0 4px}
.stat .act{font-size:13px;color:var(--amber);cursor:pointer}
.cta{background:linear-gradient(120deg,#e08a2f,#d1466f);border-radius:16px;padding:26px 28px;margin-bottom:8px}
.cta h2{margin:0 0 6px;font-size:20px}
.cta p{margin:0 0 16px;opacity:.92}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 18px;font-size:14px;cursor:pointer}
.btn.primary{background:var(--amber);color:#231708;font-weight:600}
.btn.light{background:#5566d9;color:#fff;font-weight:600}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:var(--red-dim);color:var(--red)}
.btn.small{padding:7px 12px;font-size:13px}
.btn:disabled{background:var(--card2);color:var(--faint);cursor:default;opacity:1}

.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:0 10px 12px}
td{padding:12px 10px;border-top:1px solid var(--line)}
tr.row{cursor:pointer}
tr.row:hover td{background:var(--card2)}
.pill{display:inline-block;font-size:12px;padding:3px 9px;border-radius:20px;background:var(--card2);color:var(--muted);border:1px solid var(--line)}
.pill.ai_done{color:var(--blue);border-color:#22405e}
.pill.in_review{color:var(--amber);border-color:var(--amber-dim)}
.pill.verified,.pill.certified{color:var(--green);border-color:#204a30}
.empty{color:var(--faint);text-align:center;padding:40px 0}
.tabs{display:flex;gap:8px;margin-bottom:18px}
.tabs button{background:var(--card);border:1px solid var(--line);color:var(--muted);padding:8px 16px;border-radius:20px;cursor:pointer;font-size:13px}
.tabs button.on{background:var(--amber-dim);color:var(--amber);border-color:var(--amber-dim)}

.drop{display:block;border:1.5px dashed var(--line);border-radius:14px;background:var(--card2);padding:44px 20px;text-align:center;cursor:pointer}
.drop.hot{border-color:var(--amber)}
.drop input{display:none}
.bar{height:6px;background:var(--card2);border-radius:6px;overflow:hidden;margin-top:16px;display:none}
.bar>span{display:block;height:100%;width:0;background:var(--amber)}
.kv{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.kv:first-child{border-top:0}
.kv .k{color:var(--muted)}
.muted{color:var(--muted)}
.note{font-size:13px;margin-top:10px}
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}
.signin{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;font-size:15px;text-decoration:none;color:var(--ink)}
.rawjson{white-space:pre-wrap;font-size:12px;color:var(--muted);margin:0;font-family:ui-monospace,Menlo,Consolas,monospace}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}

/* form inputs */
.in{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:10px;font-size:14px;font-family:inherit}
textarea.in{min-height:80px;resize:vertical}
.in.tc{max-width:120px}
label.f{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
label.f .in{margin-top:6px}
.grid2{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}

/* review: claims and proofs */
.claimcard{margin-bottom:16px}
.claimhead{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.claimhead .muted{font-weight:600}
.valpill{margin-left:auto;font-size:12px;color:var(--muted);background:var(--card2);border:1px solid var(--line);border-radius:20px;padding:3px 10px}
.valpill b{color:var(--amber)}
.sub{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:6px 0 10px}
.proofrow{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}
.seg-wrap{display:flex;align-items:center;gap:6px}
.seg{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}
.seg.on{background:#20304e;color:var(--blue);border-color:#22405e}
.x{margin-left:auto;background:none;border:0;color:var(--faint);font-size:18px;line-height:1;cursor:pointer;padding:0 6px}
.x:hover{color:var(--red)}
.trustline{display:flex;align-items:center;gap:10px}
.trustline .muted{font-size:13px;min-width:38px}
.slider{flex:1;accent-color:var(--amber);height:4px}
.tv{min-width:30px;text-align:right;font-size:13px;color:var(--amber)}
.trustbox{display:flex;align-items:center;justify-content:space-between}
.bignum{font-size:28px;font-weight:700;color:var(--amber)}
@media(max-width:900px){.row2{grid-template-columns:1fr}}
@media(max-width:820px){.side{display:none}.main{padding:22px}}
