  :root{--accent:#065f46;--accent-soft:#ecfdf5;--accent-dark:#064e3b;--gold:#b45309;--rose:#be123c;--slate:#334155}
  body{background:linear-gradient(180deg,#ecfdf5 0%,#f8fafc 45%,#fffbeb 100%);background-attachment:fixed}
  .ds-wrap{max-width:920px;margin:0 auto;padding:0 22px 90px}
  .ds-card{background:linear-gradient(155deg,#ffffff 0%,#f4fdf9 100%);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:var(--radius);box-shadow:0 10px 28px -14px rgba(6,95,70,.22),var(--shadow);padding:28px 26px;margin-bottom:22px}
  .ds-card#stepInvoices{border-left-color:var(--gold);background:linear-gradient(155deg,#ffffff 0%,#fffaf0 100%)}
  .ds-card#stepReview{border-left-color:var(--slate);background:linear-gradient(155deg,#ffffff 0%,#f8fafc 100%)}
  .page-head{background:linear-gradient(120deg,var(--accent-soft),#fef3c7)}
  .ds-step-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:10px;display:block}
  textarea, input[type=text], input[type=number], input[type=date], select{width:100%;font-family:var(--font-body);font-size:.95rem;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fbfbfd;color:var(--ink)}
  textarea{resize:vertical;min-height:70px}
  label.field-label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:7px}
  .ds-note{font-size:.82rem;color:var(--muted);font-style:italic}
  .ds-btn{font-family:var(--font-body);font-weight:700;font-size:.9rem;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 22px;cursor:pointer}
  .ds-btn:hover{background:var(--accent-dark)}
  .ds-btn:disabled{opacity:.5;cursor:not-allowed}
  .ds-btn.ghost{background:transparent;color:var(--accent-dark);border:1.5px solid var(--accent-dark)}
  .ds-btn.sm{padding:7px 13px;font-size:.8rem;border-radius:8px}
  .ds-row-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:12px}
  @media(max-width:560px){.ds-row-grid{grid-template-columns:1fr}}
  .ds-obl-row,.ds-inv-row{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px;background:#fbfbfd;position:relative}
  .ds-inv-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:10px}
  @media(max-width:760px){.ds-inv-grid{grid-template-columns:1fr 1fr}}
  .ds-inv-grid label{font-size:.7rem;font-weight:700;color:var(--muted);display:block;margin-bottom:4px}
  .ds-flags{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap;font-size:.82rem}
  .ds-flags label{display:flex;align-items:center;gap:6px;font-weight:600}
  .ds-remove{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--rose);font-weight:700;cursor:pointer;font-size:.95rem}
  .ds-panel{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:14px;background:#fbfbfd}
  .ds-panel h5{font-family:var(--font-head);font-size:.9rem;margin-bottom:8px;color:var(--accent-dark)}
  .ds-snap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}
  .ds-snap-cell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-align:center}
  .ds-snap-cell .v{font-family:var(--font-head);font-size:1.25rem;font-weight:700;color:var(--accent-dark)}
  .ds-snap-cell .l{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
  table.ds-tbl{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:10px}
  table.ds-tbl th{text-align:left;font-size:.72rem;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line);padding:8px 6px}
  table.ds-tbl td{padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:top}
  .ds-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap;display:inline-block}
  .ds-tag.high{background:#fee2e2;color:#991b1b}
  .ds-tag.medium{background:#fef3c7;color:#92400e}
  .ds-tag.low{background:#dcfce7;color:#166534}
  .ds-tag.hold{background:#e2e8f0;color:#334155}
  .ds-flag-note{background:#fff7ed;border:1px solid #f59e0b;color:#92400e;border-radius:8px;padding:8px 12px;font-size:.8rem;margin-top:8px}
  .ds-warn-note{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:8px;padding:10px 14px;font-size:.85rem;margin-top:10px}
  .ds-check-row{display:flex;align-items:flex-start;gap:10px;margin-top:8px;font-size:.88rem}
  .ds-check-row input{margin-top:3px}
  .ds-export-block{background:#fbfbfd;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}
  .ds-export-block h4{font-family:var(--font-head);font-size:1rem;margin-bottom:6px}
  pre.ds-pre{white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:.8rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;max-height:280px;overflow-y:auto}
  #keyOverlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}
  #keyOverlay[hidden]{display:none}
  #keyOverlay .box{background:#fff;border-radius:14px;padding:26px 24px;max-width:420px;width:100%}
  #keyOverlay .box h3{font-family:var(--font-head);margin-bottom:8px}
  #keyOverlay .box p{font-size:.85rem;color:var(--muted);margin-bottom:14px}
  #keyErr{color:var(--rose);font-size:.8rem;margin-top:8px;min-height:1em}
  .ds-history-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:8px 0;font-size:.85rem}