#docket-root{
  --paper:#ECE4D0;
  --paper-raised:#F6F1E3;
  --paper-dark:#DED2AF;
  --ink:#26271D;
  --ink-soft:#6C6A55;
  --forest:#2E4A3B;
  --forest-dark:#1F3529;
  --amber:#B0781B;
  --stamp-pos:#2E4A3B;
  --stamp-mid:#9C6A16;
  --stamp-neg:#A23C33;
  --line:#C6BA96;
  --shadow: 2px 3px 0 rgba(38,39,29,0.14);
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  --font-mono:'IBM Plex Mono','SF Mono',Consolas,monospace;
}

#docket-root, #docket-root *{ box-sizing:border-box; }
#docket-root{
  font-family: var(--font-body);
  color: var(--ink);
  background:
    radial-gradient(ellipse at 20% -10%, rgba(255,255,255,0.35), transparent 40%),
    var(--paper);
  min-height:600px;
  display:flex;
  line-height:1.5;
  border:1px solid var(--line);
  border-radius:4px;
  overflow:hidden;
}
#docket-root a{ color: var(--forest-dark); }

/* ---------- Sidebar ---------- */
#docket-root .dk-sidebar{
  width: 280px; flex-shrink:0; background: var(--paper-dark);
  border-right: 1px solid var(--line); padding: 22px 0; display:flex; flex-direction:column;
}
#docket-root .dk-brand{ padding: 0 20px 18px 20px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
#docket-root .dk-brand-mark{ display:flex; align-items:center; gap:9px; margin-bottom:6px; }
#docket-root .dk-brand-stamp{
  width:26px;height:26px;border:2px solid var(--forest-dark); border-radius:50%;
  display:flex;align-items:center;justify-content:center; transform:rotate(-8deg); flex-shrink:0;
}
#docket-root .dk-brand-stamp::after{ content:""; width:10px;height:10px;border:2px solid var(--forest-dark); border-radius:2px; }
#docket-root .dk-brand h1{ font-family:var(--font-display); font-weight:900; font-size:22px; margin:0; }
#docket-root .dk-brand p{ margin:0; font-size:11.5px; color:var(--ink-soft); letter-spacing:0.08em; text-transform:uppercase; font-family:var(--font-mono); }
#docket-root .dk-new-btn{
  margin: 4px 20px 16px 20px; padding: 10px 14px; background: var(--forest-dark); color: var(--paper-raised);
  border: none; border-radius: 3px; font-family: var(--font-body); font-weight:600; font-size: 13.5px;
  cursor:pointer; box-shadow: var(--shadow); transition: transform .12s ease;
}
#docket-root .dk-new-btn:hover{ transform: translate(-1px,-1px); }
#docket-root .dk-case-list{ flex:1; overflow-y:auto; padding: 0 10px; }
#docket-root .dk-case-list-label{ font-family: var(--font-mono); font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-soft); padding: 6px 10px 8px 10px; }
#docket-root .dk-case-item{
  display:block; width:100%; text-align:left; background:transparent; border:none;
  border-left:3px solid transparent; padding:10px 10px 10px 12px; cursor:pointer; border-radius:2px; margin-bottom:2px;
}
#docket-root .dk-case-item:hover{ background: rgba(255,255,255,0.35); }
#docket-root .dk-case-item.active{ background: var(--paper-raised); border-left-color: var(--forest-dark); }
#docket-root .dk-case-no{ font-family:var(--font-mono); font-size:10px; color:var(--ink-soft); letter-spacing:0.06em; }
#docket-root .dk-case-title{ font-weight:600; font-size:13.5px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#docket-root .dk-case-verdict{ font-family:var(--font-mono); font-size:10px; margin-top:3px; text-transform:uppercase; letter-spacing:0.05em; font-weight:600; }
#docket-root .dk-empty-list{ padding: 16px 12px; font-size:12.5px; color:var(--ink-soft); font-style:italic; }

/* ---------- Main ---------- */
#docket-root .dk-main{ flex:1; min-width:0; padding: 40px 48px 60px 48px; }
#docket-root .dk-main-inner{ max-width: 760px; margin: 0 auto; }

#docket-root .dk-intake-eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color: var(--amber); margin-bottom: 10px; font-weight:600; }
#docket-root .dk-intake h2{ font-family: var(--font-display); font-size: 34px; font-weight:700; margin:0 0 14px 0; line-height:1.15; }
#docket-root .dk-intake p.lede{ color: var(--ink-soft); font-size:15px; max-width:52ch; margin-bottom:28px; }
#docket-root .dk-field-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color: var(--ink-soft); display:block; margin-bottom:8px; }
#docket-root .dk-textarea{
  width:100%; min-height:130px; padding:16px; font-family:var(--font-body); font-size:15px;
  background: var(--paper-raised); border:1px solid var(--line); border-radius:3px; color: var(--ink);
  resize:vertical; box-shadow: inset 0 1px 3px rgba(38,39,29,0.08);
}
#docket-root .dk-textarea:focus{ outline: 2px solid var(--forest); outline-offset:1px; }
#docket-root .dk-submit-row{ display:flex; align-items:center; gap:14px; margin-top:18px; flex-wrap:wrap; }
#docket-root .dk-submit-btn{
  padding: 12px 22px; background: var(--forest-dark); color: var(--paper-raised); border:none; border-radius:3px;
  font-family:var(--font-body); font-weight:700; font-size:14.5px; cursor:pointer; box-shadow: var(--shadow); transition: transform .12s ease;
}
#docket-root .dk-submit-btn:hover{ transform: translate(-1px,-1px); }
#docket-root .dk-submit-btn:disabled{ opacity:0.55; cursor:default; transform:none; }
#docket-root .dk-hint{ font-size:12.5px; color: var(--ink-soft); }

#docket-root .dk-loading{ padding: 60px 0; text-align:center; }
#docket-root .dk-loading-mark{ width:56px;height:56px;border:3px dashed var(--forest); border-radius:50%; margin: 0 auto 22px auto; animation: dk-spin 3.2s linear infinite; }
@keyframes dk-spin{ to{ transform:rotate(360deg); } }
#docket-root .dk-loading-text{ font-family:var(--font-mono); font-size:13px; color:var(--ink-soft); letter-spacing:0.03em; }

#docket-root .dk-error{ border:1px solid var(--stamp-neg); background: rgba(162,60,51,0.08); color: var(--stamp-neg); padding: 14px 16px; border-radius:3px; font-size:13.5px; margin-top:18px; }
#docket-root .dk-notice{ border:1px solid var(--forest); background: rgba(46,74,59,0.08); color: var(--forest-dark); padding: 14px 16px; border-radius:3px; font-size:13.5px; margin-bottom:18px; }

/* ---------- Report / Dossier ---------- */
#docket-root .dk-report-header{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; border-bottom: 2px solid var(--ink); padding-bottom:18px; margin-bottom:26px; flex-wrap:wrap; }
#docket-root .dk-report-meta{ font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); letter-spacing:0.06em; margin-bottom:8px; }
#docket-root .dk-report-title{ font-family:var(--font-display); font-size:30px; font-weight:700; line-height:1.15; margin:0 0 10px 0; }
#docket-root .dk-report-summary{ color: var(--ink-soft); font-size:14.5px; max-width: 56ch; }

#docket-root .dk-stamp{
  flex-shrink:0; width:128px; height:128px; border-radius:50%; border: 3px double currentColor; display:flex;
  flex-direction:column; align-items:center; justify-content:center; transform:rotate(-9deg); opacity:0.92;
  mix-blend-mode:multiply; text-align:center; padding:8px;
}
#docket-root .dk-stamp .dk-stamp-verdict{ font-family:var(--font-display); font-weight:900; font-size:13.5px; text-transform:uppercase; line-height:1.15; }
#docket-root .dk-stamp .dk-stamp-score{ font-family:var(--font-mono); font-size:19px; font-weight:700; margin-top:4px; }
#docket-root .dk-stamp.pos{ color: var(--stamp-pos); }
#docket-root .dk-stamp.mid{ color: var(--stamp-mid); }
#docket-root .dk-stamp.neg{ color: var(--stamp-neg); }

#docket-root .dk-exhibit{ margin-bottom: 30px; }
#docket-root .dk-exhibit-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color: var(--amber); font-weight:700; margin-bottom:10px; display:flex; align-items:center; gap:10px; }
#docket-root .dk-exhibit-label::after{ content:""; flex:1; height:1px; background: var(--line); }

#docket-root .dk-bars{ display:flex; flex-direction:column; gap:10px; margin-bottom:8px; }
#docket-root .dk-bar-row{ display:grid; grid-template-columns: 44px 1fr auto; align-items:center; gap:10px; }
#docket-root .dk-bar-tag{ font-family:var(--font-mono); font-size:11px; font-weight:700; color: var(--ink-soft); }
#docket-root .dk-bar-track{ height:14px; background: var(--paper-dark); border-radius:2px; overflow:hidden; border:1px solid var(--line); }
#docket-root .dk-bar-fill{ height:100%; background: var(--forest); border-radius:2px 0 0 2px; }
#docket-root .dk-bar-fill.sam{ background: var(--amber); }
#docket-root .dk-bar-fill.som{ background: var(--stamp-neg); }
#docket-root .dk-bar-value{ font-family:var(--font-mono); font-size:12px; white-space:nowrap; }
#docket-root .dk-market-note{ font-size:13.5px; color: var(--ink-soft); margin-top:10px; }

#docket-root .dk-competitor{ background: var(--paper-raised); border:1px solid var(--line); border-radius:3px; padding: 12px 14px; margin-bottom:8px; }
#docket-root .dk-competitor-name{ font-weight:700; font-size:14.5px; }
#docket-root .dk-competitor-name a{ text-decoration:none; }
#docket-root .dk-competitor-name a:hover{ text-decoration:underline; }
#docket-root .dk-competitor-desc{ font-size:13.5px; color: var(--ink-soft); margin-top:3px; }

#docket-root .dk-list{ list-style:none; padding:0; margin:0; }
#docket-root .dk-list li{ padding: 8px 0 8px 22px; border-bottom: 1px dashed var(--line); font-size:14px; position:relative; }
#docket-root .dk-list li:last-child{ border-bottom:none; }
#docket-root .dk-list.risks li::before{ content:"–"; position:absolute; left:0; color: var(--stamp-neg); font-weight:700; }
#docket-root .dk-list.opps li::before{ content:"–"; position:absolute; left:0; color: var(--forest); font-weight:700; }

#docket-root .dk-sources{ font-family:var(--font-mono); font-size:12.5px; }
#docket-root .dk-sources li{ padding:6px 0; border-bottom:1px dashed var(--line); }
#docket-root .dk-sources li:last-child{ border-bottom:none; }

#docket-root .dk-report-actions{ display:flex; gap:10px; margin-top:34px; padding-top:18px; border-top:1px solid var(--line); flex-wrap:wrap; }
#docket-root .dk-btn-secondary{ padding:9px 15px; background:transparent; border:1px solid var(--ink-soft); border-radius:3px; font-family:var(--font-body); font-size:13px; font-weight:600; cursor:pointer; color: var(--ink); }
#docket-root .dk-btn-secondary:hover{ border-color: var(--ink); }
#docket-root .dk-btn-danger{ color: var(--stamp-neg); border-color: var(--stamp-neg); }

#docket-root .dk-gate{ padding: 60px 20px; text-align:center; max-width:420px; margin:0 auto; }
#docket-root .dk-gate h2{ font-family:var(--font-display); font-size:26px; margin-bottom:10px; }
#docket-root .dk-gate p{ color:var(--ink-soft); margin-bottom:20px; }
#docket-root .dk-gate a.dk-submit-btn{ display:inline-block; text-decoration:none; }

@media (max-width: 760px){
  #docket-root{ flex-direction:column; }
  #docket-root .dk-sidebar{ width:100%; border-right:none; border-bottom:1px solid var(--line); max-height:220px; }
  #docket-root .dk-main{ padding: 28px 20px 40px 20px; }
  #docket-root .dk-report-header{ flex-direction:column; }
  #docket-root .dk-stamp{ transform:rotate(-4deg); }
}
