/* Material controls share the console palette; structural and Monaco styles stay in app.css. */
.nv-material-table { background: transparent; }
.nv-material-table table { width: 100%; }
.nv-material-table td { vertical-align: middle; }
.nv-material-table tr.row-click { cursor: pointer; }
.nv-material-table tr.archived td, .nv-material-table tr.key-revoked td { opacity: .55; }
.nv-material-table tr.selected-row td, .nv-material-table tr.expanded td { background: rgba(111,168,220,.12); }
.nv-material-table .col-check { width: 48px; }
.form-row > .mud-input-control { min-width: 0; }
.form-actions .mud-button { flex-shrink: 0; }
/* Horizontal forms align the actual controls, without stacked-form spacing. */
.info-editor-row > .form-row { margin-bottom: 0; }
.info-editor-row > .form-row > .mud-input-control { margin-top: 0; margin-bottom: 0; }
.info-editor-row > .form-actions { min-height: 40px; }
.info-editor-row > .form-actions > .mud-button,
.chat-compose > .mud-button { min-height: 40px; }
.perm-item { display: flex; align-items: center; }
.chat-compose > .mud-input-control { margin-top: 0; margin-bottom: 0; }
.chat-compose .chat-text-input { min-width: 120px; }
.mud-button.lang-btn { min-width: 34px; padding: 3px 6px; font-family: var(--nv-font-ui); font-size: 12px; border: 0; }
.mud-button.lang-btn.active { background: rgba(111,168,220,.15); }
.mud-button.logout-btn { font-family: var(--nv-font-ui); letter-spacing: normal; }
.mud-button.dev-tab { border: 0; border-radius: 8px 8px 0 0; font-family: var(--nv-font-ui); letter-spacing: normal; }
.mud-button.dev-tab.active { background: rgba(111,168,220,.15); border-bottom: 2px solid var(--nv-accent); }
.module-nav .mud-nav-item { width: 100%; padding: 2px 8px; box-sizing: border-box; }
.module-nav .mud-nav-link-text { display: flex; align-items: center; gap: 12px; margin-left: 0; }
.nv-browser-field input { width: 100%; color: inherit; font: inherit; border: 0; background: transparent; outline: 0; padding: 0; }
.nv-browser-field > label { display: block; margin-bottom: 4px; font-size: 13px; color: var(--nv-muted); }
.nv-browser-field .mud-input-control { margin-top: 0; }
.nv-browser-field input:autofill { box-shadow: 0 0 0 1000px var(--nv-panel) inset; -webkit-text-fill-color: var(--nv-text); caret-color: var(--nv-text); }
.nv-browser-field:focus-within .mud-input-outlined-border { border-color: var(--nv-accent); border-width: 2px; }
.nv-file-picker { position: relative; display: inline-flex; max-width: 100%; }
.nv-file-picker input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.nv-file-picker:focus-within { outline: 2px solid var(--nv-accent); outline-offset: 3px; border-radius: 8px; }
@media (max-width: 700px) {
    .chat-compose { flex-wrap: wrap; }
    .chat-compose .chat-nick-input { max-width: none; flex-basis: 100%; }
    .sidebar-footer { flex-wrap: wrap; }
}
