:root { --dl-ink:#202923; --dl-green:#48584d; --dl-sage:#e4e8e1; --dl-paper:#f9faf6; --dl-line:#ced5cb; }
.dl-tools-main { color:var(--dl-ink); padding-bottom:3rem; }
.dl-tools-hero { background:var(--dl-sage); padding:clamp(2.5rem,7vw,5rem) 24px; border-bottom:1px solid var(--dl-line); }
.dl-tools-wrap, .dl-tool { max-width:1120px; margin:0 auto; }
.dl-tools-hero h1 { font-family:'Source Serif 4',Georgia,serif; font-size:clamp(2.2rem,5vw,4rem); font-weight:500; line-height:1.12; letter-spacing:-.025em; max-width:880px; margin:.6rem 0 1.2rem; }
.dl-tools-hero p { max-width:760px; font-size:1.1rem; line-height:1.7; }
.dl-kicker { font-size:.8rem!important; letter-spacing:.07em; text-transform:uppercase; color:var(--dl-green); font-weight:600; }
.dl-tools-body { padding:clamp(1.4rem,4vw,3rem) 24px; }
.dl-panel { background:#fff; border:1px solid var(--dl-line); padding:clamp(1.2rem,3vw,2.2rem); margin:0 0 1.5rem; border-radius:3px; }
.dl-panel h2,.dl-result h2 { font-family:'Source Serif 4',Georgia,serif; font-size:clamp(1.6rem,3vw,2.2rem); line-height:1.25; font-weight:500; margin:0 0 1rem; }
.dl-panel h3,.dl-result h3 { font-family:'Source Serif 4',Georgia,serif; font-size:1.4rem; font-weight:600; margin:1.6rem 0 .7rem; }
.dl-panel h4,.dl-result h4 { font-size:1.08rem; line-height:1.4; margin:.4rem 0 .8rem; }
.dl-panel p,.dl-panel li,.dl-result p,.dl-result li { line-height:1.75; }
.dl-panel ul,.dl-result ul { padding-left:1.4rem; }
.dl-panel a:not(.dl-btn),.dl-result a:not(.dl-btn) { color:#344a3b; text-decoration:underline; text-underline-offset:3px; }
.dl-grid,.dl-priority-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem; }
.dl-priority-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dl-card { display:flex; flex-direction:column; border:1px solid var(--dl-line); background:#fff; padding:1.6rem; }
.dl-card h2,.dl-card h3 { margin:.4rem 0 .7rem; }
.dl-card p { flex-grow:1; }
.dl-card .dl-btn { align-self:flex-start; }
.dl-field { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.2rem; }
.dl-field label,.dl-label { font-weight:600; line-height:1.5; }
.dl-field input,.dl-field select,.dl-field textarea,.dl-panel textarea,.dl-panel input[type=search],.dl-panel input[type=text] { width:100%; box-sizing:border-box; border:1px solid #7e8c80; border-radius:2px; background:#fff; color:var(--dl-ink); padding:.8rem; font:inherit; line-height:1.5; min-height:46px; }
.dl-field textarea { min-height:110px; }
.dl-panel textarea[readonly] { background:var(--dl-paper); }
.dl-note { color:#4e5d52; font-size:.92rem; line-height:1.65; }
.dl-error { color:#8b271f; font-weight:600; line-height:1.5; }
.dl-error:empty { display:none; }
.dl-btn { display:inline-flex; justify-content:center; align-items:center; text-align:center; min-height:46px; padding:.75rem 1.2rem; color:#fff!important; background:var(--dl-green); border:1px solid var(--dl-green); border-radius:2px; text-decoration:none!important; font:inherit; font-weight:500; line-height:1.5; cursor:pointer; box-sizing:border-box; gap:.5rem; }
.dl-btn:hover { background:#35463b; }
.dl-btn-secondary { background:transparent; color:#344a3b!important; border-color:#8a968b; }
.dl-btn-secondary:hover { background:#edf0e9; }
.dl-btn:disabled { opacity:.55; cursor:wait; }
.dl-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.3rem 0; align-items:center; }
.dl-question { border:0; padding:0; margin:1.6rem 0 0; min-width:0; }
.dl-question legend { display:block; font-family:'Source Serif 4',Georgia,serif; font-weight:500; font-size:1.65rem; line-height:1.35; padding:0; margin-bottom:.75rem; }
.dl-question .dl-note { margin:0 0 1.1rem; }
.dl-choice { display:flex; align-items:center; gap:.85rem; border:1px solid var(--dl-line); padding:1rem; cursor:pointer; margin:.7rem 0; line-height:1.5; border-radius:2px; }
.dl-choice:has(input:checked) { border-color:var(--dl-green); background:#edf1e8; box-shadow:inset 3px 0 var(--dl-green); }
.dl-choice input { flex:0 0 auto; width:20px; height:20px; accent-color:var(--dl-green); }
.dl-progress { font-size:.85rem; font-weight:600; color:var(--dl-green); }
.dl-panel progress { display:block; width:100%; max-width:600px; height:8px; accent-color:var(--dl-green); }
.dl-panel progress::-webkit-progress-bar { background:#e6ebe2; border-radius:5px; }
.dl-panel progress::-webkit-progress-value { background:var(--dl-green); border-radius:5px; }
.dl-clear { margin-top:1.2rem; padding:.5rem .75rem; font-size:.9rem; }
.dl-priority { background:var(--dl-paper); border-top:3px solid var(--dl-green); padding:1.2rem; }
.dl-result { line-height:1.7; }
.dl-result h3 { border-top:1px solid var(--dl-line); padding-top:1rem; }
.dl-answer-review { border-top:1px solid var(--dl-line); margin-top:1.5rem; padding-top:1.3rem; }
.dl-answer-review summary { cursor:pointer; font-weight:600; min-height:44px; }
.dl-tools-links { margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:1rem 1.5rem; }
.dl-table-wrap { overflow-x:auto; }
.dl-table { border-collapse:collapse; width:100%; min-width:540px; margin:1.2rem 0; font-size:.95rem; }
.dl-table th,.dl-table td { padding:.85rem; text-align:left; border:1px solid var(--dl-line); vertical-align:top; line-height:1.6; }
.dl-table th { background:var(--dl-sage); }
.dl-table caption { text-align:left; font-weight:600; margin-bottom:.7rem; }
.dl-value { font-family:'Source Serif 4',Georgia,serif; font-size:1.8rem; margin:.2rem 0; }
.dl-badge { display:inline-block; padding:.25rem .6rem; background:var(--dl-sage); font-size:.82rem; font-weight:600; }
.dl-guide-log { min-height:150px; max-height:650px; overflow-y:auto; }
.dl-guide-message { padding:1.2rem; border:1px solid var(--dl-line); margin:1rem 0; border-radius:2px; }
.dl-guide-message[data-role=user] { background:var(--dl-sage); margin-left:clamp(0px,3vw,35px); }
.dl-guide-message h3 { font-family:inherit; font-size:1rem; margin:0 0 .6rem; }
.dl-guide-message a { display:inline-block; margin:.4rem .9rem .2rem 0; }
.dl-suggestions { display:flex; gap:.6rem; flex-wrap:wrap; }
.dl-suggestions button { font-size:.9rem; text-align:left; }
.dl-guide-form { display:flex; align-items:flex-end; gap:.75rem; }
.dl-guide-form .dl-field { flex:1; margin:0; }
.dl-guide-form textarea { min-height:76px; }
.dl-context { padding:1rem; border-left:3px solid var(--dl-green); background:var(--dl-paper); }
.dl-home-tools { padding:3rem 24px; background:var(--dl-paper); border-top:1px solid var(--dl-line); border-bottom:1px solid var(--dl-line); }
.dl-home-tools h2 { font:500 clamp(1.8rem,3vw,2.8rem)/1.2 'Source Serif 4',Georgia,serif; margin:.5rem 0 1rem; }
.dl-home-tools p { line-height:1.75; max-width:750px; }
.dl-crosslink { margin-top:1.6rem; padding:1.3rem; background:var(--dl-sage); border:1px solid var(--dl-line); }
.dl-crosslink h2,.dl-crosslink h3 { margin-top:0; }
.dl-inline-import { margin-bottom:1.5rem; padding:1.2rem; border:1px solid var(--dl-line); background:var(--dl-paper); }
.dl-inline-import pre { white-space:pre-wrap; font:inherit; max-height:220px; overflow:auto; }
.dl-print-only { display:none; }
:where(.dl-tools-main,.dl-home-tools,.dl-crosslink) :focus-visible { outline:3px solid #74875b; outline-offset:4px; }
[hidden] { display:none!important; }
@media(max-width:760px) {
 .dl-grid,.dl-priority-grid { grid-template-columns:1fr; }
 .dl-guide-form { flex-direction:column; align-items:stretch; }
 .dl-actions .dl-btn { flex:1 1 220px; }
 .dl-tool { min-width:0; }
 .dl-tools-hero { padding-top:2.3rem; }
}
@media print {
 @page { size:A4; margin:18mm; }
 body { background:#fff!important; color:#111!important; font-size:11pt!important; }
 header,footer,.newsletter-section,.newsletter,.dl-no-print,ai-voicereceptionist,.skipLink,.skip-link { display:none!important; }
 .dl-tools-hero { padding:0 0 10mm; background:#fff; border:0; }
 .dl-tools-hero h1 { font-size:24pt; }
 .dl-tools-hero p { font-size:11pt; }
 .dl-tools-body,.dl-panel,.dl-tool { padding:0; border:0; max-width:none; margin:0; }
 .dl-priority-grid { display:block; }
 .dl-priority { background:#fff; border-top:1px solid #888; padding:4mm 0; break-inside:avoid; }
 .dl-result h2 { font-size:20pt; }
 .dl-result h3 { break-after:avoid; font-size:15pt; }
 .dl-result p,.dl-result li { line-height:1.5; }
 .dl-print-only { display:block; white-space:pre-wrap; }
 .dl-table { min-width:0; font-size:9pt; }
 .dl-table tr { break-inside:avoid; }
 .dl-panel .dl-btn,.dl-actions { display:none!important; }
 a { color:#111!important; text-decoration:none!important; }
}
