/* Shared controls, readable labels and the four supported color themes. */
:root{--danger-ink:#a82742;--focus-ring:#6842d4}
:root{--action-bg:#5b32bf;--action-ink:#fff}.dark{--action-bg:#cbb8ff;--action-ink:#24183f}.palette-pink{--action-bg:#a42b5d;--action-ink:#fff}.palette-pink.dark{--action-bg:#ffadd0;--action-ink:#3b2531}
body .button:not(.ghost):not(.danger){background:var(--action-bg);color:var(--action-ink);border-color:var(--action-bg)}
.dark{--danger-ink:#ffb4c5;--focus-ring:#cbb8ff}
.palette-pink{--focus-ring:#a42b5d}.palette-pink.dark{--focus-ring:#ffadd0}
body :is(.badge,.tag,.media-info,.review-media-meta,.review-check,.staff-private-tag,.compact-profile-data dt,.compact-profile-data dd,.compact-profile-section>summary small,.compact-profile-meta,.compact-profile-fee>span,.compact-profile-fee small,.telegram-media-name,.telegram-media-choice small){font-size:max(.8125rem,12px)!important;line-height:1.5}
.button,.text-button,.media-actions button{font-family:inherit;font-size:.875rem;line-height:1.35;border-radius:10px;min-height:42px;padding:10px 15px;cursor:pointer}
.button.small{font-size:.8125rem;min-height:40px;padding:9px 12px}
.button.danger,.media-actions .danger{background:var(--danger-ink);color:var(--surface);border-color:var(--danger-ink)}
.text-button.danger{color:var(--danger-ink)}
.button.ghost{color:var(--ink);background:var(--surface);border-color:var(--line)}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.form-field small,.intake-field small,.site-settings-grid small{font-size:.8125rem;line-height:1.5}
.field-invalid,[aria-invalid=true]{border:2px solid var(--danger-ink)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--danger-ink) 15%,transparent)!important}
.field-error{display:block;font-size:.875rem!important;color:var(--danger-ink)!important;line-height:1.4;margin-top:6px}
.form-error-summary{grid-column:1/-1;width:100%;margin:0 0 18px}
.settings-group{border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:16px 0;overflow:hidden;scroll-margin-top:100px}
.settings-group>summary{padding:20px 24px;cursor:pointer;font-size:1.05rem;font-weight:700;color:var(--ink)}
.settings-group[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}
.settings-group>section.panel{border:0;box-shadow:none;margin:0;border-radius:0}
.danger-zone{border-color:var(--danger-ink)}.danger-zone>summary{color:var(--danger-ink)}
.switch-control{appearance:none;width:48px!important;height:28px!important;min-height:28px;border:2px solid var(--muted);border-radius:20px!important;background:var(--line);position:relative;cursor:pointer;padding:0!important}
.switch-control:before{content:'';position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:var(--ink);transition:transform .15s}
.switch-control:checked{background:var(--purple);border-color:var(--purple)}.switch-control:checked:before{transform:translateX(20px);background:var(--surface)}
.app-confirm{width:min(480px,calc(100vw - 32px));padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.app-confirm::backdrop{background:#11182799}.app-confirm h2{font-size:1.3rem;margin-top:0}.app-confirm p{line-height:1.6}.app-confirm .form-actions{justify-content:flex-end}
.app-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(620px,calc(100vw - 32px));z-index:10000;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px 54px 18px 20px}
.app-notice button{position:absolute;right:4px;top:4px;width:40px;height:40px;background:transparent;border:0;color:inherit;font-size:1.5rem}
.compact-header .header-signout{width:100%;border:0;background:transparent;text-align:left;font-family:inherit}
.compact-header .header-inner{max-width:1400px;gap:16px}.compact-header .header-nav{gap:8px}.compact-header .header-link{min-height:44px}
@media(min-width:900px) and (max-width:1100px){.compact-header.menu-enhanced .header-nav{display:flex;position:static;flex-direction:row;justify-content:center;border:0;box-shadow:none;background:transparent;margin:0;padding:6px 0 12px}.compact-header.menu-enhanced .header-menu-toggle{display:none}}
@media(max-width:620px){.compact-header .header-tools{justify-self:stretch;justify-content:flex-end;gap:8px;padding-bottom:10px}.compact-header .site-language{margin-right:auto}.compact-header .brand{font-size:1rem}.compact-header .header-nav>.header-link{font-size:.9375rem;padding:12px 14px}.settings-group>summary{padding:16px}.form-actions{gap:10px}.app-confirm{padding:20px}}
@media(max-width:540px){.staff-profile .review-media-grid,.profile-review-compact .review-media-grid,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-profile .review-media-preview{height:150px}.staff-profile .review-media-info{padding:10px;gap:8px}.staff-profile #review-media .review-toolbar .button,.media-actions button{min-height:44px;font-size:.8125rem;padding:10px!important}.staff-profile .review-media-info .review-check span{white-space:normal}.staff-profile .review-media-meta>small{display:block}.review-media-meta{flex-wrap:wrap}.compact-profile-data{grid-template-columns:1fr}.media-actions form{display:flex;flex-wrap:wrap}.media-actions button{flex:1}.telegram-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.staff-profile .review-media-grid,.media-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.switch-control:before{transition:none}}

.upload-failed{border:2px solid var(--danger-ink);background:var(--surface);color:var(--danger-ink);padding:12px;border-radius:10px}
