/* Form controls use a paired foreground/background in both themes, including embeds. */
:root{--pp29-field:#fff;--pp29-ink:#17212b;--pp29-help:#4b5563;--pp29-line:#687785;--pp29-focus:#005fcc;--pp29-error:#a31319}
html.dark,.sos-embed-theme-dark{--pp29-field:#17232d;--pp29-ink:#f3f6fa;--pp29-help:#c1cbd5;--pp29-line:#8d9ba9;--pp29-focus:#86bfff;--pp29-error:#ffadb2}
body form label,body .pp29-form label{color:var(--pp29-ink)}
body input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),body select,body textarea{background:var(--pp29-field);color:var(--pp29-ink);border-color:var(--pp29-line);min-width:0;max-width:100%;box-sizing:border-box}
body select option{background:var(--pp29-field);color:var(--pp29-ink)}
body input::placeholder,body textarea::placeholder{color:var(--pp29-help);opacity:1}
body form .muted,body form small,body .pp29-form .muted{color:var(--pp29-help)}
body form .error,body form [role=alert]{color:var(--pp29-error)}
body :is(input,select,textarea,button,summary,a):focus-visible{outline:3px solid var(--pp29-focus);outline-offset:3px}
.pp29-form form .grid.two,.pp29-form .intake-grid,.pp29-form .form-grid,.pp29-form .invoice-grid-top{grid-template-columns:minmax(0,1fr)!important}
.pp29-form label{display:block;margin-block:12px;overflow-wrap:anywhere}
.pp29-form label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.pp29-form label>select,.pp29-form label>textarea{display:block;width:100%;margin-top:6px}
.pp29-form input[type=checkbox],.pp29-form input[type=radio]{width:auto;min-width:18px;min-height:18px;vertical-align:middle;accent-color:#b80000}
.dashboard-section{margin-block:16px;border:1px solid var(--sos-border);border-radius:12px;background:var(--sos-card)}
.dashboard-section>summary{padding:14px;cursor:pointer;font-size:1.15rem;font-weight:700;color:var(--sos-text)}
.dashboard-section>section,.dashboard-section>.edu27{margin:0}
.dashboard-controls,.dashboard-settings{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px}
.dashboard-settings [role=status]{font-weight:600}
.dashboard-controls button{min-height:40px}
.sales-period-tabs{align-items:end;flex-wrap:wrap}
@media(max-width:640px){.pp29-form form .grid,.pp29-form .grid.two{grid-template-columns:minmax(0,1fr)!important}.pp29-form .actions{flex-wrap:wrap}.pp29-form label{width:100%}.dashboard-settings button{min-height:44px}.sales-period-tabs{width:100%}}

.dashboard-controls{grid-column:1/-1}
