.notice-error{border-color:#ef444455;background:#ef444412;color:var(--danger)}
.notice-error strong{margin-right:5px}
.check-line{display:flex!important;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:8px}
.check-line input{width:auto}
.filter-panel{margin:0 0 20px;overflow:visible}
.filter-panel .form-grid{align-items:end}
.badge.INACTIVE,.badge.PAUSED{background:#64748b20;color:var(--muted)}
.badge.DELETED{background:#ef444420;color:#dc2626}
.badge.DELIVERED{background:#10b98120;color:#059669}
.section-heading{margin-top:34px;margin-bottom:14px}
.section-heading h2{margin:0;font-size:20px}
.error-button{padding:5px 9px;font-size:12px;color:var(--danger);border-color:#ef444455;background:#ef44440d}
.error-button:hover{background:#ef444418}
.error-modal{width:min(680px,calc(100vw - 32px))!important}
.error-detail{padding:20px}
.error-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}
.error-detail dl div{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
.error-detail dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.error-detail dd{margin:4px 0 0;font-weight:650}
.error-detail label{display:block;margin-bottom:7px;font-weight:650}
.error-detail pre{margin:0;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border:1px solid #ef444455;border-radius:8px;background:#ef44440d;color:var(--danger);font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:620px){.error-detail dl{grid-template-columns:1fr}}
.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.advanced-card{margin:0;display:flex;flex-direction:column}.advanced-card .panel-head{display:flex;justify-content:space-between}.advanced-card .panel-head strong,.advanced-card .panel-head span{display:block}.advanced-card .panel-head span{font-size:12px;color:var(--muted);font-weight:400;margin-top:3px}.advanced-card .modal-actions{margin-top:auto}.schema-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.schema-picker>label{display:flex;gap:9px;align-items:flex-start;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:7px;cursor:pointer}.schema-picker>label input{width:auto;margin-top:3px}.schema-picker>label strong,.schema-picker>label small{display:block}.schema-picker>label small{color:var(--muted)}.empty-picker{display:flex;color:var(--muted);min-height:75px;align-items:center;justify-content:center}.picker-controls{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px}.text-button{border:0;background:transparent;color:var(--brand);cursor:pointer;font-weight:650}.encryption-choice,.danger-choice{align-items:flex-start}.encryption-choice small,.danger-choice small{padding:0;margin:2px 0 0}.danger-choice{border-color:#ef444455}.table-count{font-weight:650}.unlock-shell{display:grid;place-items:center;min-height:60vh}.unlock-card{width:min(460px,100%);padding:28px;text-align:center}.unlock-card h2{margin:8px 0}.unlock-card p{color:var(--muted);margin:0 0 22px}.unlock-card .field{text-align:left;margin-bottom:16px}.unlock-card>.btn{width:100%}.unlock-icon{margin:auto;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#14b8a620;color:var(--brand);font-size:28px}.data-browser{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;min-height:680px}.schema-sidebar,.sql-workspace{margin:0;min-width:0}.schema-select{padding:14px;border-bottom:1px solid var(--line)}.schema-select label{display:block;font-weight:650;margin-bottom:6px}.schema-select select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}.schema-tree{padding:10px;max-height:620px;overflow:auto}.schema-tree details{border-bottom:1px solid var(--line);padding:7px 2px}.schema-tree summary{font:12px ui-monospace,monospace;font-weight:700;cursor:pointer}.column-list{padding:5px 0 3px 14px}.column-list button{width:100%;display:flex;justify-content:space-between;gap:8px;border:0;background:transparent;color:var(--text);padding:5px;cursor:pointer;text-align:left}.column-list button:hover{background:var(--panel2)}.column-list small{color:var(--muted)}.sql-workspace{display:flex;flex-direction:column}.sql-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}.sql-toolbar strong,.sql-toolbar span{display:block}.sql-toolbar span{color:var(--muted);font-size:12px}.sql-actions{display:flex;gap:8px}kbd{font:10px ui-monospace,monospace;opacity:.7}.editor-wrap{position:relative}.editor-wrap textarea{display:block;width:100%;height:230px;resize:vertical;border:0;border-bottom:1px solid var(--line);outline:0;padding:18px;background:#081018;color:#d8f3ed;font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.sql-suggestions{position:absolute;z-index:4;left:20px;top:55px;width:min(380px,calc(100% - 40px));max-height:260px;overflow:auto;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.sql-suggestions button{display:block;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:7px 9px;border-radius:5px;cursor:pointer}.sql-suggestions button:hover{background:var(--panel2)}.write-confirm{padding:12px 16px;background:#ef444412;border-bottom:1px solid #ef444455}.write-confirm label{font-weight:700;color:var(--danger)}.write-confirm span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.query-message{padding:9px 16px;border-bottom:1px solid var(--line)}.query-message.success{color:#059669;background:#10b98110}.query-message.failure{color:var(--danger);background:#ef444410}.query-result{min-height:260px;overflow:auto}.result-table{max-height:440px}.result-table th{position:sticky;top:0}.result-table td{max-width:420px;overflow:hidden;text-overflow:ellipsis;font:12px ui-monospace,monospace}.command-result{padding:38px;display:flex;flex-direction:column;align-items:center}.command-result strong{font-size:20px}.command-result span{color:var(--muted)}
@media(max-width:1050px){.advanced-grid{grid-template-columns:1fr}.data-browser{grid-template-columns:1fr}.schema-tree{max-height:260px}}@media(max-width:620px){.schema-picker{grid-template-columns:1fr}.sql-toolbar{align-items:flex-start;gap:10px;flex-direction:column}}

/* Data Browser workspace */
.data-browser{--schema-width:310px;--editor-height:300px;display:grid;grid-template-columns:var(--schema-width) 8px minmax(0,1fr);gap:0;min-height:720px;align-items:stretch}.workspace-splitter{cursor:col-resize;position:relative}.workspace-splitter::after{content:"";position:absolute;inset:0 3px;background:var(--line);transition:.15s}.workspace-splitter:hover::after,.workspace-splitter.active::after{background:var(--brand)}.schema-sidebar{border-radius:12px 0 0 12px}.sql-workspace{border-radius:0 12px 12px 0;min-height:720px;max-height:calc(100vh - 170px);overflow:hidden}.schema-tree{max-height:calc(100vh - 310px)}.schema-group{padding:5px 0 10px;border-bottom:1px solid var(--line)}.schema-group h4{margin:6px 8px;color:var(--muted);font:700 11px/1.4 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.schema-tree .schema-table{padding:2px 0;border:0}.schema-table summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;list-style:none}.schema-table summary::-webkit-details-marker{display:none}.schema-table summary::before{content:"›";grid-column:1;position:absolute;transform:translateX(-2px);color:var(--muted);transition:transform .15s}.schema-table[open] summary::before{transform:translateX(-2px) rotate(90deg)}.schema-table summary>span{padding-left:13px;overflow:hidden;text-overflow:ellipsis}.schema-table summary>small{font:10px/1.3 sans-serif;color:var(--muted);white-space:nowrap}.tree-query{border:0;border-radius:5px;padding:4px 6px;background:transparent;color:var(--brand);font-size:10px;cursor:pointer}.tree-query:hover{background:#14b8a617}.column-list{margin:1px 4px 4px 14px;border-left:1px solid var(--line)}
.sql-toolbar{gap:12px;flex-wrap:wrap}.sql-context{display:flex;align-items:center;gap:8px;min-width:180px}.sql-context strong{width:100%}.sql-context>[data-query-context]{width:100%}.tx-badge{display:inline-flex!important;width:auto!important;padding:3px 7px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);white-space:nowrap}.tx-badge.active{color:#d97706;border-color:#d9770655;background:#d9770615}.sql-actions{flex:1;justify-content:flex-end;flex-wrap:wrap}.sql-actions .btn,.saved-query-select{min-height:34px;padding:7px 10px;font-size:12px}.saved-query-select{max-width:170px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}.btn.success{border-color:#10b98166;color:#10b981}.editor-pane{height:var(--editor-height);min-height:150px;display:flex;flex-direction:column;overflow:hidden}.editor-wrap{flex:1;min-height:0}.editor-wrap textarea{height:100%;resize:none}.result-splitter{height:9px;cursor:row-resize;display:grid;place-items:center;background:var(--panel);border-bottom:1px solid var(--line)}.result-splitter span{display:block;width:42px;height:3px;border-radius:2px;background:var(--line)}.result-splitter:hover span,.result-splitter.active span{background:var(--brand)}.result-pane{flex:1;min-height:180px;overflow:hidden;display:flex;flex-direction:column}.query-result{flex:1;min-height:0;overflow:auto}.sql-suggestions button{display:flex;justify-content:space-between;gap:12px}.sql-suggestions button small{color:var(--muted);font-size:10px;text-transform:uppercase}.write-confirm{flex:none}
.grid-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:7px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.grid-toolbar .btn,.column-chooser>summary{font-size:11px;padding:6px 9px;min-height:30px}.column-chooser{position:relative}.column-chooser>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:7px;font-weight:650}.column-chooser>summary::-webkit-details-marker{display:none}.column-chooser>div{position:absolute;right:0;top:36px;z-index:8;min-width:230px;max-height:320px;overflow:auto;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.column-chooser label{display:flex;gap:8px;align-items:center;padding:6px;border-radius:5px;font-size:12px}.column-chooser label:hover{background:var(--panel2)}.column-chooser input{width:auto}.result-table{max-height:none;overflow:visible}.result-table table{border-collapse:separate;border-spacing:0;min-width:100%}.result-table thead tr:first-child th{top:0;height:40px;cursor:pointer;user-select:none}.result-table thead tr:first-child th i{margin-left:7px;color:var(--brand);font-style:normal}.result-table thead .filter-row th{top:40px;padding:5px;background:var(--panel2)}.filter-row input{min-width:100px;width:100%;padding:6px 7px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);font-size:11px}.result-table th.dragging{opacity:.45}.result-table td{white-space:nowrap}.grid-empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.data-browser{display:flex;flex-direction:column}.workspace-splitter{display:none}.schema-sidebar,.sql-workspace{border-radius:12px}.sql-workspace{max-height:none}.schema-tree{max-height:260px}.sql-actions{justify-content:flex-start}.result-pane{min-height:360px}}@media(max-width:720px){.sql-context{width:100%}.sql-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.saved-query-select{max-width:none}.editor-pane{height:260px}.result-splitter{display:none}}
.schema-table summary{position:relative}
.sql-toolbar{display:block;padding:0}.sql-context{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px}.sql-context strong,.sql-context>[data-query-context]{width:auto}.sql-context>[data-query-context]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sql-actions{display:flex;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:8px 10px;border-top:1px solid var(--line);scrollbar-width:thin}.sql-actions>*{flex:none}
@media(max-width:720px){.sql-context{grid-template-columns:1fr auto}.sql-context>[data-query-context]{grid-column:1/-1;grid-row:2}.sql-actions{display:flex;width:auto}}

/* User access management */
.access-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.access-card{display:flex;align-items:flex-start;gap:14px}
.access-card strong{display:block;font-size:16px;margin:0 0 3px}
.access-card p{margin:0;color:var(--muted)}
.access-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:#64748b20;color:var(--muted);font-weight:800}
.access-icon.admin{background:#14b8a620;color:var(--brand)}
.badge.ADMIN{background:#14b8a620;color:var(--brand)}
.badge.VIEWER{background:#64748b20;color:var(--muted)}
.role-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.role-option{display:flex!important;align-items:flex-start;gap:10px;padding:13px!important;border:1px solid var(--line);border-radius:9px;cursor:pointer}
.role-option:has(input:checked){border-color:var(--brand);background:#14b8a610}
.role-option input{width:auto!important;margin-top:3px}
.role-option span{display:flex;flex-direction:column;gap:3px}
.role-option strong{font-size:14px}
.role-option small{margin:0!important}
.self-label{display:inline-flex;align-items:center;padding:0 5px;font-size:12px}
@media(max-width:760px){.access-summary,.role-options{grid-template-columns:1fr}}

/* Temporary password and first access */
.user-mail-notice{display:flex;flex-direction:column;gap:4px;margin:0 0 20px}
.user-mail-notice strong{color:var(--text)}
.badge.PASSWORD_PENDING{background:#f59e0b20;color:#d97706}
.badge.PASSWORD_OK{background:#10b98118;color:#059669}
.password-change-box{width:min(520px,100%)}
.password-change-head{display:flex;gap:14px;align-items:flex-start}
.password-change-head h1{margin:0 0 5px}
.password-change-head p{margin:0}
.password-change-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;background:#14b8a620;font-size:22px}
.password-policy{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.password-policy>strong{display:block;margin-bottom:8px}
.password-rule{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--muted);font-size:13px}
.password-rule span{width:18px;text-align:center;font-weight:800}
.password-rule.valid{color:#059669}
.password-rule.valid span{color:#059669}
.password-strength{margin-top:10px;padding:8px 10px;border-radius:7px;background:#ef444412;color:var(--danger);font-weight:700;text-align:center}
.password-strength.valid{background:#10b98118;color:#059669}
.password-change-box .field small[data-password-match]{min-height:20px}
.password-match-ok{color:#059669!important}
.password-match-error{color:var(--danger)!important}
.password-security-note{margin:12px 0 0;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:620px){.password-change-head{flex-direction:column}.password-change-icon{width:40px;height:40px}}

/* Backup e restore avançado: navegação por abas e seleção de restore por aplicação. */
.advanced-tabs{display:flex;flex-direction:column;gap:18px}.advanced-tab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.advanced-tab{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;text-align:left;transition:background .15s,border-color .15s,color .15s}.advanced-tab:hover{background:var(--panel2);color:var(--text)}.advanced-tab.active{background:var(--panel2);border-color:color-mix(in srgb,var(--brand) 55%,var(--line));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 16%,transparent)}.advanced-tab-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);font-size:19px;font-weight:800}.advanced-tab strong,.advanced-tab small{display:block}.advanced-tab strong{font-size:13px}.advanced-tab small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.advanced-tab-panel[hidden]{display:none!important}.advanced-operation-card{margin:0;max-width:none}.advanced-history-heading{margin-top:26px}.backup-selection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--line)}.backup-selection-summary>div{min-width:0;padding:11px 13px;background:var(--panel2)}.backup-selection-summary>div span,.backup-selection-summary>div strong{display:block}.backup-selection-summary>div span{margin-bottom:3px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.backup-selection-summary>div strong{overflow:hidden;text-overflow:ellipsis;font-size:12px}.backup-selection-summary.empty{display:flex;min-height:62px;align-items:center;justify-content:center;padding:14px;background:var(--panel2);color:var(--muted);font-size:12px}
@media(max-width:760px){.advanced-tab-list{grid-template-columns:1fr}.backup-selection-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-tab{padding:12px}}
@media(max-width:480px){.backup-selection-summary{grid-template-columns:1fr}.advanced-tab small{font-size:10px}}

/* Login Google via Keycloak */
.dbgateway-login-box{text-align:left}
.login-brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#2dd4bf,#0f766e);box-shadow:0 10px 30px #14b8a633;margin-bottom:16px}
.google-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;padding:11px 14px;background:var(--panel);border-color:var(--line);font-weight:750}
.google-login-btn:hover{border-color:var(--brand)}
.google-login-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);font-weight:800;font-size:14px}
.login-access-note{margin:9px 0 0;color:var(--muted);font-size:12px;text-align:center}
.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:20px 0 4px}
.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.login-divider span{white-space:nowrap}
.login-password-form .field{margin-top:16px}
.login-password-form .btn{width:100%;margin-top:22px;padding:11px}
@media(max-width:480px){.login-divider span{white-space:normal;text-align:center}.dbgateway-login-box{padding:24px}}
