/* DocHuntr v0.4 M2: one restrained component set applied to the existing staff screens. Loaded after shell.css. */
main{color:var(--c-text)}
main>h1:first-of-type,main>section>h1:first-child{display:block}
main h2{padding-top:var(--space-2)}
main p,main li{overflow-wrap:anywhere}
main section,main form,main fieldset{min-width:0;max-width:100%}

/* cards */
.cards>li,article.exc,.alert,.dc-steps>li,.dc-faq,fieldset{box-shadow:var(--shadow-1)}
.cards>li,article.exc{background:var(--c-surface);border-color:var(--c-border);border-radius:var(--radius-lg)}
fieldset{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);padding:var(--space-4)}
legend{font-weight:600;padding:0 var(--space-2)}

/* buttons */
.actions,.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-3) 0}

/* fields */
main label{font-weight:600}
main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]):not([type="file"]),main select,main textarea{box-sizing:border-box;max-width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);font:inherit;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-muted);border-radius:var(--radius)}
main textarea{width:100%}
main input[type="file"]{max-width:100%}
main input[aria-invalid="true"],main select[aria-invalid="true"],main textarea[aria-invalid="true"]{border:2px solid var(--c-error)}
main input:focus-visible,main select:focus-visible,main textarea:focus-visible,main button:focus-visible,main a:focus-visible,main summary:focus-visible,main [tabindex]:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}
.field-error{margin-top:var(--space-1)}

/* tables */
main table{width:100%;background:var(--c-surface)}
main table caption{text-align:left;font-weight:600;padding:var(--space-2) 0}
main table tbody tr:hover{background:var(--c-surface-alt)}
.scroll{border:1px solid var(--c-border);border-radius:var(--radius)}

/* pills and toasts */
.badge,.badge-count,.pill{display:inline-block;padding:.05rem .6rem;border-radius:999px;font-size:.8125rem;font-weight:600;line-height:1.5}
.pill{border:1px solid currentColor;background:var(--c-surface)}
.alert{background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid currentColor;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}
.alert a{color:inherit;text-decoration:underline}
div.error[role="alert"]{border:1px solid var(--c-error);border-left-width:4px;border-radius:var(--radius-lg);background:var(--c-surface);padding:var(--space-3) var(--space-4)}

/* empty states and steps */
p.empty{text-align:center;padding:var(--space-6) var(--space-4)}
.steps li{background:var(--c-surface);border-radius:999px}
.steps li.done{border-color:var(--c-success)}
.steps a{color:inherit}

/* responsive: nothing may force horizontal page scroll at 375px */
img,video,iframe,svg{max-width:100%}
main pre,main code{overflow-wrap:anywhere;white-space:pre-wrap}
@media (max-width:48rem){
main table{display:block;overflow-x:auto;max-width:100%}
main input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),main select{width:100%}
.actions>*,.page-actions>*{flex:1 1 100%}
}
@media (min-width:48rem){main{padding:var(--space-6)}main h1{font-size:1.875rem}}
@media (prefers-reduced-motion:reduce){button,.button-link{transition:none}}
.client-firm{font-size:1.25rem;font-weight:700;color:var(--c-header-text)}
.client-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);font-size:.875rem;color:#44505f}
