/* Deadline planner: compact form built on the shared Grain & Glass tokens. */
.dp-tool [hidden]{display:none!important}
.dp-tool .tax-page-head{margin-bottom:var(--space-md)}
.dp-step{margin:0 0 var(--space-lg);padding:var(--space-lg);border-radius:var(--panel-radius);background-image:linear-gradient(125deg,color-mix(in srgb,var(--grain-neutral-start) 68%,transparent),color-mix(in srgb,var(--grain-neutral-end) 68%,transparent)),var(--grain-image),linear-gradient(125deg,var(--grain-neutral-start),var(--grain-neutral-end));background-size:100% 100%,256px 256px,100% 100%}
.dp-step h2{display:flex;align-items:center;gap:10px;font-size:1.4rem;margin:0 0 var(--space-md)}
.dp-step-number{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-family:var(--font-body);font-size:.9rem;font-weight:700}

/* Fields */
.dp-tool input[type=text],.dp-tool input[type=date],.dp-tool select{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--field-line);border-radius:var(--radius);background:var(--glass-dense);color:var(--ink);font:inherit;font-size:.95rem}
.dp-field{margin:0 0 12px;padding:0;border:0;min-width:0}
.dp-field>label,.dp-field>legend{display:block;margin:0 0 4px;padding:0;font-size:.875rem;font-weight:600;line-height:1.35}
.dp-optional{font-weight:400;color:var(--muted)}
.dp-row{display:flex;flex-wrap:wrap;gap:0 12px;align-items:flex-end}
.dp-row>.dp-field{flex:0 1 190px}
.dp-row>.dp-grow{flex:1 1 260px}
.dp-lookup-row{display:flex;gap:8px;max-width:360px}
.dp-lookup-row input{text-transform:uppercase}
.dp-lookup-row input::placeholder{text-transform:none}
.dp-lookup-row .button{min-height:40px;padding:6px 18px}
.dp-under{margin:-4px 0 0}
.dp-check{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;cursor:pointer;margin:0 0 10px}
.dp-check input{width:18px;height:18px;margin:0;accent-color:var(--accent-text)}

/* Segmented radios and service pills */
.dp-seg,.dp-pills{display:flex;flex-wrap:wrap;gap:6px}
.dp-seg label,.dp-pills label{position:relative;cursor:pointer}
.dp-seg input,.dp-pills input{position:absolute;opacity:0;width:1px;height:1px}
.dp-seg span,.dp-pills span{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border:1px solid var(--field-line);border-radius:999px;background:var(--material-glass);font-size:.875rem;line-height:1.3}
.dp-pills span::before{content:'+';margin-right:6px;color:var(--muted);font-weight:700}
.dp-pills input:checked+span::before{content:'✓';color:var(--accent-text)}
.dp-seg input:checked+span,.dp-pills input:checked+span{background:var(--accent-soft);border-color:var(--accent-text);color:var(--accent-text);font-weight:600}
.dp-seg label:hover span,.dp-pills label:hover span{background:var(--glass-hover)}
.dp-seg input:focus-visible+span,.dp-pills input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}

/* Entity cards */
.dp-entity{margin:0 0 10px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--material-glass)}
.dp-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px}
.dp-summary p{margin:0;overflow-wrap:anywhere}
.dp-entity-actions{display:flex;flex-wrap:wrap;gap:16px;margin:4px 0 0}
.dp-summary .dp-entity-actions{margin:0}
.dp-found{margin:0 0 12px;overflow-wrap:anywhere}
.dp-service{margin:4px 0 8px;padding:10px 0 0;border-top:1px solid var(--line)}
.dp-service h4{font-family:var(--font-body);font-size:.95rem;font-weight:700;margin:0 0 8px}
.dp-fixed{margin:0 0 8px;font-size:.9rem}
.dp-source{display:inline-block;padding:0 8px;border-radius:999px;background:var(--status-neutral-bg);color:var(--status-neutral-ink);border:1px solid var(--status-neutral-line);font-size:.75rem;font-weight:600}
.dp-more{margin:0 0 8px;font-size:.875rem}
.dp-more summary{cursor:pointer;color:var(--muted);min-height:32px;display:list-item;align-content:center}
.dp-more summary:hover{color:var(--accent-text)}
.dp-more-body{padding:8px 0 0 14px}
.dp-own{padding-top:8px;border-top:1px dashed var(--line)}
.dp-own .dp-link{margin-bottom:20px}
.dp-error{margin:0 0 10px;padding:8px 12px;border:1px solid var(--error-line);border-radius:var(--radius);background:var(--error-bg);font-size:.875rem}
.dp-link{padding:0;border:0;background:none;color:var(--accent-text);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.dp-link:hover{color:var(--accent-hover)}
.dp-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dp-add{display:flex;flex-wrap:wrap;gap:6px 20px}

/* Results */
.dp-results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:4px}
.dp-results-head h2{margin:0}
.dp-options,.dp-custom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.dp-options select,.dp-custom input,.dp-filters select{width:auto}
.dp-options .dp-check{margin:0}
#dp-summary{margin:4px 0 10px}
.dp-issues{margin:0 0 12px;padding:10px 14px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft);font-size:.875rem}
.dp-issues p{margin:0}
.dp-issues ul{margin:0;padding:0;list-style:none}
.dp-issues li{margin:2px 0;overflow-wrap:anywhere}
.dp-filters{display:flex;flex-wrap:wrap;gap:8px}
.dp-empty{color:var(--muted)}
.dp-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.875rem;margin-top:8px}
.dp-col-tick{width:36px}
.dp-col-date{width:120px}
.dp-col-who{width:26%}
.dp-col-type{width:140px}
.dp-table th{text-align:left;font-weight:600;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.dp-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.dp-table td:first-child input{width:18px;height:18px;accent-color:var(--accent-text)}
.dp-table td:nth-child(2){white-space:nowrap}
.dp-past{display:block;font-size:.75rem;font-weight:600;color:var(--muted)}
.dp-excluded td:not(:first-child){opacity:.5}
.dp-export{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--line)}
.dp-export .tax-actions{margin:0 0 8px}
.dp-tool .button.secondary{border:1px solid var(--field-line);background:var(--material-glass)}
.dp-tool .button.secondary:hover{background:var(--glass-hover)}
.dp-export h4{font-size:1rem;margin:var(--space-md) 0 4px}

@media(max-width:720px){
 .dp-step{padding:var(--space-md) 14px}
 .dp-row>.dp-field{flex:1 1 100%}
 .dp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .dp-table,.dp-table tbody,.dp-table tr,.dp-table td{display:block;width:100%}
 .dp-table tr{position:relative;padding:8px 0 8px 36px;border-bottom:1px solid var(--line)}
 .dp-table td{border:0;padding:1px 0}
 .dp-table td:first-child{position:absolute;left:4px;top:10px;width:auto}
 .dp-table td:nth-child(n+5)::before{content:attr(data-label) ': ';font-weight:600;color:var(--muted)}
}
