.pcrt-app-shell {
  --pcrt-navy:#11182D;
  --pcrt-primary:#2A46B7;
  --pcrt-accent:#385BED;
  --pcrt-paper:#F3F5F9;
  --pcrt-surface:#FFFFFF;
  --pcrt-text:#11182D;
  --pcrt-muted:#5B647A;
  --pcrt-border:rgba(17,24,45,.12);
  --pcrt-alert:#FFF7ED;
  --pcrt-alert-border:#FDBA74;
  --pcrt-shadow:0 14px 34px rgba(17,24,45,.08);
  --pcrt-radius:18px;
  max-width:1180px;
  margin:2rem auto;
  padding:0 1rem;
  color:var(--pcrt-text);
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.pcrt-app-shell * { box-sizing:border-box; }
.pcrt-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:start;
  padding:1.2rem 0 1.4rem;
}
.pcrt-hero h2 { margin:.15rem 0 .35rem; font-size:clamp(1.7rem,3vw,2.7rem); line-height:1.05; letter-spacing:-.035em; }
.pcrt-eyebrow { margin:0; color:var(--pcrt-primary); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.pcrt-sub { color:var(--pcrt-muted); max-width:760px; margin:.2rem 0 0; font-size:1.03rem; }
.pcrt-status-pill { border:1px solid var(--pcrt-border); border-radius:999px; padding:.45rem .75rem; background:var(--pcrt-paper); color:var(--pcrt-muted); font-size:.9rem; white-space:nowrap; }
.pcrt-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1rem; margin-bottom:1rem; }
.pcrt-grid-60-40 { grid-template-columns:minmax(0, 1.5fr) minmax(280px, 1fr); }
.pcrt-grid-40-60 { grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr); }
.pcrt-card { background:var(--pcrt-surface); border:1px solid var(--pcrt-border); border-radius:var(--pcrt-radius); padding:1.15rem 1.25rem; box-shadow:var(--pcrt-shadow); }
.pcrt-card h3 { margin-top:0; letter-spacing:-.02em; }
.pcrt-visual-card { background:linear-gradient(145deg, var(--pcrt-navy), #1D2A55); color:#fff; }
.pcrt-visual-card .pcrt-note { color:rgba(255,255,255,.78); }
.pcrt-alert { background:var(--pcrt-alert); border-color:var(--pcrt-alert-border); box-shadow:none; }
.pcrt-login-grid { display:grid; gap:.75rem; align-items:start; }
.pcrt-note { color:var(--pcrt-muted); font-size:.94rem; }
.pcrt-inline-form { margin:1rem 0; }
.pcrt-review-form label,
.pcrt-card label { display:block; margin:.85rem 0; }
.pcrt-review-form fieldset { border:1px solid var(--pcrt-border); border-radius:14px; padding:.8rem; margin:1rem 0; }
.pcrt-review-form textarea,
.pcrt-card textarea,
.pcrt-card input[type="text"],
.pcrt-card input[type="number"],
.pcrt-card select { width:100%; min-height:42px; border:1px solid var(--pcrt-border); border-radius:12px; padding:.65rem .75rem; }
.pcrt-card textarea { resize:vertical; }
.pcrt-chat-log { min-height:210px; max-height:420px; overflow-y:auto; background:var(--pcrt-paper); border-radius:14px; padding:.9rem; margin-bottom:.8rem; }
.pcrt-chat-item { padding:.7rem .75rem; border-radius:14px; margin-bottom:.7rem; border:1px solid rgba(17,24,45,.08); }
.pcrt-chat-item strong { display:block; margin-bottom:.25rem; }
.pcrt-chat-user { background:#eef6ff; }
.pcrt-chat-assistant { background:#fff; }
.pcrt-journal-list { margin:.75rem 0 0 1rem; }
.pcrt-app-shell .button { min-height:42px; border-radius:999px; }
@media (max-width:780px) {
  .pcrt-hero,
  .pcrt-grid-60-40,
  .pcrt-grid-40-60 { grid-template-columns:1fr; }
  .pcrt-status-pill { justify-self:start; }
  .pcrt-card { padding:1rem; }
}
