/* Shared control theme. Load after page layouts on every application shell. */
:root { color-scheme:dark; }
button,input,select,textarea { font:inherit; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea {
  background:var(--surface-secondary,#171b24);color:var(--text-primary,#f3f4f6);
  border:1px solid var(--border,#313746);border-radius:8px;padding:11px 12px;min-height:44px;
  box-shadow:none;max-width:100%;font-size:16px;
}
select { appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239aa4b6' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer; }
select option,optgroup { color:var(--text-primary,#f3f4f6);background:var(--surface-secondary,#171b24); }
input::placeholder,textarea::placeholder { color:var(--text-secondary,#9aa4b6);opacity:1; }
input[type=checkbox],input[type=radio] { accent-color:var(--primary,#635bff); }
input[type=file]::file-selector-button { background:var(--surface,#202632);color:var(--text-primary,#f3f4f6);border:1px solid var(--border,#313746);border-radius:6px;padding:8px 12px;margin-right:12px;font:inherit;cursor:pointer; }
button,.button { min-height:44px; }
button:disabled,input:disabled,select:disabled,textarea:disabled { opacity:.5;cursor:not-allowed; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid var(--primary,#635bff);outline-offset:3px; }
.language-switch { padding:0 10px;min-width:48px;white-space:nowrap;background:transparent;border:1px solid var(--border);font-size:14px; }
.language-switch:hover { background:var(--surface-secondary); }
.console-top .row-actions { margin-left:auto; }
@media(max-width:760px) { .console-top { position:static;height:56px;padding:0 16px;border-bottom:1px solid var(--border);justify-content:flex-end; } .site-header .row-actions { gap:8px; } .site-header .language-switch { padding:0 8px;min-width:44px; } }
@media(max-width:380px) { .public-site .site-header .brand { font-size:16px;gap:6px; } .public-site .site-header .brand-mark { width:24px;height:24px; } .public-site .site-header .button { font-size:12px;padding-inline:8px; } }
