/* ==========================================================
   plan-doc.css — a business plan drawn as a web page (plan-doc.js):
   the app's preview and the public share page (plan.html). It follows
   the PDF (plan-pdf.js): a deep green cover with the gold seal, then
   numbered sections, with the owner's numbers as ruled tables.
   Linked after shared.css.
   ========================================================== */
.plan-doc{
  --pd-cover:#16281D; --pd-cover-ink:#F1ECDD; --pd-cover-soft:#C9D2C4; --pd-cover-gold:#D9A94A;
  max-width:780px;margin:0 auto;background:var(--paper-raised);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 1px 3px var(--shadow-color);overflow:hidden;counter-reset:pd-sec;
  font-size:15px;line-height:1.65;color:var(--ink-2);
}
.plan-doc-cover{
  position:relative;background:var(--pd-cover);color:var(--pd-cover-ink);
  padding:44px 44px 36px;
}
/* The seal, as on the PDF's cover. */
.plan-doc-cover::before{
  content:"";position:absolute;top:30px;right:34px;width:48px;height:48px;border-radius:50%;
  border:1.5px solid var(--pd-cover-gold);transform:rotate(-4deg);
  box-shadow:inset 0 0 0 4px var(--pd-cover),inset 0 0 0 5px rgba(217,169,74,0.55);
}
.plan-doc-kicker{font-family:'Newsreader',serif;font-style:italic;font-weight:600;font-size:16px;color:var(--pd-cover-gold);margin:0 0 10px;}
.plan-doc-title{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,5vw,40px);line-height:1.12;letter-spacing:-0.01em;color:var(--pd-cover-ink);margin:0 64px 0 0;overflow-wrap:anywhere;}
.plan-doc-meta{margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(217,169,74,0.45);font-size:14px;line-height:1.7;color:var(--pd-cover-soft);overflow-wrap:anywhere;}

.plan-doc-toc{padding:26px 44px 6px;border-bottom:1px solid var(--line);}
.plan-doc-toc ol{margin:0;padding:0 0 0 1.4em;columns:2;column-gap:36px;font-size:14px;}
.plan-doc-toc li{margin:0 0 6px;break-inside:avoid;color:var(--ink-faint);}
.plan-doc-toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);}
.plan-doc-toc a:hover{border-bottom-color:var(--gold);}

.plan-doc-section{padding:30px 44px 8px;counter-increment:pd-sec;}
.plan-doc-section + .plan-doc-section{border-top:1px solid var(--line);}
.plan-doc-section > h2{
  font-family:var(--font-display);font-weight:600;font-size:23px;line-height:1.25;color:var(--ink);
  margin:0 0 14px;padding-top:24px;position:relative;
}
/* "01" and a short gold rule over each section title, like the PDF. */
.plan-doc-section > h2::before{
  content:counter(pd-sec, decimal-leading-zero);position:absolute;top:0;left:0;line-height:16px;
  font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;color:var(--gold-deep);letter-spacing:0.04em;
}
.plan-doc-section > h2::after{content:"";position:absolute;top:7.5px;left:24px;width:30px;height:1.5px;background:var(--gold);}
.plan-doc-section p{margin:0 0 14px;}
.plan-doc-subhead{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin:20px 0 8px;}
.plan-doc-list{margin:0 0 14px;padding-left:1.3em;}
.plan-doc-list li{margin:0 0 6px;padding-left:2px;}
.plan-doc-list li::marker{color:var(--gold);}
mark.plan-add{
  background:var(--gold-soft);color:var(--gold-deep);font-style:italic;font-weight:600;
  border-radius:3px;padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.plan-doc-source{font-size:13px;color:var(--ink-faint);font-style:italic;}
.plan-doc-empty{padding:30px 44px;color:var(--ink-faint);}

/* Facts (launch date, checklist) */
.plan-doc-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:4px 0 18px;font-size:14.5px;}
.plan-doc-facts dt{color:var(--ink-faint);}
.plan-doc-facts dd{margin:0;font-weight:600;color:var(--ink);}

/* Tables */
.plan-doc-table-wrap{margin:8px 0 22px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.plan-doc-table-wrap.narrow{max-width:440px;}
.plan-doc-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45;}
.plan-doc-table caption{caption-side:top;text-align:left;font-family:'Inter',sans-serif;font-weight:700;font-size:14px;color:var(--ink);padding:0 0 8px;}
.plan-doc-table th, .plan-doc-table td{padding:8px 10px 8px 0;text-align:left;vertical-align:top;border-bottom:1px dotted var(--line-strong);}
.plan-doc-table thead th{font-family:'Newsreader',serif;font-style:italic;font-weight:600;font-size:13.5px;color:var(--ink-faint);border-bottom:1px solid var(--ink);}
.plan-doc-table tbody th{font-weight:400;color:var(--ink-2);}
.plan-doc-table .num{text-align:right;padding-right:0;font-variant-numeric:tabular-nums;white-space:nowrap;}
.plan-doc-table .neg{color:var(--clay);}
.plan-doc-table .soft{color:var(--ink-faint);}
.plan-doc-table tr.total th, .plan-doc-table tr.total td{font-weight:700;color:var(--ink);border-top:1px solid var(--ink);border-bottom:none;}
.plan-doc-table .status-done{color:var(--ok);font-weight:600;}
.plan-doc-table .status-overdue{color:var(--clay);font-weight:600;}
.plan-doc-table .status-planned{color:var(--ink-soft);}
html[data-theme="dark"] .plan-doc-table .neg, html[data-theme="dark"] .plan-doc-table .status-overdue{color:#E59880;}
html[data-theme="dark"] .plan-doc-table .status-done{color:#8CC9A0;}

/* SWOT */
.plan-doc-swot{margin:8px 0 22px;}
.plan-doc-caption{font-family:'Inter',sans-serif;font-weight:700;font-size:14px;color:var(--ink);margin:0 0 8px;}
.plan-doc-swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;}
.plan-doc-swot-box{background:var(--paper-raised);padding:12px 14px;min-width:0;}
.plan-doc-swot-box h4{font-family:'Newsreader',serif;font-style:italic;font-weight:600;font-size:15px;color:var(--gold-deep);margin:0 0 6px;}
.plan-doc-swot-box ul{margin:0;padding-left:1.1em;font-size:14px;}
.plan-doc-swot-box li{margin:0 0 4px;}
.plan-doc-swot-box .soft{color:var(--ink-faint);margin:0;}

@media (max-width:640px){
  .plan-doc{font-size:14.5px;border-radius:8px;}
  .plan-doc-cover{padding:32px 20px 26px;}
  .plan-doc-cover::before{top:22px;right:18px;width:40px;height:40px;}
  .plan-doc-title{margin-right:52px;}
  .plan-doc-toc{padding:20px 20px 4px;}
  .plan-doc-toc ol{columns:1;}
  .plan-doc-section{padding:24px 20px 4px;}
  .plan-doc-swot-grid{grid-template-columns:1fr;}
  .plan-doc-facts{grid-template-columns:1fr;gap:0;}
  .plan-doc-facts dd{margin-bottom:8px;}
}
@media print{
  .plan-doc{border:none;box-shadow:none;max-width:none;}
  .plan-doc-section{break-inside:auto;}
  .plan-doc-table tr{break-inside:avoid;}
}
