.dp-tool{margin:24px 0 32px;padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--wash-sage)}
.dp-section{margin:20px 0}
.dp-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dp-tool button{min-height:44px;min-width:44px;padding:8px 14px;font:inherit;font-weight:700;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:6px;cursor:pointer}
.dp-tool button:hover{background:var(--cream)}
.dp-tool button:disabled{opacity:.55;cursor:not-allowed}
.dp-tool button:focus-visible,.dp-tool input:focus-visible,.dp-tool select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dp-tool input,.dp-tool select{min-height:44px;font:inherit;padding:8px 10px;border:1px solid #81968d;border-radius:4px;background:#fff;color:var(--ink)}
.dp-tool label{font-weight:700}
.dp-custom{margin-top:14px}
.dp-custom label{display:block;margin-bottom:6px}
.dp-custom input{flex:1 1 220px;max-width:420px}
.dp-pal{display:inline-flex;flex-direction:column;align-items:center;gap:4px;width:104px;line-height:1.2;text-align:center;font-size:.9rem}
.dp-pal svg,.dp-card-icon svg{width:36px;height:36px;flex:none}
.dp-plan{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.dp-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px;background:#fff;border:2px solid var(--line);border-radius:8px}
.dp-card.dp-now{border-color:var(--ink);border-width:4px;background:var(--wash-peach)}
.dp-card.dp-next{border-style:dashed;border-color:var(--moss);border-width:3px}
.dp-card.dp-done{opacity:.7}
.dp-card-icon{display:flex;color:var(--ink)}
.dp-card-icon svg{width:56px;height:56px}
.dp-card-label{font-weight:700;flex:1 1 140px;font-size:1.15em}
.dp-marker{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.85em;padding:2px 8px;border:2px solid currentColor;border-radius:4px;color:var(--soft-ink)}
.dp-now .dp-marker{background:var(--ink);color:#fff;border-color:var(--ink)}
.dp-next .dp-marker{color:var(--moss)}
.dp-time-print{display:none}
.dp-ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dp-ctl label{font-weight:400;font-size:.9rem}
.dp-ctl input[type=time]{width:9em}
.dp-size-large .dp-card-label{font-size:1.5rem}
.dp-size-xl .dp-card-label{font-size:2rem}
.dp-size-large .dp-card-icon svg{width:72px;height:72px}
.dp-size-xl .dp-card-icon svg{width:96px;height:96px}
.dp-size-large .dp-marker,.dp-size-large .dp-time-print{font-size:1.1rem}
.dp-size-xl .dp-marker,.dp-size-xl .dp-time-print{font-size:1.4rem}
.dp-layout-strip .dp-plan{flex-direction:row;overflow-x:auto;align-items:stretch;padding-bottom:8px}
.dp-layout-strip .dp-card{flex:0 0 220px;flex-direction:column;align-items:flex-start;text-align:left}
.dp-layout-strip .dp-card-label{flex:1 1 auto}
.dp-size-large.dp-layout-strip .dp-card{flex-basis:260px}
.dp-size-xl.dp-layout-strip .dp-card{flex-basis:320px}
#dp-empty{margin:12px 0}
.dp-static{columns:2}
@media (max-width:480px){.dp-static{columns:1}.dp-tool{padding:14px}}
@media (prefers-reduced-motion:no-preference){.dp-card{transition:border-color .2s,background .2s}}
@media print{
.skip-link,.site-header,.site-footer,.breadcrumb,.page-heading,.prose>p,.prose>h2,.prose>ul,.dp-tool>h2,.dp-tool>p,.dp-section:not(:last-child),.dp-nav,.dp-ctl,.dp-static,#dp-status,.dp-tool>section>h3,.dp-marker.dp-m-later{display:none!important}
body,.dp-tool{background:#fff!important;border:0;padding:0;margin:0}
.page-shell{padding:0!important;max-width:none!important}
.dp-print-title{display:block!important;font-size:22pt;font-weight:700;margin:0 0 8pt}
.dp-plan{gap:8pt;margin:0}
.dp-card{break-inside:avoid;page-break-inside:avoid;border:2px solid #000!important;background:#fff!important;opacity:1!important;padding:8pt}
.dp-card.dp-now{border-width:2px!important}
.dp-time-print{display:inline;font-weight:700}
.dp-card-icon svg{width:44pt!important;height:44pt!important}
.dp-card-label{font-size:18pt!important;color:#000}
.dp-marker{display:none}
.dp-plan,.dp-layout-strip .dp-plan{display:grid!important;grid-template-columns:repeat(3,1fr);overflow:visible}
.dp-card,.dp-layout-strip .dp-card{flex-direction:column;align-items:flex-start;min-width:0}
.dp-card-label,.dp-size-xl .dp-card-label,.dp-size-large .dp-card-label{font-size:15pt!important}
.dp-card-icon svg{width:36pt!important;height:36pt!important}
@page{margin:12mm}
}
