/* ============ KP TEMPLATE (light + dark) — shared by template.html, editor preview, view.html ============ */
:root[data-theme="dark"]{
  --kp-bg:#0a0e1a; --kp-bg-2:#10162e; --kp-paper:#0f1424; --kp-paper-2:#161d36;
  --kp-line:rgba(212,168,83,.18); --kp-line-soft:rgba(255,255,255,.06);
  --kp-text:#e8eaf2; --kp-text-mute:rgba(232,234,242,.62); --kp-text-strong:#fff;
  --kp-gold:#d4a853; --kp-gold-2:#f0c870; --kp-gold-glow:rgba(212,168,83,.35);
  --kp-accent:#2d6bff; --kp-success:#10b981;
  --kp-shadow:0 30px 80px rgba(0,0,0,.55);
  --kp-shadow-inset:inset 0 0 0 1px rgba(212,168,83,.14);
}
:root[data-theme="light"]{
  --kp-bg:#f4f5f9; --kp-bg-2:#e9ecf3; --kp-paper:#fff; --kp-paper-2:#fafbfd;
  --kp-line:rgba(180,140,55,.32); --kp-line-soft:rgba(0,0,0,.07);
  --kp-text:#1a1f2e; --kp-text-mute:rgba(26,31,46,.62); --kp-text-strong:#0a0e1a;
  --kp-gold:#b08c37; --kp-gold-2:#d4a853; --kp-gold-glow:rgba(212,168,83,.22);
  --kp-accent:#1e4fd4; --kp-success:#059669;
  --kp-shadow:0 30px 80px rgba(60,40,10,.18);
  --kp-shadow-inset:inset 0 0 0 1px rgba(180,140,55,.18);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{font-family:'Manrope','Inter',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ============ KP DOCUMENT ============ */
.kp{width:210mm;min-height:297mm;margin:0 auto;background:var(--kp-paper);box-shadow:var(--kp-shadow),var(--kp-shadow-inset);border-radius:16px;overflow:hidden;position:relative;display:flex;flex-direction:column;transition:background .3s,box-shadow .3s}
.kp__hero{position:relative;padding:42px 48px 30px;background:linear-gradient(180deg,var(--kp-bg-2) 0%,var(--kp-paper-2) 100%);border-bottom:1px solid var(--kp-line);overflow:hidden}
.kp__hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 80% at 100% 0%,var(--kp-gold-glow),transparent 60%);opacity:.7}
.kp__hero-grid{position:relative;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;z-index:1}
.kp__brand{display:flex;align-items:center;gap:14px}
.kp__logo{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--kp-gold),var(--kp-gold-2));display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-weight:900;font-size:24px;color:#0a0e1a;box-shadow:0 0 20px var(--kp-gold-glow),inset 0 -2px 6px rgba(0,0,0,.18);letter-spacing:-.03em}
.kp__brand-name{font-family:'Manrope',sans-serif;font-weight:900;font-size:22px;color:var(--kp-text-strong);letter-spacing:-.02em;line-height:1}
.kp__brand-sub{font-family:'Manrope',monospace;font-size:10px;letter-spacing:.22em;color:var(--kp-gold);text-transform:uppercase;margin-top:6px;font-weight:700}
.kp__meta{text-align:right}
.kp__meta-num{font-family:'Manrope',monospace;font-size:11px;letter-spacing:.16em;color:var(--kp-text-mute);text-transform:uppercase;font-weight:700}
.kp__meta-num b{color:var(--kp-gold);font-weight:800;letter-spacing:.04em}
.kp__meta-date{font-family:'Manrope',sans-serif;font-size:13px;color:var(--kp-text-mute);margin-top:4px;font-weight:500}
.kp__title-block{margin-top:32px;position:relative;z-index:1}
.kp__title-label{font-family:'Manrope',monospace;font-size:11px;letter-spacing:.32em;color:var(--kp-gold);font-weight:800;text-transform:uppercase;text-shadow:0 0 12px var(--kp-gold-glow);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.kp__title-label::before{content:"";flex:0 0 22px;height:1px;background:var(--kp-gold);opacity:.6}
.kp__title-label::after{content:"";flex:1;height:1px;background:var(--kp-gold);opacity:.6}
.kp__title{font-family:'Manrope',sans-serif;font-weight:900;font-size:36px;color:var(--kp-text-strong);line-height:1.1;letter-spacing:-.025em}
.kp__title em{font-style:normal;background:linear-gradient(135deg,var(--kp-gold) 0%,var(--kp-gold-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px var(--kp-gold-glow))}
.kp__for{display:flex;align-items:center;gap:14px;margin-top:24px;padding:14px 18px;background:var(--kp-paper);border:1px solid var(--kp-line);border-radius:10px;position:relative;z-index:1;flex-wrap:wrap}
.kp__for-label{font-family:'Manrope',monospace;font-size:10px;letter-spacing:.22em;color:var(--kp-text-mute);font-weight:700;text-transform:uppercase}
.kp__for-name{font-family:'Manrope',sans-serif;font-size:16px;color:var(--kp-text-strong);font-weight:700;flex:1}
.kp__for-attn{font-family:'Manrope',monospace;font-size:11px;color:var(--kp-text-mute);letter-spacing:.04em}
.kp__body{padding:34px 48px 24px;flex:1}
.kp__intro{font-size:14px;line-height:1.6;color:var(--kp-text-mute);margin-bottom:26px;font-weight:500}
.kp__intro b{color:var(--kp-text);font-weight:700}
.kp__table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:22px}
.kp__table thead th{font-family:'Manrope',monospace;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--kp-gold);text-transform:uppercase;text-align:left;padding:12px 14px;background:linear-gradient(180deg,rgba(212,168,83,.08),rgba(212,168,83,.02));border-top:1px solid var(--kp-gold);border-bottom:1px solid var(--kp-gold)}
.kp__table thead th:last-child{text-align:right}
.kp__table tbody td{padding:14px 14px;border-bottom:1px solid var(--kp-line-soft);font-size:14px;color:var(--kp-text);vertical-align:top}
.kp__table tbody td:last-child{text-align:right;font-family:'Manrope',monospace;font-weight:700;white-space:nowrap;color:var(--kp-text-strong)}
.kp__row-num{font-family:'Manrope',monospace;font-weight:800;color:var(--kp-gold);width:38px}
.kp__row-name{font-weight:700;color:var(--kp-text-strong);margin-bottom:3px}
.kp__row-desc{font-size:12px;color:var(--kp-text-mute);line-height:1.45}
.kp__row-term{width:90px;font-family:'Manrope',monospace;font-size:12px;color:var(--kp-text-mute);text-align:center}
.kp__total-row td{border-top:1px solid var(--kp-gold);border-bottom:0;padding-top:18px;padding-bottom:6px;font-family:'Manrope',monospace;font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--kp-text-mute);text-transform:uppercase}
.kp__total-row td:last-child{font-family:'Manrope',sans-serif;font-size:24px;font-weight:900;color:var(--kp-gold);letter-spacing:-.01em;text-shadow:0 0 12px var(--kp-gold-glow);text-transform:none}
.kp__condition{margin-top:8px;padding:14px 18px;background:linear-gradient(135deg,rgba(212,168,83,.06),rgba(212,168,83,.02));border:1px dashed var(--kp-line);border-radius:10px;font-size:13px;color:var(--kp-text);font-style:italic;line-height:1.5;text-align:center}
.kp__condition b{color:var(--kp-gold);font-style:normal;font-weight:700}
.kp__footer{margin-top:auto;padding:24px 48px 36px;background:linear-gradient(180deg,var(--kp-paper) 0%,var(--kp-paper-2) 100%);border-top:1px solid var(--kp-line);position:relative}
.kp__footer-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.kp__requisites{font-size:11px;line-height:1.55;color:var(--kp-text-mute)}
.kp__requisites-title{font-family:'Manrope',monospace;font-size:10px;letter-spacing:.22em;font-weight:800;color:var(--kp-gold);text-transform:uppercase;margin-bottom:8px}
.kp__requisites-row{display:flex;gap:8px;margin-bottom:3px}
.kp__requisites-row strong{color:var(--kp-text);font-weight:700;min-width:80px;font-size:11px}
.kp__signature{position:relative;width:200px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.kp__signature-stamp{position:absolute;top:0;right:10px;width:96px;height:96px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;opacity:.92;transform:rotate(-8deg)}
.kp__signature-stamp svg{width:100%;height:100%}
.kp__signature-line{font-family:'Manrope',sans-serif;font-style:italic;font-size:22px;color:var(--kp-accent);transform:rotate(-4deg);margin-bottom:10px;font-weight:600}
.kp__signature-label{font-family:'Manrope',monospace;font-size:10px;letter-spacing:.18em;color:var(--kp-text-mute);text-transform:uppercase;font-weight:700;border-top:1px solid var(--kp-line);padding-top:8px;width:100%}
.kp__signature-name{font-size:12px;color:var(--kp-text);font-weight:700;margin-top:3px}

/* PRINT */
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff !important}
  body::before,body::after{display:none}
  .ed__sidebar,.ed__preview-toolbar,.kp-theme-switch,.kp-export-bar,.kp-list-topbar,.kp-list-search,.kp-list-empty{display:none !important}
  .ed{grid-template-columns:1fr !important}
  .ed__preview{padding:0 !important;overflow:visible !important;height:auto !important}
  .kp{width:210mm;min-height:297mm;margin:0;border-radius:0;box-shadow:none !important;page-break-after:always}
  .kp__hero{padding:24mm 18mm 14mm}
  .kp__body{padding:8mm 18mm 8mm}
  .kp__footer{padding:8mm 18mm 14mm}
}

/* MOBILE */
@media(max-width:880px){
  .kp{width:96vw;min-height:auto;margin:20px auto;border-radius:14px}
  .kp__hero{padding:28px 22px 22px}
  .kp__hero-grid{grid-template-columns:1fr;gap:14px}
  .kp__meta{text-align:left}
  .kp__title{font-size:26px}
  .kp__body{padding:24px 22px 16px}
  .kp__for{flex-direction:column;align-items:flex-start;gap:6px}
  .kp__table thead{display:none}
  .kp__table tbody tr{display:grid;grid-template-columns:1fr;gap:3px;padding:14px 0;border-bottom:1px solid var(--kp-line-soft)}
  .kp__table tbody td{padding:0;border:0}
  .kp__table tbody td:last-child{text-align:left;margin-top:6px;font-size:16px;color:var(--kp-gold)}
  .kp__row-num,.kp__row-term{display:none}
  .kp__total-row{display:flex !important;flex-direction:row;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--kp-gold)}
  .kp__footer{padding:22px}
  .kp__footer-grid{grid-template-columns:1fr;gap:18px}
  .kp__signature{margin:0 auto}
}
