/* DocHuntr shared components (v0.3), loaded after app.css. Mobile first: base rules fit 320px. */
.dc-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--c-surface-alt)}
.dc-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--c-header);color:var(--c-header-text);box-shadow:var(--shadow-1)}
.dc-header a,.dc-header .link-button{color:var(--c-header-text)}
.dc-header .brand{display:inline-flex;align-items:center;min-height:var(--tap);overflow-wrap:anywhere}

.dc-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1);min-width:0;overflow-wrap:anywhere}
.dc-card>h2:first-child,.dc-card>h3:first-child{margin-top:0}
.dc-card-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}

.dc-table-wrap{overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface)}
.dc-table{border-collapse:collapse;width:100%;min-width:30rem}
.dc-table th{background:var(--c-surface-alt);font-weight:600}
.dc-table th,.dc-table td{border:0;border-bottom:1px solid var(--c-border);padding:var(--space-2) var(--space-3);text-align:left}
.dc-table tbody tr:hover{background:var(--c-surface-alt)}

/* buttons live in dochuntr.css (one .btn system) */

.dc-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.1rem .6rem;border-radius:999px;border:1px solid currentColor;font-size:.8125rem;font-weight:600;background:var(--c-surface);line-height:1.5}
.dc-chip-success{color:var(--c-success)}.dc-chip-error{color:var(--c-error)}.dc-chip-warning{color:var(--c-warning)}.dc-chip-info{color:var(--c-info)}

.dc-form{display:grid;gap:var(--space-3)}
.dc-field{display:block;margin:0}
.dc-field>label,.dc-field>.dc-label{display:block;font-weight:600;margin:0 0 var(--space-1)}
.dc-field input,.dc-field select,.dc-field textarea{border:1px solid var(--c-muted);border-radius:var(--radius);background:var(--c-surface)}
.dc-field input[type="color"]{padding:var(--space-1);width:var(--tap);min-width:var(--tap);cursor:pointer}
.dc-field .dc-hint{color:var(--c-muted);font-size:.875rem;margin:var(--space-1) 0 0}
.dc-field .dc-error{color:var(--c-error);font-weight:600;margin:var(--space-1) 0 0}

.dc-empty{text-align:center;padding:var(--space-8) var(--space-4);border:2px dashed var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-muted)}
.dc-empty h2,.dc-empty h3{color:var(--c-text);margin-top:0}

.dc-header a:focus-visible,.dc-header button:focus-visible{outline-color:var(--c-focus-on-dark)}
.dc-btn:focus-visible,.dc-field input:focus-visible,.dc-field select:focus-visible,.dc-field textarea:focus-visible,.dc-card a:focus-visible,.dc-table-wrap:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}

@media (min-width:48rem){.dc-header{padding:var(--space-3) var(--space-6)}.dc-form.dc-form-2{grid-template-columns:1fr 1fr}.dc-card{padding:var(--space-6)}}
@media (min-width:64rem){.dc-table{min-width:0}}
@media (max-width:20rem){.dc-btn{width:100%}.dc-card{padding:var(--space-3)}}
@media (prefers-reduced-motion:reduce){.dc-btn{transition:none}}

/* v0.3 M3: spacing, hierarchy and states applied to the existing screens (legacy class names) */
main{max-width:70rem;margin-inline:auto;padding:var(--space-4)}
main h1{font-size:1.625rem;line-height:1.25;margin:0 0 var(--space-4)}
main h2{font-size:1.25rem;margin:var(--space-6) 0 var(--space-3)}
main h3{font-size:1.0625rem}
.lead{font-size:1.125rem;max-width:42rem}
.hint{color:var(--c-muted);font-size:.875rem}
table{border-collapse:collapse}
main table th{background:var(--c-surface-alt);font-weight:600;text-align:left}
main table th,main table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--c-border)}
.cards>li,article.exc{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}
.button-link,button:not(.link-button){min-height:var(--tap);border-radius:var(--radius)}
p.empty{padding:var(--space-4);border:2px dashed var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-muted)}
.badge,.badge-count{display:inline-block;padding:.05rem .55rem;border-radius:999px;background:var(--c-brand);color:var(--c-brand-text);font-size:.8125rem;font-weight:600;vertical-align:middle}
.help-link{margin:0 0 var(--space-3);font-size:.875rem;text-align:right}
.inline-list{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;padding:0}
.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-left:6px solid var(--c-accent);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1)}
.dc-steps h3{margin-top:0}
.dc-faq{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);margin:0 0 var(--space-2);padding:0 var(--space-4)}
.dc-faq summary{cursor:pointer;font-weight:600;min-height:var(--tap);display:flex;align-items:center}
.dc-faq summary:focus-visible,.dc-steps a:focus-visible,.help-link a:focus-visible,.email-text:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}
li:target,details:target{outline:3px solid var(--c-accent);outline-offset:2px}
.email-frame{width:100%;height:36rem;border:1px solid var(--c-border);border-radius:var(--radius);background:#eef2f6}
.email-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--space-3)}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media (max-width:30rem){main{padding:var(--space-3)}.email-frame{height:30rem}}
