/* Hallmark · shape: app screen · genre: modern-minimal · theme: brand · redesign: full · nav: existing · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V3 · weakest: V, predictable controls make repeated production tasks easier */
html,body{overflow-x:clip}
html{scrollbar-color:var(--hm-control) var(--hm-bg);scroll-padding-top:var(--space-lg)}
body{font-family:var(--hm-font);background:var(--hm-bg);color:var(--hm-ink);-webkit-font-smoothing:antialiased;caret-color:var(--hm-accent)}
button,input,textarea,select,summary{font-family:inherit}
:where(button,input,textarea,select,summary,a){touch-action:manipulation}
:where(button,input,textarea,select,summary,a,[tabindex]):focus-visible{outline:2px solid var(--hm-focus);outline-offset:3px;transition:none!important}
:where(button,[role=button]):disabled,:where(button,[role=button])[aria-disabled=true]{opacity:.55;cursor:not-allowed}
:where(button):active:not(:disabled){filter:brightness(.97)}
:where(input,select,textarea){color:var(--hm-ink);background-color:var(--hm-surface);border-color:var(--hm-control);max-width:100%;box-sizing:border-box}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--hm-accent)}
:where(input,textarea)::placeholder{color:var(--hm-muted);opacity:1}
:where(select) option{color:var(--hm-ink);background:var(--hm-surface)}
:where(dialog){max-width:calc(100% - 32px);max-height:calc(100dvh - 48px);color:var(--hm-ink);background:var(--hm-surface);border:1px solid var(--hm-line);border-radius:var(--hm-radius);overscroll-behavior:contain}
:where(dialog)::backdrop{background:var(--hm-overlay)}
:where([role=status],[role=alert]){overflow-wrap:break-word}
:where(th,td,.metric,.kpi,.stat){font-variant-numeric:tabular-nums}
:where([hidden]){display:none!important}
@media(pointer:coarse){:where(button,input:not([type=checkbox]):not([type=radio]),select){min-height:44px}input,textarea,select{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
html[data-trust-motion=reduce] *,html[data-trust-motion=reduce] *::before,html[data-trust-motion=reduce] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}

::selection{background:var(--hm-selected);color:var(--hm-ink)}

/* A restrained neutral focus marker preserves orientation without making every
   selected field look like a primary action. Invalid fields remain semantic. */
:where(input,select,textarea):focus{border-color:var(--hm-focus);box-shadow:none}
:where(input,select,textarea):focus-visible{outline:2px solid var(--hm-focus);outline-offset:2px;box-shadow:none}
:where(button,summary,a):focus:not(:focus-visible){outline:none}
:where(input,select,textarea)[aria-invalid=true]{border-color:var(--hm-danger)}
