/* DocHuntr visual overhaul (milestone 7). Loaded last; tokens only, system fonts, no external assets.
   Applies cards, grids, forms, chips-with-icon, empty states and page headers to every remaining surface. */
.page-header-text{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0}
.page-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);background:var(--c-surface);color:var(--dc-blue);box-shadow:var(--shadow-1)}
.page-icon .icon{width:1.5rem;height:1.5rem}
h1{overflow-wrap:anywhere}
.page-lead{color:var(--c-muted);max-width:60ch}

.panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card,1rem);box-shadow:var(--shadow-card,var(--shadow-1));padding:var(--space-4);margin:0 0 var(--space-4);min-width:0}
.panel>h2:first-child{margin-top:0;font-size:1.125rem}
.form-grid{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr)}
@media (min-width:48rem){.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-top:var(--space-4)}
input[type="file"]{padding:var(--space-2);background:var(--c-surface-alt)}
.dc-chip::before{content:"•" / "";font-weight:700}
.dc-chip-success::before{content:"✓" / ""}
.dc-chip-warning::before{content:"◔" / ""}
.dc-chip-error::before{content:"!" / ""}
.dc-chip-info::before{content:"●" / ""}
.dc-chip-success{background:var(--chip-ok-bg);color:var(--c-success)}
.dc-chip-warning{background:var(--chip-warn-bg);color:var(--c-warning)}
.dc-chip-error{background:var(--chip-bad-bg);color:var(--c-error)}
.dc-chip-info{background:var(--chip-info-bg);color:var(--c-info)}
.dc-chip-neutral{background:var(--chip-idle-bg);color:var(--c-text)}
.dc-table{width:100%;border-collapse:collapse;background:var(--c-surface)}
.dc-table th{background:var(--c-surface-alt);text-align:left}
.dc-table th,.dc-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-border);vertical-align:top}
.dc-table caption{text-align:left;font-weight:600;padding:var(--space-2) var(--space-3)}
.badge{display:inline-block;padding:.0625rem .5rem;border-radius:999px;background:var(--dc-navy);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em;vertical-align:middle}
.alert{border:1px solid var(--c-border);border-left-width:4px;border-radius:var(--radius-lg);background:var(--c-surface);padding:var(--space-3) var(--space-4)}
.alert-info{border-left-color:var(--c-info)}
.alert-error{border-left-color:var(--c-error);color:var(--c-error)}
.dc-empty,.empty{border:1px dashed var(--c-border);border-radius:var(--r-card,1rem);background:var(--c-surface);padding:var(--space-6) var(--space-4);text-align:center;color:var(--c-muted)}

.stat-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));margin:0 0 var(--space-4);padding:0;list-style:none}
.stat-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card,1rem);padding:var(--space-4);box-shadow:var(--shadow-1)}
.stat-card .stat-label{display:block;color:var(--c-muted);font-size:.875rem;font-weight:600}
.stat-card .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--c-text);overflow-wrap:anywhere}

.dc-steps{list-style:none;padding:0;display:grid;gap:var(--space-3)}
.dc-steps>li{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card,1rem);padding:var(--space-4);box-shadow:var(--shadow-1)}
.dc-steps h3{margin:0 0 var(--space-2)}
.dc-faq{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}
.dc-faq summary{cursor:pointer;font-weight:600;min-height:var(--tap);display:flex;align-items:center}
.dc-states dt{font-weight:700;margin-top:var(--space-3)}
.dc-states dd{margin:0;color:var(--c-muted)}

.email-frame{box-shadow:var(--shadow-card,var(--shadow-1));border-radius:var(--r-card,1rem)}
.email-text{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-4);white-space:pre-wrap;overflow-wrap:anywhere}
.kind-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0}
.kind-tabs a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--space-4);border:1px solid var(--c-border);border-radius:999px;background:var(--c-surface);color:var(--c-text);text-decoration:none;font-weight:600}
.kind-tabs a[aria-current="page"]{background:var(--dc-blue);border-color:var(--dc-blue);color:#fff}

.client-card .client-drop{display:block;padding:var(--space-4);border:2px dashed var(--c-muted);border-radius:var(--radius-lg);background:var(--c-surface-alt)}
.client-card .client-submit{width:100%;margin-top:var(--space-4)}
.client-status{display:flex;align-items:center;gap:var(--space-3)}
.client-status h1{margin:0}
.client-status .icon{width:2rem;height:2rem}
.client-status-ok .icon{color:var(--c-success)}
.client-status-warn .icon{color:var(--c-warning)}
.auth-card label{margin-bottom:var(--space-4)}
.auth-card .icon-head{display:flex;justify-content:center;color:var(--dc-blue);margin-bottom:var(--space-2)}
.auth-card .icon-head .icon{width:2rem;height:2rem}

@media (max-width:30rem){.page-header-text{flex-direction:column}.page-header h1{font-size:1.5rem}.dc-card,.panel{padding:var(--space-3)}.form-actions>*{flex:1 1 100%}}
img,svg,iframe,video{max-width:100%}
