:root { --ink:#0f172a; --muted:#64748b; --line:#e2e8f0; --canvas:#f8fafc; --green:#1b3b2b; --action:#2e7d32; --active:#7cb342; --danger:#b91c1c; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--canvas); font:15px/1.5 Arial, sans-serif; }
.app-shell { max-width:1500px; margin:0 auto; padding:28px; }
.topbar { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding:24px 28px; background:var(--green); color:#fff; border-radius:8px; }
.topbar h1,.panel h2 { margin:0; }
.topbar p { margin:7px 0 0; max-width:800px; color:#d9e8df; }
.eyebrow { margin:0 0 4px; color:var(--muted); font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.topbar .eyebrow { color:#b9d6c5; }
.login-panel,.panel { margin-top:22px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 24px rgba(15,23,42,.07); }
.login-panel { max-width:680px; }
.inline-form,.upload-row,.actions { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.workspace { display:grid; grid-template-columns:minmax(270px, .72fr) minmax(0, 1.8fr); gap:20px; margin-top:22px; }
.panel-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; margin-bottom:18px; }
label { display:grid; gap:6px; margin:0 0 14px; font-weight:700; }
input,select,textarea { width:100%; border:1.5px solid var(--line); border-radius:7px; padding:10px 12px; color:var(--ink); background:#fff; font:inherit; }
input:focus,select:focus,textarea:focus { outline:3px solid rgba(124,179,66,.27); border-color:var(--action); }
textarea { resize:vertical; }
.button { min-height:40px; border:0; border-radius:8px; padding:9px 15px; font-weight:700; cursor:pointer; }
.button.primary { background:var(--action); color:#fff; }
.button.primary:hover { background:var(--green); }.button.secondary { background:#eef5ef; color:var(--green); border:1px solid #c7dfcb; }.button.danger { background:#fff1f2; color:var(--danger); border:1px solid #fecdd3; }
.file-input { display:inline-flex; width:auto; align-items:center; }.file-input input { max-width:310px; }
.help,.status { color:var(--muted); margin:6px 0 16px; }.status.success { color:#15803d; }.status.error { color:var(--danger); font-weight:700; }
.toast { position:fixed; right:24px; bottom:24px; z-index:20; max-width:440px; padding:13px 16px; border:1px solid #bbf7d0; border-radius:8px; background:#f0fdf4; color:#166534; box-shadow:0 12px 30px rgba(15,23,42,.18); font-weight:700; }.toast.error { border-color:#fecaca; background:#fef2f2; color:#b91c1c; }
.record-list-items { display:grid; gap:8px; max-height:calc(100vh - 340px); overflow:auto; padding-right:4px; }
.record-item { text-align:left; display:grid; gap:2px; padding:12px; border:1px solid var(--line); border-radius:7px; background:#fff; cursor:pointer; color:var(--ink); }.record-item.selected { border-color:var(--action); background:#f4fbf5; }.record-item span,.record-item small { color:var(--muted); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
fieldset { border:1px solid var(--line); border-radius:7px; margin:18px 0; padding:14px; }legend { padding:0 6px; font-weight:700; }.checkbox-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }.checkbox-grid label { display:flex; align-items:center; gap:8px; margin:0; font-weight:500; }.checkbox-grid input { width:auto; }
.extraction-preview { border:1px solid var(--line); border-radius:7px; padding:12px; margin-top:18px; }.extraction-preview summary { cursor:pointer; font-weight:700; }.extraction-preview pre { max-height:360px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:12px; background:#f8fafc; border:1px solid var(--line); }.file-link { color:#166534; font-weight:700; }.badge { padding:5px 10px; border-radius:999px; background:#f1f5f9; color:#475569; font-weight:700; text-transform:capitalize; }
.file-preview { margin-top:16px; padding:12px; border:1px solid var(--line); border-radius:7px; background:#f8fafc; }.preview-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }.file-preview iframe { display:block; width:100%; height:300px; border:1px solid var(--line); border-radius:5px; background:#fff; }
.panel-heading.compact { margin:0 0 10px; }.panel-heading.compact .help { margin:2px 0 0; }.button.small { min-height:32px; padding:6px 10px; font-size:13px; }.scope-panel,.case-details { margin-top:12px; padding:12px; border:1px solid #c7dfcb; border-radius:7px; background:#f8fcf8; }.scope-snapshot { margin:4px 0 0; padding:10px; border-left:3px solid var(--active); background:#fff; color:#334155; }.case-details summary { cursor:pointer; font-weight:700; }
@media (max-width:900px) { .app-shell { padding:16px; }.workspace { grid-template-columns:1fr; }.record-list-items { max-height:280px; }.form-grid,.checkbox-grid { grid-template-columns:1fr; }.topbar { padding:20px; flex-direction:column; } }
