/* ==========================================================================
   MONEYFROMDEBT.COM: the violation checker and the call log
   Loaded only on pages with the tool meta key. Every color is a token from cr.tokens.css
   or a pair in tools/retone.py's audit table (SOUL.md 5.1).
   ========================================================================== */
.dt{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);align-items:start}
@media(max-width:900px){.dt{grid-template-columns:1fr}}

.dt-step{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:22px 22px 18px;margin-bottom:var(--s-3)}
.dt-step h2{font-size:1.15rem;margin:0 0 4px;letter-spacing:0}
.dt-step .dt-hint{color:var(--muted);font-size:.9rem;margin:0 0 14px}
.dt-step legend{font-weight:700;font-size:1.02rem;margin-bottom:10px;padding:0}
.dt-step fieldset{border:0;padding:0;margin:0 0 6px;min-width:0}

.dt-choices{display:grid;gap:10px}
.dt-choices.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){.dt-choices.cols-2{grid-template-columns:1fr}}
.dt-choice{position:relative;display:block;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px 14px 12px 40px;cursor:pointer;background:var(--surface);min-height:var(--tap);transition:border-color .18s,background .18s}
.dt-choice:hover{border-color:var(--gold-2)}
.dt-choice input{position:absolute;left:14px;top:15px;width:18px;height:18px;margin:0;accent-color:var(--gold-2)}
.dt-choice b{display:block;font-weight:700;color:var(--ink);font-size:.97rem}
.dt-choice small{display:block;color:var(--muted);font-size:.84rem;line-height:1.4;margin-top:2px}
.dt-choice:has(input:checked){border-color:var(--gold-2);background:#F7F1E4;box-shadow:inset 0 0 0 1px var(--gold-2)}

.dt-date{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
@media(max-width:560px){.dt-date{grid-template-columns:1fr}}
.dt-date label{display:block;font-weight:700;font-size:.95rem;margin-bottom:6px}
.dt-date input[type=date]{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;color:var(--ink);background:var(--surface)}
.dt-date input[type=date]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dt-today{min-height:var(--tap)}

.dt-result{position:sticky;top:96px}
@media(max-width:900px){.dt-result{position:static}}
.dt-card{background:var(--indigo-2);color:#E4EBE7;border-radius:var(--radius);padding:24px 24px 20px;border:1px solid rgba(238,223,176,.2)}
.dt-card h2{color:#fff;font-size:1.25rem;margin:0 0 4px;letter-spacing:0}
.dt-card .dt-sub{color:#B6C6BE;font-size:.9rem;margin:0 0 16px}
.dt-card .dt-empty{color:#CFDBD5;font-size:.97rem;margin:0}

.dt-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 14px;border-radius:var(--radius-sm);margin:0 0 10px;font-size:.92rem;border:1px solid transparent}
.dt-row .lvl{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;margin-top:2px}
.dt-row b{display:block;font-weight:700;margin-bottom:2px}
.dt-row .when{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin:2px 0 4px}
.dt-row p{margin:0;line-height:1.5}
.dt-row .cite{font-size:.8rem;margin:6px 0 0;opacity:.9}
.dt-row.risk{background:#FBEDE4;border-color:#7A3319;color:#7A3319}
.dt-row.warn{background:#F7F1E4;border-color:var(--gold-2);color:var(--gold-2)}
.dt-row.ok{background:#EAF3EC;border-color:#154A33;color:#154A33}
.dt-row.note{background:var(--ivory-2);border-color:var(--ivory-2);color:var(--ink-soft)}
.dt-row.info{background:#E7F1EC;border-color:#E7F1EC;color:var(--steel-2)}
.dt-row .cite a{color:inherit;text-decoration:underline}

.dt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dt-actions .btn{min-height:var(--tap)}
.dt-foot{font-size:.8rem;color:#B6C6BE;margin:14px 0 0;line-height:1.5}
.dt-foot a{color:var(--gold-soft)}
.dt-copied{font-size:.85rem;color:var(--gold-soft);margin:8px 0 0;min-height:1.2em}

@media print{.dt-result{position:static}.dt-card{background:#fff;color:#000;border:1px solid #000}.dt-card h2{color:#000}}

/* violation checker */
.vc-group{border:0;padding:0;margin:0 0 18px;min-width:0}
.vc-group legend{font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);margin-bottom:8px;padding:0}
.vc-biz{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;margin-top:6px}
.vc-biz input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold-2)}
.dt-card .vc-h{color:var(--gold-soft);font-family:var(--font-ui);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin:20px 0 10px}

/* call log */
.cl-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}
@media(max-width:900px){.cl-form{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.cl-form{grid-template-columns:1fr}}
.cl-form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.cl-form input[type=date],.cl-form input[type=time],.cl-form input[type=text],.cl-form select{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;color:var(--ink);background:var(--surface)}
.cl-form .cl-wide{grid-column:span 2}
@media(max-width:480px){.cl-form .cl-wide{grid-column:auto}}
.cl-check{display:flex;gap:8px;align-items:center;font-size:.93rem;min-height:var(--tap)}
.cl-check input{width:18px;height:18px;accent-color:var(--gold-2)}
.cl-verdict{background:var(--indigo-2);color:#E4EBE7;border-radius:var(--radius);padding:18px 20px;margin:22px 0 14px}
.cl-verdict b{color:#fff}.cl-verdict a{color:var(--gold-soft)}
.cl-scroll{position:relative;overflow-x:auto;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}
.cl-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:620px}
.cl-table th,.cl-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.cl-table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cl-table small{display:block;color:var(--muted)}
.cl-table tr.cl-hit td{background:#FBEDE4;color:#7A3319}
.cl-del{border:0;background:none;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--muted);min-width:44px;min-height:44px}
.cl-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;align-items:center}
@media print{.nav,.annc,.actionbar,footer.site,.cl-form,.cl-tools,.megawrap{display:none!important}}

/* letter builder */
.lb-fields label{display:block;font-weight:700;font-size:.9rem;margin:12px 0 6px;color:var(--ink)}
.lb-fields input,.lb-fields select,.lb-fields textarea{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff}
.lb-fields textarea{min-height:90px}
.lb-bur{display:none}
#lbuild.lb-bureau .lb-bur{display:block}
#lbuild.lb-bureau .lb-coll{display:none}
.lb-paper{background:#fff;border:1px solid #D9DFDB;border-radius:6px;box-shadow:0 24px 50px rgba(16,35,28,.14);padding:clamp(22px,3vw,40px);max-height:70vh;overflow:auto}
.lb-letter{font:15px/1.65 Georgia,'Times New Roman',serif;color:#1c2a24;white-space:normal}
.lb-msg{font-size:.88rem;color:var(--m-green,#0F5C45);min-height:1.2em;margin:8px 0 0}
.lb-note{font-size:.82rem;color:var(--muted);margin-top:6px}
@media print{body *{visibility:hidden}.lb-paper,.lb-paper *{visibility:visible}.lb-paper{position:absolute;left:0;top:0;width:100%;max-height:none;box-shadow:none;border:0}}

/* step-by-step intake */
.istep{border:0;padding:0;margin:0;min-width:0}
.istep legend{font:800 1.15rem/1.2 var(--font-display,inherit);color:var(--ink);margin:0 0 12px;padding:0}
.istep-bar,.istep-count{display:none}
.js-steps .istep-bar{display:block;height:6px;border-radius:999px;background:#E3ECE7;overflow:hidden;margin:4px 0 8px}
.js-steps .istep-bar span{display:block;height:100%;width:33%;background:linear-gradient(90deg,#0F5C45,#2E9A72);border-radius:999px;transition:width .35s ease}
.js-steps .istep-count{display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.istep-nav{display:none}
.js-steps .istep-nav{display:flex;justify-content:space-between;gap:10px;margin:16px 0 4px}
.js-steps .istep-nav .btn-gold{margin-left:auto}
