/* ============================================================================
   Document layout — "Sleek".

   A second look for the same engine and the same data. Nothing here changes what
   a document means; it changes only how it is set.

   Every size is a multiple of --doc-fs so the print fitter can shrink a document
   a few percent to hold it on one page rather than spilling a handful of lines
   onto a second. Restraint on ink is deliberate: the accent appears as thin
   rules, one tinted strip and a single filled bar, never large flooded areas.
   ========================================================================== */

.doc-theme-sleek {
  --sk-ink: #14181c;
  --sk-soft: #56616a;
  --sk-hair: #d7dde1;
  --sk-rule: #14181c;
  --sk-accent: #12726c;
  --sk-tint: #eef6f5;

  --sk-title: calc(21pt * var(--doc-fs));
  --sk-body:  calc(9.5pt * var(--doc-fs));
  --sk-cell:  calc(9.2pt * var(--doc-fs));
  --sk-sub:   calc(8.4pt * var(--doc-fs));
  --sk-label: calc(7.2pt * var(--doc-fs));
  --sk-micro: calc(7.6pt * var(--doc-fs));

  color: var(--sk-ink);
  font-size: var(--sk-body);
}

/* ------------------------------------------------------------------ header */
.doc-theme-sleek .doc-head {
  align-items: center;
  padding-bottom: 2.2mm;
  border-bottom: 2pt solid var(--sk-accent);
}
.doc-theme-sleek .doc-logo { height: 13mm; }
.doc-theme-sleek .doc-org { font-size: var(--sk-micro); color: var(--sk-soft); line-height: 1.45; }
.doc-theme-sleek .doc-org-name {
  font-size: calc(10.5pt * var(--doc-fs)); font-weight: 700; color: var(--sk-ink);
  letter-spacing: .04em; margin-bottom: .4mm;
}

.doc-theme-sleek .doc-title {
  margin: 3mm 0 2.4mm;
  text-align: left;
  font-size: var(--sk-title); font-weight: 700; letter-spacing: .15em;
  color: var(--sk-ink);
  border: 0; padding: 0 0 1.2mm;
  position: relative;
}
.doc-theme-sleek .doc-title::after {
  content: ''; position: absolute; left: 0; bottom: 0;
  width: 20mm; height: 1.6pt; background: var(--sk-accent);
}

/* -------------------------------------------------------------- meta block */
.doc-theme-sleek .doc-meta { gap: 0 12mm; margin-bottom: 2mm; }
.doc-theme-sleek .doc-meta-row {
  display: flex; flex-direction: row; align-items: baseline; gap: 1.6mm;
  border: 0; padding: 0 0 1.1mm;
}
.doc-theme-sleek .doc-meta-key {
  min-width: 22mm; font-size: var(--sk-label); font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--sk-soft); line-height: 1.3;
}
.doc-theme-sleek .doc-meta-val { font-size: var(--sk-body); color: var(--sk-ink); line-height: 1.2; }
.doc-theme-sleek .doc-subject {
  border: 0; border-top: .5pt solid var(--sk-hair);
  padding-top: 1.6mm; margin-bottom: 2mm;
}
.doc-theme-sleek .doc-fixed { font-weight: 700; letter-spacing: .04em; }

/* ------------------------------------------------------------------ table */
.doc-theme-sleek .doc-table { margin-top: 0; }
.doc-theme-sleek .doc-table th {
  background: transparent;
  border: 0; border-bottom: 1.2pt solid var(--sk-rule);
  padding: 1.9mm 1.5mm;
  font-size: var(--sk-label); font-weight: 700; letter-spacing: .05em;
  color: var(--sk-soft); text-align: left; line-height: 1.15;
}
.doc-theme-sleek .doc-table th.doc-th-num { text-align: right; }
.doc-theme-sleek .doc-table th.doc-th-ctr { text-align: center; }
.doc-theme-sleek .doc-table td {
  border: 0; border-bottom: .5pt solid var(--sk-hair);
  padding: 1.5mm 1.5mm; font-size: var(--sk-cell); line-height: 1.3;
}

.doc-theme-sleek .doc-row-section td {
  background: var(--sk-tint);
  border-bottom: .5pt solid var(--sk-hair);
  color: var(--sk-accent);
  font-size: var(--sk-micro); font-weight: 700; letter-spacing: .12em;
  padding: 1.7mm 1.5mm;
}
.doc-theme-sleek .doc-row-note td {
  color: var(--sk-soft); font-style: normal; font-size: var(--sk-sub);
  padding-top: 0; border-bottom: .5pt solid var(--sk-hair);
}
.doc-theme-sleek .doc-row:hover { background: #fbfdfd; }

/* ----------------------------------------------------------------- totals */
.doc-theme-sleek .doc-totals { margin-top: 2.8mm; }
.doc-theme-sleek .doc-totals table { min-width: 92mm; }
.doc-theme-sleek .doc-totals td {
  border: 0; border-bottom: .5pt solid var(--sk-hair);
  padding: 1.3mm 2mm; font-size: var(--sk-cell);
}
.doc-theme-sleek .doc-totals .k {
  background: transparent; font-weight: 400; color: var(--sk-soft);
  text-transform: uppercase; font-size: var(--sk-label); letter-spacing: .1em;
}
.doc-theme-sleek .doc-totals .cur { color: var(--sk-soft); font-size: var(--sk-label); }
.doc-theme-sleek .doc-totals .grand td {
  background: var(--sk-accent); color: #fff;
  border-bottom: 0; font-size: calc(11.5pt * var(--doc-fs)); font-weight: 700; padding: 1.9mm 2mm;
}
.doc-theme-sleek .doc-totals .grand .cur { color: #dff0ee; font-size: calc(8pt * var(--doc-fs)); }

/* ------------------------------------------------------------------ words */
.doc-theme-sleek .doc-words {
  margin-top: 2.2mm; padding: 1.6mm 2.4mm;
  background: var(--sk-tint); border-left: 1.6pt solid var(--sk-accent);
  font-size: var(--sk-sub); color: var(--sk-ink);
}
.doc-theme-sleek .doc-words b { text-transform: none; font-weight: 700; }

/* ------------------------------------------------------------------ terms */
.doc-theme-sleek .doc-terms {
  margin-top: 3mm; font-size: var(--sk-micro); color: var(--sk-soft);
  border-top: .5pt solid var(--sk-hair); padding-top: 1.8mm;
}
.doc-theme-sleek .doc-terms h4 {
  font-size: var(--sk-label); letter-spacing: .12em; color: var(--sk-soft); margin-bottom: 1.4mm;
}
.doc-theme-sleek .doc-terms ol { columns: 2; column-gap: 8mm; padding-left: 4mm; }
.doc-theme-sleek .doc-terms li { margin-bottom: .4mm; break-inside: avoid; line-height: 1.28; }

/* ------------------------------------------------------------- signatures */
.doc-theme-sleek .doc-sign { margin-top: 4mm; gap: 18mm; font-size: var(--sk-sub); }
.doc-theme-sleek .doc-sign-box b {
  font-size: var(--sk-label); letter-spacing: .12em; text-transform: uppercase;
  color: var(--sk-soft); font-weight: 700;
}
.doc-theme-sleek .doc-sign-line {
  margin-top: 6mm; border-top: .8pt solid var(--sk-rule);
  padding-top: 1mm; color: var(--sk-soft); font-size: var(--sk-label);
  letter-spacing: .05em;
}

/* ----------------------------------------------------------------- footer */
.doc-theme-sleek .doc-foot {
  margin-top: 3mm; padding-top: 1.4mm;
  border-top: .5pt solid var(--sk-hair);
  color: var(--sk-soft); font-size: var(--sk-label); letter-spacing: .06em;
  text-transform: uppercase;
}

.doc-theme-sleek .doc-draft-mark {
  font-size: calc(52pt * var(--doc-fs)); color: rgba(18,114,108,.07); letter-spacing: .3em;
}

/* editing affordances follow the theme */
.doc-theme-sleek [contenteditable]:focus { outline-color: var(--sk-accent); background: var(--sk-tint); }
.doc-theme-sleek .doc-pick:hover { background: var(--sk-tint); box-shadow: 0 1px 0 var(--sk-accent); }
.doc-theme-sleek .doc-colgrip:hover::after,
.doc-theme-sleek .doc-colgrip.is-dragging::after { background: var(--sk-accent); }
.doc-theme-sleek .doc-add { color: var(--sk-accent); }
.doc-theme-sleek .doc-add:hover { background: var(--sk-tint); border-color: var(--sk-accent); }

/* page furniture in the printed, paginated document */
.doc-theme-sleek .page-foot {
  border-top: .5pt solid var(--sk-hair) !important;
  color: var(--sk-soft); font-size: var(--sk-label); letter-spacing: .05em;
}
.doc-theme-sleek .page-cont { color: var(--sk-soft); font-size: var(--sk-label); letter-spacing: .08em; }
