/* Disclosure Sentinel · center layout only.
   Reuses every token, header, panel, tile, badge and ledger style from
   app-base.css. This file adds ONLY what makes this demo's mechanic
   distinct: the entity-profile rule bar, the checklist-to-filing split,
   the citation record card, the serif "filing paper" document viewer,
   and the human-gate form. No palette is redefined. */

/* ---- Step 1 · entity profile bar ---- */
.profilebar{border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-top:22px;overflow:hidden}
.pbhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid var(--line2)}
.pblab{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.pbhint{font-family:var(--mono);font-size:11px;color:var(--cap)}
.pbrow{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 16px}
.pqs{display:flex;gap:6px 18px;flex-wrap:wrap}
.pq{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--body2);cursor:pointer}
.pq input{accent-color:var(--accent);width:15px;height:15px}
.docseg{display:flex;align-items:center;gap:10px}
.modelbl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cap)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.seg button{font-family:var(--sans);font-size:12.5px;font-weight:500;padding:7px 13px;border:none;background:var(--surface);color:var(--body2);cursor:pointer}
.seg button + button{border-left:1px solid var(--line)}
.seg button.seg-on{background:var(--ink);color:#fff}
.ruleview{border-top:1px solid var(--line2);padding:0 16px}
.ruleview summary{font-family:var(--mono);font-size:11px;color:var(--cap);padding:9px 0;cursor:pointer}
.ruleview summary:hover{color:var(--ink)}
.ruleview ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px}
.ruleview li{font-size:12.5px;color:var(--body2);line-height:1.5}
.ruleview .rk{font-family:var(--mono);font-size:9.5px;border-radius:30px;padding:2px 8px;margin-right:6px}
.ruleview .rk.on{background:var(--allow-bg);color:var(--ok)}
.ruleview .rk.off{background:var(--wash);color:var(--cap)}
.ruleview .rr{display:block;font-family:var(--mono);font-size:10.5px;color:var(--cap);margin-top:1px}

/* ---- computed headline ---- */
.tiles{margin-top:16px}
.covline{font-size:11px;color:var(--cap);margin:10px 2px 0}
.covline b{color:var(--ink)}

/* ---- the split: checklist vs filing ---- */
.layout{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:20px;margin-top:18px;align-items:start}
.check-body{padding:8px 10px 12px;max-height:640px;overflow-y:auto}

.sech-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 6px 6px}
.sech{font-size:12.5px;font-weight:600;letter-spacing:-.01em}
.seccount{font-size:10px;color:var(--cap)}
.secoff{margin:14px 6px 6px;padding:10px 12px;border:1px dashed var(--line);border-radius:7px;background:var(--wash);font-size:12px;color:var(--cap)}
.secoff .sech{color:var(--body)}

.req{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;width:100%;text-align:left;
  border:1px solid var(--line2);border-radius:7px;background:var(--surface);padding:9px 11px;margin-top:6px;
  font-family:var(--sans);color:var(--ink);cursor:pointer}
.req:hover{border-color:var(--accent)}
.req.sel{border-color:var(--accent);background:#F4F7FE;box-shadow:0 0 0 1px var(--accent) inset}
.req.notfound{background:#FCF6F5;border-color:#EDD3CF}
.req.notfound:hover,.req.notfound.sel{border-color:var(--danger)}
.req.notfound.sel{background:#FBEFED;box-shadow:0 0 0 1px var(--danger) inset}
.req .mark{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:1px}
.mark.ok{background:var(--allow-bg);color:var(--ok)}
.mark.abst{background:var(--block-bg);color:var(--danger)}
.mark.bad{background:var(--block-bg);color:var(--danger)}
.req .rid{font-size:10px;color:var(--cap);display:block}
.req .rtext{font-size:12.5px;color:var(--body2);line-height:1.45;display:block;margin-top:2px}
.req .rstat{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ok);text-align:right;display:grid;gap:4px;justify-items:end}
.req.notfound .rstat{color:var(--danger)}
.req .dchip{font-family:var(--mono);font-size:9px;text-transform:none;letter-spacing:0;color:var(--review);background:var(--rev-bg);border-radius:30px;padding:2px 8px}

/* ---- citation record card ---- */
.cc{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:13px 15px;margin-bottom:14px}
.cc.ok{border-left:3px solid var(--ok)}
.cc.abst{border-left:3px solid var(--danger)}
.cc.hint p{font-size:12.5px;color:var(--body);margin:8px 0 0;line-height:1.55}
.cch{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cap)}
.ccq{font-family:"Newsreader",Georgia,serif;font-size:14.5px;line-height:1.55;color:var(--ink);margin-top:8px}
.ccq.abst{font-family:var(--mono);font-size:12px;color:var(--danger)}
.ccmeta{font-size:10.5px;color:var(--cap);margin-top:7px}
.ccverify{font-size:10.5px;margin-top:9px;padding:7px 10px;border-radius:5px}
.ccverify.ok{background:var(--allow-bg);color:var(--ok)}
.ccverify.done{background:var(--rev-bg);color:var(--review)}

/* the human gate */
.gate{display:grid;gap:6px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line2)}
.glab{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap)}
.gate select,.gate input{font-family:var(--sans);font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
.gate select:focus,.gate input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(41,98,217,.12)}
.gate .btn{justify-self:start;margin-top:4px}

/* ---- the filing, as paper ---- */
.docpanel{background:#FCFBF7}
.docbody{padding:4px 18px 18px;max-height:560px;overflow-y:auto}
.nhead{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cap);margin:16px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--line2)}
.pass{padding:8px 10px;margin:6px -10px 0;border-radius:6px;border:1px solid transparent}
.pass .ptext{font-family:"Newsreader",Georgia,serif;font-size:14px;line-height:1.6;color:var(--body2)}
.pass.cited{background:#FFF6D8;border-color:#EAD9A0}
.pass.cited .ptext{color:var(--ink)}
.pass.tbl .ptext{font-family:var(--mono);font-size:11.5px;line-height:1.65}
.lintag{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);background:var(--esc-bg);border-radius:30px;padding:2px 8px;margin-bottom:5px}

/* ---- bottom row: ledger + honesty box ---- */
.bottomrow{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:20px;margin-top:20px;align-items:start}
.ledger .row .lt{font-weight:600}
.ledger .row .lt.run{color:var(--accent)}
.ledger .row .lt.disp{color:var(--review)}
.aboutbox{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px 16px}
.aboutbox .ak{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--cap)}
.aboutbox p{font-size:12.5px;color:var(--body);line-height:1.55;margin:6px 0 12px}
.aboutbox p:last-child{margin-bottom:0}

.empty{padding:40px 24px;text-align:center;color:var(--cap);font-size:14px;border:1px dashed var(--line);border-radius:10px;background:var(--surface)}

@media(max-width:1080px){
  .layout,.bottomrow{grid-template-columns:1fr}
  .check-body{max-height:420px}
  .docbody{max-height:420px}
}
