:root {
  color-scheme: light;
  --bg: #f5f7fb;
  --panel: #ffffff;
  --panel-soft: #f8fafc;
  --line: #e4e9f1;
  --text: #172033;
  --muted: #6b768b;
  --primary: #315efb;
  --primary-soft: #edf2ff;
  --good: #138a5b;
  --good-soft: #e9f8f1;
  --warn: #b76a00;
  --warn-soft: #fff4df;
  --bad: #c43e4d;
  --bad-soft: #fff0f2;
  --shadow: 0 18px 50px rgba(28, 42, 73, .08);
  --radius: 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); min-height: 100vh; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.login-view { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 15% 10%, #e8edff 0, transparent 34%), radial-gradient(circle at 90% 90%, #e6f8f0 0, transparent 30%), var(--bg); }
.login-card { width: min(430px, 100%); background: var(--panel); border: 1px solid var(--line); border-radius: 28px; padding: 34px; box-shadow: var(--shadow); display: grid; gap: 18px; }
.login-card h1 { margin: 0; font-size: 28px; }
.login-card p { margin: 6px 0 0; color: var(--muted); }
.login-card small { color: var(--muted); text-align: center; }
.brand-mark { width: 62px; height: 62px; border-radius: 19px; display: grid; place-items: center; background: var(--text); color: white; font-weight: 800; font-size: 19px; letter-spacing: .5px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { background: #10182a; color: white; padding: 24px 16px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.sidebar-brand { display: flex; align-items: baseline; justify-content: space-between; padding: 4px 12px 26px; }
.sidebar-brand span { font-size: 23px; font-weight: 850; letter-spacing: .6px; }
.sidebar-brand small { color: #9eabc4; }
.nav-list { display: grid; gap: 7px; }
.nav { border: 0; background: transparent; color: #b6c1d5; padding: 11px 12px; border-radius: 12px; display: flex; align-items: center; gap: 11px; text-align: left; }
.nav span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgba(255,255,255,.08); font-size: 9px; font-weight: 800; }
.nav:hover, .nav.active { background: rgba(255,255,255,.1); color: white; }
.sidebar-foot { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding: 18px 12px 0; display: grid; gap: 8px; }
.sidebar-foot .text-button { color: #b9c5da; justify-self: start; }

.main-column { min-width: 0; padding: 0 34px 44px; }
.topbar { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar h1 { font-size: 24px; margin: 0; }
.topbar p { margin: 5px 0 0; color: var(--muted); }
.query-policy { border: 1px solid #cfe9dd; background: var(--good-soft); color: var(--good); border-radius: 999px; padding: 7px 11px; font-size: 13px; display: flex; gap: 7px; align-items: center; }
.query-policy i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

.page { max-width: 1440px; margin: 0 auto; }
.page-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.page-actions > div:first-child:not(.search-box) { margin-right: auto; }
.page-actions h2, .panel h2 { margin: 0; font-size: 19px; }
.page-actions p, .panel p { margin: 5px 0 0; color: var(--muted); }
.search-box { flex: 1; max-width: 520px; }
.search-box input { width: 100%; }

.button { border: 1px solid var(--line); background: var(--panel); color: var(--text); border-radius: 11px; padding: 9px 13px; font-weight: 650; min-height: 40px; }
.button:hover { border-color: #c4cddd; background: #fbfcff; }
.button.primary { background: var(--primary); color: white; border-color: var(--primary); }
.button.primary:hover { filter: brightness(.96); }
.button.danger { color: var(--bad); border-color: #f0c9ce; }
.button.ghost { background: transparent; }
.button.google { background: white; border-color: #ccd4e0; }
.button.wide { width: 100%; }
.button:disabled { opacity: .55; cursor: not-allowed; }
.text-button { border: 0; background: transparent; color: var(--primary); padding: 0; font-weight: 650; }
.back-button { border: 0; background: transparent; color: var(--muted); padding: 0; }

input, textarea, select { border: 1px solid var(--line); background: white; color: var(--text); border-radius: 11px; padding: 10px 12px; outline: none; width: 100%; }
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: #8da6ff; box-shadow: 0 0 0 3px rgba(49,94,251,.1); }
label { display: grid; gap: 7px; }
label > span { color: #4f5b70; font-size: 13px; font-weight: 650; }
.stack, .form-panel { display: grid; gap: 14px; }
.toggle { grid-template-columns: 1fr auto; align-items: center; }
.toggle input { width: 18px; height: 18px; }
.inline-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.form-error { color: var(--bad) !important; background: var(--bad-soft); border: 1px solid #f2cbd0; border-radius: 10px; padding: 10px 12px; }

.cache-note, .policy-box { border: 1px solid var(--line); background: var(--panel-soft); border-radius: 13px; padding: 11px 14px; display: flex; gap: 10px; align-items: center; margin-bottom: 16px; }
.cache-note strong, .policy-box strong { white-space: nowrap; }
.cache-note span, .policy-box span { color: var(--muted); font-size: 13px; }
.policy-box { align-items: flex-start; flex-direction: column; margin: 0; }

.account-list { display: grid; gap: 11px; }
.account-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 17px 18px; display: grid; grid-template-columns: minmax(240px, 1.5fr) minmax(150px, .8fr) minmax(150px, .8fr) auto; gap: 18px; align-items: center; box-shadow: 0 6px 20px rgba(28,42,73,.03); }
.account-main { min-width: 0; display: grid; grid-template-columns: 43px minmax(0,1fr); gap: 12px; align-items: center; }
.account-avatar, .tenant-avatar { width: 43px; height: 43px; border-radius: 13px; background: var(--primary-soft); color: var(--primary); display: grid; place-items: center; font-weight: 850; }
.account-main strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.account-main small, .account-cell small { display: block; color: var(--muted); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.account-cell span { display: block; font-weight: 700; }
.account-actions { display: flex; gap: 8px; justify-content: flex-end; }
.badge { display: inline-flex !important; width: fit-content; padding: 5px 8px; border-radius: 999px; font-size: 12px; font-weight: 750; }
.badge.good { background: var(--good-soft); color: var(--good); }
.badge.bad { background: var(--bad-soft); color: var(--bad); }
.badge.warn { background: var(--warn-soft); color: var(--warn); }
.badge.muted { background: #eef1f6; color: #68748a; }

.bulk-progress { max-width: 1440px; margin: 0 auto 18px; background: #15213a; color: white; border-radius: 15px; padding: 14px 16px; }
.bulk-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.bulk-head div { display: grid; gap: 4px; }
.bulk-head span { color: #b8c5da; font-size: 13px; }
.progress-track { height: 7px; border-radius: 999px; background: rgba(255,255,255,.13); margin-top: 12px; overflow: hidden; }
.progress-track span { display: block; height: 100%; width: 0; background: #75a0ff; transition: width .25s ease; }

.panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.simple-list { display: grid; gap: 10px; margin-bottom: 18px; }
.simple-row { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.simple-row small { color: var(--muted); display: block; margin-top: 4px; }
.toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; }
.toolbar select { max-width: 460px; }

.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 14px; background: white; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: #f8fafc; color: #5a667a; font-size: 12px; text-transform: none; }
tbody tr:last-child td { border-bottom: 0; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.muted { color: var(--muted); }
.empty { color: var(--muted); text-align: center; padding: 34px 18px; }

.tenant-page { max-width: 1440px; margin: 0 auto; }
.tenant-hero { background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 18px 20px; display: grid; gap: 15px; }
.tenant-identity { display: flex; align-items: center; gap: 13px; }
.tenant-identity h1 { margin: 0; font-size: 22px; }
.tenant-identity p { margin: 4px 0 0; color: var(--muted); }
.tenant-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.tenant-meta span { padding: 6px 9px; border-radius: 9px; background: var(--panel-soft); color: #536075; font-size: 12px; }
.tenant-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 14px 2px; }
.tenant-tabs button { border: 1px solid transparent; background: transparent; color: var(--muted); padding: 8px 10px; border-radius: 10px; white-space: nowrap; }
.tenant-tabs button.active { background: var(--primary-soft); color: var(--primary); border-color: #d8e1ff; font-weight: 750; }
.tenant-content { min-height: 360px; }
.tenant-toolbar { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 14px; }
.tenant-toolbar p { margin: 5px 0 0; color: var(--muted); }
.instance-list { display: grid; gap: 10px; }
.instance-card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 16px; display: grid; grid-template-columns: minmax(180px,1.25fr) .65fr .65fr 1fr auto; gap: 14px; align-items: center; }
.instance-card strong, .instance-card span { display: block; }
.instance-card small { color: var(--muted); display: block; margin-top: 4px; }
.instance-actions { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.count-pill { display: inline-flex; min-width: 24px; justify-content: center; padding: 2px 7px; border-radius: 999px; background: var(--primary-soft); color: var(--primary); font-size: 12px; vertical-align: middle; }
.tenant-instance-panel { padding: 0; overflow: hidden; }
.tenant-instance-table-wrap { overflow-x: auto; }
.tenant-instance-table { width: 100%; border-collapse: collapse; min-width: 960px; }
.tenant-instance-table th { padding: 11px 14px; background: var(--panel-soft); color: var(--muted); font-size: 11px; text-align: left; white-space: nowrap; }
.tenant-instance-table td { padding: 13px 14px; border-top: 1px solid var(--line); vertical-align: middle; }
.tenant-instance-table tbody tr:hover { background: color-mix(in srgb, var(--primary) 3.5%, transparent); }
.tenant-instance-table strong, .tenant-instance-table small { display: block; }
.tenant-instance-table small { margin-top: 4px; color: var(--muted); }
.tenant-instance-ocid { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tenant-instance-table .instance-actions { min-width: 310px; }
.launch-presets, .launch-interval-presets { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 14px; }
.launch-presets button { flex: 1 1 180px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); text-align: left; color: inherit; }
.launch-presets button strong, .launch-presets button small { display: block; }
.launch-presets button small { color: var(--muted); margin-top: 3px; }
.launch-presets button.active, .launch-interval-presets button.active { border-color: var(--primary); background: var(--primary-soft); color: var(--primary); }
.launch-interval-presets { align-items: center; }
.launch-interval-presets > span { color: var(--muted); font-size: 12px; font-weight: 700; }
.launch-interval-presets button { border: 1px solid var(--line); border-radius: 9px; padding: 7px 10px; background: var(--panel); color: inherit; }
.phase-card { background: var(--panel); border: 1px dashed #c7cfdb; border-radius: 18px; padding: 34px; text-align: center; }
.phase-card h2 { margin: 0 0 8px; }
.phase-card p { color: var(--muted); max-width: 680px; margin: 0 auto; line-height: 1.7; }
.scope-banner { margin-top: 16px; display: inline-flex; gap: 7px; background: var(--good-soft); color: var(--good); padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.account-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }

.dialog-form { width: min(680px, calc(100vw - 32px)); border: 0; display: grid; gap: 15px; }
dialog { border: 1px solid var(--line); border-radius: 22px; padding: 0; box-shadow: 0 28px 90px rgba(15,24,42,.24); }
dialog::backdrop { background: rgba(15,24,42,.44); backdrop-filter: blur(2px); }
.dialog-form header, .dialog-form footer { padding: 18px 20px; display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.dialog-form header { border-bottom: 1px solid var(--line); }
.dialog-form footer { border-top: 1px solid var(--line); justify-content: flex-end; }
.dialog-form > label, .dialog-form > p { margin-left: 20px; margin-right: 20px; }
.dialog-form h2 { margin: 0; }
.dialog-form p { margin-top: 5px; color: var(--muted); }
.dialog-close { border: 0; background: transparent; font-size: 25px; color: var(--muted); }

.toast { position: fixed; right: 24px; bottom: 24px; background: #172033; color: white; border-radius: 12px; padding: 12px 16px; box-shadow: var(--shadow); z-index: 100; max-width: 420px; }
.toast.bad { background: #9f2f3c; }
.toast.good { background: #147350; }

@media (max-width: 1050px) {
  .account-card { grid-template-columns: 1fr 1fr; }
  .account-actions { justify-content: flex-start; }
  .instance-card { grid-template-columns: 1fr 1fr; }
  .instance-actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { height: auto; position: static; padding: 12px; }
  .sidebar-brand { padding: 4px 6px 12px; }
  .nav-list { display: grid; grid-template-columns: repeat(4, 1fr); }
  .nav { justify-content: center; padding: 9px 5px; font-size: 12px; }
  .nav span { display: none; }
  .sidebar-foot { display: none; }
  .main-column { padding: 0 14px 30px; }
  .topbar { min-height: 76px; }
  .topbar .query-policy { display: none; }
  .page-actions { align-items: stretch; flex-wrap: wrap; }
  .page-actions .search-box { flex-basis: 100%; max-width: none; }
  .account-card { grid-template-columns: 1fr; }
  .settings-grid, .account-settings-grid { grid-template-columns: 1fr; }
  .tenant-tabs { margin-left: -4px; margin-right: -4px; }
  .instance-card { grid-template-columns: 1fr; }
}

.form-grid { display: grid; gap: 14px; }
.form-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.launch-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: 16px; align-items: start; }
.launch-form { min-width: 0; }
.launch-jobs-panel { min-width: 0; position: sticky; top: 18px; }
.launch-job-list { display: grid; gap: 10px; }
.launch-job-card { border: 1px solid var(--line); border-radius: 14px; padding: 13px; display: grid; gap: 10px; }
.launch-job-card > div:first-child { min-width: 0; }
.launch-job-card strong { display: block; }
.launch-job-card small { display: block; color: var(--muted); margin-top: 4px; word-break: break-word; }
.launch-job-card .progress-track { background: #e9edf4; margin-top: 0; }
.bad-text { color: var(--bad) !important; }

@media (max-width: 1100px) {
  .launch-layout { grid-template-columns: 1fr; }
  .launch-jobs-panel { position: static; }
}

@media (max-width: 760px) {
  .form-grid.two-col { grid-template-columns: 1fr; }
}

.rc-stack { display: grid; gap: 10px; }
.rc-section { margin-top: 16px; }
.rc-control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: end; }
.rc-control-grid .rc-actions-bottom { align-self: end; padding-bottom: 1px; }
.form-grid.four-col { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rc-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.rc-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.rc-resource-card { display: grid; gap: 14px; }
.rc-resource-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.rc-resource-head h3 { margin: 0; font-size: 17px; }
.rc-resource-head p { margin: 4px 0 0; }
.rc-kv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rc-kv-grid > div { background: var(--panel-soft); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; min-width: 0; }
.rc-kv-grid span { display: block; color: var(--muted); font-size: 12px; }
.rc-kv-grid strong { display: block; margin-top: 4px; overflow-wrap: anywhere; }
.rc-kv-grid small { display: block; color: var(--muted); margin-top: 3px; }
.rc-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.rc-chip-list > span { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; background: #eef2f7; color: #536075; padding: 6px 10px; font-size: 12px; }
.rc-chip-list > span button { border: 0; background: transparent; color: var(--bad); padding: 0; font-size: 16px; line-height: 1; }
.rc-mini-card { border: 1px solid var(--line); border-radius: 13px; padding: 12px 13px; display: grid; gap: 10px; }
.rc-mini-card strong { display: block; }
.rc-mini-card small { color: var(--muted); display: block; margin-top: 4px; overflow-wrap: anywhere; }
.rc-json { background: #10182a; color: #dce5f5; border-radius: 12px; padding: 14px; overflow: auto; max-height: 520px; min-height: 140px; font-size: 12px; white-space: pre-wrap; word-break: break-word; }
.rc-profile-panel { border-bottom: 1px solid var(--line); padding-bottom: 16px; margin-bottom: 16px; }
details { margin-top: 14px; }
details > summary { cursor: pointer; color: var(--primary); font-weight: 700; padding: 8px 0; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .rc-control-grid, .rc-kv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-grid.four-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-two-columns, .rc-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .rc-control-grid, .rc-kv-grid, .form-grid.four-col { grid-template-columns: 1fr; }
}

.nav-group-title{padding:18px 14px 7px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nav span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px;font-size:11px;font-weight:800;border-radius:7px;background:color-mix(in srgb,var(--panel) 72%,transparent)}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.dashboard-stats article{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
.dashboard-stats span,.dashboard-stats small{display:block;color:var(--muted)}
.dashboard-stats strong{display:block;margin:8px 0 4px;font-size:30px;line-height:1}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.dashboard-list-row{width:100%;display:grid;grid-template-columns:10px minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}
.dashboard-list-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.dashboard-list-row:last-child{border-bottom:0}.dashboard-list-row span{min-width:0}.dashboard-list-row strong,.dashboard-list-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-row small{margin-top:3px;color:var(--muted)}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-dot.good{background:var(--good)}.status-dot.bad{background:var(--bad)}.status-dot.warn{background:var(--warn)}
.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.page-header-row h2{margin:0}.page-header-row p{margin:5px 0 0;color:var(--muted)}
.page-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.toolbar-select{min-width:260px}
.view-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--input)}.view-switch button{width:31px;height:31px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.view-switch button.active{background:var(--accent);color:#fff}
.search-box input{min-width:260px}.cache-note{display:flex;align-items:center;gap:12px;padding:11px 14px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.cache-note strong{white-space:nowrap}.cache-note span{color:var(--muted)}
.api-table-wrap{overflow:visible}.api-table,.dense-table{width:100%;border-collapse:separate;border-spacing:0}.api-table th,.api-table td,.dense-table th,.dense-table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}.api-table th,.dense-table th{font-size:12px;color:var(--muted);font-weight:750;background:color-mix(in srgb,var(--panel) 86%,var(--input));position:sticky;top:0;z-index:1}.api-table tbody tr:hover,.dense-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.api-table td strong,.api-table td small,.dense-table td strong,.dense-table td small{display:block}.api-table td small,.dense-table td small{margin-top:4px;color:var(--muted);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-title-button{padding:0;border:0;background:transparent;color:var(--accent);font-weight:800;cursor:pointer;text-align:left}.row-title-button:hover{text-decoration:underline}
.row-actions.compact{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.button.small{padding:6px 9px;min-height:30px;font-size:12px}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit;cursor:pointer}.icon-action:hover{border-color:var(--accent);color:var(--accent)}
.more-menu{position:relative;display:inline-flex}.more-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit;font-size:19px;line-height:1;cursor:pointer}.more-popover{position:absolute;right:0;top:36px;z-index:40;min-width:190px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 16px 42px rgba(0,0,0,.18)}.more-popover button{display:block;width:100%;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.more-popover button:hover{background:var(--input)}
.account-list.card-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.api-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.api-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.api-card header strong,.api-card header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-card header small{margin-top:3px;color:var(--muted)}.api-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.api-card dl div{padding:10px;border-radius:10px;background:var(--input)}.api-card dt{font-size:11px;color:var(--muted)}.api-card dd{margin:4px 0 0;font-weight:700;overflow:hidden;text-overflow:ellipsis}.api-card dd small{display:block;margin-top:3px;color:var(--muted);font-weight:400}.api-card footer{display:flex;align-items:center;gap:8px}.api-card footer .badge{margin-right:auto}
.boot-summary-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.boot-summary-row span{padding:10px 14px;border:1px solid var(--line);border-radius:11px;background:var(--input)}.boot-summary-row strong{font-size:20px;margin-right:4px}.boot-job-stack{display:flex;flex-direction:column;gap:8px}.boot-job-row{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(150px,.7fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.boot-job-row:last-child{border-bottom:0}.boot-job-row strong,.boot-job-row small{display:block}.boot-job-row small{margin-top:3px;color:var(--muted)}
.query-policy{display:inline-flex;align-items:center;gap:7px}.query-policy i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 15%,transparent)}
@media(max-width:1200px){.account-list.card-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.api-table-wrap{overflow:auto}.api-table{min-width:1050px}.boot-job-row{grid-template-columns:minmax(0,1fr) auto}.boot-job-row>div:nth-child(3),.boot-job-row>div:nth-child(4){grid-column:1/-1}}
@media(max-width:760px){.page-header-row{display:block}.page-toolbar{justify-content:flex-start;margin-top:12px}.toolbar-select,.search-box input{min-width:100%;width:100%}.dashboard-stats{grid-template-columns:1fr 1fr}.account-list.card-mode{grid-template-columns:1fr}.dashboard-list-row{grid-template-columns:8px minmax(0,1fr) auto}.dashboard-list-row>span:nth-child(3){display:none}.cache-note{align-items:flex-start;flex-direction:column}.boot-job-row{grid-template-columns:1fr}.more-popover{position:fixed;right:16px;left:16px;top:auto;bottom:16px}}
@media(max-width:760px){.nav-group-title{display:none}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.nav{font-size:11px;white-space:nowrap}}

:root {
  --bg: #f2f4f7;
  --panel: #ffffff;
  --panel-soft: #f7f9fb;
  --line: #dfe4ea;
  --line-strong: #cfd6de;
  --text: #1f2933;
  --muted: #6b7280;
  --primary: #16a085;
  --primary-hover: #12836d;
  --primary-soft: #e8f7f3;
  --good: #138a5b;
  --good-soft: #e9f8f1;
  --warn: #b36a08;
  --warn-soft: #fff5e5;
  --bad: #c43e4d;
  --bad-soft: #fff0f2;
  --shadow: 0 8px 24px rgba(31, 41, 51, .07);
  --shadow-lg: 0 22px 70px rgba(15, 23, 42, .20);
  --radius: 12px;
  --input: #f5f7f9;
  --accent: var(--primary);
  --border: var(--line);
  --surface-soft: var(--panel-soft);
}
body { background: var(--bg); }
.app-root { min-height: 100vh; }
.app-header { height: 56px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #171a1d; color: #fff; position: sticky; top: 0; z-index: 80; border-bottom: 1px solid rgba(255,255,255,.06); }
.header-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.header-logo { display: grid; place-items: center; min-width: 48px; height: 32px; padding: 0 9px; border-radius: 8px; background: linear-gradient(135deg, #1fc7a4, #13a88a); color: #fff; font-weight: 900; letter-spacing: .04em; box-shadow: 0 6px 18px rgba(22,160,133,.26); }
.header-brand strong { display: block; font-size: 15px; letter-spacing: .02em; }
.header-brand small { display: block; margin-top: 1px; color: #aab1b9; font-size: 11px; }
.header-actions { display: flex; align-items: center; gap: 12px; min-width: 0; }
.header-query { display: inline-flex; align-items: center; gap: 7px; color: #bdc5cc; font-size: 12px; }
.header-query i { width: 7px; height: 7px; border-radius: 50%; background: #1fc7a4; box-shadow: 0 0 0 4px rgba(31,199,164,.12); }
.header-user { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.12); color: #aeb6be; font-size: 12px; }
.header-user strong { color: #fff; }
.header-button { border: 1px solid #3b4248; border-radius: 7px; background: transparent; color: #fff; padding: 6px 11px; font-size: 12px; }
.header-button:hover { border-color: #16a085; color: #4fe1c2; }
.app-shell { grid-template-columns: 238px minmax(0, 1fr); min-height: calc(100vh - 56px); }
.sidebar { top: 56px; height: calc(100vh - 56px); padding: 16px 0; background: #20252a; border-right: 1px solid #2d3339; }
.sidebar-brand { padding: 0 18px 14px; align-items: center; }
.sidebar-brand span { font-size: 14px; font-weight: 800; color: #f0f3f5; }
.sidebar-brand small { color: #87919a; font-size: 11px; }
.nav-list { gap: 2px; }
.nav-group-title { padding: 16px 18px 6px; color: #7d8790; letter-spacing: .08em; }
.nav { margin: 0 8px; min-height: 42px; padding: 8px 12px; border-radius: 8px; color: #c1c8cf; font-size: 13px; font-weight: 600; gap: 8px; border-left: 3px solid transparent; }
.nav span { width: 25px; height: 25px; margin-right: 2px; border-radius: 6px; color: #aab3bb; background: rgba(255,255,255,.05); }
.nav:hover { background: #292f35; color: #fff; }
.nav.active { background: linear-gradient(90deg, rgba(22,160,133,.26), rgba(22,160,133,.10)); color: #fff; border-left-color: #20c4a3; }
.nav.active span { background: #16a085; color: #fff; }
.sidebar-foot { margin: auto 16px 0; padding: 14px 0 0; color: #9aa3ab; }
.sidebar-foot span { display: block; color: #d1d6db; font-size: 12px; font-weight: 700; }
.sidebar-foot small { display: block; margin-top: 5px; line-height: 1.55; font-size: 11px; }
.main-column { padding: 0 24px 36px; }
.topbar { min-height: 72px; padding: 12px 0; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.topbar h1 { font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.topbar p { margin-top: 3px; font-size: 12px; }
.query-policy { display: none; }
.page, .tenant-page, .bulk-progress { max-width: none; }
.page-card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 18px; box-shadow: var(--shadow); }
.page-header-row { margin-bottom: 14px; }
.page-header-row h2, .page-actions h2 { font-size: 20px; letter-spacing: -.01em; }
.page-header-row p, .page-actions p { font-size: 12px; }
.page-toolbar { gap: 7px; }
.toolbar-select, .search-box input { min-height: 36px; }
.search-box input { min-width: 240px; }
.button { min-height: 36px; padding: 7px 12px; border-radius: 8px; border-color: var(--line-strong); box-shadow: 0 1px 1px rgba(15,23,42,.02); font-size: 12px; font-weight: 700; }
.button:hover { border-color: #9eabb7; background: #f8fafb; }
.button.primary { background: var(--primary); border-color: var(--primary); }
.button.primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); filter: none; }
.button.danger { background: #fff; }
.text-button { color: var(--primary); }
input, textarea, select { min-height: 38px; border-radius: 8px; border-color: var(--line-strong); background: #fff; }
input:focus, textarea:focus, select:focus { border-color: #36b69d; box-shadow: 0 0 0 3px rgba(22,160,133,.12); }
.panel { border-radius: 11px; padding: 17px; box-shadow: 0 3px 14px rgba(31,41,51,.035); }
.panel-head { margin-bottom: 13px; }
.panel-head h2, .panel h2 { font-size: 16px; }
.panel p { font-size: 12px; }
.cache-note { border-radius: 8px; border-color: #c9e8e0; background: #f1fbf8; padding: 9px 12px; margin-bottom: 12px; }
.cache-note strong { color: #12745f; }
.api-summary-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.api-summary-bar span { display: inline-flex; align-items: baseline; gap: 5px; min-width: 94px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fafbfc; color: var(--muted); font-size: 11px; }
.api-summary-bar strong { color: var(--text); font-size: 17px; }
.table-wrap { border-radius: 9px; border-color: var(--line); box-shadow: none; }
.api-table th, .api-table td, .dense-table th, .dense-table td { padding: 10px 10px; }
.api-table th, .dense-table th { top: 0; background: #f4f6f8; color: #5f6872; border-bottom-color: #d5dbe1; font-size: 11px; }
.api-table tbody tr:nth-child(even), .dense-table tbody tr:nth-child(even) { background: #fbfcfd; }
.api-table tbody tr:hover, .dense-table tbody tr:hover { background: #eef9f6; }
.row-title-button { color: #0f7f69; }
.badge { border-radius: 6px; padding: 4px 7px; }
.icon-action, .more-toggle { width: 29px; height: 29px; border-radius: 6px; }
.more-popover { border-radius: 9px; box-shadow: 0 18px 44px rgba(15,23,42,.18); }
.more-popover button { border-radius: 6px; font-size: 12px; }
.dashboard-stats { gap: 12px; }
.dashboard-stats article { border-radius: 10px; padding: 15px 16px; box-shadow: 0 3px 14px rgba(31,41,51,.035); border-top: 3px solid #16a085; }
.dashboard-stats article:nth-child(2) { border-top-color: #2f80ed; }
.dashboard-stats article:nth-child(3) { border-top-color: #8b5cf6; }
.dashboard-stats article:nth-child(4) { border-top-color: #f2994a; }
.dashboard-stats strong { font-size: 27px; }
.dashboard-list-row { padding: 10px 5px; }
.account-list.card-mode { grid-template-columns: repeat(3, minmax(270px, 1fr)); }
.api-card { border-radius: 11px; box-shadow: 0 4px 18px rgba(31,41,51,.045); }
.api-card:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(31,41,51,.08); transition: .16s ease; }
.api-card dl div { border: 1px solid #edf0f3; border-radius: 8px; }
.account-avatar, .tenant-avatar { border-radius: 9px; background: linear-gradient(135deg, #e7f8f4, #d6f2eb); color: #10806a; }
.tenant-hero { border-radius: 11px; padding: 15px 17px; box-shadow: var(--shadow); border-left: 4px solid var(--primary); }
.tenant-meta span { border-radius: 6px; background: #f1f4f6; }
.tenant-meta span.proxy-active { background: var(--primary-soft); color: #0f7f69; }
.tenant-tabs { margin: 10px 0 14px; padding: 6px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 3px 12px rgba(31,41,51,.03); }
.tenant-tabs button { border-radius: 6px; padding: 7px 10px; font-size: 12px; }
.tenant-tabs button.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.boot-summary-row span { border-radius: 8px; background: #fafbfc; }
.boot-job-row { padding: 10px 0; }
.dialog-form { width: min(700px, calc(100vw - 32px)); gap: 0; }
.wide-dialog .dialog-form { width: min(900px, calc(100vw - 32px)); }
dialog { border-radius: 13px; box-shadow: var(--shadow-lg); }
dialog::backdrop { background: rgba(12,18,24,.56); backdrop-filter: blur(3px); }
.dialog-form header { padding: 16px 18px; background: #f7f9fa; }
.dialog-form footer { padding: 13px 18px; background: #fafbfc; }
.dialog-body { display: grid; gap: 14px; padding: 17px 18px; max-height: min(72vh, 720px); overflow: auto; }
.dialog-form > label, .dialog-form > p { margin-left: 0; margin-right: 0; }
.dialog-form h2 { font-size: 18px; }
.form-section { display: grid; gap: 13px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.form-section-title { display: flex; align-items: center; gap: 10px; }
.form-section-title > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 12px; font-weight: 800; }
.form-section-title strong, .form-section-title small { display: block; }
.form-section-title small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.proxy-import-section { background: #fbfefd; border-color: #cce9e2; }
.switch-row { grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; }
.switch-row strong, .switch-row small { display: block; }
.switch-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.switch-row input { width: 38px; height: 20px; accent-color: var(--primary); }
.is-disabled { opacity: .52; }
.proxy-test-row { display: flex; align-items: center; gap: 11px; min-height: 36px; }
.good-text { color: var(--good) !important; }
.proxy-status-card { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.proxy-status-card > div { padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; }
.proxy-status-card span, .proxy-status-card strong { display: block; }
.proxy-status-card span { color: var(--muted); font-size: 11px; }
.proxy-status-card strong { margin-top: 4px; font-size: 13px; }
.split-footer { justify-content: space-between !important; align-items: center !important; }
.split-footer > div { display: flex; gap: 8px; }
.login-view { background: linear-gradient(135deg, #171a1d 0 46%, #eef3f2 46% 100%); }
.login-card { border-radius: 16px; box-shadow: 0 30px 90px rgba(0,0,0,.24); }
.brand-mark { border-radius: 10px; background: linear-gradient(135deg, #1fc7a4, #118b74); }
@media (max-width: 1200px) { .app-shell { grid-template-columns: 210px minmax(0, 1fr); } .account-list.card-mode { grid-template-columns: repeat(2, minmax(260px, 1fr)); } .header-query { display: none; } }
@media (max-width: 760px) { .app-header { height: 52px; padding: 0 12px; } .header-brand small, .header-user { display: none; } .header-logo { min-width: 43px; height: 29px; } .app-shell { min-height: calc(100vh - 52px); } .sidebar { top: 52px; height: auto; padding: 8px; border-right: 0; } .sidebar-brand, .sidebar-foot, .nav-group-title { display: none; } .nav-list { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; } .nav { margin: 0; min-height: 38px; padding: 6px 4px; border-left: 0; border-bottom: 2px solid transparent; border-radius: 6px; font-size: 10px; } .nav.active { border-bottom-color: #20c4a3; } .nav span { display: none; } .main-column { padding: 0 10px 24px; } .topbar { min-height: 62px; margin-bottom: 12px; } .page-card { padding: 12px; } .page-toolbar { width: 100%; } .api-summary-bar span { flex: 1 1 42%; } .proxy-status-card { grid-template-columns: 1fr; } .split-footer { align-items: stretch !important; flex-direction: column; } .split-footer > div { flex-wrap: wrap; } .wide-dialog .dialog-form { width: calc(100vw - 16px); } }


.launch-auto-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 16px 0;
  padding: 15px 16px;
  border: 1px solid #cfe8e2;
  border-radius: 12px;
  background: linear-gradient(135deg, #f3fcf9 0%, #f8fbff 100%);
}
.launch-auto-card strong { display: block; margin-bottom: 4px; }
.launch-auto-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.launch-advanced { margin: 12px 0 16px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.launch-advanced > summary { cursor: pointer; padding: 12px 14px; color: var(--muted); font-weight: 700; }
.launch-advanced[open] > summary { border-bottom: 1px solid var(--border); }
.launch-advanced .form-grid { padding: 14px; }
.launch-advanced .wide { grid-column: 1 / -1; }
@media (max-width: 760px) {
  .launch-auto-card { align-items: stretch; flex-direction: column; }
  .launch-auto-card .button { width: 100%; }
}

body.tenant-mode .topbar { display: none; }
body.tenant-mode .main-column { padding-top: 12px; }
body.tenant-mode .tenant-hero {
  grid-template-columns: auto minmax(240px, .8fr) minmax(0, 1.6fr);
  align-items: center;
  gap: 14px;
  padding: 11px 14px;
}
body.tenant-mode .tenant-hero .back-button {
  min-width: 70px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}
body.tenant-mode .tenant-identity h1 { font-size: 18px; }
body.tenant-mode .tenant-identity p { margin-top: 2px; font-size: 12px; }
body.tenant-mode .tenant-avatar { width: 38px; height: 38px; }
body.tenant-mode .tenant-meta { justify-content: flex-end; }
body.tenant-mode .tenant-meta span { padding: 5px 8px; }
body.tenant-mode .tenant-tabs {
  position: sticky;
  top: 64px;
  z-index: 45;
  margin: 9px 0 12px;
  box-shadow: 0 8px 22px rgba(31,41,51,.08);
}

.launch-workspace-v2 {
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 14px;
}
.launch-editor { min-width: 0; gap: 13px; }
.launch-editor-head { margin-bottom: 0; }
.launch-section {
  display: grid;
  gap: 13px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfd;
}
.launch-section-title { display: flex; align-items: center; gap: 10px; }
.launch-section-title > span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 7px;
  background: var(--primary);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
.launch-section-title strong,
.launch-section-title small { display: block; }
.launch-section-title small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.launch-basic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.launch-retry-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.launch-retry-grid > label {
  width: 100%;
  min-width: 0;
}
.launch-retry-grid > label > input {
  width: 100%;
  min-height: 40px;
}
.launch-section label small,
.launch-advanced label small { color: var(--muted); font-size: 11px; line-height: 1.4; }

.launch-auto-card {
  margin: 0;
  padding: 14px;
  border-radius: 10px;
  transition: border-color .18s ease, background .18s ease;
}
.launch-auto-card.is-loading { border-color: #cbd5e1; background: #f8fafc; }
.launch-auto-card.is-ready { border-color: #a8ddcf; background: #f0fbf7; }
.launch-auto-card.is-warning { border-color: #f0cf95; background: #fff9ed; }
.launch-auto-card.is-error { border-color: #efb4bb; background: #fff5f6; }
.launch-auto-main { min-width: 0; flex: 1; display: grid; gap: 11px; }
.launch-auto-title { display: flex; align-items: flex-start; gap: 10px; }
.launch-auto-title strong { margin: 0; }
.launch-auto-title p { margin-top: 3px; }
.launch-state {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 7px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 850;
}
.launch-state.loading { background: #eef1f5; color: #64748b; }
.launch-state.ready { background: var(--good-soft); color: var(--good); }
.launch-state.warning { background: var(--warn-soft); color: var(--warn); }
.launch-state.error { background: var(--bad-soft); color: var(--bad); }
.launch-env-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.launch-env-chips > span {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(125, 140, 153, .16);
  border-radius: 7px;
  background: rgba(255,255,255,.72);
}
.launch-env-chips small,
.launch-env-chips strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.launch-env-chips small { color: var(--muted); font-size: 10px; }
.launch-env-chips strong { margin-top: 3px; font-size: 11px; }

.launch-advanced { margin: 0; border-color: var(--line); }
.launch-advanced > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  color: var(--text);
}
.launch-advanced > summary span { font-weight: 800; }
.launch-advanced > summary small { color: var(--muted); font-weight: 500; }
.launch-advanced .form-grid { padding: 13px; }
.launch-switches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.launch-switches .toggle {
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafb;
}
.launch-switches .toggle span,
.launch-switches .toggle small { display: block; }
.launch-switches .toggle small { margin-top: 3px; font-weight: 400; }

.launch-submit-bar {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: 2px -17px -17px;
  padding: 12px 17px;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  box-shadow: 0 -8px 22px rgba(31,41,51,.05);
}
.launch-submit-bar strong { display: block; font-size: 13px; }
.launch-submit-bar p { margin: 3px 0 0; font-size: 11px; line-height: 1.45; }
.launch-submit-bar .button { min-width: 150px; }

.launch-side-panel {
  min-width: 0;
  position: sticky;
  top: 122px;
  padding: 0;
  overflow: visible;
}
.launch-side-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid var(--line);
  background: #f7f9fa;
  border-radius: 10px 10px 0 0;
}
.launch-side-tabs { display: flex; gap: 4px; min-width: 0; }
.launch-side-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 6px 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.launch-side-tabs button.active { background: var(--primary); color: #fff; }
.launch-side-tabs button span {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 5px;
  background: rgba(107,114,128,.12);
  font-size: 10px;
}
.launch-side-tabs button.active span { background: rgba(255,255,255,.2); }
.launch-side-body {
  max-height: calc(100vh - 190px);
  min-height: 190px;
  overflow: auto;
  padding: 11px;
}
.launch-profile-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.profile-bulk-popover { min-width: 175px; }
.launch-profile-list,
.launch-job-list { display: grid; gap: 8px; }
.launch-profile-card,
.launch-job-card {
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}
.launch-profile-title,
.launch-job-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.launch-profile-title > div,
.launch-job-title > div { min-width: 0; }
.launch-profile-title strong,
.launch-profile-title small,
.launch-job-title strong,
.launch-job-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.launch-profile-title small,
.launch-job-title small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.launch-profile-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.launch-profile-meta span {
  padding: 4px 6px;
  border-radius: 5px;
  background: #f1f4f6;
  color: var(--muted);
  font-size: 10px;
}
.launch-job-progress small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.launch-side-body .inline-actions.compact { gap: 5px; }
.empty.compact { padding: 28px 10px; }
.empty.compact strong,
.empty.compact span { display: block; }
.empty.compact strong { color: var(--text); }
.empty.compact span { margin-top: 5px; font-size: 11px; line-height: 1.5; }

@media (max-width: 1280px) {
  .launch-workspace-v2 { grid-template-columns: minmax(0, 1fr) 310px; }
  .launch-env-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1120px) {
  body.tenant-mode .tenant-hero { grid-template-columns: auto minmax(220px, 1fr); }
  body.tenant-mode .tenant-meta { grid-column: 1 / -1; justify-content: flex-start; }
  .launch-workspace-v2 { grid-template-columns: 1fr; }
  .launch-side-panel { position: static; }
  .launch-side-body { max-height: 460px; }
}
@media (max-width: 860px) {
  .launch-basic-grid,
  .launch-retry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.tenant-mode .tenant-tabs { top: 52px; }
}
@media (max-width: 620px) {
  body.tenant-mode .tenant-hero { grid-template-columns: 1fr; }
  body.tenant-mode .tenant-hero .back-button { justify-self: start; }
  .launch-basic-grid,
  .launch-retry-grid,
  .launch-env-chips,
  .launch-switches { grid-template-columns: 1fr; }
  .launch-auto-card { align-items: stretch; flex-direction: column; }
  .launch-submit-bar { grid-template-columns: 1fr; }
  .launch-submit-bar .button { width: 100%; }
  .launch-side-head { align-items: stretch; flex-direction: column; }
  .launch-side-tabs { width: 100%; }
  .launch-side-tabs button { flex: 1; justify-content: center; }
}

.rc-tenancy-grid{align-items:start}
.rc-table-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:10px 0;color:var(--muted);font-size:12px}
.rc-table-summary strong{color:var(--text);font-size:13px}
.rc-numbered-wrap{max-height:430px;overflow:auto;border-radius:10px}
.rc-numbered-table{min-width:620px}
.rc-numbered-table th,.rc-numbered-table td{padding:9px 10px;line-height:1.35}
.rc-numbered-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--input) 58%,transparent)}
.rc-numbered-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.rc-numbered-table td small{display:block;color:var(--muted);margin-top:3px}
.rc-index-col{width:62px;text-align:center!important;color:var(--muted);font-variant-numeric:tabular-nums}
.rc-check-col{width:66px;text-align:center!important}
.rc-check-col input{width:17px;height:17px;accent-color:var(--accent)}
.rc-home-mark{display:inline-flex!important;margin:0 0 0 7px!important;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,white);color:var(--accent)!important;font-size:11px}
.rc-table-actions{display:flex;justify-content:flex-end;margin-top:12px}
.rc-section-actions{margin-bottom:12px}
.rc-subtitle{margin:16px 0 8px;font-size:14px}
.rc-short-table{max-height:300px}
.rc-membership-form{margin-top:12px;align-items:end}
.rc-query-error,.rc-query-warning{display:grid;gap:5px;border-radius:10px;padding:12px 14px;margin:10px 0;font-size:12px;overflow-wrap:anywhere}
.rc-query-error{border:1px solid color-mix(in srgb,var(--bad) 35%,var(--line));background:color-mix(in srgb,var(--bad) 7%,white);color:var(--bad)}
.rc-query-warning{border:1px solid #e8c66b;background:#fff9e9;color:#76550a}
.rc-query-error span,.rc-query-warning span{display:block}
.rc-query-error small{color:var(--muted)}
.rc-table-filter{display:flex;align-items:center;gap:12px;margin:10px 0}
.rc-table-filter input{flex:1;min-width:0}
.rc-table-filter span{white-space:nowrap;color:var(--muted);font-size:12px}
.rc-limit-table{max-height:520px}
.rc-audit-table{max-height:460px}
.rc-error-row{background:color-mix(in srgb,var(--bad) 6%,white)!important}
.rc-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;color:var(--muted);font-size:12px}
@media(max-width:760px){.rc-numbered-table{min-width:720px}.rc-table-filter{align-items:stretch;flex-direction:column}.rc-table-filter span{text-align:right}.rc-numbered-wrap{max-height:390px}}


.iam-dialog { width: min(560px, calc(100vw - 28px)); }
.iam-dialog-body { display: grid; gap: 14px; }
.iam-secret-box { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }
.iam-secret-box code { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 700; user-select: all; }
.rc-iam-user-table { min-width: 690px; table-layout: fixed; font-size: 11px; }
.rc-iam-user-table th { padding: 7px 7px; font-size: 10px; line-height: 1.2; }
.rc-iam-user-table td { padding: 8px 7px; font-size: 11px; line-height: 1.28; }
.rc-iam-user-table td strong { font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.rc-iam-user-table td small { margin-top: 2px; max-width: 100%; font-size: 9px; line-height: 1.2; }
.rc-iam-user-table th:nth-child(1), .rc-iam-user-table td:nth-child(1) { width: 38px; }
.rc-iam-user-table th:nth-child(2), .rc-iam-user-table td:nth-child(2) { width: 190px; }
.rc-iam-user-table th:nth-child(3), .rc-iam-user-table td:nth-child(3) { width: 170px; }
.rc-iam-user-table th:nth-child(4), .rc-iam-user-table td:nth-child(4) { width: 58px; text-align: center; }
.rc-iam-user-table th:nth-child(5), .rc-iam-user-table td:nth-child(5) { width: 66px; }
.rc-iam-user-table th:nth-child(6), .rc-iam-user-table td:nth-child(6) { width: 96px; }
.rc-iam-user-table .rc-email-cell { max-width: 170px; overflow-wrap: anywhere; word-break: break-word; }
.rc-iam-user-table .badge { padding: 4px 6px; font-size: 10px; line-height: 1.15; }
.rc-action-col { width: 72px; text-align: right; white-space: nowrap; }
.iam-manage-button { min-width: 62px; padding: 5px 8px; font-size: 11px; }
.iam-user-floating-menu { position: fixed; z-index: 12000; min-width: 176px; max-width: calc(100vw - 20px); }
.iam-user-floating-menu button { width: 100%; text-align: left; white-space: nowrap; font-size: 12px; }
@media (max-width: 760px) {
  .iam-secret-box { align-items: stretch; flex-direction: column; }
  .iam-secret-box .button { width: 100%; }
}

@media (max-width: 820px) {
  .rc-iam-user-table { min-width: 650px; }
  .rc-iam-user-table th:nth-child(2), .rc-iam-user-table td:nth-child(2) { width: 170px; }
  .rc-iam-user-table th:nth-child(3), .rc-iam-user-table td:nth-child(3) { width: 150px; }
}

.account-actions-toolbar { flex: 0 0 auto; }
.account-filter-bar {
  display: grid;
  grid-template-columns: minmax(150px, .58fr) minmax(200px, .8fr) minmax(220px, .82fr) minmax(280px, 1.2fr) auto auto;
  align-items: end;
  gap: 10px;
  margin: 2px 0 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: 0 4px 16px rgba(15, 24, 42, .04);
}
.filter-field { display: grid; gap: 5px; min-width: 0; }
.filter-field > span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.filter-field select, .filter-field input { width: 100%; min-width: 0; min-height: 38px; }
.filter-search input { min-width: 0; }
.account-sort-filter-field select {
  padding-right: 34px;
  font-weight: 650;
}
.account-sort-filter-field select.is-placeholder,
.account-sort-filter-field select:invalid {
  color: #8a94a6;
  font-weight: 500;
}
.account-sort-filter-field select option {
  color: var(--text);
  font-weight: 500;
}
.account-filter-count { align-self: center; color: var(--muted); font-size: 11px; white-space: nowrap; }

.compact-dialog { width: min(500px, calc(100vw - 24px)); max-width: none; overflow: hidden; }
.compact-dialog .dialog-form { width: 100%; }
.rename-dialog-body { overflow-x: hidden; }
.rename-account-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--input);
}
.rename-account-card strong, .rename-account-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rename-account-card small { margin-top: 3px; color: var(--muted); }

.iam-dialog { width: min(640px, calc(100vw - 24px)); max-width: none; overflow: hidden; }
.iam-dialog .dialog-form { width: 100%; max-width: none; }
.iam-dialog .dialog-body { overflow-x: hidden; }
.iam-user-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.iam-user-form-grid label { min-width: 0; }
.iam-user-form-grid .span-2 { grid-column: 1 / -1; }
.iam-user-form-grid input, .iam-user-form-grid select { width: 100%; min-width: 0; }

@media (max-width: 1260px) {
  .account-filter-bar { grid-template-columns: minmax(150px, .7fr) minmax(210px, 1fr) minmax(330px, 1.4fr); }
  .filter-search { grid-column: 1 / 3; }
  .account-filter-bar > #account-filter-reset, .account-filter-count { justify-self: start; }
}
@media (max-width: 880px) {
  .account-filter-bar { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .account-sort-filter-field, .filter-search { grid-column: 1 / -1; }
  .account-filter-count { justify-self: end; align-self: center; }
}
@media (max-width: 620px) {
  .account-filter-bar { grid-template-columns: 1fr; }
  .account-sort-filter-field, .filter-search { grid-column: auto; }
  .account-filter-count { justify-self: start; }
  .iam-dialog { width: calc(100vw - 12px); }
  .iam-user-form-grid { grid-template-columns: 1fr; }
  .iam-user-form-grid .span-2 { grid-column: auto; }
}


:where(button, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid color-mix(in srgb, var(--primary) 72%, white);
  outline-offset: 2px;
}
.utility-dialog { width: min(640px, calc(100vw - 24px)); max-width: none; overflow: hidden; }
.utility-dialog .dialog-form { width: 100%; max-width: none; }
.utility-dialog-body { overflow-x: hidden; }
.utility-fields { display: grid; gap: 13px; }
.utility-fields.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.utility-fields .span-2 { grid-column: 1 / -1; }
.utility-fields label:empty { display: none; }
.utility-fields small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.utility-message {
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-soft);
  color: var(--text);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.utility-message.preformatted {
  max-height: 48vh;
  overflow: auto;
  white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}
.utility-dialog-error { margin: 0 18px 14px !important; }
.solid-danger { background: var(--bad) !important; border-color: var(--bad) !important; color: #fff !important; }
.solid-danger:hover { background: #a92e3c !important; border-color: #a92e3c !important; }

.api-table-wrap { max-height: min(62vh, 720px); overflow: auto; scrollbar-gutter: stable; }
.api-table thead th { position: sticky; top: 0; z-index: 3; box-shadow: inset 0 -1px 0 var(--line); }
.api-table tbody tr { transition: background-color .12s ease; }
.api-table tbody tr:focus-within { background: #eef9f6; }
.account-filter-bar { position: relative; }
.account-filter-count { font-variant-numeric: tabular-nums; }
.icon-action, .more-toggle { position: relative; }
.icon-action[title]:hover::after, .more-toggle[aria-label]:hover::after {
  position: absolute;
  right: 0;
  bottom: calc(100% + 7px);
  z-index: 90;
  padding: 5px 7px;
  border-radius: 6px;
  background: #111827;
  color: #fff;
  content: attr(title);
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 8px 22px rgba(15,23,42,.2);
}
.more-toggle[aria-label]:hover::after { content: attr(aria-label); }

@media (max-width: 760px) {
  .utility-dialog { width: calc(100vw - 12px); }
  .utility-fields.two-col { grid-template-columns: 1fr; }
  .utility-fields .span-2 { grid-column: auto; }
  .utility-dialog .dialog-form footer { align-items: stretch; flex-direction: column-reverse; }
  .utility-dialog .dialog-form footer .button { width: 100%; }
  .api-table-wrap { max-height: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


.google-auth-panel { align-content: start; }
.google-auth-panel .panel-head { align-items: flex-start; }
.status-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.status-pill.good { color: #067a61; background: #e3f7f1; }
.status-pill.warn { color: #8a5d00; background: #fff3d6; }
.status-pill.muted { color: var(--muted); background: #eef2f5; }
.input-copy-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.google-auth-panel textarea { resize: vertical; min-height: 76px; }
@media (max-width: 640px) { .input-copy-row { grid-template-columns: 1fr; } }

:root {
  --bg: #f2f4f7;
  --panel-soft: #f7f9fb;
  --line: #e1e6eb;
  --line-strong: #cbd3db;
  --text: #1b2530;
  --muted: #66727f;
  --shadow: 0 7px 22px rgba(24, 35, 48, .055);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.main-column { padding-left: 26px; padding-right: 26px; }
.topbar { min-height: 70px; margin-bottom: 16px; }
.page-card { border-color: #dfe5ea; box-shadow: 0 8px 28px rgba(24,35,48,.05); }
.panel { border-color: #dfe5ea; }

/* Settings */
.settings-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}
.settings-grid > .panel { align-self: start; min-width: 0; }
#credential-form, #check-setting-form { grid-column: span 6; }
#telegram-form { grid-column: span 5; }
#google-auth-form { grid-column: span 7; }
.settings-backup-panel { grid-column: 1 / -1; }
.settings-card {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
  box-shadow: 0 5px 20px rgba(27,37,48,.045);
}
.settings-card .panel-head {
  align-items: flex-start;
  margin-bottom: 2px;
  padding-bottom: 13px;
  border-bottom: 1px solid #edf0f3;
}
.settings-card .panel-head h2 { font-size: 17px; }
.settings-card .panel-head p { max-width: 620px; line-height: 1.55; }
.settings-card-index {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  min-width: 29px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #edf8f5;
  color: #10826c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
}
.settings-head-meta { display: flex; align-items: center; gap: 8px; }
.settings-field-stack { display: grid; gap: 12px; }
.settings-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.settings-card label > span { color: #44515f; font-size: 12px; }
.settings-card label > small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.settings-card input, .settings-card textarea, .settings-card select { background: #fff; }
.settings-card textarea { min-height: 82px; }
.settings-card-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 1px;
  padding-top: 13px;
  border-top: 1px solid #edf0f3;
}
.settings-card-footer .button { width: auto; min-width: 112px; }
.settings-card-footer .button.primary { min-width: 138px; }
.compact-policy { padding: 11px 12px; border-radius: 9px; gap: 4px; }
.compact-policy strong { font-size: 12px; }
.compact-policy span { line-height: 1.5; }
.settings-switch {
  min-height: 58px;
  padding: 10px 12px;
  border-color: #dce3e8;
  background: #f8fafb;
}
.settings-switch input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 44px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #cbd3da;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.05);
  transition: background .16s ease;
}
.settings-switch input[type="checkbox"]::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(15,23,42,.22);
  transition: transform .16s ease;
}
.settings-switch input[type="checkbox"]:checked { background: var(--primary); }
.settings-switch input[type="checkbox"]:checked::before { transform: translateX(20px); }
.settings-switch input[type="checkbox"]:focus-visible { outline: 2px solid rgba(22,160,133,.45); outline-offset: 3px; }
.input-copy-row .button { min-width: 58px; }
.settings-backup-panel .panel-head { align-items: center; }
.settings-backup-panel #backup-list { display: grid; gap: 8px; }
.settings-backup-panel .simple-row, .settings-backup-panel .rc-mini-card { background: #f8fafb; }

/* Audit */
.audit-page-actions { align-items: center; margin-bottom: 14px; }
.audit-tools { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.audit-search-box { width: min(360px, 38vw); }
.audit-search-box input { min-height: 36px; background: #fff; }
.audit-count {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9fa;
  color: var(--muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.audit-table-wrap { overflow: auto; max-height: calc(100vh - 205px); scrollbar-gutter: stable; }
.audit-table { min-width: 980px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.audit-table th { position: sticky; top: 0; z-index: 3; background: #f3f6f8; box-shadow: inset 0 -1px 0 #d8dee4; }
.audit-table td { vertical-align: middle; padding-top: 11px; padding-bottom: 11px; }
.audit-table tbody tr:nth-child(even) { background: #fbfcfd; }
.audit-table tbody tr:hover { background: #f0faf7; }
.audit-col-time { width: 132px; }
.audit-col-user { width: 90px; }
.audit-col-action { width: 220px; }
.audit-col-resource { width: 110px; }
.audit-col-source { width: 105px; }
.audit-time strong, .audit-time small { display: block; }
.audit-time strong { font-size: 12px; font-weight: 700; }
.audit-time small { margin-top: 2px; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.audit-user { font-weight: 700; }
.audit-action {
  display: inline-block;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 6px;
  background: #eef4f6;
  color: #31505b;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audit-resource {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 6px;
  background: #edf8f5;
  color: #117d68;
  font-size: 11px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
}
.audit-detail {
  display: -webkit-box;
  max-width: 100%;
  color: #3f4a55;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  line-height: 1.45;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.audit-source { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }

/* API management */
.account-filter-bar {
  gap: 9px;
  padding: 11px;
  border-color: #dce3e8;
  background: #fbfcfd;
  box-shadow: none;
}
.filter-field > span { color: #5a6672; }
.account-filter-count {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 7px;
  background: #f0f3f5;
}
.api-summary-bar { gap: 7px; }
.api-summary-bar span {
  min-width: 92px;
  border-color: #dde3e8;
  background: linear-gradient(180deg, #fff, #f8fafb);
  box-shadow: 0 2px 7px rgba(24,35,48,.025);
}
.api-summary-bar span:first-child { border-left: 3px solid #16a085; }
.api-summary-bar span:nth-child(2) { border-left: 3px solid #2f80ed; }
.api-summary-bar span:nth-child(3) { border-left: 3px solid #8b5cf6; }
.api-summary-bar span:nth-child(4) { border-left: 3px solid #e0962e; }
.api-table-wrap { max-height: none; overflow: visible; scrollbar-gutter: auto; }
.api-table-wrap.is-scrollable { max-height: min(62vh, 720px); overflow: auto; scrollbar-gutter: stable; }
.api-table { min-width: 1100px; table-layout: fixed; }
.api-table th:nth-child(1), .api-table td:nth-child(1) { width: 18%; }
.api-table th:nth-child(2), .api-table td:nth-child(2) { width: 11%; }
.api-table th:nth-child(3), .api-table td:nth-child(3) { width: 17%; }
.api-table th:nth-child(4), .api-table td:nth-child(4) { width: 10%; }
.api-table th:nth-child(5), .api-table td:nth-child(5) { width: 9%; }
.api-table th:nth-child(6), .api-table td:nth-child(6) { width: 13%; }
.api-table th:nth-child(7), .api-table td:nth-child(7) { width: 10%; }
.api-table th:nth-child(8), .api-table td:nth-child(8) { width: 178px; }
.api-table td { height: 62px; }
.api-table td:nth-child(8) { overflow: visible; }
.api-table .row-actions.compact { justify-content: flex-start; }
.account-more-popover {
  position: fixed;
  top: auto;
  right: auto;
  z-index: 13000;
  min-width: 188px;
  box-shadow: 0 18px 48px rgba(15,23,42,.22);
}
.account-more-popover button { display: flex; align-items: center; min-height: 34px; }
.more-toggle[aria-expanded="true"] { border-color: var(--primary); color: var(--primary); }

@media (max-width: 1180px) {
  #credential-form, #check-setting-form { grid-column: span 6; }
  #telegram-form, #google-auth-form { grid-column: 1 / -1; }
  .api-table-wrap { overflow: auto; }
}
@media (max-width: 820px) {
  .settings-grid { grid-template-columns: 1fr; }
  #credential-form, #check-setting-form, #telegram-form, #google-auth-form, .settings-backup-panel { grid-column: auto; }
  .settings-field-grid { grid-template-columns: 1fr; }
  .audit-page-actions { align-items: stretch; flex-direction: column; }
  .audit-tools { justify-content: flex-start; }
  .audit-search-box { width: 100%; }
  .audit-table-wrap { max-height: none; }
}
@media (max-width: 620px) {
  .main-column { padding-left: 10px; padding-right: 10px; }
  .settings-card { padding: 14px; }
  .settings-card-footer { align-items: stretch; flex-direction: column; }
  .settings-card-footer .button { width: 100%; }
  .audit-tools { display: grid; grid-template-columns: 1fr auto; }
  .audit-search-box { grid-column: 1 / -1; }
}

:root {
  --primary: #119b82;
  --primary-soft: #e9f7f3;
  --radius: 14px;
}

.page { max-width: 1600px; }
.page-card {
  padding: 18px;
  border-radius: 15px;
  background: rgba(255,255,255,.98);
}
.page-header-row {
  align-items: center;
  padding-bottom: 14px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e8edf0;
}
.page-header-row h2 { font-size: 20px; letter-spacing: -.015em; }
.page-header-row p { line-height: 1.55; }
.page-toolbar { gap: 7px; }
.page-toolbar .button { min-height: 36px; padding: 7px 11px; border-radius: 8px; }
.view-switch { padding: 3px; border-radius: 9px; background: #f1f4f6; }
.view-switch button { width: 31px; height: 29px; border-radius: 7px; }

.account-filter-bar {
  grid-template-columns: minmax(150px,.62fr) minmax(210px,.92fr) minmax(190px,.72fr) minmax(270px,1.25fr) auto auto;
  padding: 12px;
  border-radius: 11px;
  background: #f8fafb;
}
.filter-field > span { font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: none; }
.filter-field select, .filter-field input { min-height: 36px; border-radius: 8px; padding-top: 8px; padding-bottom: 8px; }
.cache-note { margin: 11px 0; border: 0; border-left: 3px solid #2bb89d; border-radius: 7px; background: #eff9f6; }
.api-summary-bar { margin-bottom: 10px; }
.api-summary-bar span { min-height: 40px; border-radius: 8px; }

.api-table-wrap { border-radius: 11px; border-color: #dfe5e9; box-shadow: 0 5px 16px rgba(25,38,49,.035); }
.api-table {
  min-width: 1030px;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
}
.api-table th {
  padding: 9px 11px;
  background: #f5f7f9;
  color: #5c6873;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .025em;
}
.api-table td { height: auto; min-height: 64px; padding: 10px 11px; vertical-align: middle; }
.api-table tbody tr { background: #fff; }
.api-table tbody tr:nth-child(even) { background: #fbfcfc; }
.api-table tbody tr:hover { background: #f0faf7; }
.api-table th:nth-child(1), .api-table td:nth-child(1) { width: 17%; min-width: 180px; }
.api-table th:nth-child(2), .api-table td:nth-child(2) { width: 10%; min-width: 105px; }
.api-table th:nth-child(3), .api-table td:nth-child(3) { width: 18%; min-width: 185px; }
.api-table th:nth-child(4), .api-table td:nth-child(4) { width: 9%; min-width: 95px; }
.api-table th:nth-child(5), .api-table td:nth-child(5) { width: 11%; min-width: 125px; }
.api-table th:nth-child(6), .api-table td:nth-child(6) { width: 14%; min-width: 155px; }
.api-table th:nth-child(7), .api-table td:nth-child(7) { width: 10%; min-width: 122px; }
.api-table th:nth-child(8), .api-table td:nth-child(8) { width: 180px; min-width: 180px; }
.api-table td small { display: block; margin-top: 3px; color: #77828d; font-size: 10px; line-height: 1.35; }
.api-name-cell .row-title-button { color: #087b68; font-size: 14px; font-weight: 850; }
.api-tenant-cell strong, .api-region-cell strong { display: block; font-size: 12px; }
.account-age-cell strong { display: block; color: #1d2934; font-size: 16px; font-weight: 850; font-variant-numeric: tabular-nums; }
.account-age-cell small { white-space: nowrap; }
.api-status-cell .badge { padding: 4px 8px; }
.api-status-cell small { white-space: nowrap; }
.api-table .row-actions.compact { flex-wrap: nowrap; align-items: center; gap: 5px; }
.icon-action, .more-toggle { width: 29px; height: 29px; min-height: 29px; border-radius: 7px; }
.api-table .button.small { min-height: 29px; padding: 5px 9px; border-radius: 7px; }

.account-list.card-mode { grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 12px; }
.api-card { border: 1px solid #dde5e8; border-radius: 13px; box-shadow: 0 5px 18px rgba(25,38,49,.045); }
.api-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
.api-card-age { color: #16232d; font-size: 16px; font-weight: 850; }
.api-card-age small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 500; }

.settings-workspace {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: 16px;
  align-items: start;
}
.settings-column { min-width: 0; display: grid; gap: 12px; align-content: start; }
.settings-column-head {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 54px;
  padding: 9px 12px;
  border: 1px solid #dfe6e9;
  border-radius: 11px;
  background: linear-gradient(135deg,#f7faf9,#f3f6f8);
}
.settings-column-head h2 { margin: 0; font-size: 16px; }
.settings-column-head p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.settings-column-kicker {
  flex: 0 0 auto;
  padding: 5px 7px;
  border-radius: 6px;
  background: #17232d;
  color: #fff;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
}
.settings-workspace .settings-card {
  padding: 15px;
  gap: 12px;
  border-radius: 11px;
  box-shadow: 0 4px 15px rgba(25,38,49,.035);
}
.settings-workspace .settings-card .panel-head { padding-bottom: 10px; }
.settings-workspace .settings-card .panel-head h2 { font-size: 15px; }
.settings-workspace .settings-card .panel-head p { font-size: 11px; }
.settings-workspace .settings-field-stack { gap: 10px; }
.settings-workspace .settings-field-grid { gap: 10px; }
.settings-workspace .settings-card input,
.settings-workspace .settings-card textarea,
.settings-workspace .settings-card select { border-radius: 8px; min-height: 38px; }
.settings-workspace .settings-switch { min-height: 52px; border-radius: 9px; }
.settings-workspace .settings-card-footer { padding-top: 10px; }
.settings-workspace .settings-card-footer .button { min-height: 36px; border-radius: 8px; }
.settings-backup-panel #backup-list .simple-row { padding: 10px 12px; border-radius: 8px; }

.audit-page-card { padding: 18px; }
.audit-page-actions { padding-bottom: 13px; border-bottom: 1px solid #e8edf0; }
.audit-table-wrap { border-radius: 11px; box-shadow: 0 5px 16px rgba(25,38,49,.035); }
.audit-table td { padding: 9px 11px; }
.audit-action { border-radius: 5px; background: #eef3f5; }
.audit-resource { border-radius: 5px; }

@media (max-width: 1180px) {
  .settings-workspace { grid-template-columns: 1fr; }
  .account-filter-bar { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .filter-search { grid-column: 1 / 3; }
}
@media (max-width: 760px) {
  .page-card { padding: 11px; border-radius: 11px; }
  .page-header-row { align-items: stretch; }
  .account-filter-bar { grid-template-columns: 1fr; }
  .filter-search { grid-column: auto; }
  .settings-column-head { min-height: 50px; }
  .settings-workspace .settings-field-grid { grid-template-columns: 1fr; }
  .api-table .row-actions.compact { flex-wrap: wrap; }
}

.settings-page-layout {
  width: min(1240px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 22px;
}
.settings-group { display: grid; gap: 12px; min-width: 0; }
.settings-group-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 0 2px 10px;
  border-bottom: 1px solid #dce3e8;
}
.settings-group-head h2 { margin: 0; font-size: 17px; letter-spacing: -.01em; }
.settings-group-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.settings-card-grid { display: grid; gap: 14px; align-items: start; }
.settings-basic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-connect-grid { grid-template-columns: minmax(300px, .78fr) minmax(0, 1.42fr); }
.settings-card-grid > * { min-width: 0; align-self: start; }
.settings-page-layout .settings-card {
  gap: 12px;
  padding: 16px;
  border-radius: 10px;
  border-color: #dfe5e9;
  background: #fff;
  box-shadow: 0 3px 12px rgba(24, 35, 48, .035);
}
.settings-page-layout .settings-card .panel-head {
  min-height: 0;
  margin: 0;
  padding: 0 0 11px;
  align-items: flex-start;
}
.settings-page-layout .settings-card .panel-head h2 { font-size: 15px; }
.settings-page-layout .settings-card .panel-head p { margin-top: 3px; font-size: 10.5px; line-height: 1.45; }
.settings-page-layout .settings-card input,
.settings-page-layout .settings-card textarea,
.settings-page-layout .settings-card select { min-height: 39px; border-radius: 7px; }
.settings-page-layout .settings-card textarea { min-height: 84px; }
.settings-page-layout .settings-card-footer {
  justify-content: flex-start;
  padding-top: 11px;
}
.settings-page-layout .settings-card-footer .button { min-height: 35px; min-width: 0; }
.settings-backup-panel { grid-column: 1 / -1; }
.settings-backup-panel .panel-head { align-items: center !important; }
.settings-backup-panel #backup-list {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.settings-telegram-card .settings-card-footer { margin-top: 2px; }
.settings-google-card .panel-head { align-items: center !important; }
.settings-callback-grid { grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); }
.settings-page-layout .settings-switch {
  min-height: 54px;
  padding: 9px 11px;
  border-radius: 8px;
}

.proxy-dialog-v2 {
  width: min(780px, calc(100vw - 24px));
  max-width: none;
  overflow: hidden;
}
.proxy-dialog-v2 .proxy-manual-form { width: 100%; max-width: none; }
.proxy-dialog-v2 .dialog-body { gap: 12px; padding: 16px 18px; overflow-x: hidden; }
.proxy-dialog-v2 .dialog-form header { background: #fff; }
.proxy-dialog-v2 .dialog-form footer { background: #f8fafb; }
.proxy-main-switch {
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 9px;
  background: #f6f9fa;
}
.proxy-main-switch input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 44px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #cbd3da;
  transition: background .16s ease;
}
.proxy-main-switch input[type="checkbox"]::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(15,23,42,.2);
  transition: transform .16s ease;
}
.proxy-main-switch input[type="checkbox"]:checked { background: var(--primary); }
.proxy-main-switch input[type="checkbox"]:checked::before { transform: translateX(20px); }
.proxy-current-config {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(180px, .55fr);
  gap: 10px;
}
.proxy-current-config > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dfe5e9;
  border-radius: 9px;
  background: #fbfcfd;
}
.proxy-current-config span,
.proxy-current-config strong,
.proxy-current-config small { display: block; }
.proxy-current-config span { color: var(--muted); font-size: 10px; }
.proxy-current-config strong {
  margin-top: 4px;
  overflow: hidden;
  color: #1f2b36;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.proxy-current-config small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.proxy-manual-section {
  padding: 13px;
  border: 1px solid #dfe5e9;
  border-radius: 10px;
  background: #fff;
}
.proxy-section-head { margin-bottom: 11px; }
.proxy-section-head strong,
.proxy-section-head small { display: block; }
.proxy-section-head strong { font-size: 13px; }
.proxy-section-head small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.manual-proxy-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  transition: opacity .16s ease;
}
.manual-proxy-grid > label { grid-column: span 6; min-width: 0; }
.manual-proxy-grid > label.proxy-label-field { grid-column: span 8; }
.manual-proxy-grid > label.proxy-label-field + label { grid-column: span 4; }
.manual-proxy-grid > label.proxy-host-field { grid-column: span 8; }
.manual-proxy-grid > label.proxy-host-field + label { grid-column: span 4; }
.manual-proxy-grid label > span { margin-bottom: 5px; color: #44515f; font-size: 11px; }
.manual-proxy-grid input,
.manual-proxy-grid select { min-height: 39px; border-radius: 7px; background: #fff; }
.manual-proxy-grid.is-disabled { opacity: .48; }
.proxy-inline-result {
  margin: 0;
  padding: 9px 11px;
  border-radius: 8px;
  background: #f5f8f9;
  font-size: 11px;
}
.proxy-inline-result.good-text { background: #eaf8f3; }
.proxy-inline-result.bad-text { background: #fff1f1; }
.ghost-danger { background: #fff; }
.proxy-import-section .manual-proxy-grid { margin-top: 2px; }
.proxy-import-section .proxy-test-row { padding-top: 2px; }

@media (max-width: 1080px) {
  .settings-basic-grid,
  .settings-connect-grid { grid-template-columns: 1fr; }
  .settings-backup-panel { grid-column: auto; }
}
@media (max-width: 720px) {
  .settings-page-layout { gap: 18px; }
  .settings-group-head { padding-bottom: 8px; }
  .settings-page-layout .settings-card { padding: 14px; }
  .settings-callback-grid { grid-template-columns: 1fr; }
  .proxy-current-config { grid-template-columns: 1fr; }
  .manual-proxy-grid > label,
  .manual-proxy-grid > label.proxy-label-field,
  .manual-proxy-grid > label.proxy-label-field + label,
  .manual-proxy-grid > label.proxy-host-field,
  .manual-proxy-grid > label.proxy-host-field + label { grid-column: 1 / -1; }
  .proxy-dialog-v2 { width: calc(100vw - 12px); }
  .proxy-dialog-v2 .dialog-form footer { align-items: stretch; flex-direction: column-reverse; }
  .proxy-dialog-v2 .dialog-form footer > div { display: grid; grid-template-columns: 1fr; width: 100%; }
  .proxy-dialog-v2 .dialog-form footer .button { width: 100%; }
}
.settings-card-grid > #credential-form,
.settings-card-grid > #check-setting-form,
.settings-card-grid > #telegram-form,
.settings-card-grid > #google-auth-form { grid-column: auto; }
.settings-card-grid > .settings-backup-panel { grid-column: 1 / -1; }

.account-filter-bar {
  grid-template-columns: minmax(140px,.56fr) minmax(190px,.82fr) minmax(230px,.78fr) minmax(250px,1.14fr) auto auto;
}
.filter-field select,
.filter-field input,
.sort-cycle-control button,
.settings-page-layout input,
.settings-page-layout textarea,
.settings-page-layout select {
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
}
.sort-cycle-control {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 36px;
  padding: 3px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 0 1px 1px rgba(15,23,42,.02);
}
.sort-cycle-control button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 28px;
  padding: 4px 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #5d6873;
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
}
.sort-cycle-control button + button { border-left: 1px solid #e5e9ed; border-radius: 0 6px 6px 0; }
.sort-cycle-control button b {
  min-width: 13px;
  color: #8a949d;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.sort-cycle-control button:hover { background: #f1f7f5; color: #176e5e; }
.sort-cycle-control button.active {
  background: var(--primary-soft);
  color: #087963;
  box-shadow: inset 0 0 0 1px rgba(17,155,130,.16);
}
.sort-cycle-control button.active b { color: #087963; }
.sort-cycle-control button:focus-visible { outline: 2px solid rgba(17,155,130,.35); outline-offset: 1px; }

.settings-page-layout { width: min(1120px, 100%); }
.settings-page-layout .settings-card { padding: 15px; }
.settings-page-layout .settings-card input,
.settings-page-layout .settings-card textarea,
.settings-page-layout .settings-card select { min-height: 36px; }
.settings-page-layout .settings-card textarea { min-height: 76px; }
.settings-login-card .settings-field-stack { width: min(100%, 480px); }
.settings-check-card > label { width: min(100%, 230px); }
.settings-telegram-card .settings-field-stack { width: min(100%, 400px); }
.settings-google-card .settings-field-grid {
  grid-template-columns: repeat(2, minmax(220px, 310px));
  justify-content: start;
}
.settings-google-card #google-allowed-emails { width: min(100%, 660px); }
.settings-google-card .settings-callback-grid {
  grid-template-columns: minmax(320px, 540px) minmax(220px, 290px);
  justify-content: start;
}
.settings-page-layout .settings-switch,
.proxy-main-switch {
  min-height: 46px;
  padding: 7px 9px;
  gap: 10px;
}
.settings-page-layout .settings-switch strong,
.proxy-main-switch strong { font-size: 13px; font-weight: 600; }
.settings-page-layout .settings-switch small,
.proxy-main-switch small { margin-top: 2px; font-size: 10px; }
.settings-switch input[type="checkbox"],
.proxy-main-switch input[type="checkbox"] {
  width: 36px;
  height: 20px;
  min-height: 20px;
  flex: 0 0 36px;
}
.settings-switch input[type="checkbox"]::before,
.proxy-main-switch input[type="checkbox"]::before {
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
}
.settings-switch input[type="checkbox"]:checked::before,
.proxy-main-switch input[type="checkbox"]:checked::before { transform: translateX(16px); }

@media (max-width: 1180px) {
  .account-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filter-search { grid-column: 1 / 3; }
}
@media (max-width: 760px) {
  .settings-login-card .settings-field-stack,
  .settings-telegram-card .settings-field-stack,
  .settings-google-card #google-allowed-emails { width: 100%; }
  .settings-google-card .settings-field-grid,
  .settings-google-card .settings-callback-grid { grid-template-columns: 1fr; }
  .sort-cycle-control button { font-size: 12px; }
}

:root {
  --font-ui: 13px;
  --font-meta: 11px;
  --font-label: 12px;
  --font-card-title: 16px;
  --font-section-title: 18px;
  --font-page-title: 24px;
  --line-ui: 1.5;
}

html { font-size: 16px; }
body {
  font-size: var(--font-ui);
  line-height: var(--line-ui);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button,
input,
textarea,
select,
.nav,
.header-button,
.tenant-tabs button,
.more-popover button,
.iam-user-floating-menu button {
  font-family: inherit;
  font-size: var(--font-ui);
  font-weight: 600;
  line-height: 1.35;
}
.topbar h1,
.page-title,
.tenant-identity h1 { font-size: var(--font-page-title); line-height: 1.2; font-weight: 800; letter-spacing: -.02em; }
.page-actions h2,
.page-header-row h2 { font-size: var(--font-section-title); line-height: 1.25; font-weight: 800; letter-spacing: -.015em; }
.panel h2,
.settings-card .panel-head h2,
.rc-resource-head h3,
.tenant-toolbar h2 { font-size: var(--font-card-title); line-height: 1.3; font-weight: 800; }
h3,
.rc-section h3,
.proxy-section-head strong { font-size: 14px; line-height: 1.35; font-weight: 750; }
.page-actions p,
.page-header-row p,
.panel p,
.panel-head p,
.topbar p,
.tenant-toolbar p,
.settings-card .panel-head p { font-size: var(--font-meta); line-height: 1.5; }
label > span,
.filter-field > span,
th,
.api-table th,
.dense-table th { font-size: var(--font-label); line-height: 1.35; font-weight: 700; letter-spacing: 0; }
small,
.muted,
.status-pill,
.badge,
.api-table td small,
.dense-table td small,
.simple-row small,
.account-main small,
.account-cell small,
.instance-card small,
.launch-job-card small,
.rc-kv-grid span,
.rc-chip-list > span,
.proxy-current-config span,
.proxy-current-config small,
.settings-card label > small,
.settings-switch small,
.audit-time small,
.audit-source { font-size: var(--font-meta); line-height: 1.45; }
td,
.api-table td,
.dense-table td,
.simple-row,
.account-card,
.instance-card,
.api-card,
.audit-table td { font-size: var(--font-ui); }
.mono,
code,
.rc-json { font-size: var(--font-meta); }
.button { min-height: 36px; padding: 7px 12px; border-radius: 8px; }
.button.small { min-height: 30px; padding: 5px 9px; font-size: var(--font-label); }
.nav { font-size: var(--font-ui); }
.nav-group-title,
.sidebar-brand small,
.header-brand small,
.header-query,
.header-user { font-size: var(--font-meta); }
.sidebar-brand span,
.header-brand strong { font-size: 14px; }

.settings-page-layout {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

/*
 * System settings: source-level layout, no runtime DOM movement.
 * Left column: local login + Gmail.
 * Right column: Telegram + local backup + bulk-check policy.
 */
.settings-unified-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "login telegram"
    "gmail backup"
    "gmail check";
  gap: 16px;
  align-items: stretch;
}

.settings-unified-grid > * {
  min-width: 0;
  width: 100%;
  margin: 0;
}

#settings-page .settings-unified-grid > #credential-form { grid-area: login; }
#settings-page .settings-unified-grid > #telegram-form { grid-area: telegram; }
#settings-page .settings-unified-grid > #google-auth-form { grid-area: gmail; }
#settings-page .settings-unified-grid > .settings-backup-panel { grid-area: backup; }
#settings-page .settings-unified-grid > #check-setting-form { grid-area: check; }

.settings-page-layout .settings-card {
  padding: 18px;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(31, 41, 51, .045);
  align-self: stretch;
}

.settings-page-layout .settings-card .panel-head {
  margin-bottom: 13px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.settings-page-layout .settings-card .panel-head h2 {
  font-size: var(--font-section-title);
}

.settings-page-layout .settings-card .panel-head p {
  margin-top: 4px;
  font-size: var(--font-meta);
  line-height: 1.5;
}

.settings-page-layout .settings-field-stack {
  gap: 11px;
  width: 100%;
  max-width: none;
}

/* Use the extra width instead of leaving long empty rows. */
.settings-login-card .settings-field-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-login-card .settings-field-stack > label:first-child {
  grid-column: 1 / -1;
}

.settings-telegram-card .settings-field-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-page-layout input,
.settings-page-layout textarea,
.settings-page-layout select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 7px;
  font-size: var(--font-ui);
  font-weight: 500;
}

.settings-page-layout textarea {
  min-height: 86px;
  resize: vertical;
}

.settings-page-layout .settings-switch {
  min-height: 48px;
  padding: 8px 10px;
  border-radius: 8px;
}

.settings-page-layout .settings-switch strong {
  font-size: var(--font-ui);
}

.settings-page-layout .settings-card-footer {
  gap: 8px;
  padding-top: 11px;
  margin-top: auto;
}

.settings-google-card {
  display: grid;
  align-content: start;
}

.settings-google-card .settings-field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: stretch;
}

.settings-google-card #google-allowed-emails {
  width: 100%;
}

.settings-google-card .settings-callback-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
  justify-content: stretch;
}

.settings-backup-panel {
  display: grid;
  align-content: start;
}

.settings-backup-panel #backup-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
}

.settings-backup-panel .simple-row,
.settings-backup-panel .rc-mini-card {
  padding: 10px 11px;
  border-radius: 8px;
}

.settings-check-card {
  display: grid;
  align-content: start;
}

.settings-check-card > label {
  width: min(100%, 260px);
}

.settings-check-card .compact-policy {
  min-height: 64px;
}

@media (max-width: 1180px) {
  .settings-page-layout {
    max-width: 1080px;
  }

  .settings-login-card .settings-field-stack,
  .settings-telegram-card .settings-field-stack,
  .settings-google-card .settings-field-grid,
  .settings-google-card .settings-callback-grid {
    grid-template-columns: 1fr;
  }

  .settings-login-card .settings-field-stack > label:first-child {
    grid-column: auto;
  }
}

@media (max-width: 920px) {
  .settings-unified-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "login"
      "telegram"
      "gmail"
      "backup"
      "check";
  }

  .settings-page-layout .settings-card {
    padding: 15px;
  }
}

@media (max-width: 680px) {
  :root {
    --font-page-title: 21px;
    --font-section-title: 17px;
  }

  .settings-page-layout .settings-card {
    padding: 14px;
  }
}

.dashboard-page-layout {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.dashboard-page-layout .dashboard-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.dashboard-page-layout .dashboard-stat-card {
  position: relative;
  min-width: 0;
  min-height: 132px;
  padding: 17px 18px 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 10px;
  background: var(--panel);
  box-shadow: 0 4px 14px rgba(31, 41, 51, .045);
}

.dashboard-page-layout .dashboard-stat-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #16a085;
}

.dashboard-page-layout .dashboard-stat-alive::before { background: #2f80ed; }
.dashboard-page-layout .dashboard-stat-instance::before { background: #8b5cf6; }
.dashboard-page-layout .dashboard-stat-job::before { background: #e0962e; }

.dashboard-stat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-stat-head > span {
  color: var(--text);
  font-size: var(--font-ui);
  font-weight: 750;
}

.dashboard-stat-head > em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef8f5;
  color: #107c68;
  font-size: var(--font-meta);
  font-style: normal;
  font-weight: 750;
}

.dashboard-stat-alive .dashboard-stat-head > em { background: #edf4ff; color: #2868b7; }
.dashboard-stat-instance .dashboard-stat-head > em { background: #f2efff; color: #7056bb; }
.dashboard-stat-job .dashboard-stat-head > em { background: #fff5e4; color: #9a651b; }

.dashboard-page-layout .dashboard-stat-card > strong {
  display: block;
  margin: 15px 0 7px;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -.025em;
}

.dashboard-page-layout .dashboard-stat-card > small {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-page-layout .dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.dashboard-page-layout .dashboard-panel {
  min-width: 0;
  min-height: 420px;
  padding: 18px;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(31, 41, 51, .045);
}

.dashboard-page-layout .dashboard-panel-head {
  align-items: flex-start;
  min-height: 62px;
  margin-bottom: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.dashboard-page-layout .dashboard-panel-head h2 {
  font-size: var(--font-section-title);
  line-height: 1.25;
}

.dashboard-page-layout .dashboard-panel-head p {
  margin-top: 4px;
  font-size: var(--font-meta);
  line-height: 1.5;
}

.dashboard-panel-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.dashboard-panel-count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef2f5;
  color: var(--muted);
  font-size: var(--font-meta);
  font-weight: 700;
  white-space: nowrap;
}

.dashboard-list-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(130px, .8fr) auto;
  gap: 12px;
  padding: 0 12px 7px 30px;
  color: var(--muted);
  font-size: var(--font-meta);
  font-weight: 700;
}

.dashboard-list-columns span:last-child { text-align: right; }

.dashboard-page-layout .dashboard-compact-list {
  display: grid;
  align-content: start;
  gap: 8px;
}

.dashboard-page-layout .dashboard-list-row {
  width: 100%;
  display: grid;
  grid-template-columns: 8px minmax(0, 1.5fr) minmax(130px, .8fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 9px 11px;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-align: left;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.dashboard-page-layout .dashboard-list-row:hover {
  transform: translateY(-1px);
  border-color: #cfe4de;
  background: #f8fcfb;
}

.dashboard-page-layout .dashboard-row-main,
.dashboard-page-layout .dashboard-row-meta {
  min-width: 0;
}

.dashboard-page-layout .dashboard-row-main strong,
.dashboard-page-layout .dashboard-row-main small,
.dashboard-page-layout .dashboard-row-meta strong,
.dashboard-page-layout .dashboard-row-meta small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-page-layout .dashboard-row-main strong,
.dashboard-page-layout .dashboard-row-meta strong {
  font-size: var(--font-ui);
  line-height: 1.35;
}

.dashboard-page-layout .dashboard-row-main small,
.dashboard-page-layout .dashboard-row-meta small {
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.35;
}

.dashboard-page-layout .dashboard-row-meta strong {
  font-weight: 700;
}

.dashboard-page-layout .dashboard-list-row > .badge {
  justify-self: end;
  min-width: 54px;
  text-align: center;
}

.dashboard-empty {
  min-height: 190px;
  display: grid;
  place-content: center;
  gap: 5px;
  border: 1px dashed #d8dee6;
  border-radius: 8px;
  background: #fafbfc;
  text-align: center;
}

.dashboard-empty strong,
.dashboard-empty span { display: block; }
.dashboard-empty strong { color: var(--text); font-size: var(--font-ui); }
.dashboard-empty span { max-width: 320px; color: var(--muted); font-size: var(--font-meta); line-height: 1.55; }

@media (max-width: 1180px) {
  .dashboard-page-layout .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-page-layout .dashboard-panel { min-height: 390px; }
}

@media (max-width: 920px) {
  .dashboard-page-layout .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-page-layout .dashboard-panel { min-height: 0; }
}

@media (max-width: 680px) {
  .dashboard-page-layout .dashboard-stats { grid-template-columns: 1fr; gap: 10px; }
  .dashboard-page-layout .dashboard-stat-card { min-height: 112px; padding: 15px; }
  .dashboard-page-layout .dashboard-stat-card > strong { margin-top: 12px; font-size: 29px; }
  .dashboard-page-layout .dashboard-panel { padding: 14px; }
  .dashboard-page-layout .dashboard-panel-head { display: block; }
  .dashboard-panel-actions { justify-content: space-between; margin-top: 10px; }
  .dashboard-list-columns { display: none; }
  .dashboard-page-layout .dashboard-list-row { grid-template-columns: 8px minmax(0, 1fr) auto; }
  .dashboard-page-layout .dashboard-row-meta { display: none; }
}

.accounts-page-layout {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.accounts-page-layout .accounts-page-head {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.accounts-page-layout .accounts-page-title p {
  max-width: 720px;
}

.accounts-page-layout .account-actions-toolbar {
  align-self: center;
}

.accounts-filter-panel,
.accounts-list-panel {
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.accounts-filter-panel {
  padding: 14px;
}

.accounts-filter-head,
.accounts-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.accounts-filter-head {
  margin-bottom: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.accounts-filter-head > div,
.accounts-list-head > div {
  min-width: 0;
}

.accounts-filter-head strong,
.accounts-list-head strong {
  display: block;
  color: #17232d;
  font-size: var(--font-card-title);
  line-height: 1.3;
}

.accounts-filter-head span:not(.account-filter-count),
.accounts-list-head span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--font-meta);
}

.accounts-page-layout .account-filter-count {
  flex: 0 0 auto;
  min-width: 92px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf3f5;
  color: #46535e;
  font-size: var(--font-label);
  font-weight: 750;
  text-align: center;
}

.accounts-page-layout .account-filter-bar {
  display: grid;
  grid-template-columns: minmax(150px,.7fr) minmax(190px,.9fr) minmax(210px,.9fr) minmax(280px,1.45fr) auto;
  gap: 10px;
  align-items: end;
  padding: 0;
  border: 0;
  background: transparent;
}

.accounts-page-layout .filter-field {
  min-width: 0;
}

.accounts-page-layout .filter-field > span {
  display: block;
  margin-bottom: 6px;
  color: #4f5d68;
}

.accounts-page-layout .filter-field select,
.accounts-page-layout .filter-field input {
  width: 100%;
  min-height: 38px;
  border-radius: 8px;
  background: #fff;
}

.accounts-page-layout .sort-cycle-control {
  min-height: 38px;
  padding: 3px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
}

.accounts-page-layout .sort-cycle-control button {
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 6px;
}

.accounts-page-layout .account-filter-reset {
  min-width: 88px;
  min-height: 38px;
}

.accounts-page-layout .accounts-cache-note {
  margin: 12px 0;
}

.api-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.api-summary-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.api-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #16a085;
}

.api-summary-card > div {
  min-width: 0;
}

.api-summary-card span,
.api-summary-card small {
  display: block;
}

.api-summary-card span {
  color: #25313b;
  font-size: var(--font-label);
  font-weight: 800;
}

.api-summary-card small {
  margin-top: 4px;
  color: var(--muted);
}

.api-summary-card > strong {
  color: #15212b;
  font-size: 30px;
  line-height: 1;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.api-summary-card > b {
  position: absolute;
  top: 11px;
  right: 12px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf8f5;
  color: #0d806b;
  font-size: 9px;
  line-height: 1.3;
}

.api-summary-total::before { background: #16a085; }
.api-summary-alive::before { background: #2f80ed; }
.api-summary-proxy::before { background: #8b5cf6; }
.api-summary-abnormal::before { background: #e0962e; }
.api-summary-alive > b { background: #edf5ff; color: #276ebf; }
.api-summary-proxy > b { background: #f3efff; color: #7650c6; }
.api-summary-abnormal > b { background: #fff5e7; color: #ad6b10; }

.accounts-list-panel {
  padding: 14px;
}

.accounts-list-head {
  margin-bottom: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.accounts-page-layout #account-list {
  min-height: 120px;
}

.accounts-page-layout .api-table-wrap {
  border: 1px solid #dfe5e9;
  border-radius: 9px;
  box-shadow: none;
}

.accounts-page-layout .api-table th {
  top: 0;
  padding: 10px 11px;
  background: #f5f7f9;
}

.accounts-page-layout .api-table td {
  padding: 11px;
}

.accounts-page-layout .api-table tbody tr:last-child td {
  border-bottom: 0;
}

.accounts-page-layout .account-list.card-mode {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.accounts-page-layout .api-card {
  padding: 15px;
  border-radius: 10px;
  box-shadow: none;
}

.accounts-page-layout .api-card:hover {
  transform: none;
  border-color: #b9d9d2;
  box-shadow: 0 8px 22px rgba(25,38,49,.06);
}

.accounts-page-layout .api-card dl {
  gap: 8px;
  margin: 14px 0;
}

.accounts-page-layout .api-card dl div {
  padding: 9px 10px;
  border: 1px solid #edf0f3;
  border-radius: 8px;
  background: #f8fafb;
}

.accounts-page-layout .api-card footer {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.accounts-page-layout .empty {
  min-height: 150px;
  display: grid;
  place-items: center;
  border: 1px dashed #cfd8de;
  border-radius: 9px;
  background: #fafcfc;
}

@media (max-width: 1260px) {
  .accounts-page-layout .account-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .accounts-page-layout .account-filter-reset { width: 100%; }
  .api-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accounts-page-layout .account-list.card-mode { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .accounts-page-layout .accounts-page-head { display: block; }
  .accounts-page-layout .account-actions-toolbar { justify-content: flex-start; margin-top: 12px; }
  .accounts-page-layout .account-list.card-mode { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .accounts-filter-head { align-items: flex-start; }
  .accounts-page-layout .account-filter-bar,
  .api-summary-grid { grid-template-columns: 1fr; }
  .api-summary-card { min-height: 82px; }
  .accounts-page-layout .account-actions-toolbar > .button { flex: 1 1 auto; }
  .accounts-list-panel,
  .accounts-filter-panel { padding: 12px; }
}

.instances-page-layout {
  max-width: 1600px;
}

.instances-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--line);
}

.instances-page-head h2 {
  margin: 0;
  color: #17232d;
  font-size: var(--font-section-title);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -.015em;
}

.instances-page-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.55;
}

.instances-actions-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.instances-actions-toolbar .button {
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 8px;
}

.instances-filter-panel,
.instances-list-panel {
  padding: 14px;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.instances-filter-panel {
  margin-bottom: 12px;
}

.instances-filter-head,
.instances-list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.instances-filter-head strong,
.instances-list-head strong {
  display: block;
  color: #17232d;
  font-size: var(--font-card-title);
  line-height: 1.3;
}

.instances-filter-head span:not(.instance-filter-count),
.instances-list-head span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--font-meta);
}

.instances-page-layout .instance-filter-count {
  flex: 0 0 auto;
  min-width: 112px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf3f5;
  color: #46535e;
  font-size: var(--font-label);
  font-weight: 750;
  text-align: center;
}

.instance-filter-bar {
  display: grid;
  grid-template-columns: minmax(260px, 1.15fr) minmax(160px, .62fr) minmax(320px, 1.35fr) auto;
  gap: 10px;
  align-items: end;
}

.instance-filter-bar .filter-field {
  min-width: 0;
}

.instance-filter-bar .filter-field > span {
  display: block;
  margin-bottom: 6px;
  color: #4f5d68;
}

.instance-filter-bar select,
.instance-filter-bar input {
  width: 100%;
  min-height: 38px;
  border-radius: 8px;
  background: #fff;
}

.instance-filter-reset {
  min-width: 88px;
  min-height: 38px;
}

.instances-cache-note {
  margin: 12px 0;
  border-left: 3px solid #16a085;
  background: #f1fbf8;
}

.instance-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.instance-summary-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.instance-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #16a085;
}

.instance-summary-card span,
.instance-summary-card small {
  display: block;
}

.instance-summary-card span {
  color: #25313b;
  font-size: var(--font-label);
  font-weight: 800;
}

.instance-summary-card small {
  margin-top: 4px;
  color: var(--muted);
}

.instance-summary-card > strong {
  color: #15212b;
  font-size: 30px;
  line-height: 1;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.instance-summary-card > b {
  position: absolute;
  top: 11px;
  right: 12px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf8f5;
  color: #0d806b;
  font-size: 9px;
  line-height: 1.3;
}

.instance-summary-running::before { background: #2f80ed; }
.instance-summary-stopped::before { background: #8b5cf6; }
.instance-summary-ip::before { background: #e0962e; }
.instance-summary-running > b { background: #edf5ff; color: #276ebf; }
.instance-summary-stopped > b { background: #f3efff; color: #7650c6; }
.instance-summary-ip > b { background: #fff5e7; color: #ad6b10; }

.instances-list-panel {
  min-height: 210px;
}

.instance-table-wrap {
  border: 1px solid #dfe5e9;
  border-radius: 9px;
  box-shadow: none;
}

.instances-page-layout .instance-table {
  min-width: 1080px;
}

.instances-page-layout .instance-table th {
  top: 0;
  padding: 10px 11px;
  background: #f5f7f9;
}

.instances-page-layout .instance-table td {
  padding: 11px;
  vertical-align: middle;
}

.instances-page-layout .instance-table tbody tr:last-child td {
  border-bottom: 0;
}

.instances-page-layout .instance-table th:nth-child(1) { width: 20%; }
.instances-page-layout .instance-table th:nth-child(2) { width: 8%; }
.instances-page-layout .instance-table th:nth-child(3) { width: 15%; }
.instances-page-layout .instance-table th:nth-child(4) { width: 14%; }
.instances-page-layout .instance-table th:nth-child(5) { width: 15%; }
.instances-page-layout .instance-table th:nth-child(6) { width: 12%; }
.instances-page-layout .instance-table th:nth-child(7) { width: 28%; }

.instances-page-layout .badge {
  white-space: nowrap;
}

.instance-name-cell strong,
.instance-public-ip {
  color: #15212b;
}

.instance-row-actions {
  min-width: 220px;
  max-width: 270px;
  justify-content: flex-start;
  gap: 6px;
}

.instance-row-actions .button {
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 7px;
  white-space: nowrap;
}

.instance-manage-button {
  color: #0b806b;
  border-color: #b9ddd5;
}

.instance-empty {
  min-height: 170px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 1px dashed #cfd8de;
  border-radius: 9px;
  background: #fafcfc;
}

.instance-empty strong,
.instance-empty span {
  display: block;
}

.instance-empty strong {
  color: #3d4953;
}

.instance-load-error {
  margin: 14px;
}

@media (max-width: 1260px) {
  .instance-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .instance-filter-reset { width: 100%; }
  .instance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .instances-page-head { display: block; }
  .instances-actions-toolbar { justify-content: flex-start; margin-top: 12px; }
}

@media (max-width: 680px) {
  .instances-filter-head { align-items: flex-start; }
  .instance-filter-bar,
  .instance-summary-grid { grid-template-columns: 1fr; }
  .instance-summary-card { min-height: 82px; }
  .instances-actions-toolbar > .button { flex: 1 1 auto; }
  .instances-filter-panel,
  .instances-list-panel { padding: 12px; }
}

.launch-page-layout {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

.launch-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--line);
}

.launch-page-head h2 {
  margin: 0;
  color: #17232d;
  font-size: var(--font-section-title);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -.015em;
}

.launch-page-head p {
  max-width: 760px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.55;
}

.launch-actions-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.launch-actions-toolbar .button {
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 8px;
}

.launch-filter-panel,
.launch-list-panel {
  padding: 14px;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.launch-filter-panel {
  margin-bottom: 12px;
}

.launch-filter-head,
.launch-list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.launch-filter-head > div,
.launch-list-head > div:first-child {
  min-width: 0;
}

.launch-filter-head strong,
.launch-list-head strong {
  display: block;
  color: #17232d;
  font-size: var(--font-card-title);
  line-height: 1.3;
}

.launch-filter-head span:not(.launch-filter-count),
.launch-list-head > div:first-child span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.45;
}

.launch-filter-count,
.launch-list-count {
  flex: 0 0 auto;
  min-width: 118px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf3f5;
  color: #46535e;
  font-size: var(--font-label);
  font-weight: 750;
  text-align: center;
  white-space: nowrap;
}

.launch-filter-grid {
  display: grid;
  grid-template-columns: minmax(270px, 1.05fr) minmax(160px, .55fr) minmax(350px, 1.35fr) auto;
  gap: 10px;
  align-items: end;
}

.launch-filter-grid label {
  min-width: 0;
}

.launch-filter-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: #4f5d68;
  font-size: var(--font-label);
  font-weight: 700;
}

.launch-filter-grid select,
.launch-filter-grid input {
  width: 100%;
  min-height: 38px;
  border-radius: 8px;
  background: #fff;
}

.launch-filter-grid > .button {
  min-width: 88px;
  min-height: 38px;
}

.launch-cache-note {
  margin: 12px 0;
  border-left: 3px solid #16a085;
  background: #f1fbf8;
}

.launch-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.launch-summary-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.launch-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #16a085;
}

.launch-summary-card span,
.launch-summary-card small {
  display: block;
}

.launch-summary-card span {
  color: #25313b;
  font-size: var(--font-label);
  font-weight: 800;
}

.launch-summary-card small {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-meta);
}

.launch-summary-card > strong {
  color: #15212b;
  font-size: 30px;
  line-height: 1;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.launch-summary-card > b {
  position: absolute;
  top: 11px;
  right: 12px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf8f5;
  color: #0d806b;
  font-size: 9px;
  line-height: 1.3;
}

.launch-summary-running::before { background: #2f80ed; }
.launch-summary-success::before { background: #8b5cf6; }
.launch-summary-failure::before { background: #e0962e; }
.launch-summary-running > b { background: #edf5ff; color: #276ebf; }
.launch-summary-success > b { background: #f3efff; color: #7650c6; }
.launch-summary-failure > b { background: #fff5e7; color: #ad6b10; }

.launch-list-panel + .launch-list-panel {
  margin-top: 12px;
}

.launch-list-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.button.subtle {
  color: #40505c;
  border-color: #d9e0e5;
  background: #f8fafb;
}

.button.subtle:hover {
  color: #0f7f69;
  border-color: #b9ddd5;
  background: #f2fbf8;
}

.launch-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #dfe5e9;
  border-radius: 9px;
  background: #fff;
}

.launch-table {
  width: 100%;
  min-width: 1060px;
  border-collapse: separate;
  border-spacing: 0;
}

.launch-table th,
.launch-table td {
  padding: 11px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  text-align: left;
}

.launch-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f5f7f9;
  color: #5f6872;
  font-size: var(--font-meta);
  font-weight: 750;
}

.launch-table tbody tr:last-child td {
  border-bottom: 0;
}

.launch-table tbody tr:hover {
  background: #f5fbf9;
}

.launch-table td strong,
.launch-table td small {
  display: block;
}

.launch-table td strong {
  color: #17232d;
  font-size: var(--font-ui);
  line-height: 1.35;
}

.launch-table td small {
  max-width: 250px;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.launch-table th:nth-child(1) { width: 22%; }
.launch-table th:nth-child(2) { width: 17%; }
.launch-table th:nth-child(3) { width: 12%; }
.launch-table th:nth-child(4) { width: 14%; }
.launch-table th:nth-child(5) { width: 10%; }
.launch-table th:nth-child(6) { width: 25%; }

.launch-architecture {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 8px;
  border-radius: 6px;
  background: #eef5ff;
  color: #2868b7;
  font-size: var(--font-meta);
  font-weight: 800;
}

.launch-profile-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.launch-profile-actions .button,
.launch-job-actions .button {
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 7px;
  white-space: nowrap;
}

.launch-job-stack {
  display: grid;
  gap: 9px;
}

.launch-job-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) minmax(260px, .85fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 92px;
  padding: 13px 14px;
  border: 1px solid #e1e6ea;
  border-radius: 9px;
  background: #fff;
  transition: border-color .15s ease, background-color .15s ease;
}

.launch-job-card.is-active {
  border-left: 3px solid #2f80ed;
  background: #fbfdff;
}

.launch-job-card:hover {
  border-color: #c9ddd8;
  background: #f9fcfb;
}

.launch-job-main,
.launch-job-progress {
  min-width: 0;
}

.launch-job-title {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.launch-job-title strong {
  color: #17232d;
  font-size: var(--font-ui);
}

.launch-job-id {
  color: #0f7f69;
  font-size: var(--font-meta);
  font-weight: 800;
}

.launch-job-name {
  margin-top: 7px;
  overflow: hidden;
  color: #26323c;
  font-size: var(--font-ui);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.launch-job-main > small,
.launch-job-progress > small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.launch-job-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #42515c;
  font-size: var(--font-label);
}

.launch-job-progress-head strong {
  color: #17232d;
  font-variant-numeric: tabular-nums;
}

.launch-progress-track {
  height: 7px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eef2;
}

.launch-progress-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #16a085, #2f80ed);
}

.launch-job-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.launch-empty {
  min-height: 145px;
  display: grid;
  place-items: center;
  align-content: center;
  padding: 20px;
  border: 1px dashed #cfd8de;
  border-radius: 9px;
  background: #fafcfc;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 1260px) {
  .launch-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .launch-filter-grid > .button { width: 100%; }
  .launch-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .launch-job-card { grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr); }
  .launch-job-actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: 4px; border-top: 1px solid #edf0f3; }
}

@media (max-width: 920px) {
  .launch-page-head { display: block; }
  .launch-actions-toolbar { justify-content: flex-start; margin-top: 12px; }
  .launch-list-head { display: block; }
  .launch-list-actions { justify-content: flex-start; margin-top: 10px; }
  .launch-job-card { grid-template-columns: 1fr; gap: 12px; }
  .launch-job-actions { grid-column: auto; }
}

@media (max-width: 680px) {
  .launch-filter-head { align-items: flex-start; }
  .launch-filter-grid,
  .launch-summary-grid { grid-template-columns: 1fr; }
  .launch-summary-card { min-height: 82px; }
  .launch-actions-toolbar > .button { flex: 1 1 auto; }
  .launch-filter-panel,
  .launch-list-panel { padding: 12px; }
  .launch-filter-count { min-width: auto; }
  .launch-list-actions .launch-list-count { width: 100%; }
  .launch-list-actions .button { flex: 1 1 auto; }
  .launch-job-title { flex-wrap: wrap; }
}

.launch-page-layout .launch-job-title {
  justify-content: flex-start;
}



/* OCI instance detail polish */
.instances-page-layout .instance-table {
  min-width: 1160px;
}

.instances-page-layout .instance-table th:nth-child(4) { width: 16%; }
.instances-page-layout .instance-table th:nth-child(6) { width: 14%; }
.instances-page-layout .instance-table th:nth-child(7) { width: 25%; }

.instance-network-cell {
  min-width: 150px;
}

.instance-ip-line {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.instance-ip-line + .instance-ip-line {
  margin-top: 6px;
}

.instance-ip-line strong,
.instance-ip-line small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.instance-ip-label {
  flex: 0 0 auto;
  min-width: 31px;
  padding: 2px 5px;
  border-radius: 5px;
  font-size: 9px;
  line-height: 1.35;
  font-weight: 800;
  text-align: center;
}

.instance-ip-label.public {
  background: #eaf8f4;
  color: #0d806b;
}

.instance-ip-label.private {
  background: #eef3f6;
  color: #53616c;
}

.instance-created-cell {
  min-width: 150px;
  white-space: nowrap;
}

.instance-created-cell time {
  color: #17232d;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.instance-row-actions {
  min-width: 242px;
  max-width: none;
  flex-wrap: nowrap;
  gap: 4px;
}

.instance-row-actions .button {
  min-height: 28px;
  padding: 4px 7px;
  border-radius: 6px;
  font-size: 11px;
}

.instance-row-actions .instance-manage-button {
  padding-inline: 8px;
}

/* Cloudflare DNS */
.cloudflare-page-layout {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

.cloudflare-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--line);
}

.cloudflare-page-head h2 {
  margin: 0;
  color: #17232d;
  font-size: var(--font-section-title);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -.015em;
}

.cloudflare-page-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: var(--font-meta);
  line-height: 1.55;
}

.cloudflare-actions-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.cloudflare-actions-toolbar .button {
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 8px;
}

.cloudflare-filter-panel,
.cloudflare-account-panel,
.cloudflare-dns-panel {
  padding: 14px;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.cloudflare-filter-panel {
  margin-bottom: 12px;
}

.cloudflare-filter-head,
.cloudflare-panel-head,
.cloudflare-dns-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.cloudflare-filter-head strong,
.cloudflare-panel-head strong,
.cloudflare-dns-head strong {
  display: block;
  color: #17232d;
  font-size: var(--font-card-title);
  line-height: 1.3;
}

.cloudflare-filter-head span:not(.cloudflare-filter-count),
.cloudflare-panel-head span:not(.cloudflare-panel-count),
.cloudflare-dns-head span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--font-meta);
}

.cloudflare-filter-count,
.cloudflare-panel-count {
  flex: 0 0 auto;
  min-width: 112px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf3f5;
  color: #46535e;
  font-size: var(--font-label);
  font-weight: 750;
  text-align: center;
}

.cloudflare-filter-grid {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(360px, 1.45fr) auto;
  gap: 10px;
  align-items: end;
}

.cloudflare-filter-grid label,
.dns-filter-grid label,
.dns-zone-field {
  min-width: 0;
}

.cloudflare-filter-grid label > span,
.dns-filter-grid label > span,
.dns-zone-field > span {
  display: block;
  margin-bottom: 6px;
  color: #4f5d68;
  font-size: var(--font-label);
  font-weight: 750;
}

.cloudflare-filter-grid select,
.cloudflare-filter-grid input,
.dns-filter-grid select,
.dns-filter-grid input,
.dns-zone-field select {
  width: 100%;
  min-height: 38px;
  border-radius: 8px;
  background: #fff;
}

.cloudflare-filter-grid > .button {
  min-width: 88px;
  min-height: 38px;
}

.cloudflare-cache-note {
  margin: 12px 0;
  border-left: 3px solid #16a085;
  background: #f1fbf8;
}

.cloudflare-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.cloudflare-summary-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.cloudflare-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #16a085;
}

.cloudflare-summary-card span,
.cloudflare-summary-card small {
  display: block;
}

.cloudflare-summary-card span {
  color: #25313b;
  font-size: var(--font-label);
  font-weight: 800;
}

.cloudflare-summary-card small {
  margin-top: 4px;
  color: var(--muted);
}

.cloudflare-summary-card > strong {
  color: #15212b;
  font-size: 30px;
  line-height: 1;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.cloudflare-summary-card > b {
  position: absolute;
  top: 11px;
  right: 12px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf8f5;
  color: #0d806b;
  font-size: 9px;
  line-height: 1.3;
}

.cloudflare-summary-checked::before { background: #2f80ed; }
.cloudflare-summary-zone::before { background: #8b5cf6; }
.cloudflare-summary-record::before { background: #e0962e; }
.cloudflare-summary-checked > b { background: #edf5ff; color: #276ebf; }
.cloudflare-summary-zone > b { background: #f3efff; color: #7650c6; }
.cloudflare-summary-record > b { background: #fff5e7; color: #ad6b10; }

.cloudflare-account-panel {
  min-height: 180px;
  margin-bottom: 12px;
}

.cloudflare-account-table-wrap,
.dns-table-wrap {
  border: 1px solid #dfe5e9;
  border-radius: 9px;
  box-shadow: none;
}

.cloudflare-account-table {
  min-width: 860px;
}

.cloudflare-account-table th,
.cloudflare-account-table td,
.dns-table th,
.dns-table td {
  padding: 10px 11px;
}

.cloudflare-account-table th:nth-child(1) { width: 22%; }
.cloudflare-account-table th:nth-child(2) { width: 25%; }
.cloudflare-account-table th:nth-child(3) { width: 23%; }
.cloudflare-account-table th:nth-child(4) { width: 10%; }
.cloudflare-account-table th:nth-child(5) { width: 20%; }

.cloudflare-account-table tr.is-selected {
  background: #f1fbf8;
}

.cloudflare-row-actions {
  flex-wrap: nowrap;
  gap: 5px;
  min-width: 205px;
}

.cloudflare-row-actions .button,
.dns-row-actions .button {
  min-height: 29px;
  padding: 4px 8px;
  border-radius: 6px;
  white-space: nowrap;
}

.cloudflare-empty {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 0;
  background: #fafcfc;
}

.cloudflare-empty strong,
.cloudflare-empty span {
  display: block;
}

.cloudflare-empty strong {
  color: #3d4953;
}

.cloudflare-dns-panel {
  margin-bottom: 12px;
}

.cloudflare-dns-head .button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 5px 9px;
}

.dns-zone-toolbar {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.dns-zone-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.dns-zone-actions .button {
  min-height: 38px;
}

.dns-filter-grid {
  display: grid;
  grid-template-columns: minmax(150px, .45fr) minmax(360px, 1.35fr) auto auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.dns-filter-grid > .button {
  min-width: 88px;
  min-height: 38px;
}

.dns-visible-count {
  align-self: center;
  min-width: 112px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf3f5;
  color: #46535e;
  font-size: var(--font-label);
  font-weight: 750;
  text-align: center;
  white-space: nowrap;
}

.dns-table {
  min-width: 1050px;
}

.dns-table th:nth-child(1) { width: 8%; }
.dns-table th:nth-child(2) { width: 22%; }
.dns-table th:nth-child(3) { width: 38%; }
.dns-table th:nth-child(4) { width: 8%; }
.dns-table th:nth-child(5) { width: 10%; }
.dns-table th:nth-child(6) { width: 14%; }

.dns-type-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 4px 7px;
  border-radius: 6px;
  background: #eef3f6;
  color: #46535e;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 850;
}

.dns-type-a,
.dns-type-aaaa { background: #eaf8f4; color: #0d806b; }
.dns-type-cname { background: #edf5ff; color: #276ebf; }
.dns-type-txt { background: #f3efff; color: #7650c6; }
.dns-type-mx,
.dns-type-srv { background: #fff5e7; color: #ad6b10; }

.dns-content-cell {
  max-width: 520px;
}

.dns-content-cell code {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #1c2b36;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dns-row-actions {
  flex-wrap: nowrap;
  gap: 5px;
  min-width: 105px;
}

@media (max-width: 1260px) {
  .cloudflare-filter-grid {
    grid-template-columns: minmax(180px, .6fr) minmax(260px, 1fr) auto;
  }
  .cloudflare-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dns-filter-grid {
    grid-template-columns: minmax(150px, .45fr) minmax(260px, 1fr) auto;
  }
  .dns-visible-count {
    grid-column: 1 / -1;
    justify-self: end;
  }
}

@media (max-width: 920px) {
  .cloudflare-page-head {
    display: block;
  }
  .cloudflare-actions-toolbar {
    justify-content: flex-start;
    margin-top: 12px;
  }
  .dns-zone-toolbar {
    grid-template-columns: 1fr;
  }
  .dns-zone-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .app-shell {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  .cloudflare-filter-head,
  .cloudflare-panel-head,
  .cloudflare-dns-head {
    align-items: flex-start;
  }
  .cloudflare-filter-grid,
  .dns-filter-grid,
  .cloudflare-summary-grid {
    grid-template-columns: 1fr;
  }
  .cloudflare-actions-toolbar > .button,
  .dns-zone-actions > .button {
    flex: 1 1 auto;
  }
  .cloudflare-filter-panel,
  .cloudflare-account-panel,
  .cloudflare-dns-panel {
    padding: 12px;
  }
  .dns-visible-count {
    grid-column: auto;
    justify-self: stretch;
  }
}

.accounts-page-layout,
.cloudflare-page-layout {
  width: min(100%, 1440px);
  margin: 0 auto;
}

.accounts-command-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.account-quick-count {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
}
.account-quick-count strong {
  font-size: 13px;
  line-height: 1;
}
.account-quick-count span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef3f5;
  color: var(--muted);
  font-size: 10px;
}
.account-actions-toolbar { margin-left: auto; }
.compact-account-filter { padding: 12px; }
.compact-account-filter .account-filter-bar {
  grid-template-columns: minmax(130px, .8fr) minmax(150px, 1fr) minmax(230px, 1.35fr) minmax(260px, 2fr) auto;
  align-items: end;
}
.compact-account-filter .filter-field > span { margin-bottom: 4px; }
.compact-account-filter select,
.compact-account-filter input,
.compact-account-filter .sort-cycle-control,
.compact-account-filter .account-filter-reset { min-height: 36px; }
.compact-api-summary { margin-top: 12px; }
.compact-api-summary .api-summary-card { min-height: 76px; padding: 12px 14px; }
.compact-api-summary .api-summary-card small { display: none; }
.compact-api-summary .api-summary-card > strong { font-size: 24px; }
.compact-accounts-list-panel { margin-top: 12px; }
.compact-accounts-list-panel .accounts-list-head { min-height: 42px; padding: 10px 12px; }

/* Batch proxy */
.batch-proxy-dialog {
  width: min(1480px, calc(100vw - 28px));
  max-width: none;
  max-height: calc(100vh - 28px);
  padding: 0;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
}
.batch-proxy-dialog::backdrop { background: rgba(15, 23, 32, .48); }
.batch-proxy-dialog .dialog-form { width: 100%; max-width: none; }
.batch-proxy-body { gap: 10px; padding: 14px 16px; overflow: auto; }
.batch-proxy-table-head,
.batch-proxy-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.45fr) minmax(120px, .95fr) 96px minmax(150px, 1.1fr) 86px minmax(110px, .85fr) minmax(110px, .85fr) 92px;
  gap: 8px;
  align-items: end;
}
.batch-proxy-table-head {
  padding: 0 8px 6px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}
.batch-proxy-row {
  padding: 10px 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fbfcfd;
}
.batch-proxy-row label { min-width: 0; }
.batch-proxy-row label > span {
  display: none;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 10px;
}
.batch-proxy-row input,
.batch-proxy-row select { width: 100%; min-width: 0; min-height: 36px; }
.batch-proxy-row-action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
}
.batch-proxy-row-action .button { min-height: 36px; }
.batch-proxy-row-action span {
  overflow: hidden;
  font-size: 9px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.batch-proxy-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 10px;
}
.batch-proxy-result {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fafb;
  font-size: 11px;
  line-height: 1.55;
}
.batch-proxy-result strong,
.batch-proxy-result span { display: block; }

/* Cloudflare: account rail + DNS workspace */
.compact-cloudflare-head {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.compact-cloudflare-head > div > strong,
.compact-cloudflare-head > div > span { display: block; }
.compact-cloudflare-head > div > strong { font-size: 15px; }
.compact-cloudflare-head > div > span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.cloudflare-workspace-grid {
  display: grid;
  grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.cloudflare-account-panel,
.cloudflare-dns-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--shadow);
}
.cloudflare-account-sidebar {
  position: sticky;
  top: 12px;
  overflow: hidden;
}
.compact-panel-head {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
}
.compact-panel-head > div > strong,
.compact-panel-head > div > span { display: block; }
.compact-panel-head > div > strong { font-size: 14px; }
.compact-panel-head > div > span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.cloudflare-account-list {
  display: grid;
  max-height: calc(100vh - 260px);
  gap: 8px;
  padding: 10px;
  overflow: auto;
}
.cloudflare-account-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 10px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}
.cloudflare-account-item.is-selected {
  border-color: #72cfbd;
  background: #f0fbf8;
  box-shadow: inset 3px 0 0 var(--primary);
}
.cloudflare-account-select-button {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.cf-account-avatar {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 8px;
  background: #e9f8f5;
  color: #0d8e75;
  font-size: 10px;
  font-weight: 800;
}
.cloudflare-account-select-button strong,
.cloudflare-account-select-button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cloudflare-account-select-button strong { font-size: 12px; }
.cloudflare-account-select-button small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.cloudflare-account-meta {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.cloudflare-account-meta small { color: var(--muted); font-size: 9px; }
.cloudflare-account-actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 6px;
}
.cloudflare-dns-workspace { overflow: hidden; }
.dns-primary-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, .9fr) minmax(220px, 1.2fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfd;
}
.dns-primary-toolbar label,
.compact-dns-filter label { min-width: 0; }
.dns-primary-toolbar label > span,
.compact-dns-filter label > span {
  display: block;
  margin-bottom: 5px;
  color: #44515f;
  font-size: 10px;
  font-weight: 700;
}
.dns-primary-toolbar select,
.compact-dns-filter select,
.compact-dns-filter input { min-height: 37px; }
.dns-zone-actions { display: flex; gap: 7px; }
.compact-dns-filter {
  display: grid;
  grid-template-columns: 140px minmax(220px, 1fr) auto auto;
  gap: 9px;
  align-items: end;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.compact-dns-filter .dns-visible-count { align-self: center; min-width: 72px; text-align: right; }
.cloudflare-dns-workspace .dns-table-wrap {
  min-height: 300px;
  max-height: calc(100vh - 340px);
  overflow: auto;
  border: 0;
  border-radius: 0;
}
.cloudflare-dns-workspace .cloudflare-empty { min-height: 300px; }

@media (max-width: 1180px) {
  .compact-account-filter .account-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-account-filter .filter-search { grid-column: 1 / -1; }
  .compact-account-filter .account-filter-reset { justify-self: start; }
  .batch-proxy-table-head { display: none; }
  .batch-proxy-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .batch-proxy-row label > span { display: block; }
  .batch-proxy-tenant { grid-column: span 2; }
  .batch-proxy-row-action { grid-column: span 1; }
}

@media (max-width: 980px) {
  .accounts-command-row { align-items: stretch; flex-direction: column; }
  .account-actions-toolbar { width: 100%; margin-left: 0; }
  .cloudflare-workspace-grid { grid-template-columns: 1fr; }
  .cloudflare-account-sidebar { position: static; }
  .cloudflare-account-list { max-height: 320px; }
  .dns-primary-toolbar { grid-template-columns: 1fr 1fr; }
  .dns-zone-actions { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .account-actions-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-actions-toolbar .view-switch { grid-column: 1 / -1; justify-self: start; }
  .account-actions-toolbar .button { width: 100%; }
  .compact-account-filter .account-filter-bar { grid-template-columns: 1fr; }
  .compact-account-filter .filter-search { grid-column: auto; }
  .compact-api-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .batch-proxy-dialog { width: calc(100vw - 12px); max-height: calc(100vh - 12px); }
  .batch-proxy-row { grid-template-columns: 1fr 1fr; }
  .batch-proxy-tenant { grid-column: 1 / -1; }
  .batch-proxy-row-action { grid-column: 1 / -1; }
  .batch-proxy-tools { align-items: flex-start; flex-direction: column; }
  .dns-primary-toolbar,
  .compact-dns-filter { grid-template-columns: 1fr; }
  .dns-zone-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .dns-zone-actions .button:last-child { grid-column: 1 / -1; }
  .compact-dns-filter .dns-visible-count { text-align: left; }
}

.compact-cloudflare-head { padding: 0; border-bottom: 0; }
.cloudflare-workspace-grid > .cloudflare-account-panel,
.cloudflare-workspace-grid > .cloudflare-dns-panel {
  min-height: 0;
  margin: 0;
  padding: 0;
}
.cloudflare-workspace-grid .compact-panel-head {
  margin: 0;
  padding: 11px 12px;
}
.cloudflare-workspace-grid .compact-dns-filter { margin: 0; }

.proxy-page-layout {
  width: min(100%, 1440px);
  margin: 0 auto;
}
.proxy-page-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.proxy-page-count {
  display: flex;
  align-items: center;
  gap: 8px;
}
.proxy-page-count strong { font-size: 13px; }
.proxy-page-count span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef3f5;
  color: var(--muted);
  font-size: 10px;
}
.proxy-page-toolbar { margin-left: auto; }
.proxy-account-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}
.proxy-account-panel { margin-top: 12px; }
.proxy-panel-head {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.proxy-panel-head > div:first-child > strong,
.proxy-panel-head > div:first-child > span { display: block; }
.proxy-panel-head > div:first-child > strong {
  color: #17232d;
  font-size: 14px;
  line-height: 1.3;
}
.proxy-panel-head > div:first-child > span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}
.proxy-list-head { align-items: center; }
.proxy-list-filters {
  display: grid;
  grid-template-columns: 130px minmax(240px, 360px) auto;
  gap: 8px;
  align-items: center;
}
.proxy-list-filters select,
.proxy-list-filters input,
.proxy-list-filters .button { min-height: 36px; }
.proxy-account-table-wrap {
  max-height: calc(100vh - 430px);
  overflow: auto;
  border: 0;
  border-radius: 0;
}
.proxy-account-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}
.proxy-account-table th,
.proxy-account-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}
.proxy-account-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f4f6f8;
  color: #5f6872;
  font-size: 10px;
}
.proxy-account-table td { font-size: 11px; }
.proxy-account-table td strong,
.proxy-account-table td small { display: block; }
.proxy-account-table td small {
  max-width: 360px;
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.proxy-account-table code {
  color: #25313b;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
}
.proxy-row-actions { display: flex; gap: 6px; white-space: nowrap; }

/* Launch page: remove repeated heading and secondary copy. */
.compact-launch-head {
  justify-content: flex-end;
  margin-bottom: 10px;
  padding: 0 0 10px;
}
.compact-launch-head .launch-actions-toolbar { margin-left: auto; }
.launch-filter-head > div:only-child,
.launch-list-head > div:first-child:only-child { align-self: center; }
.launch-summary-card {
  min-height: 78px;
  padding: 12px 14px;
}
.launch-summary-card > strong { font-size: 27px; }
.launch-summary-card small { display: none; }
.launch-cache-note {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding-top: 7px;
  padding-bottom: 7px;
}
.launch-cache-note strong,
.launch-cache-note span { margin: 0; }

/* Cloudflare account dialog: keep labels and fields inside the padded body. */
.cf-dialog-v2 {
  padding: 0;
  border: 0;
  overflow: hidden;
}
.cf-dialog-v2 .dialog-form {
  width: min(560px, calc(100vw - 24px));
}
.cf-dialog-body {
  gap: 13px;
  overflow-x: hidden;
}
.cf-dialog-body label { min-width: 0; }
.cf-dialog-body label > span {
  display: block;
  margin-bottom: 6px;
  color: #46535e;
  font-size: 11px;
  font-weight: 750;
}
.cf-dialog-body input { width: 100%; min-height: 40px; }
.cf-dialog-body .form-error { margin: 0; }

@media (max-width: 1180px) {
  .proxy-list-head { align-items: stretch; flex-direction: column; }
  .proxy-list-filters { width: 100%; grid-template-columns: 150px minmax(0, 1fr) auto; }
}
@media (max-width: 760px) {
  .proxy-page-command { align-items: stretch; flex-direction: column; }
  .proxy-page-toolbar { display: grid; width: 100%; grid-template-columns: 1fr 1fr; margin-left: 0; }
  .proxy-page-toolbar .button { width: 100%; }
  .proxy-panel-head { align-items: stretch; flex-direction: column; }
  .proxy-panel-head > .button { width: 100%; }
  .proxy-list-filters { grid-template-columns: 1fr; }
  .proxy-account-table-wrap { max-height: none; }
  .compact-launch-head .launch-actions-toolbar { width: 100%; }
  .compact-launch-head .button { flex: 1 1 auto; }
}
.cf-dialog-v2 {
  width: min(560px, calc(100vw - 24px));
  max-width: none;
}
.cf-dialog-v2 .dialog-form { width: 100%; }

.proxy-library-page {
  width: min(100%, 1440px);
  margin: 0 auto;
}
.proxy-library-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.proxy-library-list-panel { margin-top: 0; }
.proxy-library-table { min-width: 920px; }
.proxy-library-table td:nth-child(1) { width: 18%; }
.proxy-library-table td:nth-child(2) { width: 10%; }
.proxy-library-table td:nth-child(3) { width: 30%; }
.proxy-library-table td:nth-child(4) { width: 17%; }
.proxy-library-table td:nth-child(5) { width: 11%; }
.proxy-library-table td:nth-child(6) { width: 14%; }

.proxy-inline-select {
  display: inline-flex;
  max-width: 190px;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 4px 9px;
  border: 1px solid #d9e1e6;
  border-radius: 7px;
  background: #f4f7f8;
  color: #596672;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.proxy-inline-select:hover { border-color: var(--primary); color: var(--primary); }
.proxy-inline-select.is-enabled {
  border-color: #a8e0d1;
  background: #e9f8f3;
  color: #08785e;
}
.api-proxy-cell { min-width: 145px; }
.api-proxy-cell small { max-width: 190px; }

.proxy-choice-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.proxy-choice-tabs label {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid #dfe5e9;
  border-radius: 8px;
  background: #f8fafb;
  color: #42505c;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.proxy-choice-tabs label:has(input:checked) {
  border-color: #84d6c1;
  background: #eaf8f4;
  color: #08785e;
}
.proxy-choice-tabs input { width: auto; min-height: auto; }
.proxy-choice-section {
  padding: 13px;
  border: 1px solid #dfe5e9;
  border-radius: 10px;
  background: #fff;
}
.proxy-choice-section > label > span,
.proxy-choice-section > label > small { display: block; }
.proxy-choice-section > label > span { margin-bottom: 6px; font-size: 11px; font-weight: 700; }
.proxy-choice-section > label > small { margin-top: 6px; color: var(--muted); font-size: 10px; }
.proxy-choice-section select { width: 100%; min-height: 40px; }
.proxy-binding-dialog .proxy-current-config { grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr); }

@media (max-width: 1120px) {
  .proxy-library-table-head { display: none; }
  .proxy-library-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .proxy-library-row label > span { display: block; }
  .proxy-library-row-action { grid-column: span 3; justify-content: flex-end; }
}

@media (max-width: 760px) {
  .proxy-library-command { align-items: stretch; flex-direction: column; }
  .proxy-library-command .proxy-page-toolbar { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin-left: 0; }
  .proxy-library-row { grid-template-columns: 1fr 1fr; }
  .proxy-library-row-action { grid-column: 1 / -1; }
  .proxy-choice-tabs { grid-template-columns: 1fr; }
  .proxy-binding-dialog .proxy-current-config { grid-template-columns: 1fr; }
}

.accounts-list-panel-no-title {
  padding-top: 12px;
}
.accounts-list-panel-no-title #account-list {
  min-height: 96px;
}
.sequence-cell {
  width: 54px;
  min-width: 54px;
  text-align: center !important;
}
.sequence-cell > span,
.proxy-row-number,
.card-sequence {
  display: inline-flex;
  min-width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9e4e2;
  border-radius: 999px;
  background: #f0f8f6;
  color: #087a65;
  font-size: 10px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.accounts-page-layout .api-card {
  position: relative;
}
.card-sequence {
  position: absolute;
  top: 12px;
  right: 48px;
  z-index: 1;
}

/* API list sequence spacing matches the proxy library: compact first column, then data columns. */
.accounts-page-layout .api-table {
  min-width: 1240px;
}
.accounts-page-layout .api-table th:nth-child(1),
.accounts-page-layout .api-table td:nth-child(1) {
  width: 54px;
  min-width: 54px;
  padding-left: 12px;
  padding-right: 12px;
  text-align: center;
}
.accounts-page-layout .api-table th:nth-child(2),
.accounts-page-layout .api-table td:nth-child(2) { width: 16%; min-width: 175px; }
.accounts-page-layout .api-table th:nth-child(3),
.accounts-page-layout .api-table td:nth-child(3) { width: 15%; min-width: 170px; }
.accounts-page-layout .api-table th:nth-child(4),
.accounts-page-layout .api-table td:nth-child(4) { width: 13%; min-width: 145px; }
.accounts-page-layout .api-table th:nth-child(5),
.accounts-page-layout .api-table td:nth-child(5) { width: 9%; min-width: 95px; }
.accounts-page-layout .api-table th:nth-child(6),
.accounts-page-layout .api-table td:nth-child(6) { width: 10%; min-width: 120px; }
.accounts-page-layout .api-table th:nth-child(7),
.accounts-page-layout .api-table td:nth-child(7) { width: 13%; min-width: 150px; }
.accounts-page-layout .api-table th:nth-child(8),
.accounts-page-layout .api-table td:nth-child(8) { width: 10%; min-width: 120px; }
.accounts-page-layout .api-table th:nth-child(9),
.accounts-page-layout .api-table td:nth-child(9) { width: 180px; min-width: 180px; overflow: visible; }

/* Proxy add rows and proxy library both use explicit sequence numbers. */
.proxy-library-table-head,
.proxy-library-row {
  grid-template-columns: 48px minmax(150px, 1.15fr) minmax(100px, .65fr) minmax(170px, 1.2fr) minmax(90px, .55fr) minmax(130px, .85fr) minmax(130px, .85fr) 86px;
}
.proxy-row-number {
  align-self: center;
  justify-self: center;
}
.proxy-library-table {
  min-width: 970px;
}
.proxy-library-table th:nth-child(1),
.proxy-library-table td:nth-child(1) { width: 54px; min-width: 54px; }
.proxy-library-table th:nth-child(2),
.proxy-library-table td:nth-child(2) { width: 18%; }
.proxy-library-table th:nth-child(3),
.proxy-library-table td:nth-child(3) { width: 10%; }
.proxy-library-table th:nth-child(4),
.proxy-library-table td:nth-child(4) { width: 29%; }
.proxy-library-table th:nth-child(5),
.proxy-library-table td:nth-child(5) { width: 17%; }
.proxy-library-table th:nth-child(6),
.proxy-library-table td:nth-child(6) { width: 11%; }
.proxy-library-table th:nth-child(7),
.proxy-library-table td:nth-child(7) { width: 14%; }

/* Instance page defaults to all tenants and carries tenant identity per row. */
.instances-page-layout .instance-table.all-tenant-instance-table {
  min-width: 1420px;
  table-layout: fixed;
}
.instances-page-layout .all-tenant-instance-table th:nth-child(1),
.instances-page-layout .all-tenant-instance-table td:nth-child(1) { width: 54px; min-width: 54px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(2),
.instances-page-layout .all-tenant-instance-table td:nth-child(2) { width: 14%; min-width: 160px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(3),
.instances-page-layout .all-tenant-instance-table td:nth-child(3) { width: 15%; min-width: 170px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(4),
.instances-page-layout .all-tenant-instance-table td:nth-child(4) { width: 8%; min-width: 82px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(5),
.instances-page-layout .all-tenant-instance-table td:nth-child(5) { width: 13%; min-width: 150px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(6),
.instances-page-layout .all-tenant-instance-table td:nth-child(6) { width: 14%; min-width: 165px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(7),
.instances-page-layout .all-tenant-instance-table td:nth-child(7) { width: 13%; min-width: 150px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(8),
.instances-page-layout .all-tenant-instance-table td:nth-child(8) { width: 13%; min-width: 145px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(9),
.instances-page-layout .all-tenant-instance-table td:nth-child(9) { width: 260px; min-width: 260px; }
.instance-tenant-cell strong,
.instance-tenant-cell small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.instance-tenant-cell small {
  max-width: 190px;
  margin-top: 4px;
  color: var(--muted);
}
#global-instance-sync:disabled {
  opacity: .48;
  cursor: not-allowed;
}

@media (max-width: 1120px) {
  .proxy-library-row {
    grid-template-columns: 44px repeat(3, minmax(0, 1fr));
  }
  .proxy-library-row-action { grid-column: 2 / -1; }
}
@media (max-width: 760px) {
  .proxy-library-row {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  .proxy-library-row > label,
  .proxy-library-row-action { grid-column: 2; }
  .proxy-row-number { grid-column: 1; grid-row: 1; align-self: center; }
  .card-sequence { right: 44px; }
}

/* Keep the all-tenant table fully visible on common 1600px desktop layouts. */
.instances-page-layout .instance-table.all-tenant-instance-table { min-width: 1260px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(2),
.instances-page-layout .all-tenant-instance-table td:nth-child(2) { width: 13%; min-width: 145px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(3),
.instances-page-layout .all-tenant-instance-table td:nth-child(3) { width: 14%; min-width: 150px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(5),
.instances-page-layout .all-tenant-instance-table td:nth-child(5) { width: 12%; min-width: 135px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(6),
.instances-page-layout .all-tenant-instance-table td:nth-child(6) { width: 13%; min-width: 150px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(7),
.instances-page-layout .all-tenant-instance-table td:nth-child(7) { width: 12%; min-width: 135px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(8),
.instances-page-layout .all-tenant-instance-table td:nth-child(8) { width: 13%; min-width: 140px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(9),
.instances-page-layout .all-tenant-instance-table td:nth-child(9) { width: 230px; min-width: 230px; }
.instance-row-actions { min-width: 210px; max-width: 230px; gap: 4px; }
.instance-row-actions .button { padding-inline: 7px; }
.instances-page-layout .instance-table.all-tenant-instance-table { min-width: 1220px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(1),
.instances-page-layout .all-tenant-instance-table td:nth-child(1) { width: 48px; min-width: 48px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(9),
.instances-page-layout .all-tenant-instance-table td:nth-child(9) { width: 220px; min-width: 220px; }
.instance-row-actions { min-width: 200px; max-width: 220px; }
.instances-page-layout .all-tenant-instance-table th,
.instances-page-layout .all-tenant-instance-table td { padding-left: 7px; padding-right: 7px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(2),
.instances-page-layout .all-tenant-instance-table td:nth-child(2) { min-width: 130px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(3),
.instances-page-layout .all-tenant-instance-table td:nth-child(3) { min-width: 140px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(5),
.instances-page-layout .all-tenant-instance-table td:nth-child(5) { min-width: 125px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(6),
.instances-page-layout .all-tenant-instance-table td:nth-child(6) { min-width: 135px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(7),
.instances-page-layout .all-tenant-instance-table td:nth-child(7) { min-width: 125px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(8),
.instances-page-layout .all-tenant-instance-table td:nth-child(8) { min-width: 130px; }
.instances-page-layout .all-tenant-instance-table th:nth-child(9),
.instances-page-layout .all-tenant-instance-table td:nth-child(9) { width: 210px; min-width: 210px; }
.instance-row-actions { min-width: 190px; max-width: 210px; }
.instances-page-layout .instance-table.all-tenant-instance-table { min-width: 1180px; table-layout: auto; }


.dns-primary-toolbar-no-account {
  grid-template-columns: minmax(280px, 1fr) auto;
}
.dns-primary-toolbar-no-account .dns-zone-field {
  min-width: 0;
}
.dns-primary-toolbar-no-account .dns-zone-actions {
  justify-content: flex-end;
}
@media (max-width: 980px) {
  .dns-primary-toolbar-no-account {
    grid-template-columns: minmax(0, 1fr);
  }
  .dns-primary-toolbar-no-account .dns-zone-actions {
    grid-column: auto;
    justify-content: flex-start;
  }
}
@media (max-width: 700px) {
  .dns-primary-toolbar-no-account .dns-zone-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .dns-primary-toolbar-no-account .dns-zone-actions .button:last-child {
    grid-column: 1 / -1;
  }
}


.settings-backup-panel .backup-row {
  min-width: 0;
  gap: 12px;
}
.settings-backup-panel .backup-row-copy {
  min-width: 0;
  flex: 1 1 auto;
}
.settings-backup-panel .backup-row-copy strong,
.settings-backup-panel .backup-row-copy small {
  overflow-wrap: anywhere;
}
.settings-backup-panel .backup-delete-button {
  flex: 0 0 auto;
  min-width: 58px;
}
@media (max-width: 520px) {
  .settings-backup-panel .backup-row { align-items: flex-start; }
}


.settings-backup-panel #backup-list .backup-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: 12px;
}
.settings-backup-panel #backup-list .backup-row-copy {
  min-width: 0;
}
.settings-backup-panel #backup-list .backup-delete-button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto;
  min-width: 72px;
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 520px) {
  .settings-backup-panel #backup-list .backup-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .settings-backup-panel #backup-list .backup-delete-button {
    justify-self: start;
  }
}

.proxy-library-table-head,
.proxy-library-row {
  grid-template-columns: 48px minmax(145px, 1fr) 92px minmax(150px, 1fr) 82px minmax(110px, .8fr) minmax(110px, .8fr) minmax(190px, 1.25fr) 86px;
}
.proxy-library-command .proxy-page-toolbar {
  display: grid;
  grid-template-columns: repeat(3, max-content);
}
.proxy-library-table { min-width: 1120px; }
.proxy-library-table th:nth-child(7),
.proxy-library-table td:nth-child(7) { width: 250px; min-width: 250px; }
.proxy-library-table td:nth-child(2) small { max-width: 260px; }
.proxy-row-actions { flex-wrap: nowrap; }
.utility-message.preformatted { white-space: pre-wrap; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

@media (max-width: 1120px) {
  .proxy-library-row {
    grid-template-columns: 44px repeat(3, minmax(0, 1fr));
  }
  .proxy-library-row-action { grid-column: 2 / -1; }
}

@media (max-width: 760px) {
  .proxy-library-command .proxy-page-toolbar {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .proxy-library-row {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  .proxy-library-row > label,
  .proxy-library-row-action { grid-column: 2; }
}

.oci-config-detection {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 10px;
  padding: 10px 12px;
  border: 1px solid #dfe5e9;
  border-radius: 8px;
  background: #f8fafb;
}
.oci-config-detection > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.oci-config-detection > strong {
  min-width: 0;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.oci-config-detection > small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10px;
}
.warn-text { color: var(--warn) !important; }
.import-proxy-options {
  display: grid;
  gap: 10px;
  transition: opacity .16s ease;
}
.import-proxy-options.is-disabled {
  opacity: .5;
}
.import-proxy-choice-section {
  padding: 12px;
}
.import-proxy-choice-tabs label:has(input:disabled) {
  cursor: not-allowed;
  opacity: .55;
}
@media (max-width: 720px) {
  .oci-config-detection { grid-template-columns: 1fr; }
  .oci-config-detection > small { grid-column: auto; }
}

.audit-page-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.audit-page-status {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.audit-page-status strong {
  color: #18232d;
  font-size: 13px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.audit-page-status span {
  color: var(--muted);
  font-size: 11px;
}
.audit-page-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
}
.audit-page-card {
  padding: 0;
  overflow: hidden;
}
.audit-filter-grid {
  display: grid;
  grid-template-columns: minmax(135px, .75fr) minmax(135px, .75fr) minmax(135px, .75fr) minmax(260px, 2fr) auto auto;
  align-items: end;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.audit-filter-grid label {
  min-width: 0;
}
.audit-filter-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: #586570;
  font-size: 10px;
  font-weight: 800;
}
.audit-filter-grid select,
.audit-filter-grid input {
  width: 100%;
  min-height: 38px;
  background: #fff;
}
.audit-filter-grid > .button,
.audit-filter-grid > .audit-count {
  min-height: 38px;
}
.audit-search-box {
  width: auto;
}
.audit-count {
  justify-content: center;
  min-width: 92px;
  padding-inline: 12px;
  font-size: 11px;
}
.audit-table-wrap {
  max-height: calc(100vh - 238px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.audit-table {
  min-width: 1260px;
  width: 100%;
  table-layout: fixed;
}
.audit-table th,
.audit-table td {
  padding: 10px 11px;
}
.audit-table th:first-child,
.audit-table td:first-child {
  text-align: center;
}
.audit-col-sequence { width: 54px; }
.audit-col-time { width: 170px; }
.audit-col-user { width: 105px; }
.audit-col-category { width: 116px; }
.audit-col-action { width: 188px; }
.audit-col-resource { width: 165px; }
.audit-col-source { width: 118px; }
.audit-time-inline {
  display: inline-block;
  color: #34414c;
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.audit-user {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audit-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.audit-category-auth { color: #315f91; background: #eef5ff; border-color: #d8e7fb; }
.audit-category-oci { color: #087a65; background: #eef9f6; border-color: #d3ebe4; }
.audit-category-instance { color: #6350a0; background: #f4f1ff; border-color: #e4dcfb; }
.audit-category-proxy { color: #7251a8; background: #f5f1fb; border-color: #e5daf6; }
.audit-category-cloudflare { color: #a75c00; background: #fff6e8; border-color: #f6dfb9; }
.audit-category-system { color: #53606c; background: #f1f4f6; border-color: #dde3e7; }
.audit-category-other { color: #6c7278; background: #f7f8f9; border-color: #e4e7e9; }
.audit-action {
  max-width: 100%;
  background: #eef3f5;
  color: #314c58;
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
}
.audit-resource {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audit-detail {
  font-family: inherit;
  font-size: 11px;
  line-height: 1.45;
  -webkit-line-clamp: 2;
}
.audit-source {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .audit-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .audit-search-box { grid-column: 1 / 3; }
  .audit-filter-grid > .button,
  .audit-filter-grid > .audit-count { justify-self: stretch; }
}

@media (max-width: 760px) {
  .audit-page-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .audit-page-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .audit-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
  .audit-search-box { grid-column: 1 / -1; }
  .audit-table-wrap { max-height: none; }
}

@media (max-width: 520px) {
  .audit-filter-grid { grid-template-columns: 1fr; }
  .audit-search-box { grid-column: auto; }
}

.dashboard-system-panel {
  grid-column: 1 / -1;
  margin-top: 16px;
  overflow: hidden;
}
.dashboard-system-head {
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.dashboard-system-head h2 {
  margin: 0;
  font-size: 16px;
}
.dashboard-system-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}
.dashboard-system-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.dashboard-system-overall {
  display: grid;
  justify-items: end;
  min-width: 140px;
  margin-right: 4px;
}
.dashboard-system-overall strong {
  font-size: 12px;
  font-weight: 850;
}
.dashboard-system-overall span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}
.system-overall-ok { color: var(--good); }
.system-overall-warning { color: var(--warn); }
.system-overall-error { color: var(--bad); }
.dashboard-system-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfd;
}
.dashboard-system-stat {
  position: relative;
  min-width: 0;
  padding: 13px 14px 12px 17px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.dashboard-system-stat::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 11px 0 0 11px;
  background: #16a085;
}
.dashboard-system-stat:nth-child(2)::before { background: #3f7ee8; }
.dashboard-system-stat:nth-child(3)::before { background: #7a58d6; }
.dashboard-system-stat:nth-child(4)::before { background: #d98a18; }
.dashboard-system-stat > span {
  display: block;
  color: #53616c;
  font-size: 10px;
  font-weight: 800;
}
.dashboard-system-stat > strong {
  display: block;
  margin-top: 7px;
  overflow: hidden;
  color: #17232d;
  font-size: 21px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-system-stat > small {
  display: block;
  margin-top: 6px;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.system-stat-ok { color: var(--good) !important; }
.system-stat-warning { color: var(--warn) !important; }
.system-stat-error { color: var(--bad) !important; }
.dashboard-system-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
  align-items: start;
}
.dashboard-system-components {
  min-width: 0;
  border-right: 1px solid var(--line);
}
.dashboard-system-data {
  min-width: 0;
}
.dashboard-system-subhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-height: 60px;
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
}
.dashboard-system-subhead h3 {
  margin: 0;
  color: #25313b;
  font-size: 12px;
}
.dashboard-system-subhead p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}
.system-card-count {
  flex: 0 0 auto;
  min-width: 54px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef3f5;
  color: #53616c;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
}
.system-component-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 6px 10px 10px;
}
.system-component-row {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 61px;
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
}
.system-component-row:nth-last-child(-n+2) { border-bottom: 0; }
.system-component-row:nth-child(odd) { padding-right: 13px; border-right: 1px solid var(--line); }
.system-component-row:nth-child(even) { padding-left: 13px; }
.system-component-indicator {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--good);
  box-shadow: 0 0 0 3px var(--good-soft);
}
.system-component-warning .system-component-indicator {
  background: var(--warn);
  box-shadow: 0 0 0 3px var(--warn-soft);
}
.system-component-error .system-component-indicator {
  background: var(--bad);
  box-shadow: 0 0 0 3px var(--bad-soft);
}
.system-component-name,
.system-component-result { min-width: 0; }
.system-component-name strong,
.system-component-result strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.system-component-name strong {
  color: #25323d;
  font-size: 10px;
}
.system-component-name small {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.system-component-result {
  text-align: right;
}
.system-component-result > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--good-soft);
  color: var(--good);
  font-size: 8px;
  font-weight: 850;
}
.system-component-warning .system-component-result > span {
  background: var(--warn-soft);
  color: var(--warn);
}
.system-component-error .system-component-result > span {
  background: var(--bad-soft);
  color: var(--bad);
}
.system-component-result strong {
  max-width: 130px;
  margin-top: 4px;
  color: #53616c;
  font-size: 8px;
}
.system-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 7px 10px;
}
.system-data-grid > div {
  min-width: 0;
  padding: 9px 8px;
  border-bottom: 1px solid var(--line);
}
.system-data-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.system-data-grid dt {
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
}
.system-data-grid dd {
  margin: 5px 0 0;
  color: #1b2731;
  font-size: 16px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}
.system-query-policy {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 4px 12px 12px;
  padding: 10px;
  border: 1px solid #d5ece5;
  border-radius: 9px;
  background: #f0faf7;
}
.system-query-policy i {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--good);
}
.system-query-policy strong,
.system-query-policy span { display: block; }
.system-query-policy strong {
  color: #1f5f50;
  font-size: 9px;
}
.system-query-policy span {
  margin-top: 3px;
  color: #5b746c;
  font-size: 8px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .dashboard-system-layout { grid-template-columns: 1fr; }
  .dashboard-system-components { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 900px) {
  .dashboard-system-head { align-items: stretch; flex-direction: column; }
  .dashboard-system-actions { justify-content: flex-start; }
  .dashboard-system-overall { justify-items: start; margin-right: auto; }
  .dashboard-system-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .dashboard-system-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-system-overall { grid-column: 1 / -1; }
  .system-component-list { grid-template-columns: 1fr; }
  .system-component-row,
  .system-component-row:nth-child(odd),
  .system-component-row:nth-child(even) {
    padding: 10px 8px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .system-component-row:last-child { border-bottom: 0; }
}

@media (max-width: 520px) {
  .dashboard-system-summary { grid-template-columns: 1fr; }
  .system-data-grid { grid-template-columns: 1fr; }
  .system-data-grid > div,
  .system-data-grid > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
  .system-data-grid > div:last-child { border-bottom: 0; }
}



.sidebar {
  padding-top: 8px;
}
.sidebar-brand {
  display: none !important;
}
.nav-list {
  padding-top: 0;
}
.sidebar-foot {
  margin: auto 16px 0;
  padding: 14px 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: #9aa3ab;
}
.sidebar-policy {
  display: grid;
  gap: 5px;
}
.sidebar-policy strong {
  color: #d1d6db;
  font-size: 12px;
  font-weight: 700;
}
.sidebar-policy small {
  color: #9aa3ab;
  font-size: 11px;
  line-height: 1.55;
}
.sidebar-version {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  color: #7f8992 !important;
  font-size: 11px !important;
  font-weight: 800;
  letter-spacing: .08em;
}
@media (max-width: 760px) {
  .sidebar-foot {
    display: none;
  }
}


.dashboard-system-compact {
  margin-top: 12px;
}
.dashboard-system-compact .dashboard-system-head {
  padding-bottom: 11px;
}
.dashboard-system-compact .dashboard-system-head p {
  margin-top: 4px;
  font-size: 11px;
}
.dashboard-system-compact .dashboard-system-actions {
  flex-wrap: wrap;
}
.dashboard-system-compact .dashboard-system-overall {
  min-width: 132px;
}
.dashboard-system-compact .dashboard-system-overall strong {
  font-size: 13px;
}
.dashboard-system-compact .dashboard-system-overall span {
  font-size: 10px;
}
.dashboard-system-compact .dashboard-system-summary {
  gap: 8px;
  padding: 11px 12px;
}
.dashboard-system-compact .dashboard-system-stat {
  min-height: 76px;
  padding: 11px 12px 10px 15px;
}
.dashboard-system-compact .dashboard-system-stat > span {
  font-size: 11px;
}
.dashboard-system-compact .dashboard-system-stat > strong {
  margin-top: 5px;
  font-size: 19px;
}
.dashboard-system-compact .dashboard-system-stat > small {
  margin-top: 4px;
  font-size: 10px;
}
.dashboard-system-quickdata {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  margin: 0;
  padding: 0 12px 12px;
  background: #fbfcfd;
}
.dashboard-system-quickdata > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-right: 0;
  background: #fff;
}
.dashboard-system-quickdata > div:first-child {
  border-radius: 9px 0 0 9px;
}
.dashboard-system-quickdata > div:last-child {
  border-right: 1px solid var(--line);
  border-radius: 0 9px 9px 0;
}
.dashboard-system-quickdata dt {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-system-quickdata dd {
  margin: 4px 0 0;
  overflow: hidden;
  color: #1b2731;
  font-size: 15px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-system-details {
  border-top: 1px solid var(--line);
  background: #fff;
}
.dashboard-system-details[hidden] {
  display: none !important;
}
.dashboard-system-details .dashboard-system-subhead {
  min-height: 52px;
  padding: 11px 14px;
}
.dashboard-system-details .dashboard-system-subhead h3 {
  font-size: 12px;
}
.dashboard-system-details .dashboard-system-subhead p {
  font-size: 10px;
}
.dashboard-system-details .system-component-list {
  padding-top: 4px;
}
.dashboard-system-details .system-component-row {
  min-height: 55px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.dashboard-system-details .system-component-name strong {
  font-size: 11px;
}
.dashboard-system-details .system-component-name small,
.dashboard-system-details .system-component-result strong,
.dashboard-system-details .system-component-result > span {
  font-size: 9px;
}
.dashboard-system-details .system-query-policy {
  margin-top: 8px;
}

@media (max-width: 1280px) {
  .dashboard-system-quickdata {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  .dashboard-system-quickdata > div,
  .dashboard-system-quickdata > div:first-child,
  .dashboard-system-quickdata > div:last-child {
    border: 1px solid var(--line);
    border-radius: 8px;
  }
}
@media (max-width: 760px) {
  .dashboard-system-compact .dashboard-system-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dashboard-system-compact .dashboard-system-overall {
    grid-column: 1 / -1;
  }
  .dashboard-system-quickdata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .dashboard-system-compact .dashboard-system-actions {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-system-compact .dashboard-system-actions .primary {
    grid-column: 1 / -1;
  }
  .dashboard-system-compact .dashboard-system-summary {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-system-quickdata {
    grid-template-columns: 1fr 1fr;
  }
}


.dashboard-page-layout .dashboard-grid {
  align-items: stretch;
}
.dashboard-page-layout .dashboard-panel {
  min-height: 0;
}
.dashboard-page-layout .dashboard-panel-head {
  min-height: 56px;
  margin-bottom: 8px;
  padding-bottom: 10px;
}
.dashboard-page-layout .dashboard-compact-list {
  max-height: 302px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 3px;
  scrollbar-gutter: stable;
}
.dashboard-page-layout .dashboard-list-row {
  min-height: 52px;
  padding: 8px 10px;
}
.dashboard-page-layout .dashboard-empty {
  min-height: 132px;
}
.dashboard-page-layout .dashboard-compact-list::-webkit-scrollbar {
  width: 7px;
}
.dashboard-page-layout .dashboard-compact-list::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #c7ced5;
  background-clip: padding-box;
}
.dashboard-page-layout .dashboard-compact-list::-webkit-scrollbar-track {
  background: transparent;
}
@media (max-width: 1180px) {
  .dashboard-page-layout .dashboard-panel {
    min-height: 0;
  }
}
@media (max-width: 920px) {
  .dashboard-page-layout .dashboard-compact-list {
    max-height: 360px;
  }
}
@media (max-width: 680px) {
  .dashboard-page-layout .dashboard-panel-head {
    min-height: 0;
  }
  .dashboard-page-layout .dashboard-compact-list {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
  .dashboard-page-layout .dashboard-empty {
    min-height: 108px;
  }
}


.launch-page-layout {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

.launch-page-layout .launch-page-head {
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 0 0 14px;
}

.launch-page-layout .launch-page-head h2,
.launch-page-layout .launch-page-head p {
  display: block;
}

.launch-page-layout .launch-actions-toolbar {
  margin-left: auto;
}

.launch-page-layout .launch-filter-panel,
.launch-page-layout .launch-list-panel {
  padding: 14px;
  border: 1px solid #dfe5e9;
  border-radius: 11px;
  background: var(--panel);
  box-shadow: 0 5px 18px rgba(25,38,49,.04);
}

.launch-page-layout .launch-filter-panel {
  margin-bottom: 12px;
}

.launch-page-layout .launch-filter-head,
.launch-page-layout .launch-list-head {
  align-items: flex-start;
  margin-bottom: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.launch-page-layout .launch-filter-head > div,
.launch-page-layout .launch-list-head > div:first-child {
  display: block;
}

.launch-page-layout .launch-filter-head strong,
.launch-page-layout .launch-list-head strong {
  font-size: var(--font-card-title);
}

.launch-page-layout .launch-filter-head span:not(.launch-filter-count),
.launch-page-layout .launch-list-head > div:first-child span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: var(--font-meta);
}

.launch-page-layout .launch-filter-count {
  min-width: 150px;
  margin-top: 0;
}

.launch-page-layout .launch-filter-grid {
  grid-template-columns: minmax(260px, 1.15fr) minmax(160px, .62fr) minmax(320px, 1.35fr) auto;
  gap: 10px;
  align-items: end;
}

.launch-page-layout .launch-filter-grid label {
  min-width: 0;
}

.launch-page-layout .launch-filter-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: #4f5d68;
}

.launch-page-layout .launch-filter-grid select,
.launch-page-layout .launch-filter-grid input {
  width: 100%;
  min-height: 38px;
  border-radius: 8px;
  background: #fff;
}

.launch-page-layout .launch-filter-grid > .button {
  min-width: 88px;
  min-height: 38px;
}

.launch-page-layout .launch-cache-note {
  margin: 12px 0;
  min-height: auto;
  padding: 10px 12px;
}

.launch-page-layout .launch-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.launch-page-layout .launch-summary-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 92px;
  padding: 15px 16px;
}

.launch-page-layout .launch-summary-card span,
.launch-page-layout .launch-summary-card small {
  display: block;
}

.launch-page-layout .launch-summary-card small {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-meta);
}

.launch-page-layout .launch-summary-card > strong {
  font-size: 30px;
}

.launch-page-layout .launch-profiles-panel,
.launch-page-layout .launch-jobs-panel {
  min-height: 0;
}

.launch-page-layout .launch-list-panel + .launch-list-panel {
  margin-top: 12px;
}

.launch-page-layout .launch-list-actions {
  align-items: center;
  justify-content: flex-end;
  margin-top: 0;
}

.launch-page-layout .launch-list-count {
  min-width: 100px;
}

.launch-page-layout .launch-table-wrap {
  border: 1px solid #dfe5e9;
  border-radius: 9px;
  box-shadow: none;
}

.launch-page-layout .launch-empty {
  min-height: 122px;
  border: 1px dashed #cfd8de;
  border-radius: 9px;
  background: #fafcfc;
}

@media (max-width: 1260px) {
  .launch-page-layout .launch-filter-grid,
  .launch-page-layout .launch-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .launch-page-layout .launch-filter-grid > .button { width: 100%; }
}

@media (max-width: 920px) {
  .launch-page-layout .launch-page-head { display: block; }
  .launch-page-layout .launch-actions-toolbar {
    justify-content: flex-start;
    margin-top: 12px;
    margin-left: 0;
  }
  .launch-page-layout .launch-list-head { display: block; }
  .launch-page-layout .launch-list-actions {
    justify-content: flex-start;
    margin-top: 10px;
  }
}

@media (max-width: 680px) {
  .launch-page-layout .launch-filter-head { align-items: flex-start; }
  .launch-page-layout .launch-filter-grid,
  .launch-page-layout .launch-summary-grid { grid-template-columns: 1fr; }
  .launch-page-layout .launch-summary-card { min-height: 82px; }
  .launch-page-layout .launch-actions-toolbar > .button { flex: 1 1 auto; }
  .launch-page-layout .launch-filter-panel,
  .launch-page-layout .launch-list-panel { padding: 12px; }
  .launch-page-layout .launch-filter-count { min-width: 0; }
  .launch-page-layout .launch-list-actions .launch-list-count { width: 100%; }
  .launch-page-layout .launch-list-actions .button { flex: 1 1 auto; }
}


.launch-table-all-tenants {
  min-width: 1180px;
}
.launch-table-all-tenants th:nth-child(1),
.launch-table-all-tenants td:nth-child(1) { min-width: 190px; }
.launch-table-all-tenants th:nth-child(2),
.launch-table-all-tenants td:nth-child(2) { min-width: 175px; }
.launch-table-all-tenants th:nth-child(3),
.launch-table-all-tenants td:nth-child(3) { min-width: 185px; }
.launch-table-all-tenants th:nth-child(7),
.launch-table-all-tenants td:nth-child(7) { min-width: 260px; }
.launch-job-tenant {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--surface-muted, #eef4f4);
  color: var(--text-secondary, #51616d);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
#global-launch-create:disabled,
#global-profiles-enable:disabled,
#global-profiles-disable:disabled,
#global-jobs-reset:disabled,
#global-jobs-cancel:disabled {
  cursor: not-allowed;
  opacity: .5;
}


.header-actions {
  gap: 10px;
}
.header-user {
  padding-left: 0;
  border-left: 0;
}
.sidebar-foot {
  min-height: 34px;
  margin: auto 16px 0;
  padding-top: 10px;
  gap: 0;
  border-top: 0;
}
.sidebar-version {
  opacity: .88;
}
.login-card > small {
  letter-spacing: .06em;
}

/* Avoid a desktop-only horizontal scrollbar on the instance overview table. */
@media (min-width: 1201px) {
  .instances-page-layout .instance-table.all-tenant-instance-table {
    min-width: 1100px;
    table-layout: fixed;
  }
  .instances-page-layout .all-tenant-instance-table th,
  .instances-page-layout .all-tenant-instance-table td {
    padding-left: 6px;
    padding-right: 6px;
  }
  .instances-page-layout .all-tenant-instance-table th:nth-child(1),
  .instances-page-layout .all-tenant-instance-table td:nth-child(1) { width: 44px; min-width: 44px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(2),
  .instances-page-layout .all-tenant-instance-table td:nth-child(2) { width: 11%; min-width: 118px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(3),
  .instances-page-layout .all-tenant-instance-table td:nth-child(3) { width: 13%; min-width: 135px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(4),
  .instances-page-layout .all-tenant-instance-table td:nth-child(4) { width: 7%; min-width: 70px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(5),
  .instances-page-layout .all-tenant-instance-table td:nth-child(5) { width: 11%; min-width: 118px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(6),
  .instances-page-layout .all-tenant-instance-table td:nth-child(6) { width: 12%; min-width: 128px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(7),
  .instances-page-layout .all-tenant-instance-table td:nth-child(7) { width: 11%; min-width: 112px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(8),
  .instances-page-layout .all-tenant-instance-table td:nth-child(8) { width: 12%; min-width: 124px; }
  .instances-page-layout .all-tenant-instance-table th:nth-child(9),
  .instances-page-layout .all-tenant-instance-table td:nth-child(9) { width: 196px; min-width: 196px; }
  .instance-row-actions {
    min-width: 184px;
    max-width: 196px;
    gap: 3px;
  }
  .instance-row-actions .button {
    min-height: 28px;
    padding-inline: 6px;
    font-size: 10px;
  }

  /* Keep all-tenant launch configurations visible at the same desktop width. */
  .launch-table-all-tenants {
    min-width: 1080px;
    table-layout: fixed;
  }
  .launch-table-all-tenants th,
  .launch-table-all-tenants td {
    padding-left: 8px;
    padding-right: 8px;
  }
  .launch-table-all-tenants th:nth-child(1),
  .launch-table-all-tenants td:nth-child(1) { width: 17%; min-width: 155px; }
  .launch-table-all-tenants th:nth-child(2),
  .launch-table-all-tenants td:nth-child(2) { width: 15%; min-width: 145px; }
  .launch-table-all-tenants th:nth-child(3),
  .launch-table-all-tenants td:nth-child(3) { width: 17%; min-width: 155px; }
  .launch-table-all-tenants th:nth-child(4),
  .launch-table-all-tenants td:nth-child(4) { width: 11%; min-width: 105px; }
  .launch-table-all-tenants th:nth-child(5),
  .launch-table-all-tenants td:nth-child(5) { width: 11%; min-width: 105px; }
  .launch-table-all-tenants th:nth-child(6),
  .launch-table-all-tenants td:nth-child(6) { width: 9%; min-width: 82px; }
  .launch-table-all-tenants th:nth-child(7),
  .launch-table-all-tenants td:nth-child(7) { width: 210px; min-width: 210px; }
}

/* Empty configuration/task panels no longer consume unnecessary vertical space. */
.launch-empty {
  min-height: 108px;
}


.table-wrap,
.instance-table-wrap,
.launch-table-wrap,
.audit-table-wrap,
.proxy-account-table-wrap,
.dns-table-wrap {
  scrollbar-gutter: stable;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #aab5bd transparent;
}

.table-wrap::-webkit-scrollbar,
.instance-table-wrap::-webkit-scrollbar,
.launch-table-wrap::-webkit-scrollbar,
.audit-table-wrap::-webkit-scrollbar,
.proxy-account-table-wrap::-webkit-scrollbar,
.dns-table-wrap::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.table-wrap::-webkit-scrollbar-thumb,
.instance-table-wrap::-webkit-scrollbar-thumb,
.launch-table-wrap::-webkit-scrollbar-thumb,
.audit-table-wrap::-webkit-scrollbar-thumb,
.proxy-account-table-wrap::-webkit-scrollbar-thumb,
.dns-table-wrap::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #aab5bd;
  background-clip: padding-box;
}

.table-wrap::-webkit-scrollbar-thumb:hover,
.instance-table-wrap::-webkit-scrollbar-thumb:hover,
.launch-table-wrap::-webkit-scrollbar-thumb:hover,
.audit-table-wrap::-webkit-scrollbar-thumb:hover,
.proxy-account-table-wrap::-webkit-scrollbar-thumb:hover,
.dns-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #87949e;
  background-clip: padding-box;
}

.button:focus-visible,
.icon-action:focus-visible,
.more-toggle:focus-visible,
.row-title-button:focus-visible,
.proxy-inline-select:focus-visible,
.nav:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 28%, transparent);
  outline-offset: 2px;
}

@media (min-width: 921px) {
  /* Keep identifiers visible while horizontally reviewing wide tables. */
  .api-table thead th:first-child,
  .proxy-library-table thead th:first-child,
  .all-tenant-instance-table thead th:first-child,
  .audit-table thead th:first-child,
  .launch-table-all-tenants thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 7;
    background: #f3f6f8;
    box-shadow: 1px 0 0 var(--line);
  }

  .api-table tbody td:first-child,
  .proxy-library-table tbody td:first-child,
  .all-tenant-instance-table tbody td:first-child,
  .audit-table tbody td:first-child,
  .launch-table-all-tenants tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    background: var(--panel);
    box-shadow: 1px 0 0 var(--line), 10px 0 16px -18px rgba(31, 41, 51, .65);
  }

  /* Keep primary operations visible at the right edge. */
  .api-table thead th:last-child,
  .proxy-library-table thead th:last-child,
  .all-tenant-instance-table thead th:last-child,
  .launch-table-all-tenants thead th:last-child {
    position: sticky;
    right: 0;
    z-index: 7;
    background: #f3f6f8;
    box-shadow: -1px 0 0 var(--line);
  }

  .api-table tbody td:last-child,
  .proxy-library-table tbody td:last-child,
  .all-tenant-instance-table tbody td:last-child,
  .launch-table-all-tenants tbody td:last-child {
    position: sticky;
    right: 0;
    z-index: 4;
    background: var(--panel);
    box-shadow: -1px 0 0 var(--line), -10px 0 16px -18px rgba(31, 41, 51, .65);
  }

  .api-table tbody tr:hover td:first-child,
  .api-table tbody tr:hover td:last-child,
  .proxy-library-table tbody tr:hover td:first-child,
  .proxy-library-table tbody tr:hover td:last-child,
  .all-tenant-instance-table tbody tr:hover td:first-child,
  .all-tenant-instance-table tbody tr:hover td:last-child,
  .launch-table-all-tenants tbody tr:hover td:first-child,
  .launch-table-all-tenants tbody tr:hover td:last-child,
  .audit-table tbody tr:hover td:first-child {
    background: #f0faf7;
  }

  .api-table tbody tr:nth-child(even) td:first-child,
  .api-table tbody tr:nth-child(even) td:last-child,
  .proxy-library-table tbody tr:nth-child(even) td:first-child,
  .proxy-library-table tbody tr:nth-child(even) td:last-child,
  .all-tenant-instance-table tbody tr:nth-child(even) td:first-child,
  .all-tenant-instance-table tbody tr:nth-child(even) td:last-child,
  .launch-table-all-tenants tbody tr:nth-child(even) td:first-child,
  .launch-table-all-tenants tbody tr:nth-child(even) td:last-child,
  .audit-table tbody tr:nth-child(even) td:first-child {
    background: #fbfcfd;
  }

  .api-table tbody tr:nth-child(even):hover td:first-child,
  .api-table tbody tr:nth-child(even):hover td:last-child,
  .proxy-library-table tbody tr:nth-child(even):hover td:first-child,
  .proxy-library-table tbody tr:nth-child(even):hover td:last-child,
  .all-tenant-instance-table tbody tr:nth-child(even):hover td:first-child,
  .all-tenant-instance-table tbody tr:nth-child(even):hover td:last-child,
  .launch-table-all-tenants tbody tr:nth-child(even):hover td:first-child,
  .launch-table-all-tenants tbody tr:nth-child(even):hover td:last-child,
  .audit-table tbody tr:nth-child(even):hover td:first-child {
    background: #f0faf7;
  }

  .api-table td:last-child .row-actions,
  .proxy-library-table td:last-child .row-actions,
  .all-tenant-instance-table td:last-child .row-actions,
  .launch-table-all-tenants td:last-child .row-actions {
    justify-content: flex-end;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.oci-config-file-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #cfe5df;
  border-radius: 10px;
  background: #f6fbf9;
}

.oci-config-file-row {
  display: flex;
  align-items: end;
  gap: 12px;
}

.oci-config-file-picker {
  flex: 1 1 auto;
  min-width: 0;
}

.oci-config-file-picker input[type="file"] {
  width: 100%;
  min-height: 42px;
  padding: 7px 9px;
  border: 1px dashed #91bfb2;
  background: #fff;
  cursor: pointer;
}

.oci-config-file-picker input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.oci-config-file-status {
  min-height: 20px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff;
  line-height: 1.5;
}

.oci-config-file-status.good-text { background: #eaf8f3; }
.oci-config-file-status.bad-text { background: #fff2f2; }

.oci-config-profile-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}

.oci-config-profile-row select { width: 100%; }

@media (max-width: 720px) {
  .oci-config-file-row {
    align-items: stretch;
    flex-direction: column;
  }
  .oci-config-file-row .button { align-self: flex-start; }
}


.task-center-page { display: grid; gap: 16px; }
.task-center-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.task-center-head h2 { margin: 0 0 4px; }
.task-center-head p { margin: 0; color: var(--muted); }
.task-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.task-summary-grid article { display: grid; gap: 5px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.task-summary-grid span, .task-summary-grid small { color: var(--muted); }
.task-summary-grid strong { font-size: 28px; line-height: 1; }
.task-list-panel, .task-detail-panel { padding: 0; overflow: hidden; }
.task-filter-bar { display: grid; grid-template-columns: minmax(180px, 240px) minmax(180px, 240px) auto 1fr; align-items: end; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.task-filter-bar label { display: grid; gap: 5px; }
.task-filter-bar label span { color: var(--muted); font-size: 12px; font-weight: 700; }
.task-filter-count { justify-self: end; align-self: center; color: var(--muted); font-weight: 700; }
.task-table, .task-items-table { width: 100%; border-collapse: collapse; min-width: 1040px; }
.task-table th, .task-table td, .task-items-table th, .task-items-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.task-table th, .task-items-table th { background: #f3f6f8; color: var(--muted); font-size: 12px; }
.task-table td strong, .task-items-table td strong { display: block; }
.task-table td small, .task-items-table td small { display: block; margin-top: 3px; color: var(--muted); }
.task-progress-cell { display: grid; gap: 5px; min-width: 130px; }
.task-progress-cell .progress-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e5eaed; }
.task-progress-cell .progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.task-detail-panel .panel-head { padding: 16px; border-bottom: 1px solid var(--line); }
.task-detail-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.task-detail-summary em { color: var(--danger); font-style: normal; }
.task-error-cell { max-width: 420px; white-space: normal; word-break: break-word; color: var(--danger); }
.task-table-wrap, .task-items-wrap { max-width: 100%; overflow: auto; }
.proxy-library-table { min-width: 1220px; }
@media (max-width: 920px) {
  .task-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-filter-bar { grid-template-columns: 1fr 1fr; }
  .task-filter-count { justify-self: start; }
}
@media (max-width: 620px) {
  .task-center-head { align-items: flex-start; flex-direction: column; }
  .task-summary-grid, .task-filter-bar { grid-template-columns: 1fr; }
}


/* V1.0.1 proxy editor and account action menu corrections. */
.proxy-library-command { min-width: 0; }
.proxy-library-command .proxy-page-toolbar {
  display: flex;
  width: auto;
  max-width: 100%;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  margin-left: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.proxy-library-command .proxy-page-toolbar .button {
  flex: 0 0 auto;
  width: auto;
  white-space: nowrap;
}
.account-more-popover-global {
  position: fixed;
  inset: auto;
  z-index: 30000;
  overflow: visible;
}
@media (max-width: 760px) {
  .proxy-library-command .proxy-page-toolbar {
    display: flex;
    width: 100%;
    margin-left: 0;
  }
}

/* V1.0.1 API summary and action-column overlap corrections. */
.accounts-page-layout .api-summary-card {
  padding-right: 72px;
}
.accounts-page-layout .api-summary-card > strong {
  position: absolute;
  right: 16px;
  bottom: 14px;
  min-width: 38px;
  padding: 0;
  text-align: right;
}
.accounts-page-layout .api-summary-card > b {
  top: 12px;
  right: 14px;
}

.accounts-page-layout .api-table {
  min-width: 1260px;
  table-layout: fixed;
}
.accounts-page-layout .api-table th:nth-child(1),
.accounts-page-layout .api-table td:nth-child(1) { width: 52px; min-width: 52px; }
.accounts-page-layout .api-table th:nth-child(2),
.accounts-page-layout .api-table td:nth-child(2) { width: 190px; min-width: 190px; }
.accounts-page-layout .api-table th:nth-child(3),
.accounts-page-layout .api-table td:nth-child(3) { width: 205px; min-width: 190px; }
.accounts-page-layout .api-table th:nth-child(4),
.accounts-page-layout .api-table td:nth-child(4) { width: 150px; min-width: 145px; }
.accounts-page-layout .api-table th:nth-child(5),
.accounts-page-layout .api-table td:nth-child(5) { width: 105px; min-width: 100px; }
.accounts-page-layout .api-table th:nth-child(6),
.accounts-page-layout .api-table td:nth-child(6) { width: 110px; min-width: 105px; }
.accounts-page-layout .api-table th:nth-child(7),
.accounts-page-layout .api-table td:nth-child(7) { width: 155px; min-width: 145px; }
.accounts-page-layout .api-table th:nth-child(8),
.accounts-page-layout .api-table td:nth-child(8) { width: 125px; min-width: 120px; }
.accounts-page-layout .api-table th:nth-child(9),
.accounts-page-layout .api-table td:nth-child(9) { width: 196px; min-width: 196px; }

.accounts-page-layout .api-table td:nth-child(9) {
  overflow: visible;
}
.accounts-page-layout .api-table td:nth-child(9) .row-actions.compact {
  min-width: 174px;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 6px;
}
.accounts-page-layout .api-table td:nth-child(9) .icon-action,
.accounts-page-layout .api-table td:nth-child(9) .more-toggle {
  flex: 0 0 30px;
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
}
.accounts-page-layout .api-table td:nth-child(9) .button.small[data-ui2-manage] {
  flex: 0 0 auto;
  min-width: 48px;
  padding-right: 9px;
  padding-left: 9px;
  white-space: nowrap;
}

/* The former custom tooltip opened above the first row and covered the header. */
.accounts-page-layout .api-table .icon-action[title]::after,
.accounts-page-layout .api-table .more-toggle[aria-label]::after {
  display: none !important;
  content: none !important;
}


/* Core task, tooltip, instance batch and Telegram controls */
/* API operation hints are rendered as one fixed body-level layer. */
.accounts-page-layout .api-table [data-action-tooltip]::before,
.accounts-page-layout .api-table [data-action-tooltip]::after {
  display: none !important;
  content: none !important;
}
.ui2-global-action-tooltip {
  position: fixed;
  z-index: 40000;
  box-sizing: border-box;
  max-width: calc(100vw - 12px);
  padding: 2px 5px;
  border: 1px solid #202020;
  border-radius: 0;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: none;
}
.ui2-global-action-tooltip[hidden] { display: none !important; }

/* Persistent instance multi-selection toolbar. */
.instance-batch-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid #b9ddd7;
  border-radius: 10px;
  background: #f0fbf8;
}
.instance-batch-toolbar[hidden] { display: none !important; }
.instance-batch-copy {
  display: flex;
  min-width: 220px;
  flex-direction: column;
  gap: 2px;
}
.instance-batch-copy strong { color: #087f70; font-size: 13px; }
.instance-batch-copy span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.instance-batch-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
.instance-batch-actions .button { white-space: nowrap; }

/* The instance table now has selection + sequence + eight data/action columns. */
.instances-page-layout .instance-table.all-tenant-instance-table {
  min-width: 1285px !important;
  table-layout: fixed !important;
}
.instances-page-layout .all-tenant-instance-table th.instance-select-head,
.instances-page-layout .all-tenant-instance-table td.instance-select-cell {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  padding-right: 6px !important;
  padding-left: 6px !important;
  text-align: center !important;
}
.instances-page-layout .all-tenant-instance-table th:nth-child(2),
.instances-page-layout .all-tenant-instance-table td:nth-child(2) { width: 48px !important; min-width: 48px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(3),
.instances-page-layout .all-tenant-instance-table td:nth-child(3) { width: 130px !important; min-width: 130px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(4),
.instances-page-layout .all-tenant-instance-table td:nth-child(4) { width: 142px !important; min-width: 142px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(5),
.instances-page-layout .all-tenant-instance-table td:nth-child(5) { width: 76px !important; min-width: 76px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(6),
.instances-page-layout .all-tenant-instance-table td:nth-child(6) { width: 128px !important; min-width: 128px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(7),
.instances-page-layout .all-tenant-instance-table td:nth-child(7) { width: 142px !important; min-width: 142px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(8),
.instances-page-layout .all-tenant-instance-table td:nth-child(8) { width: 128px !important; min-width: 128px !important; }
.instances-page-layout .all-tenant-instance-table th:nth-child(9),
.instances-page-layout .all-tenant-instance-table td:nth-child(9) { width: 134px !important; min-width: 134px !important; }
.instances-page-layout .all-tenant-instance-table th.instance-actions-head,
.instances-page-layout .all-tenant-instance-table td.instance-actions-cell {
  width: 236px !important;
  min-width: 236px !important;
  max-width: 236px !important;
}
.instances-page-layout .all-tenant-instance-table th.instance-actions-head { text-align: center; }
.instances-page-layout .all-tenant-instance-table td.instance-actions-cell {
  padding: 8px 9px !important;
  vertical-align: middle;
  overflow: visible;
}
.instances-page-layout .instance-actions-cell .instance-row-actions {
  display: flex;
  width: 100%;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0;
  align-items: center;
  justify-content: center !important;
  flex-wrap: nowrap;
  gap: 5px;
}
.instances-page-layout .instance-actions-cell .instance-row-actions .button {
  flex: 0 0 auto;
  min-height: 30px;
  height: 30px;
  padding: 5px 7px;
  border-radius: 7px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.instances-page-layout .instance-actions-cell .instance-manage-button {
  min-width: 62px;
  padding-right: 8px;
  padding-left: 8px;
}
.instance-select-head input,
.instance-select-cell input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--primary);
  cursor: pointer;
}
.all-tenant-instance-table tbody tr.is-selected td { background: #e9faf6 !important; }
.all-tenant-instance-table tbody tr.is-selected td:first-child,
.all-tenant-instance-table tbody tr.is-selected td:last-child { background: #e9faf6 !important; }

/* Telegram notification category switches. */
.telegram-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}
.telegram-category-grid .compact-switch {
  min-height: 56px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-soft);
}
.telegram-category-grid .compact-switch > div { min-width: 0; }
.telegram-category-grid .compact-switch strong { font-size: 12px; }
.telegram-category-grid .compact-switch small { font-size: 10px; line-height: 1.35; }

@media (max-width: 1050px) {
  .instance-batch-toolbar { align-items: flex-start; flex-direction: column; }
  .instance-batch-actions { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .telegram-category-grid { grid-template-columns: 1fr; }
  .instance-batch-actions { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .instance-batch-actions .button { flex: 0 0 auto; }
}


/* Launch-profile preflight and cross-tenant copy controls */
.utility-multiselect {
  min-height: 112px;
  padding: 5px;
}
.utility-multiselect option { padding: 6px 8px; }
.launch-table-all-tenants { min-width: 1120px; }
.launch-table-all-tenants th:last-child,
.launch-table-all-tenants td:last-child { min-width: 286px; }
.launch-profile-actions {
  flex-wrap: nowrap;
  white-space: nowrap;
}
.launch-profile-actions .button { flex: 0 0 auto; }


/* Table preferences, pagination and copy controls */
.page-size-control {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 0 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}
.page-size-control select {
  width: auto;
  min-width: 58px;
  height: 28px;
  padding: 3px 22px 3px 5px;
  border: 0;
  background-color: transparent;
  font-size: 11px;
}
.local-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 8px 2px;
  color: var(--muted);
  font-size: 11px;
}
.local-pagination[hidden] { display: none !important; }
.copyable-line,
.instance-ip-line { gap: 4px; }
.copy-inline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin: 0 0 0 3px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  line-height: 1;
  cursor: pointer;
  vertical-align: middle;
}
.copy-inline-button:hover,
.copy-inline-button:focus-visible {
  border-color: var(--line);
  background: var(--panel-soft);
  color: var(--primary-dark);
}
th[hidden], td[hidden] { display: none !important; }
@media (max-width: 900px) {
  .page-size-control { display: none; }
}

/* BEGIN OCI-N&T V1.0.1 OPERATIONS AND RETENTION OPTIMIZATION */
.form-grid.three-col {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.backup-policy-grid {
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--soft);
}
.backup-policy-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding-top: 0;
}
.backup-policy-footer > span {
  color: var(--muted);
  font-size: 12px;
}
@media (max-width: 900px) {
  .form-grid.three-col { grid-template-columns: 1fr; }
  .backup-policy-footer { grid-column: auto; align-items: stretch; flex-direction: column; }
}
/* END OCI-N&T V1.0.1 OPERATIONS AND RETENTION OPTIMIZATION */


/* V1.0.3 stability controls */
.backup-schedule-form {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line, #dfe5ec);
}
.backup-schedule-grid {
  margin-top: 12px;
}
.backup-schedule-form.is-disabled .backup-schedule-grid {
  opacity: .58;
}
.settings-release-panel {
  grid-column: 1 / -1;
}
.release-current {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.release-current article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line, #dfe5ec);
  border-radius: 10px;
  background: var(--panel-soft, #f7f9fc);
}
.release-current article span,
.release-current article small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.release-current article strong {
  display: block;
  margin: 5px 0;
}
.release-history table {
  min-width: 900px;
}
.backup-row-actions {
  flex-wrap: nowrap;
}
.task-error-category {
  display: inline-flex;
  margin-top: 3px;
}
.task-retry-copy {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  color: var(--muted, #687386);
}
@media (max-width: 980px) {
  .release-current { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.release-detail {
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.release-fingerprint strong { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

/* BEGIN OCI-N&T V1.0.3 recovery, sessions and resource protection */
.settings-session-card,
.settings-resource-panel {
  min-width: 0;
}
.session-list,
.login-attempts-details .table-wrap {
  max-height: 320px;
  overflow: auto;
}
.session-table {
  min-width: 760px;
}
.login-attempts-details {
  margin-top: 12px;
  border-top: 1px solid var(--line, #e5e7eb);
  padding-top: 10px;
}
.login-attempts-details summary {
  cursor: pointer;
  font-weight: 700;
}
.resource-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.resource-status-grid > article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 10px;
  background: var(--surface-soft, #f8fafc);
}
.resource-status-grid > article small,
.resource-status-grid > article span {
  color: var(--muted, #64748b);
}
.resource-status-grid > article strong {
  font-size: 18px;
}
.resource-warning-list,
.resource-status-grid .resource-ok {
  grid-column: 1 / -1;
  margin: 0;
}
.resource-warning-list {
  padding: 10px 12px 10px 30px;
  border: 1px solid #fbbf24;
  border-radius: 10px;
  background: #fffbeb;
  color: #92400e;
}
.resource-limit-grid .span-4 {
  grid-column: 1 / -1;
}
.task-detail-panel #task-safe-resume[hidden] {
  display: none !important;
}
.backup-row [data-backup-restore]:disabled {
  opacity: .45;
  cursor: not-allowed;
}
@media (max-width: 980px) {
  .resource-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resource-limit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resource-limit-grid .span-4 { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .resource-status-grid,
  .resource-limit-grid { grid-template-columns: 1fr; }
  .resource-limit-grid .span-4 { grid-column: auto; }
}
/* END OCI-N&T V1.0.3 recovery, sessions and resource protection */

/* BEGIN OCI-N&T V1.0.4 SYSTEM MONITOR */
.dashboard-monitor-panel {
  padding: 18px;
  overflow: hidden;
}
.dashboard-monitor-head {
  align-items: flex-start;
  margin-bottom: 14px;
}
.dashboard-monitor-head h2 { margin: 0 0 4px; font-size: 17px; }
.dashboard-monitor-head p { margin: 0; color: var(--muted); font-size: var(--font-meta); }
.dashboard-monitor-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.monitor-resource-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.monitor-resource-card {
  position: relative;
  min-width: 0;
  min-height: 116px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: color-mix(in srgb, var(--panel) 96%, var(--accent) 4%);
  overflow: hidden;
}
.monitor-resource-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.monitor-resource-card span { color: var(--muted); font-size: var(--font-meta); }
.monitor-resource-card em { padding: 2px 6px; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 10px; font-style: normal; }
.monitor-resource-card strong { display: block; margin: 12px 0 5px; overflow: hidden; color: var(--text); font-size: 23px; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.monitor-resource-card small { display: block; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-progress { position: absolute; right: 14px; bottom: 11px; left: 14px; height: 4px; border-radius: 999px; background: var(--soft); overflow: hidden; }
.monitor-progress > span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--accent); transition: width .25s ease; }
.monitor-resource-card.monitor-warning { border-color: color-mix(in srgb, #d98a18 45%, var(--line)); }
.monitor-resource-card.monitor-warning .monitor-progress > span { background: #d98a18; }
.monitor-resource-card.monitor-error { border-color: color-mix(in srgb, #d64545 55%, var(--line)); }
.monitor-resource-card.monitor-error .monitor-progress > span { background: #d64545; }
.monitor-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 10px; }
.monitor-range-switch button { min-width: 64px; }
.monitor-chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.monitor-chart-card { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.monitor-chart-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.monitor-chart-card header strong { font-size: 13px; }
.monitor-chart-card header span { color: var(--muted); font-size: 11px; }
.monitor-chart { position: relative; height: 150px; overflow: hidden; }
.monitor-chart svg { display: block; width: 100%; height: 100%; }
.monitor-chart-grid-line { stroke: color-mix(in srgb, var(--line) 70%, transparent); stroke-width: 1; }
.monitor-chart-line { fill: none; stroke: var(--accent); stroke-width: 2; vector-effect: non-scaling-stroke; }
.monitor-chart-line.secondary { stroke: #8b5cf6; }
.monitor-chart-line.tertiary { stroke: #d98a18; }
.monitor-chart-area { fill: color-mix(in srgb, var(--accent) 10%, transparent); stroke: none; }
.monitor-chart-label { fill: var(--muted); font-size: 9px; }
.monitor-detail-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 10px; margin-top: 10px; }
.monitor-detail-card { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.monitor-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.monitor-detail-head h3 { margin: 0 0 3px; font-size: 14px; }
.monitor-detail-head p { margin: 0; color: var(--muted); font-size: 11px; }
.monitor-system-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; margin: 0; }
.monitor-system-info > div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.monitor-system-info dt { color: var(--muted); font-size: 11px; }
.monitor-system-info dd { min-width: 0; margin: 0; overflow: hidden; color: var(--text); font-size: 11px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.monitor-container-list, .monitor-alert-list { display: grid; gap: 7px; }
.monitor-container-row, .monitor-alert-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 7px; }
.monitor-container-row > div, .monitor-alert-row > div { min-width: 0; }
.monitor-container-row strong, .monitor-alert-row strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-container-row small, .monitor-alert-row small { display: block; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.monitor-container-metrics { text-align: right; }
.monitor-container-metrics span { display: block; color: var(--text); font-size: 11px; }
.monitor-container-metrics small { margin-top: 2px; }
.monitor-alert-row.monitor-alert-active { border-color: color-mix(in srgb, #d64545 45%, var(--line)); background: color-mix(in srgb, #d64545 5%, var(--panel)); }
.monitor-alert-row.monitor-alert-pending { border-color: color-mix(in srgb, #d98a18 40%, var(--line)); }
.monitor-settings-form { display: grid; gap: 14px; }
.monitor-settings-grid { align-items: end; }
.monitor-all-containers { min-height: 62px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; }

@media (max-width: 1500px) {
  .monitor-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .monitor-chart-grid, .monitor-detail-grid { grid-template-columns: 1fr; }
  .monitor-chart { height: 175px; }
}
@media (max-width: 760px) {
  .dashboard-monitor-panel { padding: 14px; }
  .dashboard-monitor-head { display: block; }
  .dashboard-monitor-actions { justify-content: flex-start; margin-top: 10px; }
  .monitor-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monitor-toolbar { align-items: flex-start; flex-direction: column; }
  .monitor-range-switch { width: 100%; }
  .monitor-range-switch button { flex: 1 1 auto; min-width: 0; }
  .monitor-system-info { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .monitor-resource-grid { grid-template-columns: 1fr; }
}
/* END OCI-N&T V1.0.4 SYSTEM MONITOR */


/* BEGIN OCI-N&T V1.0.4 SETTINGS LAYOUT REFINEMENT */
/* System Settings uses a fixed 12-column desktop rhythm. Small forms stay
   compact, while tables and maintenance panels receive the width they need. */
#settings-page .settings-page-layout {
  width: min(1380px, 100%);
  max-width: none;
}

#settings-page .settings-unified-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "account-head account-head account-head account-head account-head account-head account-head account-head account-head account-head account-head account-head"
    "login login login login session session session session session session session session"
    "telegram telegram telegram telegram telegram gmail gmail gmail gmail gmail gmail gmail"
    "system-head system-head system-head system-head system-head system-head system-head system-head system-head system-head system-head system-head"
    "check check check check resource resource resource resource resource resource resource resource"
    "backup backup backup backup backup backup backup backup backup backup backup backup"
    "monitor monitor monitor monitor monitor monitor monitor monitor monitor monitor monitor monitor"
    "version-head version-head version-head version-head version-head version-head version-head version-head version-head version-head version-head version-head"
    "release release release release release release release release release release release release";
  gap: 16px;
  align-items: stretch;
}

#settings-page .settings-account-heading { grid-area: account-head; }
#settings-page .settings-system-heading { grid-area: system-head; }
#settings-page .settings-version-heading { grid-area: version-head; }
#settings-page #credential-form { grid-area: login; }
#settings-page .settings-session-card { grid-area: session; }
#settings-page #telegram-form { grid-area: telegram; }
#settings-page #google-auth-form { grid-area: gmail; }
#settings-page #check-setting-form { grid-area: check; }
#settings-page .settings-resource-panel { grid-area: resource; }
#settings-page .settings-backup-panel { grid-area: backup; }
#settings-page .settings-monitor-panel { grid-area: monitor; }
#settings-page .settings-release-panel { grid-area: release; }

#settings-page .settings-section-heading {
  display: flex;
  min-width: 0;
  margin-top: 6px;
  padding: 2px 2px 9px;
  border-bottom: 1px solid var(--line);
}
#settings-page .settings-section-heading:first-child { margin-top: 0; }
#settings-page .settings-section-heading span {
  display: block;
  color: var(--text);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
}
#settings-page .settings-section-heading p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

#settings-page .settings-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
  padding: 17px;
  border-radius: 10px;
}
#settings-page .settings-card .panel-head {
  display: flex;
  min-height: 57px;
  margin: 0 0 13px;
  padding: 0 0 11px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
}
#settings-page .settings-card .panel-head > div:first-child { min-width: 0; }
#settings-page .settings-card .panel-head h2 {
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
}
#settings-page .settings-card .panel-head p {
  max-width: 720px;
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.45;
}
#settings-page .settings-card .page-toolbar {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  flex-wrap: nowrap;
}
#settings-page .settings-card .page-toolbar .button,
#settings-page .settings-card .panel-head > .button {
  min-height: 34px;
  padding: 6px 10px;
  white-space: nowrap;
}

#settings-page .settings-card-footer {
  display: flex;
  min-height: 46px;
  margin-top: auto;
  padding-top: 12px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--line);
}
#settings-page .settings-card-footer > span:first-child {
  min-width: 0;
  margin-right: auto;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}
#settings-page .settings-card-footer > div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

/* Compact cards. */
#settings-page .settings-login-card .settings-field-stack {
  grid-template-columns: 1fr;
  width: 100%;
  max-width: none;
}
#settings-page .settings-login-card .settings-field-stack > label:first-child {
  grid-column: auto;
}
#settings-page .settings-check-card > label { width: 100%; }
#settings-page .settings-check-card .compact-policy { min-height: 68px; }

/* Medium cards. */
#settings-page .settings-telegram-card .settings-field-stack {
  width: 100%;
  max-width: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#settings-page .telegram-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
#settings-page .settings-google-card .settings-field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: stretch;
}
#settings-page .settings-google-card #google-allowed-emails { width: 100%; }
#settings-page .settings-google-card .settings-callback-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
  justify-content: stretch;
}

/* Session and resource cards use horizontal space instead of growing too tall. */
#settings-page .settings-session-card .session-list { max-height: 285px; }
#settings-page .settings-resource-panel .resource-status-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
#settings-page .settings-resource-panel .resource-limit-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Backup policy and automatic schedule form a balanced two-column workspace. */
#settings-page .settings-backup-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 14px;
}
#settings-page .settings-backup-panel > .panel-head,
#settings-page .settings-backup-panel > #backup-list {
  grid-column: 1 / -1;
}
#settings-page .settings-backup-panel .backup-policy-grid,
#settings-page .settings-backup-panel .backup-schedule-form {
  min-width: 0;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--soft);
}
#settings-page .settings-backup-panel .backup-policy-grid,
#settings-page .settings-backup-panel .backup-schedule-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#settings-page .settings-backup-panel .backup-schedule-form {
  display: grid;
  align-content: start;
  gap: 12px;
  border-top: 1px solid var(--line);
}
#settings-page .settings-backup-panel .backup-schedule-grid { margin: 0; }
#settings-page .settings-backup-panel .backup-policy-footer {
  min-height: 43px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
#settings-page .settings-backup-panel #backup-list {
  padding-top: 2px;
}

/* Full-width maintenance panels use consistent four-column controls. */
#settings-page .settings-monitor-panel .monitor-settings-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
}
#settings-page .settings-monitor-panel .monitor-all-containers {
  min-height: 58px;
}
#settings-page .settings-release-panel .release-current {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  #settings-page .settings-unified-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "account-head account-head"
      "login session"
      "telegram gmail"
      "system-head system-head"
      "check resource"
      "backup backup"
      "monitor monitor"
      "version-head version-head"
      "release release";
  }
  #settings-page .settings-resource-panel .resource-status-grid,
  #settings-page .settings-resource-panel .resource-limit-grid,
  #settings-page .settings-monitor-panel .monitor-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #settings-page .settings-resource-panel .resource-limit-grid .span-4 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 960px) {
  #settings-page .settings-unified-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "account-head"
      "login"
      "session"
      "telegram"
      "gmail"
      "system-head"
      "check"
      "resource"
      "backup"
      "monitor"
      "version-head"
      "release";
  }
  #settings-page .settings-backup-panel { grid-template-columns: 1fr; }
  #settings-page .settings-backup-panel > .panel-head,
  #settings-page .settings-backup-panel > #backup-list { grid-column: auto; }
}

@media (max-width: 680px) {
  #settings-page .settings-card { padding: 14px; }
  #settings-page .settings-card .panel-head {
    min-height: 0;
    flex-direction: column;
  }
  #settings-page .settings-card .page-toolbar {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #settings-page .settings-card-footer {
    align-items: stretch;
    flex-direction: column;
  }
  #settings-page .settings-card-footer > span:first-child { margin-right: 0; }
  #settings-page .settings-card-footer > div { justify-content: stretch; }
  #settings-page .settings-card-footer .button { flex: 1 1 auto; }
  #settings-page .settings-telegram-card .settings-field-stack,
  #settings-page .telegram-category-grid,
  #settings-page .settings-google-card .settings-field-grid,
  #settings-page .settings-google-card .settings-callback-grid,
  #settings-page .settings-resource-panel .resource-status-grid,
  #settings-page .settings-resource-panel .resource-limit-grid,
  #settings-page .settings-monitor-panel .monitor-settings-grid,
  #settings-page .settings-backup-panel .backup-policy-grid,
  #settings-page .settings-backup-panel .backup-schedule-grid,
  #settings-page .settings-release-panel .release-current {
    grid-template-columns: 1fr;
  }
  #settings-page .settings-resource-panel .resource-limit-grid .span-4,
  #settings-page .settings-backup-panel .backup-policy-footer {
    grid-column: auto;
  }
}
/* END OCI-N&T V1.0.4 SETTINGS LAYOUT REFINEMENT */

/* BEGIN OCI-N&T SETTINGS VISUAL REFINEMENT V2 */
/*
  Visual-only refinement for System Settings.
  Goals: natural card height, clearer hierarchy, fewer nested borders,
  consistent control density, and narrower short-content panels.
*/
#settings-page {
  --settings-card-radius: 12px;
  --settings-control-height: 36px;
  --settings-gap: 18px;
  --settings-subtle-bg: color-mix(in srgb, var(--soft) 76%, #fff 24%);
  --settings-card-shadow: 0 1px 2px rgba(15, 23, 42, .035), 0 8px 24px rgba(15, 23, 42, .028);
}

#settings-page .settings-page-layout {
  width: min(1260px, 100%);
  margin-inline: auto;
}

/* Natural-height cards remove the large empty areas caused by row stretching. */
#settings-page .settings-unified-grid {
  gap: var(--settings-gap);
  align-items: start;
}
#settings-page .settings-unified-grid > * { align-self: start; }
#settings-page .settings-card {
  align-self: start;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  border-radius: var(--settings-card-radius);
  box-shadow: var(--settings-card-shadow);
  overflow: hidden;
}

/* Section headers behave like quiet dividers instead of additional cards. */
#settings-page .settings-section-heading {
  display: grid;
  grid-template-columns: auto minmax(60px, 1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 2px;
  margin: 7px 0 -2px;
  padding: 0 2px 8px;
  border: 0;
}
#settings-page .settings-section-heading::after {
  content: "";
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  height: 1px;
  background: linear-gradient(90deg, var(--line), transparent);
}
#settings-page .settings-section-heading > div { display: contents; }
#settings-page .settings-section-heading span {
  grid-column: 1;
  grid-row: 1;
  font-size: 13px;
  font-weight: 780;
  letter-spacing: .01em;
}
#settings-page .settings-section-heading p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  max-width: 760px;
  font-size: 10.5px;
  line-height: 1.45;
}

/* Remove the heavy divider inside every card. */
#settings-page .settings-card .panel-head {
  min-height: 0;
  margin: 0 0 14px;
  padding: 0;
  border-bottom: 0;
  align-items: flex-start;
}
#settings-page .settings-card .panel-head h2 {
  font-size: 14px;
  font-weight: 760;
  line-height: 1.3;
}
#settings-page .settings-card .panel-head p {
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.45;
}
#settings-page .settings-card .panel-head > .status-pill {
  margin-top: 1px;
}

/* One compact control language across the page. */
#settings-page .settings-card input,
#settings-page .settings-card select {
  min-height: var(--settings-control-height);
  height: var(--settings-control-height);
  padding-block: 6px;
  border-radius: 8px;
}
#settings-page .settings-card textarea {
  min-height: 72px;
  border-radius: 8px;
}
#settings-page .settings-card label > span {
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 650;
}
#settings-page .settings-card label > small {
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.4;
}
#settings-page .settings-card .button,
#settings-page .settings-card .page-toolbar .button,
#settings-page .settings-card .panel-head > .button {
  min-height: 33px;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 11px;
}
#settings-page .settings-card .page-toolbar { gap: 7px; }

/* Footers stay close to their content instead of being forced to the card bottom. */
#settings-page .settings-card-footer {
  min-height: 0;
  margin-top: 14px;
  padding-top: 11px;
  border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
}
#settings-page .settings-card-footer .button { min-width: 104px; }
#settings-page .settings-card-footer .button.primary { min-width: 122px; }

/* Compact cards should remain compact. */
#settings-page .settings-login-card,
#settings-page .settings-check-card {
  padding: 15px;
}
#settings-page .settings-login-card .settings-field-stack,
#settings-page .settings-check-card {
  gap: 11px;
}
#settings-page .settings-check-card .compact-policy {
  min-height: 0;
  margin-top: 3px;
  padding: 10px 11px;
}

/* Login/session: session gets room, but neither card inherits the other's height. */
#settings-page .settings-session-card .session-list {
  max-height: 250px;
  border-radius: 9px;
}
#settings-page .settings-session-card .login-attempts-details {
  margin-top: 10px;
  border-radius: 9px;
}

/* Notification cards: reduce nested box noise. */
#settings-page .settings-switch {
  margin-bottom: 11px;
  padding: 10px 11px;
  border-radius: 9px;
  background: var(--settings-subtle-bg);
}
#settings-page .telegram-category-grid {
  gap: 7px;
  margin-top: 10px;
}
#settings-page .telegram-category-grid .compact-switch {
  min-height: 54px;
  padding: 9px 10px;
  border-radius: 9px;
  background: var(--settings-subtle-bg);
}
#settings-page .settings-google-card .compact-policy {
  margin-top: 10px;
  padding: 10px 11px;
  border-radius: 9px;
}

/* Resource card: status is visually separate, controls form one quiet settings strip. */
#settings-page .settings-resource-panel .resource-status-grid {
  gap: 8px;
  margin-bottom: 12px;
}
#settings-page .settings-resource-panel .resource-status-grid > * {
  border-radius: 9px;
}
#settings-page .settings-resource-panel .resource-limit-grid {
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  background: var(--settings-subtle-bg);
}
#settings-page .settings-resource-panel .resource-limit-grid .settings-card-footer {
  margin-top: 1px;
  padding-top: 10px;
}

/* Backup: two clean sub-sections with headings inferred from content, no double border. */
#settings-page .settings-backup-panel {
  gap: 12px 14px;
}
#settings-page .settings-backup-panel .backup-policy-grid,
#settings-page .settings-backup-panel .backup-schedule-form {
  padding: 13px;
  border: 0;
  border-radius: 10px;
  background: var(--settings-subtle-bg);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent);
}
#settings-page .settings-backup-panel .backup-schedule-form {
  gap: 10px;
}
#settings-page .settings-backup-panel .backup-schedule-form > .settings-switch {
  margin-bottom: 0;
  padding: 0 0 10px;
  background: transparent;
  border-radius: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}
#settings-page .settings-backup-panel .backup-policy-footer {
  min-height: 0;
  margin-top: 2px;
  padding-top: 10px;
}
#settings-page .settings-backup-panel #backup-list {
  margin-top: 2px;
  border-radius: 10px;
  overflow: hidden;
}

/* Monitoring: use one contained settings surface instead of floating fields. */
#settings-page .settings-monitor-panel .monitor-settings-form {
  display: grid;
  gap: 11px;
}
#settings-page .settings-monitor-panel .monitor-settings-form > .settings-switch {
  margin: 0;
}
#settings-page .settings-monitor-panel .monitor-settings-grid {
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  background: var(--settings-subtle-bg);
}
#settings-page .settings-monitor-panel .monitor-all-containers {
  min-height: var(--settings-control-height);
  padding: 8px 10px;
  background: #fff;
  border-radius: 8px;
}

/* Release information is data-heavy: keep it wide but visually lighter. */
#settings-page .settings-release-panel .release-current {
  gap: 8px;
  margin-bottom: 12px;
}
#settings-page .settings-release-panel .release-current > * {
  border-radius: 9px;
}
#settings-page .settings-release-panel .release-history {
  border-radius: 10px;
  overflow: hidden;
}

/* Toolbar and tables should not make the card feel wider than its content. */
#settings-page .settings-backup-panel .page-toolbar,
#settings-page .settings-monitor-panel .page-toolbar {
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Tablet: retain natural heights and use balanced two-column cards. */
@media (max-width: 1180px) {
  #settings-page .settings-page-layout { width: 100%; }
  #settings-page .settings-unified-grid { gap: 15px; }
  #settings-page .settings-card { padding: 15px; }
}

/* Narrow screens: one clear vertical rhythm, no nested horizontal compression. */
@media (max-width: 960px) {
  #settings-page .settings-unified-grid { gap: 14px; }
  #settings-page .settings-section-heading { margin-top: 5px; }
  #settings-page .settings-card { width: 100%; }
}

@media (max-width: 680px) {
  #settings-page { --settings-control-height: 38px; }
  #settings-page .settings-page-layout { padding-inline: 0; }
  #settings-page .settings-card { padding: 13px; border-radius: 10px; }
  #settings-page .settings-section-heading {
    grid-template-columns: 1fr;
    padding-inline: 1px;
  }
  #settings-page .settings-section-heading::after { display: none; }
  #settings-page .settings-card .panel-head { margin-bottom: 12px; }
  #settings-page .settings-card .page-toolbar { width: 100%; }
  #settings-page .settings-card .page-toolbar .button { flex: 1 1 auto; }
  #settings-page .settings-card-footer { gap: 9px; }
  #settings-page .settings-card-footer .button { width: 100%; }
}
/* END OCI-N&T SETTINGS VISUAL REFINEMENT V2 */

/* BEGIN OCI-N&T SETTINGS VISUAL REFINEMENT V3 */
/* V3 removes row-coupled card heights and treats Settings as a calm,
   column-based control surface instead of a dashboard of equal tiles. */
#settings-page {
  --settings-page-max: 1180px;
  --settings-card-radius: 12px;
  --settings-card-gap: 14px;
  --settings-soft: #f7f9fb;
  --settings-soft-2: #f3f6f8;
  --settings-border: color-mix(in srgb, var(--line) 86%, transparent);
  --settings-control-height: 37px;
}

#settings-page .settings-page-layout {
  width: min(var(--settings-page-max), 100%);
  margin-inline: auto;
}

/* The old row-based grid caused empty holes whenever cards had different heights.
   V3 uses one vertical flow and independent columns only where it adds value. */
#settings-page .settings-unified-grid {
  display: flex;
  flex-direction: column;
  gap: var(--settings-card-gap);
  align-items: stretch;
}

#settings-page .settings-section-heading {
  display: grid;
  grid-template-columns: auto minmax(80px, 1fr);
  align-items: end;
  gap: 14px;
  margin: 12px 0 0;
  padding: 0 2px 3px;
  border: 0;
}
#settings-page .settings-section-heading:first-child { margin-top: 0; }
#settings-page .settings-section-heading::after {
  content: "";
  height: 1px;
  margin-bottom: 5px;
  background: linear-gradient(90deg, var(--settings-border), transparent);
}
#settings-page .settings-section-heading span {
  font-size: 14px;
  font-weight: 760;
  letter-spacing: -.01em;
}
#settings-page .settings-section-heading p {
  margin-top: 2px;
  font-size: 10.5px;
  line-height: 1.35;
}

/* Account/notification area uses two independent vertical stacks.
   Short session/login cards no longer reserve blank space beside taller cards. */
#settings-page .settings-account-columns {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(0, 1.38fr);
  gap: var(--settings-card-gap);
  align-items: start;
}
#settings-page .settings-stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--settings-card-gap);
}

#settings-page .settings-card {
  width: 100%;
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid var(--settings-border);
  border-radius: var(--settings-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .025), 0 6px 18px rgba(15, 23, 42, .025);
}
#settings-page .settings-card:hover {
  border-color: color-mix(in srgb, var(--line) 96%, #a7b4bf);
}

#settings-page .settings-card .panel-head {
  min-height: 0;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  align-items: flex-start;
}
#settings-page .settings-card .panel-head h2 {
  font-size: 14px;
  font-weight: 760;
  line-height: 1.3;
}
#settings-page .settings-card .panel-head p {
  max-width: 720px;
  margin-top: 2px;
  font-size: 10.5px;
  line-height: 1.4;
}
#settings-page .settings-card .page-toolbar { gap: 6px; }
#settings-page .settings-card .page-toolbar .button,
#settings-page .settings-card .panel-head > .button,
#settings-page .settings-card .button {
  min-height: 32px;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 10.5px;
}

#settings-page .settings-card input,
#settings-page .settings-card select {
  height: var(--settings-control-height);
  min-height: var(--settings-control-height);
  border-radius: 8px;
}
#settings-page .settings-card textarea {
  min-height: 68px;
  border-radius: 8px;
}
#settings-page .settings-card label > span {
  margin-bottom: 4px;
  font-size: 10.5px;
  font-weight: 680;
}
#settings-page .settings-card label > small {
  margin-top: 3px;
  font-size: 9.75px;
  line-height: 1.35;
}

#settings-page .settings-card-footer {
  min-height: 0;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
}
#settings-page .settings-card-footer .button { min-width: 96px; }
#settings-page .settings-card-footer .button.primary { min-width: 116px; }

/* Login is intentionally narrow; it should read like a simple credential form. */
#settings-page .settings-login-card .settings-field-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
#settings-page .settings-login-card .settings-card-footer { margin-top: 11px; }

/* Session card: empty state is a compact state, not a table-sized block. */
#settings-page .settings-session-card .session-list {
  max-height: 240px;
  border-radius: 9px;
}
#settings-page .settings-session-card .session-list .empty { padding: 20px 12px; }
#settings-page .settings-session-card .login-attempts-details {
  margin-top: 9px;
  border-radius: 9px;
}

/* Notifications: remove mini-card noise while keeping each switch easy to scan. */
#settings-page .settings-switch {
  min-height: 50px;
  margin-bottom: 9px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 9px;
  background: var(--settings-soft);
}
#settings-page .settings-switch strong { font-size: 11px; }
#settings-page .settings-switch small { font-size: 9.5px; }
#settings-page .telegram-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 9px;
}
#settings-page .telegram-category-grid .compact-switch {
  min-height: 50px;
  padding: 8px 9px;
  border-color: transparent;
  background: var(--settings-soft);
}

#settings-page .settings-google-card .settings-field-grid { gap: 9px; }
#settings-page .settings-google-card #google-allowed-emails { min-height: 64px; }
#settings-page .settings-google-card .settings-callback-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(190px, .55fr);
  gap: 9px;
}
#settings-page .settings-google-card .compact-policy {
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 9px;
  background: var(--settings-soft);
}

/* A small setting should be a horizontal strip rather than a lonely narrow card. */
#settings-page .settings-check-card {
  display: grid;
  grid-template-columns: minmax(230px, 1.05fr) minmax(170px, .45fr) minmax(320px, 1.2fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
}
#settings-page .settings-check-card .panel-head,
#settings-page .settings-check-card > label,
#settings-page .settings-check-card .compact-policy,
#settings-page .settings-check-card .settings-card-footer {
  margin: 0;
}
#settings-page .settings-check-card .panel-head { padding: 0; }
#settings-page .settings-check-card .compact-policy {
  min-height: 48px;
  padding: 8px 10px;
  border: 0;
  border-radius: 9px;
  background: var(--settings-soft);
}
#settings-page .settings-check-card .compact-policy strong,
#settings-page .settings-check-card .compact-policy span { display: block; }
#settings-page .settings-check-card .compact-policy span { margin-top: 2px; }
#settings-page .settings-check-card .settings-card-footer {
  padding: 0;
  border: 0;
}

/* Resource protection: summary cards first, controls directly below a divider. */
#settings-page .settings-resource-panel .resource-status-grid {
  gap: 8px;
  margin-bottom: 0;
}
#settings-page .settings-resource-panel .resource-status-grid > * {
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 9px;
  background: var(--settings-soft);
  box-shadow: none;
}
#settings-page .settings-resource-panel .resource-limit-grid {
  margin-top: 12px;
  padding: 12px 0 0;
  gap: 9px;
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 0;
  background: transparent;
}

/* Backup: two balanced work areas, then a genuinely compact empty/list state. */
#settings-page .settings-backup-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
#settings-page .settings-backup-panel > .panel-head,
#settings-page .settings-backup-panel > #backup-list { grid-column: 1 / -1; }
#settings-page .settings-backup-panel .backup-policy-grid,
#settings-page .settings-backup-panel .backup-schedule-form {
  margin: 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--line) 68%, transparent);
  border-radius: 10px;
  background: var(--settings-soft);
  box-shadow: none;
}
#settings-page .settings-backup-panel .backup-policy-grid::before {
  content: "备份保留策略";
  grid-column: 1 / -1;
  margin-bottom: -1px;
  color: var(--text);
  font-size: 11px;
  font-weight: 720;
}
#settings-page .settings-backup-panel .backup-schedule-form > .settings-switch {
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 68%, transparent);
  border-radius: 0;
  background: transparent;
}
#settings-page .settings-backup-panel .backup-policy-footer {
  margin-top: 2px;
  padding-top: 9px;
}
#settings-page .settings-backup-panel #backup-list {
  margin-top: 0;
  border-radius: 9px;
  background: var(--settings-soft);
}
#settings-page .settings-backup-panel #backup-list > .empty { padding: 15px 12px; }

/* Monitoring: no card-inside-card treatment for the form field grid. */
#settings-page .settings-monitor-panel .monitor-settings-form { gap: 10px; }
#settings-page .settings-monitor-panel .monitor-settings-grid {
  gap: 9px;
  padding: 11px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 0;
  background: transparent;
}
#settings-page .settings-monitor-panel .monitor-all-containers {
  min-height: var(--settings-control-height);
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 8px;
  background: var(--settings-soft);
}

/* Version information: five summary items belong on one row on desktop. */
#settings-page .settings-release-panel .release-current {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 11px;
}
#settings-page .settings-release-panel .release-current > * {
  min-height: 62px;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 9px;
  background: var(--settings-soft);
}
#settings-page .settings-release-panel .release-history {
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 9px;
}
#settings-page .settings-release-panel .release-history th,
#settings-page .settings-release-panel .release-history td { padding-block: 9px; }

@media (max-width: 1120px) {
  #settings-page .settings-account-columns {
    grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
  }
  #settings-page .settings-check-card {
    grid-template-columns: minmax(220px, 1fr) minmax(160px, .55fr) minmax(250px, 1fr);
  }
  #settings-page .settings-check-card .settings-card-footer { grid-column: 3; justify-self: end; }
  #settings-page .settings-check-card .compact-policy { grid-column: 1 / 3; }
  #settings-page .settings-release-panel .release-current {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  #settings-page .settings-account-columns { grid-template-columns: 1fr; }
  #settings-page .settings-check-card {
    grid-template-columns: 1fr 1fr;
    align-items: end;
  }
  #settings-page .settings-check-card .panel-head { grid-column: 1 / -1; }
  #settings-page .settings-check-card .compact-policy { grid-column: 1 / -1; }
  #settings-page .settings-check-card .settings-card-footer { grid-column: 2; }
  #settings-page .settings-backup-panel { grid-template-columns: 1fr; }
  #settings-page .settings-backup-panel > .panel-head,
  #settings-page .settings-backup-panel > #backup-list { grid-column: auto; }
  #settings-page .settings-resource-panel .resource-status-grid,
  #settings-page .settings-resource-panel .resource-limit-grid,
  #settings-page .settings-monitor-panel .monitor-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  #settings-page .settings-section-heading {
    display: block;
    padding-bottom: 2px;
  }
  #settings-page .settings-section-heading::after { display: none; }
  #settings-page .settings-card { padding: 13px; }
  #settings-page .settings-check-card { display: flex; flex-direction: column; align-items: stretch; }
  #settings-page .settings-check-card .settings-card-footer { align-self: stretch; }
  #settings-page .settings-resource-panel .resource-status-grid,
  #settings-page .settings-resource-panel .resource-limit-grid,
  #settings-page .settings-monitor-panel .monitor-settings-grid,
  #settings-page .settings-release-panel .release-current,
  #settings-page .telegram-category-grid,
  #settings-page .settings-google-card .settings-field-grid,
  #settings-page .settings-google-card .settings-callback-grid {
    grid-template-columns: 1fr;
  }
}
/* END OCI-N&T SETTINGS VISUAL REFINEMENT V3 */

/* BEGIN OCI-N&T SETTINGS HEADER TOGGLE V4 */
#settings-page .settings-card .panel-head.settings-toggle-head {
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}
#settings-page .settings-toggle-head > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
#settings-page .settings-head-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  min-height: 28px;
}
#settings-page label.settings-head-toggle {
  display: inline-flex;
  grid-template-columns: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  width: auto;
  min-width: 0;
  min-height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
#settings-page label.settings-head-toggle > span {
  margin: 0;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 680;
  line-height: 1;
  white-space: nowrap;
}
#settings-page label.settings-head-toggle > input[type="checkbox"] {
  width: 38px;
  min-width: 38px;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  accent-color: var(--primary);
}
#settings-page .settings-toggle-head .status-pill {
  margin: 0;
  min-height: 24px;
}
#settings-page .settings-telegram-card .settings-field-stack,
#settings-page .settings-google-card .settings-field-grid {
  margin-top: 0;
}
#settings-page .settings-telegram-card .telegram-category-grid {
  margin-top: 10px;
}
@media (max-width: 620px) {
  #settings-page .settings-card .panel-head.settings-toggle-head {
    align-items: flex-start;
  }
  #settings-page .settings-head-actions {
    gap: 7px;
  }
  #settings-page label.settings-head-toggle > span {
    display: none;
  }
}
/* END OCI-N&T SETTINGS HEADER TOGGLE V4 */

/* BEGIN OCI-N&T SETTINGS CONTROL REFINEMENT V5 */
#settings-page .settings-login-card,
#settings-page .settings-session-card {
  height: 310px;
  min-height: 310px;
  max-height: 310px;
  overflow: hidden;
}
#settings-page .settings-login-card {
  display: flex;
  flex-direction: column;
}
#settings-page .settings-login-card .settings-field-stack {
  flex: 1 1 auto;
  align-content: start;
}
#settings-page .settings-session-card {
  display: flex;
  flex-direction: column;
}
#settings-page .settings-session-card .session-list {
  flex: 1 1 auto;
  min-height: 76px;
  max-height: none;
  overflow: auto;
}
#settings-page .settings-session-card .login-attempts-details {
  flex: 0 0 auto;
}
#settings-page .settings-action-head {
  align-items: center !important;
  gap: 14px;
}
#settings-page .settings-action-head > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
#settings-page .settings-action-head > .button {
  flex: 0 0 auto;
  min-width: 112px;
}

/* State changes use buttons instead of native switches. */
#settings-page .settings-state-button,
#settings-page .settings-choice-button {
  min-height: 30px !important;
  white-space: nowrap;
  font-weight: 720;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
#settings-page .settings-state-button:not(.active) {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}
#settings-page .settings-state-button:not(.active):hover {
  filter: brightness(.97);
}
#settings-page .settings-state-button.active {
  border-color: #f2b8b5;
  background: #fff;
  color: #c83b35;
}
#settings-page .settings-state-button.active:hover {
  background: #fff7f6;
  border-color: #ea8f89;
}
#settings-page .settings-choice-button:not(.active) {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}
#settings-page .settings-choice-button.active {
  border-color: color-mix(in srgb, var(--primary) 35%, var(--line));
  background: color-mix(in srgb, var(--primary) 8%, #fff);
  color: var(--primary);
}

#settings-page .settings-head-actions {
  flex-wrap: wrap;
  row-gap: 5px;
}
#settings-page .settings-inline-status {
  display: inline-flex;
  min-width: 0;
  max-width: 260px;
  align-items: center;
  gap: 4px;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.25;
}
#settings-page .settings-inline-status strong {
  color: var(--text);
  font-size: 9.75px;
  font-weight: 700;
  white-space: nowrap;
}
#settings-page .settings-inline-status span {
  min-width: 0;
}

#settings-page .settings-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
#settings-page .settings-subsection-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
#settings-page .settings-subsection-head > div {
  min-width: 0;
}
#settings-page .settings-subsection-head strong,
#settings-page .settings-subsection-head small {
  display: block;
}
#settings-page .settings-subsection-head strong {
  font-size: 11px;
  line-height: 1.3;
}
#settings-page .settings-subsection-head small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.35;
}
#settings-page .settings-subsection-head .status-pill {
  flex: 0 0 auto;
  margin: 0;
}

#settings-page .settings-backup-panel .backup-schedule-form {
  position: relative;
}
#settings-page .settings-backup-panel .backup-schedule-form.is-disabled {
  opacity: 1;
}
#settings-page .settings-backup-panel .backup-schedule-form.is-disabled .backup-schedule-grid {
  opacity: .46;
}

#settings-page .settings-monitor-panel .monitor-history-head {
  margin: 0 0 2px;
  padding: 0 0 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}
#settings-page .settings-monitor-panel .monitor-settings-grid {
  padding-top: 9px;
  border-top: 0;
}
#settings-page .monitor-container-toggle-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
}
#settings-page .monitor-container-toggle-field > span {
  margin-bottom: 4px;
  font-size: 10.5px;
  font-weight: 680;
}
#settings-page .monitor-container-toggle-field > small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.3;
}
#settings-page .monitor-container-toggle-field .settings-choice-button {
  width: 100%;
  min-height: var(--settings-control-height) !important;
}

@media (max-width: 900px) {
  #settings-page .settings-login-card,
  #settings-page .settings-session-card {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }
  #settings-page .settings-session-card .session-list {
    max-height: 240px;
  }
}

@media (max-width: 620px) {
  #settings-page .settings-action-head,
  #settings-page .settings-card .panel-head.settings-toggle-head {
    align-items: flex-start !important;
  }
  #settings-page .settings-action-head > .button {
    min-width: 0;
  }
  #settings-page .settings-inline-status {
    max-width: 100%;
    flex-basis: 100%;
    justify-content: flex-end;
  }
  #settings-page .settings-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
}
/* END OCI-N&T SETTINGS CONTROL REFINEMENT V5 */


/* BEGIN OCI-N&T SETTINGS CONTROL REFINEMENT V6 */
#settings-page .settings-auth-actions {
  flex-wrap: nowrap;
  gap: 8px;
}
#settings-page .settings-auth-note {
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.25;
  white-space: nowrap;
}
#settings-page #telegram-toggle,
#settings-page #google-auth-toggle {
  min-width: 108px;
}
@media (max-width: 760px) {
  #settings-page .settings-auth-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #settings-page .settings-auth-note {
    width: 100%;
    white-space: normal;
  }
}
/* END OCI-N&T SETTINGS CONTROL REFINEMENT V6 */

/* BEGIN OCI-N&T PROXY LIBRARY TABLE DENSITY V1 */
/* Proxy library: prioritize location/latency, keep compact status and actions. */
.proxy-library-table {
  width: 100%;
  min-width: 1110px;
  table-layout: fixed;
}

.proxy-library-table th,
.proxy-library-table td {
  box-sizing: border-box;
  padding: 8px 9px;
}

.proxy-library-table th:nth-child(1),
.proxy-library-table td:nth-child(1) {
  width: 46px;
  min-width: 46px;
  max-width: 46px;
  text-align: center;
}

.proxy-library-table th:nth-child(2),
.proxy-library-table td:nth-child(2) {
  width: 155px;
  min-width: 155px;
}

.proxy-library-table th:nth-child(3),
.proxy-library-table td:nth-child(3) {
  width: 76px;
  min-width: 76px;
  text-align: center;
}

.proxy-library-table th:nth-child(4),
.proxy-library-table td:nth-child(4) {
  width: 190px;
  min-width: 190px;
}

.proxy-library-table th:nth-child(5),
.proxy-library-table td:nth-child(5) {
  width: 145px;
  min-width: 145px;
}

.proxy-library-table th:nth-child(6),
.proxy-library-table td:nth-child(6) {
  width: 300px;
  min-width: 300px;
  white-space: nowrap;
}

.proxy-library-table th:nth-child(7),
.proxy-library-table td:nth-child(7) {
  width: 68px;
  min-width: 68px;
  max-width: 68px;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}

.proxy-library-table th:nth-child(8),
.proxy-library-table td:nth-child(8) {
  width: 170px;
  min-width: 170px;
}

/* Location and latency are one visual line on desktop. */
.proxy-library-table td:nth-child(6) strong,
.proxy-library-table td:nth-child(6) small {
  display: inline;
  max-width: none;
  margin: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.proxy-library-table td:nth-child(6) strong {
  font-size: 10px;
  font-weight: 700;
}

.proxy-library-table td:nth-child(6) small {
  margin-left: 5px;
  font-size: 9px;
}

.proxy-library-table td:nth-child(6) small::before {
  content: "· ";
}

.proxy-library-table td:nth-child(7) .badge {
  display: inline-flex;
  min-width: 38px;
  justify-content: center;
  padding: 4px 6px;
  white-space: nowrap;
}

.proxy-library-table .proxy-row-actions {
  gap: 4px;
  justify-content: flex-end;
}

.proxy-library-table .proxy-row-actions .button.small {
  min-height: 28px;
  padding: 5px 8px;
}

.proxy-library-table td:nth-child(2) small,
.proxy-library-table td:nth-child(4) small,
.proxy-library-table td:nth-child(5) small {
  margin-top: 2px;
}

@media (max-width: 920px) {
  .proxy-library-table {
    min-width: 1110px;
  }
}
/* END OCI-N&T PROXY LIBRARY TABLE DENSITY V1 */

/* BEGIN OCI-N&T PROXY PAGE CLEANUP V1 */
#proxies-page .proxy-library-command { margin-bottom: 10px; }
#proxies-page .proxy-library-list-panel { margin-top: 0; }
#proxies-page .proxy-page-toolbar { gap: 8px; }
@media (max-width: 760px) {
  #proxies-page .proxy-page-toolbar { grid-template-columns: 1fr 1fr 1fr; }
}
/* END OCI-N&T PROXY PAGE CLEANUP V1 */

/* BEGIN OCI-N&T PROXY PAGE FONT READABILITY V1 */
/* Slightly enlarge proxy-page typography without changing the compact layout. */
#proxies-page .proxy-page-count strong {
  font-size: 14px;
}

#proxies-page .proxy-page-count span {
  font-size: 11px;
}

#proxies-page .proxy-panel-head > div:first-child > strong {
  font-size: 15px;
}

#proxies-page .proxy-panel-head > div:first-child > span {
  font-size: 11px;
  line-height: 1.4;
}

#proxies-page .proxy-list-filters select,
#proxies-page .proxy-list-filters input,
#proxies-page .proxy-list-filters .button,
#proxies-page .proxy-page-toolbar .button {
  font-size: 12px;
}

#proxies-page .proxy-library-table th {
  font-size: 11px;
  line-height: 1.35;
}

#proxies-page .proxy-library-table td {
  font-size: 12px;
  line-height: 1.4;
}

#proxies-page .proxy-library-table td strong {
  font-size: 12px;
  line-height: 1.35;
}

#proxies-page .proxy-library-table td small {
  font-size: 10px;
  line-height: 1.35;
}

#proxies-page .proxy-library-table code {
  font-size: 11px;
  line-height: 1.35;
}

/* Keep location + latency on one line while making it easier to read. */
#proxies-page .proxy-library-table td:nth-child(6) strong {
  font-size: 11px;
}

#proxies-page .proxy-library-table td:nth-child(6) small {
  font-size: 10px;
}

#proxies-page .proxy-library-table td:nth-child(7) .badge {
  font-size: 11px;
  line-height: 1.2;
}

#proxies-page .proxy-library-table .proxy-row-actions .button.small {
  font-size: 11px;
}
/* END OCI-N&T PROXY PAGE FONT READABILITY V1 */

/* BEGIN OCI-N&T V1.0 UI FINALIZE */
/*
 * OCI-N&T V1.0 最终视觉收口
 * 1. 全局字体
 * 2. 表格
 * 3. 顶部工具栏
 * 4. 弹窗
 * 5. 状态 / 空状态
 *
 * 基准：当前代理页的可读性与紧凑密度。
 * 仅调整前端显示，不修改业务请求、数据库或 OCI 调用策略。
 */

:root {
  --nt-font-body: 12px;
  --nt-font-head: 11px;
  --nt-font-help: 10px;
  --nt-font-section: 15px;
  --nt-control-h: 34px;
  --nt-row-y: 9px;
  --nt-row-x: 11px;
  --nt-action-gap: 5px;
  --nt-radius-control: 7px;
  --nt-green: #138a72;
  --nt-green-bg: #edf8f4;
  --nt-blue: #3977b7;
  --nt-blue-bg: #eef5fb;
  --nt-yellow: #9a6814;
  --nt-yellow-bg: #fff7df;
  --nt-red: #c84444;
  --nt-red-bg: #fff0f0;
  --nt-gray: #66747e;
  --nt-gray-bg: #f1f4f6;
}

.page,
.page input,
.page select,
.page textarea,
.page button,
dialog,
dialog input,
dialog select,
dialog textarea,
dialog button {
  font-size: var(--nt-font-body);
}

.page h2,
.page h3,
.panel-title,
.section-title,
.proxy-panel-head > div:first-child > strong,
.settings-section-title {
  font-size: var(--nt-font-section);
  line-height: 1.35;
}

.page small,
.page .muted,
.page .helper,
.page .hint,
.page .subtext,
.page .description,
dialog small,
dialog .helper,
dialog .hint {
  font-size: var(--nt-font-help);
  line-height: 1.45;
}

.table-wrap,
.instance-table-wrap,
.launch-table-wrap,
.audit-table-wrap,
.proxy-account-table-wrap,
.dns-table-wrap {
  scrollbar-gutter: stable;
  overscroll-behavior-x: contain;
}

.api-table,
.proxy-library-table,
.all-tenant-instance-table,
.launch-table-all-tenants,
.audit-table,
.dns-table,
.instance-table,
.task-table {
  border-collapse: separate;
  border-spacing: 0;
}

.api-table th,
.proxy-library-table th,
.all-tenant-instance-table th,
.launch-table-all-tenants th,
.audit-table th,
.dns-table th,
.instance-table th,
.task-table th {
  padding: 8px var(--nt-row-x);
  color: var(--muted);
  font-size: var(--nt-font-head);
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.api-table td,
.proxy-library-table td,
.all-tenant-instance-table td,
.launch-table-all-tenants td,
.audit-table td,
.dns-table td,
.instance-table td,
.task-table td {
  padding: var(--nt-row-y) var(--nt-row-x);
  font-size: var(--nt-font-body);
  line-height: 1.4;
  vertical-align: middle;
}

.api-table td strong,
.proxy-library-table td strong,
.all-tenant-instance-table td strong,
.launch-table-all-tenants td strong,
.audit-table td strong,
.dns-table td strong,
.instance-table td strong,
.task-table td strong {
  font-size: var(--nt-font-body);
}

.api-table td small,
.proxy-library-table td small,
.all-tenant-instance-table td small,
.launch-table-all-tenants td small,
.audit-table td small,
.dns-table td small,
.instance-table td small,
.task-table td small {
  margin-top: 2px;
  font-size: var(--nt-font-help);
}

.api-table th:first-child,
.api-table td:first-child,
.proxy-library-table th:first-child,
.proxy-library-table td:first-child,
.all-tenant-instance-table th:first-child,
.all-tenant-instance-table td:first-child,
.launch-table-all-tenants th:first-child,
.launch-table-all-tenants td:first-child {
  width: 48px;
  min-width: 48px;
  max-width: 48px;
  text-align: center;
}

.api-table th:last-child,
.api-table td:last-child,
.proxy-library-table th:last-child,
.proxy-library-table td:last-child,
.all-tenant-instance-table th:last-child,
.all-tenant-instance-table td:last-child,
.launch-table-all-tenants th:last-child,
.launch-table-all-tenants td:last-child {
  width: 164px;
  min-width: 150px;
}

.row-actions,
.proxy-row-actions,
.table-actions,
.action-group {
  display: flex;
  align-items: center;
  gap: var(--nt-action-gap);
  flex-wrap: nowrap;
}

.row-actions .button,
.proxy-row-actions .button,
.table-actions .button,
.action-group .button {
  min-height: 29px;
  padding: 5px 8px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

.api-table td:has(> .badge:only-child),
.proxy-library-table td:has(> .badge:only-child),
.all-tenant-instance-table td:has(> .badge:only-child),
.launch-table-all-tenants td:has(> .badge:only-child),
.audit-table td:has(> .badge:only-child),
.dns-table td:has(> .badge:only-child) {
  width: 78px;
  min-width: 68px;
  max-width: 92px;
  text-align: center;
  white-space: nowrap;
}

.time-cell,
.created-at,
.updated-at,
.region-cell,
.location-cell,
.ip-cell,
td time,
td code {
  white-space: nowrap;
}

.api-table tbody tr,
.proxy-library-table tbody tr,
.all-tenant-instance-table tbody tr,
.launch-table-all-tenants tbody tr,
.audit-table tbody tr,
.dns-table tbody tr {
  transition: background-color .12s ease;
}

.api-table tbody tr:hover,
.proxy-library-table tbody tr:hover,
.all-tenant-instance-table tbody tr:hover,
.launch-table-all-tenants tbody tr:hover,
.audit-table tbody tr:hover,
.dns-table tbody tr:hover {
  background: #f7fbfa;
}

.page-toolbar,
.accounts-page-toolbar,
.audit-page-toolbar,
.instance-page-toolbar,
.launch-page-toolbar,
.cloudflare-page-toolbar,
.proxy-page-command,
.proxy-library-command,
.dashboard-system-head,
.section-toolbar,
.panel-toolbar {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 7px;
}

.page-toolbar > .button,
.accounts-page-toolbar > .button,
.audit-page-toolbar > .button,
.instance-page-toolbar > .button,
.launch-page-toolbar > .button,
.cloudflare-page-toolbar > .button,
.proxy-page-command .button,
.proxy-library-command .button,
.section-toolbar > .button,
.panel-toolbar > .button {
  min-height: 32px;
  padding: 6px 11px;
  font-size: 11px;
  white-space: nowrap;
}

.page-toolbar > .primary,
.accounts-page-toolbar > .primary,
.audit-page-toolbar > .primary,
.instance-page-toolbar > .primary,
.launch-page-toolbar > .primary,
.cloudflare-page-toolbar > .primary,
.proxy-page-command .primary,
.proxy-library-command .primary,
.section-toolbar > .primary,
.panel-toolbar > .primary {
  order: 99;
  margin-left: auto;
}

.page input:not([type="checkbox"]):not([type="radio"]),
.page select,
dialog input:not([type="checkbox"]):not([type="radio"]),
dialog select {
  min-height: var(--nt-control-h);
  border-radius: var(--nt-radius-control);
}

.page textarea,
dialog textarea {
  border-radius: var(--nt-radius-control);
  font-size: var(--nt-font-body);
}

dialog,
.modal-card,
.dialog-card {
  width: min(760px, calc(100vw - 32px));
  max-height: min(86vh, 860px);
  border-radius: 13px;
}

dialog > form,
.modal-card > form,
.dialog-card > form {
  gap: 12px;
}

dialog h2,
dialog h3,
.modal-title,
.dialog-title {
  font-size: 16px;
  line-height: 1.35;
}

.form-grid.two-col,
.form-grid.two-column,
.dialog-grid.two-col,
.modal-grid.two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 12px;
}

.dialog-actions,
.modal-actions,
.form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 10px;
}

.dialog-actions .button,
.modal-actions .button,
.form-actions .button {
  min-width: 78px;
  min-height: 34px;
  font-size: 12px;
}

.badge,
.status-badge {
  min-height: 23px;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.badge.good,
.badge.ok,
.status-badge.good,
.status-badge.ok,
.status-dot.good {
  color: var(--nt-green);
  background: var(--nt-green-bg);
}

.badge.info,
.badge.running,
.badge.processing,
.status-badge.info,
.status-badge.running {
  color: var(--nt-blue);
  background: var(--nt-blue-bg);
}

.badge.warn,
.badge.warning,
.status-badge.warn,
.status-badge.warning {
  color: var(--nt-yellow);
  background: var(--nt-yellow-bg);
}

.badge.bad,
.badge.danger,
.badge.error,
.status-badge.bad,
.status-badge.danger,
.status-dot.bad {
  color: var(--nt-red);
  background: var(--nt-red-bg);
}

.badge.muted,
.badge.pending,
.badge.unknown,
.status-badge.muted,
.status-badge.pending,
.status-dot.muted {
  color: var(--nt-gray);
  background: var(--nt-gray-bg);
}

.empty,
.list-empty,
.launch-empty,
.dashboard-empty,
.cloudflare-empty,
.empty-state,
.table-empty {
  display: grid;
  min-height: 104px;
  place-content: center;
  justify-items: center;
  gap: 5px;
  padding: 20px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

.empty strong,
.list-empty strong,
.launch-empty strong,
.dashboard-empty strong,
.cloudflare-empty strong,
.empty-state strong,
.table-empty strong {
  color: #33434e;
  font-size: 12px;
  font-weight: 700;
}

.loading,
.is-loading,
[aria-busy="true"] {
  cursor: progress;
}

.loading::after,
.is-loading::after {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  content: "";
  vertical-align: -2px;
  animation: nt-ui-finalize-spin .7s linear infinite;
}

@keyframes nt-ui-finalize-spin {
  to { transform: rotate(360deg); }
}

.dashboard-card,
.dashboard-stat-card,
.resource-card,
.dashboard-summary-card {
  min-height: 112px;
}

.dashboard-card strong,
.dashboard-stat-card strong,
.resource-card strong,
.dashboard-summary-card strong,
.dashboard-metric-value,
.system-resource-value {
  font-size: 20px;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.dashboard-card small,
.dashboard-stat-card small,
.resource-card small,
.dashboard-summary-card small {
  font-size: var(--nt-font-help);
}

.proxy-library-table th { font-size: 11px; }
.proxy-library-table td { font-size: 12px; }
.proxy-library-table td small { font-size: 10px; }
.proxy-library-table td code { font-size: 11px; }
.proxy-library-table .badge { font-size: 11px; }

@media (max-width: 960px) {
  .form-grid.two-col,
  .form-grid.two-column,
  .dialog-grid.two-col,
  .modal-grid.two-col {
    grid-template-columns: 1fr;
  }

  .page-toolbar,
  .accounts-page-toolbar,
  .audit-page-toolbar,
  .instance-page-toolbar,
  .launch-page-toolbar,
  .cloudflare-page-toolbar,
  .proxy-page-command,
  .proxy-library-command,
  .section-toolbar,
  .panel-toolbar {
    flex-wrap: wrap;
  }

  .page-toolbar > .primary,
  .accounts-page-toolbar > .primary,
  .audit-page-toolbar > .primary,
  .instance-page-toolbar > .primary,
  .launch-page-toolbar > .primary,
  .cloudflare-page-toolbar > .primary,
  .proxy-page-command .primary,
  .proxy-library-command .primary,
  .section-toolbar > .primary,
  .panel-toolbar > .primary {
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .api-table tbody tr,
  .proxy-library-table tbody tr,
  .all-tenant-instance-table tbody tr,
  .launch-table-all-tenants tbody tr,
  .audit-table tbody tr,
  .dns-table tbody tr {
    transition: none;
  }

  .loading::after,
  .is-loading::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
}
/* END OCI-N&T V1.0 UI FINALIZE */

/* BEGIN OCI-N&T V1.0 DIALOG FIT PROXY TOP */
/*
 * 1. 添加 OCI API：窗口与内容严格同宽，不产生横向滚动。
 * 2. 租户独立代理：启用开关移至标题右上角。
 * 3. 添加 / 编辑代理：适当加宽，减少纵向滚动。
 * 仅为布局修复，不改变任何表单字段、JS 逻辑和 API 行为。
 */

/* ---------- 添加 OCI API ---------- */
#account-dialog {
  width: min(800px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  max-height: min(90vh, 920px) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

#account-dialog .dialog-form {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

#account-dialog .dialog-body,
#account-dialog .form-section,
#account-dialog .form-section-title,
#account-dialog .form-grid,
#account-dialog .oci-config-file-panel,
#account-dialog .oci-config-file-row,
#account-dialog .oci-config-file-picker,
#account-dialog .oci-config-detection,
#account-dialog .import-proxy-options,
#account-dialog .proxy-choice-tabs,
#account-dialog .proxy-choice-section,
#account-dialog label {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#account-dialog .dialog-body {
  overflow-x: hidden !important;
}

#account-dialog input:not([type="checkbox"]):not([type="radio"]),
#account-dialog select,
#account-dialog textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#account-dialog input[type="file"] {
  max-width: 100% !important;
  min-width: 0 !important;
}

#account-dialog textarea {
  resize: vertical;
}

#account-dialog .oci-config-file-row {
  width: 100%;
}

#account-dialog .oci-config-file-picker {
  flex: 1 1 0 !important;
  overflow: hidden;
}

#account-dialog .oci-config-file-picker input[type="file"] {
  display: block;
  overflow: hidden;
}

/* ---------- API 导入代理：开关放到标题右上 ---------- */
#account-dialog .proxy-import-section {
  position: relative;
}

#account-dialog .proxy-import-section > .form-section-title {
  min-height: 48px;
  padding-right: 132px !important;
}

#account-dialog .proxy-import-section > .switch-row {
  position: absolute !important;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

#account-dialog .proxy-import-section > .switch-row > div {
  display: none !important;
}

#account-dialog .proxy-import-section > .switch-row::before {
  content: "启用代理";
  color: #42515c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

#account-dialog .proxy-import-section > .switch-row input[type="checkbox"] {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

#account-dialog .proxy-import-section > #import-proxy-options {
  margin-top: 2px;
}

/* ---------- 添加 / 编辑代理 ---------- */
#utility-dialog {
  width: min(680px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  max-height: min(90vh, 920px) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

#utility-dialog .dialog-form {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

#utility-dialog .dialog-body,
#utility-dialog label,
#utility-dialog .form-grid,
#utility-dialog .utility-fields {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#utility-dialog input:not([type="checkbox"]):not([type="radio"]),
#utility-dialog select,
#utility-dialog textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 720px) {
  #account-dialog,
  #utility-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
  }

  #account-dialog .oci-config-file-row {
    align-items: stretch;
    flex-direction: column;
  }

  #account-dialog .proxy-import-section > .form-section-title {
    min-height: 0;
    padding-right: 0 !important;
  }

  #account-dialog .proxy-import-section > .switch-row {
    position: static !important;
    width: 100% !important;
    margin: 8px 0 2px !important;
    justify-content: flex-end;
  }
}
/* END OCI-N&T V1.0 DIALOG FIT PROXY TOP */

/* BEGIN OCI-N&T V1.0 PROXY TOGGLE SWITCH */
/*
 * 将 API 导入弹窗右上角“启用代理”由原生 checkbox
 * 改为与全站启用项一致的滑动开关。
 * 不改变 checkbox 本身的 checked/change 逻辑。
 */

#account-dialog .proxy-import-section > .switch-row {
  min-height: 32px !important;
  gap: 9px !important;
  cursor: pointer;
  user-select: none;
}

#account-dialog .proxy-import-section > .switch-row::before {
  content: "启用代理";
  color: #42515c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* 隐去浏览器默认勾选框，直接把原 checkbox 本体做成 switch。 */
#account-dialog #import-proxy-enabled {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #cbd5dc !important;
  border-radius: 999px !important;
  outline: none !important;
  background: #dfe5e9 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease !important;
}

#account-dialog #import-proxy-enabled::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(20, 36, 46, .20);
  content: "";
  transition: transform .16s ease;
}

#account-dialog #import-proxy-enabled:checked {
  border-color: #129a80 !important;
  background: #129a80 !important;
}

#account-dialog #import-proxy-enabled:checked::after {
  transform: translateX(18px);
}

#account-dialog #import-proxy-enabled:hover {
  border-color: #9aaab4 !important;
}

#account-dialog #import-proxy-enabled:checked:hover {
  border-color: #0f846e !important;
  background: #0f8d76 !important;
}

#account-dialog #import-proxy-enabled:focus-visible {
  box-shadow: 0 0 0 3px rgba(18, 154, 128, .16) !important;
}

/* 禁用态也保持开关外观，不重新退化成浏览器 checkbox。 */
#account-dialog #import-proxy-enabled:disabled {
  opacity: .48;
  cursor: not-allowed !important;
}

/* 小屏仍保持标题下方右对齐。 */
@media (max-width: 720px) {
  #account-dialog .proxy-import-section > .switch-row {
    min-height: 30px !important;
  }
}

/* END OCI-N&T V1.0 PROXY TOGGLE SWITCH */

/* BEGIN OCI-N&T V1.0 GLOBAL TOGGLE SWITCH */
/*
 * 全系统“启用 / 开启”类 checkbox 统一为滑动开关。
 *
 * 只覆盖：
 * - id 以 -enabled 结尾的 checkbox
 * - id 以 enable- 开头的 checkbox
 * - switch-row / toggle 类中的 checkbox
 * - OCI-N&T 已知启用控件
 *
 * 不覆盖普通列表多选、账户选择、批量操作 checkbox。
 */

:root {
  --nt-toggle-w: 40px;
  --nt-toggle-h: 22px;
  --nt-toggle-knob: 16px;
  --nt-toggle-off: #dfe5e9;
  --nt-toggle-off-border: #cbd5dc;
  --nt-toggle-on: #129a80;
  --nt-toggle-on-hover: #0f8d76;
}

input[type="checkbox"][id$="-enabled"],
input[type="checkbox"][id^="enable-"],
.switch-row input[type="checkbox"],
[class*="toggle"] input[type="checkbox"],
#proxy-enabled,
#import-proxy-enabled,
#telegram-enabled,
#google-auth-enabled {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: var(--nt-toggle-w) !important;
  min-width: var(--nt-toggle-w) !important;
  max-width: var(--nt-toggle-w) !important;
  height: var(--nt-toggle-h) !important;
  min-height: var(--nt-toggle-h) !important;
  max-height: var(--nt-toggle-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--nt-toggle-off-border) !important;
  border-radius: 999px !important;
  outline: none !important;
  background: var(--nt-toggle-off) !important;
  background-image: none !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease !important;
}

input[type="checkbox"][id$="-enabled"]::after,
input[type="checkbox"][id^="enable-"]::after,
.switch-row input[type="checkbox"]::after,
[class*="toggle"] input[type="checkbox"]::after,
#proxy-enabled::after,
#import-proxy-enabled::after,
#telegram-enabled::after,
#google-auth-enabled::after {
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: var(--nt-toggle-knob) !important;
  height: var(--nt-toggle-knob) !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(20, 36, 46, .20) !important;
  content: "" !important;
  transform: translateX(0) !important;
  transition: transform .16s ease !important;
}

input[type="checkbox"][id$="-enabled"]:checked,
input[type="checkbox"][id^="enable-"]:checked,
.switch-row input[type="checkbox"]:checked,
[class*="toggle"] input[type="checkbox"]:checked,
#proxy-enabled:checked,
#import-proxy-enabled:checked,
#telegram-enabled:checked,
#google-auth-enabled:checked {
  border-color: var(--nt-toggle-on) !important;
  background: var(--nt-toggle-on) !important;
  background-image: none !important;
}

input[type="checkbox"][id$="-enabled"]:checked::after,
input[type="checkbox"][id^="enable-"]:checked::after,
.switch-row input[type="checkbox"]:checked::after,
[class*="toggle"] input[type="checkbox"]:checked::after,
#proxy-enabled:checked::after,
#import-proxy-enabled:checked::after,
#telegram-enabled:checked::after,
#google-auth-enabled:checked::after {
  transform: translateX(18px) !important;
}

input[type="checkbox"][id$="-enabled"]:hover,
input[type="checkbox"][id^="enable-"]:hover,
.switch-row input[type="checkbox"]:hover,
[class*="toggle"] input[type="checkbox"]:hover,
#proxy-enabled:hover,
#import-proxy-enabled:hover,
#telegram-enabled:hover,
#google-auth-enabled:hover {
  border-color: #9aaab4 !important;
}

input[type="checkbox"][id$="-enabled"]:checked:hover,
input[type="checkbox"][id^="enable-"]:checked:hover,
.switch-row input[type="checkbox"]:checked:hover,
[class*="toggle"] input[type="checkbox"]:checked:hover,
#proxy-enabled:checked:hover,
#import-proxy-enabled:checked:hover,
#telegram-enabled:checked:hover,
#google-auth-enabled:checked:hover {
  border-color: #0f846e !important;
  background: var(--nt-toggle-on-hover) !important;
}

input[type="checkbox"][id$="-enabled"]:focus-visible,
input[type="checkbox"][id^="enable-"]:focus-visible,
.switch-row input[type="checkbox"]:focus-visible,
[class*="toggle"] input[type="checkbox"]:focus-visible,
#proxy-enabled:focus-visible,
#import-proxy-enabled:focus-visible,
#telegram-enabled:focus-visible,
#google-auth-enabled:focus-visible {
  box-shadow: 0 0 0 3px rgba(18, 154, 128, .16) !important;
}

input[type="checkbox"][id$="-enabled"]:disabled,
input[type="checkbox"][id^="enable-"]:disabled,
.switch-row input[type="checkbox"]:disabled,
[class*="toggle"] input[type="checkbox"]:disabled,
#proxy-enabled:disabled,
#import-proxy-enabled:disabled,
#telegram-enabled:disabled,
#google-auth-enabled:disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
}

/* switch 行本身统一点击体验 */
.switch-row,
[class*="toggle-row"],
[class*="header-toggle"] {
  cursor: pointer;
  user-select: none;
}

/* 防止历史样式用 after 绘制对勾 */
input[type="checkbox"][id$="-enabled"]:checked::before,
input[type="checkbox"][id^="enable-"]:checked::before,
.switch-row input[type="checkbox"]:checked::before,
[class*="toggle"] input[type="checkbox"]:checked::before {
  display: none !important;
  content: none !important;
}

/* 小屏仍保持同尺寸，避免不同页面开关忽大忽小 */
@media (max-width: 720px) {
  input[type="checkbox"][id$="-enabled"],
  input[type="checkbox"][id^="enable-"],
  .switch-row input[type="checkbox"],
  [class*="toggle"] input[type="checkbox"],
  #proxy-enabled,
  #import-proxy-enabled,
  #telegram-enabled,
  #google-auth-enabled {
    width: 40px !important;
    min-width: 40px !important;
    height: 22px !important;
    min-height: 22px !important;
  }
}

/* END OCI-N&T V1.0 GLOBAL TOGGLE SWITCH */

/* BEGIN OCI-N&T V1.0 1.0-ux-freeze1 */
#audit-page .audit-filter-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;align-items:end;gap:8px}
#audit-page .audit-search-box{min-width:220px}
#audit-page .audit-result-filter-field,#audit-page .audit-object-filter-field{min-width:128px}
#audit-page .audit-inferred-result{display:inline-flex;margin-right:6px;padding:3px 6px;vertical-align:middle;white-space:nowrap}
#audit-page .audit-result-failure td{background-image:linear-gradient(rgba(190,35,48,.025),rgba(190,35,48,.025))}
#audit-page .audit-detail-fold{min-width:150px;max-width:100%}
#audit-page .audit-detail-fold summary{max-width:360px;overflow:hidden;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;color:inherit}
#audit-page .audit-detail-full{max-width:460px;margin-top:6px;padding:7px 8px;border:1px solid rgba(120,140,138,.20);border-radius:7px;background:rgba(120,140,138,.06);line-height:1.5;white-space:normal;overflow-wrap:anywhere}
#audit-page .audit-copy-reason{min-height:24px;margin-top:5px;padding:3px 6px;font-size:10px}
#tasks-page .task-row-active td{background-image:linear-gradient(rgba(10,145,118,.055),rgba(10,145,118,.055))}
#tasks-page .task-row-problem td{background-image:linear-gradient(rgba(190,35,48,.035),rgba(190,35,48,.035))}
#tasks-page .task-row-completed td{padding-top:6px!important;padding-bottom:6px!important}
#tasks-page .task-inline-error{display:block;max-width:260px;margin-top:3px;overflow:hidden;color:#a13d46;font-size:10px;font-weight:650;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
#tasks-page .task-retry-action{font-weight:700}
#tasks-page .task-table td:last-child .row-actions{gap:4px}
#proxies-page .proxy-cache-meta{display:flex;min-width:0;margin-top:4px;align-items:center;gap:5px;color:var(--muted);font-size:10px;line-height:1.2;white-space:nowrap}
#proxies-page .proxy-binding-chip{display:inline-flex;min-height:18px;padding:1px 5px;align-items:center;border:1px solid rgba(120,140,138,.25);border-radius:999px;font-size:9px;font-weight:750}
#proxies-page .proxy-binding-chip.is-used{border-color:rgba(10,145,118,.28);background:rgba(10,145,118,.08);color:#087a65}
#proxies-page .proxy-binding-chip.is-idle{background:rgba(120,140,138,.06)}
#proxies-page .proxy-last-check{min-width:0;overflow:hidden;text-overflow:ellipsis}
#dashboard-page .dashboard-stats>article,#dashboard-page .dashboard-stat-card,#dashboard-page .monitor-resource-card,#dashboard-page .dashboard-system-stat{box-sizing:border-box}
#dashboard-page .dashboard-stats>article,#dashboard-page .dashboard-stat-card{min-height:104px}
#dashboard-page .monitor-resource-card{min-height:112px}
#dashboard-page .dashboard-system-stat{min-height:96px}
#dashboard-page .dashboard-stats>article>strong,#dashboard-page .dashboard-stat-card>strong,#dashboard-page .monitor-resource-card>strong{font-size:24px;font-weight:750;line-height:1.08;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#dashboard-page .dashboard-system-stat>strong{font-size:19px;font-weight:720;line-height:1.15}
#dashboard-page .dashboard-stats>article>small,#dashboard-page .dashboard-stat-card>small,#dashboard-page .monitor-resource-card>small,#dashboard-page .dashboard-system-stat>small{line-height:1.35}
#dashboard-page .dashboard-grid,#dashboard-page .dashboard-panels{align-items:stretch}
#dashboard-page .dashboard-panel,#dashboard-page .dashboard-list-panel{height:100%}
@media(max-width:1180px){#audit-page .audit-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr))!important}#audit-page .audit-search-box{grid-column:span 2}}
@media(max-width:760px){#audit-page .audit-filter-grid{grid-template-columns:1fr 1fr!important}#audit-page .audit-search-box{grid-column:1/-1;min-width:0}#proxies-page .proxy-cache-meta{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:520px){#audit-page .audit-filter-grid{grid-template-columns:1fr!important}#audit-page .audit-search-box{grid-column:auto}}
/* END OCI-N&T V1.0 1.0-ux-freeze1 */

/* OCI-N&T V1.0 1.0-ux-freeze1-fix1: final corrective marker */


/* BEGIN OCI-N&T V1.0.4 1.0.4-launch-key-list1 */
:root {
  --nt-list-head-height: 36px;
  --nt-list-font-size: 12px;
  --nt-list-head-font-size: 11px;
  --nt-list-cell-x: 10px;
  --nt-list-cell-y: 9px;
}

#tasks-page,
#accounts-page,
#instances-page,
#launch-page,
#tasks-page > *,
#accounts-page > *,
#instances-page > *,
#launch-page > * {
  min-width: 0;
  max-width: 100%;
}

#tasks-page .table-wrap,
#accounts-page .table-wrap,
#instances-page .table-wrap,
#launch-page .table-wrap,
.task-table-wrap,
.instance-table-wrap,
.api-table-wrap,
#global-launch-profiles {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

.task-table,
.task-items-table,
.api-table,
.all-tenant-instance-table,
.launch-table-all-tenants {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--nt-list-font-size);
}

.task-table th,
.task-items-table th,
.api-table th,
.all-tenant-instance-table th,
.launch-table-all-tenants th {
  height: var(--nt-list-head-height);
  padding: 7px var(--nt-list-cell-x);
  font-size: var(--nt-list-head-font-size);
  font-weight: 700;
  line-height: 1.2;
  color: var(--muted);
  white-space: nowrap;
  vertical-align: middle;
  background: #f6f8fa;
  border-bottom: 1px solid var(--line);
}

.task-table td,
.task-items-table td,
.api-table td,
.all-tenant-instance-table td,
.launch-table-all-tenants td {
  padding: var(--nt-list-cell-y) var(--nt-list-cell-x);
  font-size: var(--nt-list-font-size);
  line-height: 1.35;
  vertical-align: middle;
  border-bottom: 1px solid var(--line);
}

.task-table tbody tr:last-child td,
.task-items-table tbody tr:last-child td,
.api-table tbody tr:last-child td,
.all-tenant-instance-table tbody tr:last-child td,
.launch-table-all-tenants tbody tr:last-child td {
  border-bottom: 0;
}

.task-table tbody tr:hover td,
.task-items-table tbody tr:hover td,
.api-table tbody tr:hover td,
.all-tenant-instance-table tbody tr:hover td,
.launch-table-all-tenants tbody tr:hover td {
  background: #f3faf8;
}

.task-table .button,
.task-items-table .button,
.api-table .button,
.all-tenant-instance-table .button,
.launch-table-all-tenants .button,
.launch-job-list .button {
  min-height: 29px;
  padding: 5px 8px;
  font-size: 11px;
  line-height: 1.15;
  white-space: nowrap;
}

.task-table .badge,
.task-items-table .badge,
.api-table .badge,
.all-tenant-instance-table .badge,
.launch-table-all-tenants .badge {
  min-height: 22px;
  padding: 3px 7px;
  font-size: 11px;
  line-height: 1.1;
  white-space: nowrap;
}

/* Task Center */
.task-table {
  min-width: 1120px;
  table-layout: fixed;
}
.task-table th:nth-child(1), .task-table td:nth-child(1) { width: 54px; }
.task-table th:nth-child(2), .task-table td:nth-child(2) { width: 190px; }
.task-table th:nth-child(3), .task-table td:nth-child(3) { width: 88px; }
.task-table th:nth-child(4), .task-table td:nth-child(4) { width: 190px; }
.task-table th:nth-child(5), .task-table td:nth-child(5) { width: 130px; }
.task-table th:nth-child(6), .task-table td:nth-child(6) { width: 165px; }
.task-table th:nth-child(7), .task-table td:nth-child(7) { width: 158px; white-space: nowrap; }
.task-table th:nth-child(8), .task-table td:nth-child(8) { width: 205px; }
.task-table td:nth-child(8) .row-actions,
.task-table td:nth-child(8) > div {
  justify-content: flex-end;
  gap: 4px;
}
.task-inline-error {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.25;
}

/* Task detail */
.task-items-table {
  min-width: 1050px;
  table-layout: fixed;
}
.task-items-table th:nth-child(1), .task-items-table td:nth-child(1) { width: 54px; }
.task-items-table th:nth-child(2), .task-items-table td:nth-child(2) { width: 170px; }
.task-items-table th:nth-child(3), .task-items-table td:nth-child(3) { width: 95px; }
.task-items-table th:nth-child(4), .task-items-table td:nth-child(4) { width: 140px; }
.task-items-table th:nth-child(5), .task-items-table td:nth-child(5) { width: 170px; }
.task-items-table th:nth-child(6), .task-items-table td:nth-child(6) { width: 300px; }
.task-items-table th:nth-child(7), .task-items-table td:nth-child(7) { width: 165px; white-space: nowrap; }
.task-error-cell {
  max-width: 300px;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45 !important;
}

/* API Management */
.api-table {
  min-width: 1220px !important;
  table-layout: fixed;
}
.api-table th:nth-child(1), .api-table td:nth-child(1) { width: 52px !important; }
.api-table th:nth-child(2), .api-table td:nth-child(2) { width: 210px !important; }
.api-table th:nth-child(3), .api-table td:nth-child(3) { width: 190px !important; }
.api-table th:nth-child(4), .api-table td:nth-child(4) { width: 135px !important; }
.api-table th:nth-child(5), .api-table td:nth-child(5) { width: 108px !important; }
.api-table th:nth-child(6), .api-table td:nth-child(6) { width: 110px !important; }
.api-table th:nth-child(7), .api-table td:nth-child(7) { width: 155px !important; }
.api-table th:nth-child(8), .api-table td:nth-child(8) { width: 108px !important; }
.api-table th:last-child, .api-table td:last-child {
  width: 205px !important;
  min-width: 205px !important;
}
.api-table td:last-child .row-actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 4px;
}

/* Instance Management */
.all-tenant-instance-table {
  min-width: 1280px !important;
  table-layout: fixed;
}
.all-tenant-instance-table th:nth-child(1), .all-tenant-instance-table td:nth-child(1) { width: 50px !important; min-width: 50px !important; }
.all-tenant-instance-table th:nth-child(2), .all-tenant-instance-table td:nth-child(2) { width: 145px !important; min-width: 145px !important; }
.all-tenant-instance-table th:nth-child(3), .all-tenant-instance-table td:nth-child(3) { width: 180px !important; min-width: 180px !important; }
.all-tenant-instance-table th:nth-child(4), .all-tenant-instance-table td:nth-child(4) { width: 84px !important; min-width: 84px !important; }
.all-tenant-instance-table th:nth-child(5), .all-tenant-instance-table td:nth-child(5) { width: 170px !important; min-width: 170px !important; }
.all-tenant-instance-table th:nth-child(6), .all-tenant-instance-table td:nth-child(6) { width: 170px !important; min-width: 170px !important; }
.all-tenant-instance-table th:nth-child(7), .all-tenant-instance-table td:nth-child(7) { width: 135px !important; min-width: 135px !important; }
.all-tenant-instance-table th:nth-child(8), .all-tenant-instance-table td:nth-child(8) { width: 160px !important; min-width: 160px !important; white-space: nowrap; }
.all-tenant-instance-table th:nth-child(9), .all-tenant-instance-table td:nth-child(9) {
  width: 226px !important;
  min-width: 226px !important;
}
.instance-row-actions {
  min-width: 0 !important;
  max-width: none !important;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 4px !important;
}
.instance-row-actions .button {
  min-height: 29px !important;
  padding-inline: 7px !important;
  font-size: 11px !important;
}

/* Launch profile table */
.launch-table-all-tenants {
  min-width: 1200px !important;
  table-layout: fixed;
}
.launch-table-all-tenants th:nth-child(1), .launch-table-all-tenants td:nth-child(1) { width: 205px !important; min-width: 205px !important; }
.launch-table-all-tenants th:nth-child(2), .launch-table-all-tenants td:nth-child(2) { width: 175px !important; min-width: 175px !important; }
.launch-table-all-tenants th:nth-child(3), .launch-table-all-tenants td:nth-child(3) { width: 190px !important; min-width: 190px !important; }
.launch-table-all-tenants th:nth-child(4), .launch-table-all-tenants td:nth-child(4) { width: 120px !important; min-width: 120px !important; }
.launch-table-all-tenants th:nth-child(5), .launch-table-all-tenants td:nth-child(5) { width: 140px !important; min-width: 140px !important; }
.launch-table-all-tenants th:nth-child(6), .launch-table-all-tenants td:nth-child(6) { width: 90px !important; min-width: 90px !important; }
.launch-table-all-tenants th:last-child, .launch-table-all-tenants td:last-child {
  width: 255px !important;
  min-width: 255px !important;
}
.launch-profile-actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 4px !important;
}

/* Launch jobs: table-like 3-column list without changing existing handlers. */
.launch-job-list {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0 !important;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}
.nt-launch-job-head,
.launch-job-card {
  min-width: 960px;
  display: grid !important;
  grid-template-columns: minmax(360px, 1.45fr) minmax(280px, 1fr) minmax(250px, .8fr);
  column-gap: 14px;
  align-items: center;
}
.nt-launch-job-head {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  background: #f6f8fa;
  border-bottom: 1px solid var(--line);
}
.launch-job-card {
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--surface) !important;
}
.launch-job-card:last-child {
  border-bottom: 0 !important;
}
.launch-job-card:hover {
  background: #f3faf8 !important;
}
.launch-job-progress {
  min-width: 0;
}
.launch-job-actions {
  justify-content: flex-end !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px !important;
}

/* Browser-only SSH key generation */
.nt-ssh-auto-card {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: -2px;
  padding: 10px 12px;
  border: 1px solid #cfe6df;
  border-radius: 9px;
  background: #f3faf8;
}
.nt-ssh-auto-copy {
  min-width: 0;
}
.nt-ssh-auto-copy strong,
.nt-ssh-auto-copy span {
  display: block;
}
.nt-ssh-auto-copy strong {
  font-size: 12px;
  color: var(--text);
}
.nt-ssh-auto-copy span {
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.35;
  color: var(--muted);
}
.nt-ssh-auto-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 9px;
}
.nt-ssh-status {
  max-width: 360px;
  font-size: 10px;
  line-height: 1.35;
  color: var(--muted);
}
.nt-ssh-status strong,
.nt-ssh-status span {
  display: block;
}

@media (max-width: 960px) {
  .nt-ssh-auto-card,
  .nt-ssh-auto-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .nt-ssh-status {
    max-width: none;
  }
}
/* END OCI-N&T V1.0.4 1.0.4-launch-key-list1 */

/* BEGIN OCI-N&T V1.0.4 1.0.4-analytics-split-a2-import-fix1 */
#tenant-content:has(.nt-analytics-native-card) {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 14px;
}
#tenant-content .nt-analytics-native-card {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.nt-analytics-native-tab { display: none !important; }
.nt-analytics-native-output-hidden { display: none !important; }
.nt-analytics-rangebar {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  margin: 8px 0 12px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #f8fafb;
}
.nt-analytics-rangebar > span { margin-right: 2px; color: var(--muted); font-size: 10px; font-weight: 700; }
.nt-analytics-rangebar > em { margin-left: auto; color: var(--muted); font-size: 10px; font-style: normal; }
.nt-analytics-rangebar .button.active { border-color: #0f9f83; color: #087562; background: #eaf8f4; }
.nt-analytics-shell { display: grid; gap: 14px; min-width: 0; }
.nt-analytics-placeholder,
.nt-analytics-result-head,
.nt-analytics-chart-card,
.nt-analytics-detail-card {
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.nt-analytics-placeholder { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 76px; padding: 14px 16px; }
.nt-analytics-placeholder strong { font-size: 15px; }
.nt-analytics-placeholder span { color: var(--muted); font-size: 10px; }
.nt-analytics-result-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; }
.nt-analytics-result-head h3 { margin: 0; font-size: 15px; }
.nt-analytics-result-head p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.nt-analytics-result-head details { position: relative; }
.nt-analytics-result-head summary { cursor: pointer; color: var(--muted); font-size: 10px; font-weight: 700; }
.nt-analytics-result-head details[open] pre { position: absolute; z-index: 30; top: 24px; right: 0; width: min(720px,72vw); max-height: 430px; margin: 0; padding: 12px; overflow: auto; border-radius: 9px; color: #dbeafe; font-size: 10px; line-height: 1.45; background: #0f172a; box-shadow: 0 18px 50px rgba(15,23,42,.22); }
.nt-analytics-cost-cards { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.nt-analytics-metric-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.nt-analytics-cost-cards article,
.nt-analytics-metric-cards article { position: relative; min-width: 0; padding: 14px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 2px 7px rgba(22,36,48,.035); }
.nt-analytics-cost-cards article::before,
.nt-analytics-metric-cards article::before { display: block; width: 28px; height: 3px; margin-bottom: 10px; border-radius: 999px; content: ""; background: #7a8792; }
.nt-analytics-cost-cards .total::before { background: #1f2937; }
.nt-analytics-cost-cards .compute::before, .nt-analytics-metric-cards .metric-cpu::before { background: #3878f2; }
.nt-analytics-cost-cards .storage::before, .nt-analytics-metric-cards .metric-memory::before { background: #ee9a3b; }
.nt-analytics-cost-cards .network::before, .nt-analytics-metric-cards .metric-network_in::before { background: #13a58d; }
.nt-analytics-cost-cards .other::before, .nt-analytics-metric-cards .metric-network_out::before { background: #7a8792; }
.nt-analytics-cost-cards span, .nt-analytics-metric-cards span { display: block; color: var(--muted); font-size: 10px; }
.nt-analytics-cost-cards strong, .nt-analytics-metric-cards strong { display: block; margin-top: 5px; overflow: hidden; font-size: 18px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.nt-analytics-cost-cards small, .nt-analytics-metric-cards small { display: block; margin-top: 4px; color: var(--muted); font-size: 9.5px; }
.nt-analytics-chart-card, .nt-analytics-detail-card { overflow: hidden; }
.nt-analytics-chart-card { padding: 13px 15px 9px; }
.nt-analytics-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 34px; }
.nt-analytics-detail-card > .nt-analytics-section-head { padding: 10px 13px; border-bottom: 1px solid var(--line); background: #fbfcfd; }
.nt-analytics-section-head strong { display: block; font-size: 13px; }
.nt-analytics-section-head small { display: block; margin-top: 2px; color: var(--muted); font-size: 9.5px; }
.nt-analytics-chart-legend { display: flex; justify-content: center; gap: 18px; margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.nt-analytics-chart-legend span::before { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; content: ""; }
.nt-legend-compute::before { background:#3878f2; } .nt-legend-storage::before { background:#ee9a3b; } .nt-legend-network::before { background:#13a58d; } .nt-legend-other::before { background:#7a8792; }
.nt-analytics-cost-chart { display:block; width:100%; height:auto; max-height:310px; }
.nt-analytics-grid-line { stroke:#e5eaee; stroke-width:1; }
.nt-analytics-axis-text { fill:#7b8790; font-size:10px; }
.nt-analytics-cost-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.nt-line-compute { stroke:#3878f2; } .nt-line-storage { stroke:#ee9a3b; } .nt-line-network { stroke:#13a58d; } .nt-line-other { stroke:#7a8792; }
.nt-analytics-metric-trends { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:7px; }
.nt-analytics-metric-trends article { min-width:0; padding:10px 11px 8px; border:1px solid var(--line); border-radius:9px; background:#fbfcfd; }
.nt-analytics-metric-trends article > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nt-analytics-metric-trends article strong { font-size:11px; } .nt-analytics-metric-trends article span { color:var(--muted); font-size:9px; }
.nt-analytics-spark { display:block; width:100%; height:105px; margin-top:5px; }
.nt-analytics-axis { stroke:#dce3e8; stroke-width:1; }
.nt-analytics-spark-line { fill:none; stroke:#0f9f83; stroke-width:2.5; vector-effect:non-scaling-stroke; }
.nt-analytics-table-wrap { max-height:500px; overflow:auto; }
.nt-analytics-table { width:100%; min-width:720px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:11px; }
.nt-analytics-table th { position:sticky; z-index:2; top:0; padding:8px 10px; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; text-align:left; white-space:nowrap; background:#f6f8fa; }
.nt-analytics-table td { padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.nt-analytics-table tbody tr:hover td { background:#f3faf8; }
.nt-analytics-table td:last-child, .nt-analytics-table th:last-child { text-align:right; }
.nt-analytics-table code { overflow:hidden; display:block; color:inherit; font-size:10px; text-overflow:ellipsis; white-space:nowrap; background:transparent; }
.nt-analytics-empty { min-height:110px; display:grid; place-items:center; padding:20px; color:var(--muted); font-size:11px; text-align:center; }
.nt-analytics-empty.compact { min-height:86px; padding:10px; }
@media (max-width:1100px) { .nt-analytics-cost-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .nt-analytics-cost-cards .total { grid-column:1/-1; } .nt-analytics-metric-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .nt-analytics-rangebar { align-items:flex-start; flex-wrap:wrap; } .nt-analytics-rangebar > em { width:100%; margin-left:0; } .nt-analytics-cost-cards, .nt-analytics-metric-cards, .nt-analytics-metric-trends { grid-template-columns:1fr; } .nt-analytics-cost-cards .total { grid-column:auto; } .nt-analytics-result-head { align-items:flex-start; flex-direction:column; } }
/* END OCI-N&T V1.0.4 1.0.4-analytics-split-a2-import-fix1 */

/* BEGIN OCI-N&T V1.0.4 1.0.4-analytics-layout-a3 */
.nt-analytics-page-copy-hidden {
  display: none !important;
}

.nt-analytics-onecol-host {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.nt-analytics-onecol-host > .nt-analytics-native-card,
.nt-analytics-onecol-host > .nt-analytics-shell {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.nt-analytics-shell {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.nt-analytics-compact-card {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nt-analytics-native-control-hidden-a3 {
  display: none !important;
}

.nt-analytics-controlbar-a3 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(22, 36, 48, .035);
}

.nt-analytics-control-label-a3 {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.nt-analytics-inline-field-a3 {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  margin-right: 5px;
}

.nt-analytics-inline-field-a3 > span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.nt-analytics-instance-field-a3 {
  width: min(390px, 34vw);
}

.nt-analytics-compact-input {
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: 7px !important;
  font-size: 11px !important;
}

.nt-analytics-instance-select-a3 {
  width: 100%;
  min-width: 190px;
}

.nt-analytics-quick-a3 {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.nt-analytics-quick-a3 .button {
  min-width: 50px;
  min-height: 32px;
  padding: 0 11px;
  border-radius: 7px;
  font-size: 11px;
}

.nt-analytics-quick-a3 .button.active {
  border-color: #0f9f83;
  color: #087562;
  background: #eaf8f4;
  box-shadow: inset 0 0 0 1px rgba(15, 159, 131, .08);
}

.nt-analytics-custom-a3 {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.nt-analytics-custom-a3[hidden] {
  display: none !important;
}

.nt-analytics-date-a3 {
  width: 142px;
}

.nt-analytics-hours-a3 {
  width: 88px;
}

.nt-analytics-date-arrow-a3 {
  color: var(--muted);
  font-size: 11px;
}

.nt-analytics-control-spacer-a3 {
  flex: 1 1 auto;
  min-width: 10px;
}

.nt-analytics-scope-a3 {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}

.nt-analytics-query-a3 {
  flex: 0 0 auto;
  min-width: 88px;
  min-height: 34px;
  padding: 0 15px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 700;
}

.nt-analytics-placeholder {
  width: 100%;
}

.nt-analytics-result-head,
.nt-analytics-chart-card,
.nt-analytics-detail-card,
.nt-analytics-cost-cards,
.nt-analytics-metric-cards {
  width: 100%;
  min-width: 0;
}

@media (max-width: 1180px) {
  .nt-analytics-controlbar-a3 {
    flex-wrap: wrap;
  }

  .nt-analytics-instance-field-a3 {
    width: min(520px, 60vw);
  }

  .nt-analytics-control-spacer-a3 {
    display: none;
  }

  .nt-analytics-scope-a3 {
    margin-left: auto;
  }
}

@media (max-width: 760px) {
  .nt-analytics-controlbar-a3 {
    align-items: stretch;
  }

  .nt-analytics-inline-field-a3,
  .nt-analytics-instance-field-a3 {
    width: 100%;
    margin-right: 0;
  }

  .nt-analytics-control-label-a3 {
    width: 100%;
  }

  .nt-analytics-quick-a3 {
    flex-wrap: wrap;
  }

  .nt-analytics-custom-a3 {
    width: 100%;
    flex-wrap: wrap;
  }

  .nt-analytics-date-a3 {
    flex: 1 1 140px;
  }

  .nt-analytics-scope-a3 {
    width: 100%;
    margin-left: 0;
  }

  .nt-analytics-query-a3 {
    width: 100%;
  }
}
/* END OCI-N&T V1.0.4 1.0.4-analytics-layout-a3 */

/* BEGIN OCI-N&T V1.0.4 A5 ACCOUNT SETTINGS */
.nt-a5-account-settings,
.nt-a5-governance {
  width: 100%;
  min-width: 0;
}

.nt-a5-account-settings {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.nt-a5-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 0 1px;
}

.nt-a5-section-head h2 {
  margin: 0;
  color: #18232d;
  font-size: 18px;
  line-height: 1.25;
}

.nt-a5-section-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.nt-a5-account-info,
.nt-a5-iam-panel,
.nt-a5-danger-panel {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
}

.nt-a5-account-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.nt-a5-account-info-grid .detail-item {
  min-width: 0;
  margin: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.nt-a5-account-info-grid .detail-item > span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.nt-a5-account-info-grid .detail-item > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.nt-a5-account-info-grid .detail-item strong {
  min-width: 0;
  overflow: hidden;
  color: #17232d;
  font-size: 11px;
  line-height: 1.45;
  text-overflow: ellipsis;
}

.nt-a5-account-info-grid .nt-a5-info-wide {
  grid-column: span 2;
  min-width: 0;
}

.nt-a5-account-info-grid .nt-a5-info-wide .detail-item strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 10px;
  white-space: nowrap;
}

.nt-a5-account-info-grid .copy-button {
  flex: 0 0 auto;
}

.nt-a5-iam-panel {
  overflow: visible !important;
}

.nt-a5-iam-panel .panel-head {
  margin-bottom: 10px;
}

.nt-a5-danger-panel {
  border-color: #f1c8c8 !important;
  background: #fffdfd !important;
}

.nt-a5-danger-panel .panel-head h2 {
  color: #9d2c2c;
}

.nt-a5-danger-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}

.nt-a5-governance .nt-a5-governance-audit {
  grid-column: 1 / -1;
}

@media (max-width: 1180px) {
  .nt-a5-account-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nt-a5-account-info-grid .nt-a5-info-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .nt-a5-account-info-grid {
    grid-template-columns: 1fr;
  }
  .nt-a5-account-info-grid .nt-a5-info-wide {
    grid-column: auto;
  }
  .nt-a5-danger-actions .button {
    width: 100%;
  }
}
/* END OCI-N&T V1.0.4 A5 ACCOUNT SETTINGS */

/* BEGIN OCI-N&T V1.0.4 A5.3 ACCOUNT SETTINGS / IAM */
.nt-a53-account-settings {
  display: grid;
  gap: 11px;
}

.nt-a53-account-settings > .panel,
.nt-a53-account-settings > section,
.nt-a53-account-settings > article {
  margin: 0;
}

.nt-a53-account-info,
.nt-a53-iam-panel,
.nt-a53-danger-panel {
  border-radius: 10px !important;
  box-shadow: 0 1px 2px rgba(21, 44, 40, .025);
}

.nt-a53-account-info {
  padding: 13px 14px !important;
}

.nt-a53-account-info .nt-a5-account-info-grid {
  gap: 7px !important;
}

.nt-a53-account-info .nt-a5-account-info-grid > * {
  min-height: 50px;
  padding: 8px 10px !important;
  border-radius: 7px;
}

.nt-a53-account-info .nt-a5-account-info-grid span,
.nt-a53-account-info .nt-a5-account-info-grid small {
  line-height: 1.3;
}

.nt-a53-account-info .nt-a5-account-info-grid strong,
.nt-a53-account-info .nt-a5-account-info-grid code {
  line-height: 1.35;
}

.nt-a53-iam-panel {
  position: relative;
  padding: 13px 14px 14px !important;
}

.nt-a53-iam-panel > h2,
.nt-a53-iam-panel .panel-head h2 {
  margin-bottom: 2px;
}

.nt-a53-iam-panel > p,
.nt-a53-iam-panel .panel-head p {
  margin-top: 0;
  line-height: 1.4;
}

.nt-a53-cache-badge {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  padding: 0 9px;
  border: 1px solid #d9e3e1;
  border-radius: 999px;
  background: #f5f8f8;
  color: #71817e;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}

.nt-a53-cache-badge.is-cached {
  border-color: rgba(10, 145, 118, .22);
  background: rgba(10, 145, 118, .07);
  color: #087a65;
}

.nt-a53-subtitle {
  margin: 12px 0 6px !important;
  font-size: 13px !important;
  line-height: 1.3;
}

.nt-a53-table-wrap {
  overflow-x: auto;
  border-radius: 8px;
}

.nt-a53-iam-table {
  width: 100%;
  margin: 0 0 10px;
  table-layout: auto;
}

.nt-a53-iam-table th {
  height: 31px;
  padding: 6px 9px !important;
  font-size: 10px !important;
  font-weight: 700;
  white-space: nowrap;
}

.nt-a53-iam-table td {
  height: 38px;
  padding: 7px 9px !important;
  font-size: 11px;
  line-height: 1.35;
  vertical-align: middle;
}

.nt-a53-iam-table td small,
.nt-a53-iam-table td code {
  font-size: 9px;
  line-height: 1.25;
}

.nt-a53-iam-panel input:not([type="checkbox"]):not([type="radio"]),
.nt-a53-iam-panel select {
  min-height: 34px !important;
  height: 34px;
  font-size: 11px;
}

.nt-a53-iam-panel .button {
  min-height: 30px;
}

.nt-a53-policy-json-source {
  display: none !important;
}

.nt-a53-policy-editor {
  margin-top: 11px;
  padding: 12px;
  border: 1px solid #dce6e4;
  border-radius: 9px;
  background: #fbfdfd;
}

.nt-a53-policy-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.nt-a53-policy-head h3 {
  margin: 0 0 2px !important;
  font-size: 13px !important;
  line-height: 1.3;
}

.nt-a53-policy-head p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

.nt-a53-policy-state {
  flex: 0 0 auto;
  padding-top: 1px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.nt-a53-policy-state.good {
  color: #087a65;
}

.nt-a53-policy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.nt-a53-policy-length,
.nt-a53-policy-toggle {
  min-height: 72px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 9px 10px !important;
  border: 1px solid #e1e9e7;
  border-radius: 8px;
  background: #fff;
}

.nt-a53-policy-length {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px;
  align-items: center;
  column-gap: 10px;
}

.nt-a53-policy-length > span {
  font-size: 11px;
  font-weight: 700;
}

.nt-a53-policy-length > input {
  width: 84px;
  justify-self: end;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.nt-a53-policy-length > small {
  grid-column: 1 / -1;
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.nt-a53-policy-toggle {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.nt-a53-policy-toggle > div {
  min-width: 0;
}

.nt-a53-policy-toggle strong {
  display: block;
  margin-bottom: 3px;
  font-size: 11px;
  line-height: 1.3;
}

.nt-a53-policy-toggle small {
  display: block;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.nt-a53-policy-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid #e5ecea;
}

.nt-a53-policy-actions .button {
  min-width: 104px;
}

.nt-a53-danger-panel {
  padding: 11px 13px !important;
}

.nt-a53-danger-panel h2 {
  font-size: 13px !important;
}

.nt-a53-danger-panel p {
  margin-top: 2px;
  margin-bottom: 0;
  font-size: 10px;
  line-height: 1.35;
}

.nt-a53-danger-panel .button {
  min-height: 30px;
}

@media (max-width: 1180px) {
  .nt-a53-policy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nt-a53-account-info .nt-a5-account-info-grid {
    grid-template-columns: 1fr !important;
  }

  .nt-a53-policy-grid {
    grid-template-columns: 1fr;
  }

  .nt-a53-policy-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .nt-a53-policy-actions .button {
    width: 100%;
  }

  .nt-a53-cache-badge {
    margin-bottom: 5px;
  }
}
/* END OCI-N&T V1.0.4 A5.3 ACCOUNT SETTINGS / IAM */

/* BEGIN OCI-N&T V1.0.4 1.0.4-identity-domain-policy-a5.5.1 */
.nt-a55-iam-head-actions,
.nt-a54-iam-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.nt-a55-head-button,
.nt-a55-membership-open {
  width: auto !important;
  min-height: 29px !important;
  padding: 5px 10px !important;
  font-size: 11px !important;
  line-height: 1.15;
  white-space: nowrap;
}

.nt-a55-membership-head,
.nt-a55-membership-open {
  flex: 0 0 auto;
}

.nt-a55-membership-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.nt-a55-membership-inline-hidden {
  display: none !important;
}

.nt-a55-dialog {
  width: min(520px, calc(100vw - 32px));
  max-width: 520px;
  padding: 0;
  border: 1px solid var(--line, #d9e2e7);
  border-radius: 12px;
  background: var(--panel, #fff);
  box-shadow: 0 20px 60px rgba(18, 38, 52, .18);
}

.nt-a55-dialog::backdrop {
  background: rgba(18, 38, 52, .32);
}

.nt-a55-dialog-shell {
  margin: 0;
}

.nt-a55-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 12px;
  border-bottom: 1px solid var(--line, #e4ebef);
}

.nt-a55-dialog-head h3 {
  margin: 0 0 3px;
  font-size: 15px;
}

.nt-a55-dialog-head small {
  display: block;
  color: var(--muted, #6d7c85);
  font-size: 10px;
}

.nt-a55-dialog-x {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  font-size: 17px !important;
}

.nt-a55-dialog-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 16px 18px;
}

.nt-a55-dialog-body label,
.nt-a55-domain-selectors label,
.nt-a55-domain-grid label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.nt-a55-dialog-body label > span,
.nt-a55-domain-selectors label > span,
.nt-a55-domain-grid label > span {
  color: var(--text, #1e2d36);
  font-size: 11px;
  font-weight: 650;
}

.nt-a55-dialog-body select,
.nt-a55-domain-selectors select,
.nt-a55-domain-grid select,
.nt-a55-domain-grid input {
  box-sizing: border-box;
  width: 100%;
  min-height: 34px;
}

.nt-a55-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  padding: 12px 18px 16px;
  border-top: 1px solid var(--line, #e4ebef);
}

.nt-a55-domain-policy {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--line, #dce5e9);
  border-radius: 10px;
  background: var(--panel, #fff);
}

.nt-a55-domain-policy-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.nt-a55-domain-policy-head > div:first-child {
  min-width: 0;
}

.nt-a55-domain-policy-head strong {
  display: block;
  margin-bottom: 2px;
  font-size: 13px;
}

.nt-a55-domain-policy-head small {
  display: block;
  color: var(--muted, #6d7c85);
  font-size: 10px;
  line-height: 1.45;
}

.nt-a55-domain-policy-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex: 0 0 auto;
}

.nt-a55-domain-cache {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 8px;
  border: 1px solid rgba(13, 148, 120, .22);
  border-radius: 999px;
  background: rgba(13, 148, 120, .06);
  color: #087a65;
  font-size: 9px;
  font-weight: 650;
  white-space: nowrap;
}

.nt-a55-domain-status {
  margin: 8px 0 10px;
  padding: 8px 10px;
  border: 1px solid var(--line, #e0e8ec);
  border-radius: 8px;
  font-size: 10px;
  line-height: 1.4;
}

.nt-a55-domain-status.good {
  border-color: rgba(13, 148, 120, .24);
  background: rgba(13, 148, 120, .055);
  color: #087a65;
}

.nt-a55-domain-status.warn {
  border-color: rgba(180, 133, 10, .25);
  background: rgba(180, 133, 10, .055);
  color: #8b6808;
}

.nt-a55-domain-status.bad {
  border-color: rgba(209, 62, 62, .24);
  background: rgba(209, 62, 62, .05);
  color: #b52f2f;
}

.nt-a55-domain-status.loading {
  color: var(--muted, #6d7c85);
}

.nt-a55-domain-selectors {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 10px;
}

.nt-a55-domain-policy-meta {
  display: grid;
  grid-template-columns: 2fr 1fr .7fr;
  gap: 8px;
  margin-bottom: 9px;
}

.nt-a55-domain-policy-meta > div {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line, #e0e7eb);
  border-radius: 8px;
  background: rgba(115, 134, 145, .035);
}

.nt-a55-domain-policy-meta span {
  display: block;
  margin-bottom: 2px;
  color: var(--muted, #6d7c85);
  font-size: 9px;
}

.nt-a55-domain-policy-meta strong {
  display: block;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nt-a55-domain-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.nt-a55-domain-grid label {
  min-height: 86px;
  padding: 9px 10px;
  border: 1px solid var(--line, #e0e7eb);
  border-radius: 8px;
  background: rgba(115, 134, 145, .025);
}

.nt-a55-domain-grid label small {
  color: var(--muted, #6d7c85);
  font-size: 9px;
  line-height: 1.35;
}

.nt-a55-domain-grid label small b {
  color: #087a65;
  font-weight: 700;
}

.nt-a55-domain-policy.is-non-custom .nt-a55-custom-field {
  opacity: .58;
}

.nt-a55-domain-save-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 10px;
}

.nt-a55-domain-save-hint {
  margin-right: auto;
  color: var(--muted, #6d7c85);
  font-size: 9px;
}

.nt-a55-domain-policy .button {
  width: auto !important;
  min-height: 29px;
  font-size: 11px;
}

@media (max-width: 980px) {
  .nt-a55-domain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .nt-a55-domain-policy-head,
  .nt-a55-domain-save-row {
    align-items: stretch;
    flex-direction: column;
  }

  .nt-a55-domain-policy-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .nt-a55-domain-selectors,
  .nt-a55-domain-policy-meta,
  .nt-a55-domain-grid {
    grid-template-columns: 1fr;
  }
}
/* END OCI-N&T V1.0.4 1.0.4-identity-domain-policy-a5.5.1 */

/* BEGIN OCI-N&T V1.0.4 1.0.4-final-stabilization1 */
.nt-final-retired,
.nt-final-membership-source,
.nt-final-header-artifact { display: none !important; }

.nt-final-iam-panel {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.nt-final-iam-title-area {
  min-height: 44px !important;
  box-sizing: border-box !important;
  padding-right: 330px !important;
  margin-bottom: 8px !important;
}

.nt-final-iam-title-area > span:empty,
.nt-final-iam-title-area > i:empty,
.nt-final-iam-title-area > em:empty,
.nt-final-iam-title-area > button:empty,
.nt-final-iam-title-area .loading:empty,
.nt-final-iam-title-area .loader:empty,
.nt-final-iam-title-area .spinner:empty { display: none !important; }

.nt-final-iam-toolbar {
  position: absolute !important;
  z-index: 4;
  top: 12px !important;
  right: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  min-height: 30px !important;
}

.nt-final-iam-toolbar > :empty:not(.nt-final-cache) { display: none !important; }

.nt-final-cache {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 9px !important;
  border: 1px solid #d8e2e8 !important;
  border-radius: 999px !important;
  background: #f6f8f8 !important;
  color: #70817e !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}

.nt-final-cache.is-cached {
  border-color: rgba(10,145,118,.23) !important;
  background: rgba(10,145,118,.07) !important;
  color: #087a65 !important;
}

.nt-final-iam-toolbar .button,
.nt-final-iam-toolbar button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 29px !important;
  height: 29px !important;
  padding: 5px 10px !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.nt-final-primary {
  border-color: var(--primary,#0b9f84) !important;
  background: var(--primary,#0b9f84) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.nt-final-membership-bar {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 10px 0 6px !important;
}

.nt-final-membership-bar h1,
.nt-final-membership-bar h2,
.nt-final-membership-bar h3,
.nt-final-membership-bar h4,
.nt-final-membership-bar h5,
.nt-final-membership-bar strong { margin: 0 !important; }

.nt-final-membership-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 4px 9px !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.nt-final-iam-panel table,
.nt-final-iam-panel .table-wrap,
.nt-final-iam-panel [class*="table-wrap"] {
  width: 100% !important;
  max-width: 100% !important;
}

.nt-final-classic-policy,
.nt-final-domain-policy {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

.nt-final-domain-policy { scroll-margin-top: 116px; }
#backup-verify-all { width: auto !important; min-width: 92px; }

@media (max-width: 900px) {
  .nt-final-iam-title-area {
    padding-right: 0 !important;
    padding-top: 42px !important;
  }
  .nt-final-iam-toolbar {
    left: 12px !important;
    right: auto !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}
/* END OCI-N&T V1.0.4 1.0.4-final-stabilization1 */

/* BEGIN OCI-N&T V1.0.4 1.0.4-r2.1-iam-actions */
/* R2.2 retired legacy CSS controller: R2.1 */
/* END OCI-N&T V1.0.4 1.0.4-r2.1-iam-actions */

/* BEGIN OCI-N&T V1.0.4 1.0.4-r2.2-iam-ui-source-cleanup */
.nt-a53-cache-badge,
.nt-a54-cache-badge,
[data-cache-category="iam"]:not(.nt-final-cache) {
  display: none !important;
}

.nt-r22-iam-panel {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.nt-r22-iam-panel .nt-final-iam-title-area {
  min-height: 40px !important;
  padding-right: 330px !important;
  margin-bottom: 8px !important;
}

.nt-r22-iam-toolbar {
  position: absolute !important;
  z-index: 8 !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
  min-height: 29px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nt-r22-iam-toolbar .nt-final-cache {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 27px !important;
  width: auto !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.nt-r22-iam-toolbar button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 29px !important;
  min-height: 29px !important;
  padding: 5px 10px !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.nt-r22-iam-toolbar .nt-final-primary {
  border-color: var(--primary,#0b9f84) !important;
  background: var(--primary,#0b9f84) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.nt-r22-iam-panel .nt-final-retired,
.nt-r22-iam-panel .nt-final-header-artifact,
.nt-r22-iam-panel .nt-a54-iam-head-actions,
.nt-r22-iam-panel .nt-a55-iam-head-actions,
.nt-r22-iam-panel .nt-a552-iam-toolbar,
.nt-r22-iam-panel .nt-a553-iam-toolbar,
.nt-r22-iam-panel .nt-a554-toolbar,
.nt-r22-iam-panel .nt-r21-actions {
  display: none !important;
}

.nt-r22-iam-panel .nt-final-membership-source,
.nt-r22-iam-panel .nt-a55-membership-inline-hidden {
  display: none !important;
}

.nt-r22-iam-panel .nt-final-membership-bar {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 10px 0 6px !important;
}

.nt-r22-iam-panel .nt-final-membership-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 4px 9px !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  font-size: 10px !important;
}

.nt-final-domain-policy,
.nt-a55-domain-policy {
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

@media (max-width: 800px) {
  .nt-r22-iam-panel .nt-final-iam-title-area {
    padding-right: 0 !important;
    padding-top: 42px !important;
  }
  .nt-r22-iam-toolbar {
    left: 12px !important;
    right: auto !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}
/* END OCI-N&T V1.0.4 1.0.4-r2.2-iam-ui-source-cleanup */

/* BEGIN OCI-N&T V1.0.4 1.0.4-r2.4-cache-layout-stable */
.nt-r22-iam-panel .nt-a55-membership-head:not(.nt-final-membership-bar) {
  display: block !important;
  width: 100% !important;
}

.nt-r22-iam-panel .nt-a53-subtitle,
.nt-r22-iam-panel .nt-a53-table-wrap,
.nt-r22-iam-panel .nt-a53-iam-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.nt-r22-iam-panel .nt-a53-subtitle {
  display: block !important;
  clear: both !important;
}

.nt-r22-iam-panel .nt-a53-table-wrap {
  display: block !important;
  overflow-x: auto !important;
  margin: 0 0 10px !important;
}

.nt-r22-iam-panel .nt-a53-iam-table {
  display: table !important;
  table-layout: auto !important;
}

.nt-r22-iam-panel > .nt-final-membership-bar {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
}
/* END OCI-N&T V1.0.4 1.0.4-r2.4-cache-layout-stable */

/* OCI-N&T red-white logo override: start */
.brand-mark,
.header-logo {
  background: #ffffff !important;
  color: #dc2626 !important;
  border: 2px solid #dc2626 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.brand-mark {
  border-radius: 14px !important;
}

.header-logo {
  border-radius: 10px !important;
}
/* OCI-N&T red-white logo override: end */

/* BEGIN OCI-N&T V1.0.4 1.0.4-adaptive-launch-c2 */
.nt-scheduler-panel {
  margin-bottom: 14px;
}
.nt-scheduler-panel-compact {
  padding-bottom: 10px;
}
.nt-scheduler-head-compact {
  align-items: center;
  gap: 12px;
}
.nt-scheduler-head-compact h2 {
  margin-bottom: 4px;
}
.nt-scheduler-head-compact p {
  max-width: 860px;
  margin: 0;
}
.nt-scheduler-actions-top {
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}
.nt-scheduler-toggle-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 11px;
  border: 1px solid var(--border, #dfe7e7);
  border-radius: 999px;
  background: #effaf4;
  color: #0d6f4a;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.nt-scheduler-toggle-chip.disabled {
  background: #f4f7f8;
  color: #71808a;
}
.nt-scheduler-toggle-chip input {
  margin: 0;
}

.nt-scheduler-summary-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--border, #dfe7e7);
  border-radius: 10px;
  background: var(--surface-muted, #f7f9f9);
  font-size: 13px;
}
.nt-scheduler-summary-line span {
  color: var(--muted, #5f6d77);
  white-space: nowrap;
}
.nt-scheduler-summary-line strong {
  margin-right: 4px;
  color: var(--text, #111827);
  font-size: 18px;
}
.nt-scheduler-isolation {
  margin-left: auto;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.nt-scheduler-isolation.good {
  color: #117a53;
  background: #e9f9f2;
}
.nt-scheduler-isolation.warn {
  color: #8b5d00;
  background: #fff4d9;
}
.nt-scheduler-isolation.muted {
  color: #5f6d77;
  background: #eef2f4;
}
.nt-scheduler-form-compact {
  border-top: 1px solid var(--border, #dfe7e7);
  padding-top: 12px;
}
.nt-scheduler-basic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
}
.nt-scheduler-basic-grid label,
.nt-scheduler-advanced-grid label {
  min-width: 0;
}
.nt-scheduler-basic-grid label > span,
.nt-scheduler-advanced-grid label > span {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted, #66757f);
}
.nt-scheduler-basic-grid input,
.nt-scheduler-advanced-grid input {
  width: 100%;
}
.nt-scheduler-range > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
}
.nt-scheduler-range em {
  color: var(--muted, #71808a);
  font-style: normal;
  font-weight: 700;
}
.nt-scheduler-advanced {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--border, #dfe7e7);
}
.nt-scheduler-advanced > summary {
  cursor: pointer;
  font-weight: 800;
  list-style-position: inside;
}
.nt-scheduler-advanced-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  margin-top: 10px;
}
.nt-scheduler-form-footer-compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border, #dfe7e7);
}
.nt-scheduler-form-footer-compact .page-toolbar {
  gap: 8px;
}
.nt-scheduler-runtime-compact {
  margin-top: 12px;
  border-top: 1px solid var(--border, #dfe7e7);
  padding-top: 10px;
}
.nt-scheduler-runtime-compact > summary {
  cursor: pointer;
  font-weight: 800;
  list-style-position: inside;
}
.nt-scheduler-runtime-compact > summary span {
  margin-left: 8px;
  color: var(--muted, #71808a);
  font-size: 12px;
  font-weight: 500;
}
.nt-scheduler-warning {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #f2c96d;
  border-radius: 9px;
  background: #fff9e9;
  color: #775b11;
  font-size: 12px;
  line-height: 1.55;
}
.nt-scheduler-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  margin-top: 10px;
}
.nt-scheduler-table th,
.nt-scheduler-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--border, #e5ebeb);
  text-align: left;
  vertical-align: middle;
}
.nt-scheduler-table td:first-child strong,
.nt-scheduler-table td:first-child small {
  display: block;
}
.nt-scheduler-table td:first-child small {
  margin-top: 2px;
  color: var(--muted, #71808a);
}
@media (max-width: 1180px) {
  .nt-scheduler-basic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nt-scheduler-advanced-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .nt-scheduler-head-compact,
  .nt-scheduler-form-footer-compact {
    align-items: flex-start;
    flex-direction: column;
  }
  .nt-scheduler-actions-top,
  .nt-scheduler-form-footer-compact .page-toolbar {
    width: 100%;
    flex-wrap: wrap;
  }
  .nt-scheduler-basic-grid,
  .nt-scheduler-advanced-grid {
    grid-template-columns: 1fr;
  }
  .nt-scheduler-isolation {
    margin-left: 0;
  }
}
/* END OCI-N&T V1.0.4 1.0.4-adaptive-launch-c2 */

/* BEGIN OCI-N&T V1.0.4 1.0.4-adaptive-launch-c2.2-ui-consistency */
.nt-scheduler-overview-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border-left: 3px solid #18aa89;
  border-radius: 8px;
  background: #eefaf6;
}
.nt-scheduler-overview-strip > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.nt-scheduler-overview-strip strong {
  color: #0d7c64;
  font-size: 13px;
}
.nt-scheduler-overview-strip span {
  color: var(--muted, #66757f);
  font-size: 12px;
}
.nt-scheduler-overview-strip span.good { color: #117a53; }
.nt-scheduler-overview-strip span.warn { color: #9a6500; }
.nt-scheduler-overview-strip span.muted { color: var(--muted, #66757f); }
.nt-scheduler-overview-strip small {
  color: var(--muted, #71808a);
  white-space: nowrap;
}
.nt-scheduler-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.nt-scheduler-stat-card {
  position: relative;
  min-width: 0;
  padding: 14px 16px 13px;
  border: 1px solid var(--border, #dfe7e7);
  border-radius: 11px;
  background: var(--surface, #fff);
  overflow: hidden;
}
.nt-scheduler-stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #18aa89;
}
.nt-scheduler-stat-card.tone-blue::before { background: #3b82f6; }
.nt-scheduler-stat-card.tone-purple::before { background: #8b5cf6; }
.nt-scheduler-stat-card.tone-orange::before { background: #f59e0b; }
.nt-scheduler-stat-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.nt-scheduler-stat-card > div > span {
  font-size: 13px;
  font-weight: 800;
  color: var(--text, #111827);
}
.nt-scheduler-stat-card > strong {
  display: block;
  margin: 7px 0 2px;
  font-size: 26px;
  line-height: 1;
  color: var(--text, #111827);
}
.nt-scheduler-stat-card > small {
  display: block;
  color: var(--muted, #71808a);
  font-size: 11px;
}
.nt-stat-badge {
  padding: 3px 8px;
  border-radius: 999px;
  background: #eaf8f4;
  color: #11856b;
  font-size: 10px;
  font-weight: 800;
}
.nt-scheduler-stat-card.tone-blue .nt-stat-badge {
  background: #edf4ff;
  color: #2774d8;
}
.nt-scheduler-stat-card.tone-purple .nt-stat-badge {
  background: #f3edff;
  color: #7b46d9;
}
.nt-scheduler-stat-card.tone-orange .nt-stat-badge {
  background: #fff4df;
  color: #b86b00;
}
/* Hide obsolete C2.1 summary-line style if browser retains stale DOM during HMR-like refresh. */
.nt-scheduler-summary-line { display: none !important; }
@media (max-width: 1180px) {
  .nt-scheduler-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nt-scheduler-overview-strip { align-items: flex-start; flex-direction: column; }
  .nt-scheduler-overview-strip small { white-space: normal; }
  .nt-scheduler-stat-grid { grid-template-columns: 1fr; }
}
/* END OCI-N&T V1.0.4 1.0.4-adaptive-launch-c2.2-ui-consistency */

/* BEGIN OCI-N&T V1.0.4 1.0.5-alert-health-taskcenter1 */
.account-check-schedule-card .account-check-schedule-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-column:1/-1}
.account-check-schedule-card .account-check-schedule-status>div{min-width:0;padding:10px 12px;border:1px solid var(--border,rgba(120,130,150,.22));border-radius:10px;background:var(--surface-soft,rgba(120,130,150,.05))}
.account-check-schedule-card .account-check-schedule-status span{display:block;margin-bottom:4px;font-size:12px;opacity:.72}
.account-check-schedule-card .account-check-schedule-status strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-check-schedule-card .account-check-schedule-alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1/-1;padding:10px 0 2px}
.account-check-schedule-card .account-check-schedule-alert-grid label{min-width:0}
.account-check-schedule-card .account-check-schedule-alert-grid small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.account-check-schedule-card .account-check-schedule-footer-actions{display:flex;align-items:center;gap:8px}
@media(max-width:900px){.account-check-schedule-card .account-check-schedule-alert-grid{grid-template-columns:1fr}}
@media(max-width:760px){.account-check-schedule-card .account-check-schedule-status{grid-template-columns:1fr}.account-check-schedule-card .account-check-schedule-footer-actions{width:100%}.account-check-schedule-card .account-check-schedule-footer-actions .button{flex:1 1 auto}}
/* END OCI-N&T V1.0.4 1.0.5-alert-health-taskcenter1 */

/* BEGIN OCI-N&T V1.0.4 API_SCHEDULE_UI_ALIGN3 */
.account-check-schedule-card {
  padding: 16px 18px 16px !important;
}

.account-check-schedule-card .panel-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 42px !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
}

.account-check-schedule-card .panel-head > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.account-check-schedule-card .panel-head h2 {
  margin: 0 0 4px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.account-check-schedule-card .panel-head p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  opacity: .72;
}

.account-check-schedule-head-actions {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 0 0 14px !important;
  white-space: nowrap;
}

.account-check-schedule-switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  flex: 0 0 40px;
}

.account-check-schedule-switch #account-check-schedule-enabled {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
  width: 40px !important;
  height: 22px !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer;
}

.account-check-schedule-switch-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #d8e0e7;
  transition: background .18s ease;
  cursor: pointer;
}

.account-check-schedule-switch-slider::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
  transition: transform .18s ease;
}

.account-check-schedule-switch input:checked + .account-check-schedule-switch-slider {
  background: var(--primary, #10a087);
}

.account-check-schedule-switch input:checked + .account-check-schedule-switch-slider::after {
  transform: translateX(18px);
}

.account-check-schedule-card #account-check-schedule-toggle {
  min-width: 108px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-size: 12px !important;
  line-height: 32px !important;
  font-weight: 700 !important;
}

.account-check-schedule-card #account-check-schedule-toggle[aria-pressed="false"] {
  color: var(--primary, #0f9f88) !important;
  border-color: rgba(15,159,136,.35) !important;
}

.account-check-schedule-card #account-check-schedule-toggle[aria-pressed="true"] {
  color: #dc4d41 !important;
  border-color: rgba(220,77,65,.35) !important;
}

.account-check-schedule-card .account-check-schedule-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 14px !important;
  row-gap: 10px !important;
  align-items: start !important;
}

.account-check-schedule-card .account-check-schedule-grid > label {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.account-check-schedule-card .account-check-schedule-grid > label > span {
  display: block !important;
  height: 17px !important;
  margin: 0 0 6px !important;
  font-size: 12px !important;
  line-height: 17px !important;
  font-weight: 600 !important;
}

.account-check-schedule-card .account-check-schedule-grid input,
.account-check-schedule-card .account-check-schedule-grid select {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
}

.account-check-schedule-card .account-check-schedule-grid small {
  display: block !important;
  min-height: 15px !important;
  margin: 5px 0 0 !important;
  font-size: 11px !important;
  line-height: 15px !important;
  opacity: .68;
}

.account-check-schedule-card .account-check-schedule-status {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-column: 1 / -1 !important;
  gap: 10px !important;
  margin-top: 0 !important;
}

.account-check-schedule-card .account-check-schedule-status > div {
  min-width: 0 !important;
  min-height: 56px !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
}

.account-check-schedule-card .settings-card-footer {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 2px !important;
  padding-top: 12px !important;
}

.account-check-schedule-card #account-check-schedule-summary {
  flex: 1 1 auto;
  min-width: 0;
}

.account-check-schedule-card .account-check-schedule-footer-actions {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

@media (max-width: 900px) {
  .account-check-schedule-card .account-check-schedule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .account-check-schedule-card .panel-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .account-check-schedule-head-actions {
    margin-left: 0 !important;
  }

  .account-check-schedule-card .account-check-schedule-grid,
  .account-check-schedule-card .account-check-schedule-status {
    grid-template-columns: 1fr !important;
  }

  .account-check-schedule-card .settings-card-footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .account-check-schedule-card .account-check-schedule-footer-actions {
    width: 100%;
  }

  .account-check-schedule-card .account-check-schedule-footer-actions .button {
    flex: 1 1 0;
  }
}
/* END OCI-N&T V1.0.4 API_SCHEDULE_UI_ALIGN3 */

/* BEGIN OCI-N&T V1.0.4 1.0.5-alert-health-taskcenter1 HEALTH TASK CENTER */
.compact-account-filter .account-filter-bar {
  grid-template-columns:minmax(112px,.72fr) minmax(132px,.86fr) minmax(120px,.76fr) minmax(210px,1.25fr) minmax(220px,1.55fr) auto !important;
}
.task-filter-bar {
  grid-template-columns:minmax(160px,220px) minmax(160px,220px) minmax(145px,190px) auto 1fr !important;
}
.task-table {min-width:1380px !important;table-layout:fixed !important}
.task-table th:nth-child(1),.task-table td:nth-child(1){width:58px !important}
.task-table th:nth-child(2),.task-table td:nth-child(2){width:200px !important}
.task-table th:nth-child(3),.task-table td:nth-child(3){width:95px !important}
.task-table th:nth-child(4),.task-table td:nth-child(4){width:92px !important}
.task-table th:nth-child(5),.task-table td:nth-child(5){width:165px !important}
.task-table th:nth-child(6),.task-table td:nth-child(6){width:145px !important}
.task-table th:nth-child(7),.task-table td:nth-child(7){width:170px !important}
.task-table th:nth-child(8),.task-table td:nth-child(8){width:95px !important;white-space:nowrap}
.task-table th:nth-child(9),.task-table td:nth-child(9){width:160px !important;white-space:nowrap}
.task-table th:nth-child(10),.task-table td:nth-child(10){width:220px !important}
.task-table td:nth-child(10) .row-actions{justify-content:flex-end;gap:4px}
@media(max-width:1180px){
  .compact-account-filter .account-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .compact-account-filter .filter-search{grid-column:1/-1}
}
@media(max-width:920px){.task-filter-bar{grid-template-columns:1fr 1fr !important}.task-filter-count{justify-self:start}}
@media(max-width:620px){.task-filter-bar{grid-template-columns:1fr !important}}
/* END OCI-N&T V1.0.4 1.0.5-alert-health-taskcenter1 HEALTH TASK CENTER */



/* OCI-N&T launch-login-mode1 */
.launch-retry-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.launch-retry-grid > label {
  min-width: 0;
  width: 100%;
}
.launch-retry-grid input,
.launch-retry-grid select {
  width: 100%;
}
.launch-password-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}
.launch-password-control .button {
  min-height: 40px;
  white-space: nowrap;
}
#tenant-launch-root-password-field[hidden],
#tenant-launch-ssh-field[hidden] {
  display: none !important;
}
@media (max-width: 760px) {
  .launch-retry-grid {
    grid-template-columns: 1fr;
  }
  .launch-password-control {
    grid-template-columns: 1fr 1fr;
  }
  .launch-password-control input {
    grid-column: 1 / -1;
  }
}


/* OCI-N&T security-table1 */
.security-summary-panel {
  display: grid;
  gap: 14px;
}
.security-summary-grid {
  display: grid;
  grid-template-columns:
    minmax(160px, .65fr)
    minmax(320px, 1.35fr)
    minmax(240px, 1fr);
  gap: 14px;
  align-items: end;
}
.security-summary-grid label {
  min-width: 0;
}
.security-summary-grid input,
.security-summary-grid select {
  width: 100%;
}
.security-summary-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.security-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 4px;
  border-radius: 9px;
  background: #f1f5f6;
}
.security-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
}
.security-tabs button.active {
  background: #fff;
  color: var(--primary);
  box-shadow: 0 1px 4px rgba(15, 23, 42, .09);
}
.security-rule-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 16px 0 10px;
}
.security-rule-toolbar strong,
.security-rule-toolbar small {
  display: block;
}
.security-rule-toolbar small {
  margin-top: 3px;
  color: var(--muted);
}
.security-rule-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.security-rule-table th,
.security-rule-table td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.security-rule-table th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  background: #f7f9fa;
}
.security-rule-table th:nth-child(1) { width: 64px; }
.security-rule-table th:nth-child(2) { width: 90px; }
.security-rule-table th:nth-child(3) { width: 90px; }
.security-rule-table th:nth-child(4) { width: 22%; }
.security-rule-table th:nth-child(5) { width: 120px; }
.security-rule-table th:nth-child(6) { width: 90px; }
.security-rule-table th:nth-child(8) { width: 150px; }
.security-sequence {
  text-align: center !important;
}
.security-row-actions {
  flex-wrap: nowrap;
}
.security-empty {
  min-height: 180px;
}
.security-empty strong,
.security-empty span {
  display: block;
}
.security-empty span {
  margin-top: 5px;
  color: var(--muted);
}
@media (max-width: 1050px) {
  .security-summary-grid {
    grid-template-columns: 1fr 1fr;
  }
  .security-summary-grid label:last-child {
    grid-column: 1 / -1;
  }
  .security-rule-table {
    min-width: 920px;
  }
}
@media (max-width: 680px) {
  .security-summary-grid {
    grid-template-columns: 1fr;
  }
  .security-summary-grid label:last-child {
    grid-column: auto;
  }
  .security-summary-actions,
  .security-rule-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
}


/* OCI-N&T 1.0.5 tenant-cache1 */
#tenant-content .rc-control-grid:has(#rc-network-instance) {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(700px, 1.8fr);
  align-items: end;
  gap: 12px;
}

#tenant-content .rc-control-grid:has(#rc-network-instance) .rc-actions-bottom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
  margin: 0;
}

#tenant-content .rc-control-grid:has(#rc-network-instance) .button {
  min-height: 34px;
  white-space: nowrap;
}

@media (max-width: 1280px) {
  #tenant-content .rc-control-grid:has(#rc-network-instance) {
    grid-template-columns: 1fr;
  }

  #tenant-content .rc-control-grid:has(#rc-network-instance) .rc-actions-bottom {
    justify-content: flex-start;
  }
}



/* OCI-N&T compact tenant instances and automatic metrics UI */
#tenant-content > .tenant-toolbar {
  margin: 20px 0 14px;
  min-height: auto;
  align-items: center;
}

#tenant-content > .tenant-toolbar h2 {
  margin: 0 0 4px;
  font-size: 18px;
  line-height: 1.25;
}

#tenant-content > .tenant-toolbar p {
  margin: 0;
  line-height: 1.45;
}

#tenant-content .instance-list {
  display: grid;
  gap: 12px;
}

#tenant-content .instance-card {
  display: grid;
  grid-template-columns:
    minmax(250px, 1.45fr)
    minmax(120px, .62fr)
    minmax(170px, .82fr)
    minmax(170px, .82fr)
    minmax(300px, auto);
  align-items: center;
  gap: 16px;
  min-height: 0;
  padding: 18px 16px;
  border-radius: 12px;
}

#tenant-content .instance-card > div {
  min-width: 0;
}

#tenant-content .instance-card strong,
#tenant-content .instance-card span {
  line-height: 1.35;
}

#tenant-content .instance-card small {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tenant-content .instance-card .mono {
  max-width: 100%;
  white-space: nowrap;
}

#tenant-content .instance-card .instance-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

#tenant-content .instance-card .instance-actions .button {
  min-width: 0;
  min-height: 34px;
  padding: 6px 12px;
  white-space: nowrap;
}

.nt-analytics-native-card {
  margin-top: 10px;
}

.nt-analytics-native-card .nt-analytics-query-a3,
.nt-analytics-native-card button {
  white-space: nowrap;
}

#nt-instance-metrics-shell {
  margin-top: 14px;
}

#nt-instance-metrics-shell .nt-metric-summary-grid,
#nt-instance-metrics-shell .nt-analytics-summary {
  gap: 12px;
}

#nt-instance-metrics-shell .panel,
#nt-instance-metrics-shell article {
  border-radius: 10px;
}

@media (max-width: 1500px) {
  #tenant-content .instance-card {
    grid-template-columns:
      minmax(220px, 1.25fr)
      minmax(110px, .55fr)
      minmax(150px, .75fr)
      minmax(150px, .75fr);
  }

  #tenant-content .instance-card .instance-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 4px;
    border-top: 1px dashed var(--border);
  }
}

@media (max-width: 900px) {
  #tenant-content .instance-card {
    grid-template-columns: 1fr 1fr;
  }

  #tenant-content .instance-card .instance-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* BEGIN OCI-N&T metrics-ui-fast2 */
.tenant-content {
  min-height: 0 !important;
}

#tenant-content > .tenant-instance-head {
  margin: 18px 0 10px !important;
}

#tenant-content > .tenant-instance-head h2 {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 17px !important;
}

#tenant-content > .tenant-instance-head p {
  font-size: 11px !important;
}

#tenant-content .tenant-instance-panel {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  align-self: start !important;
  border-radius: 11px !important;
  overflow: hidden !important;
  background: #fff;
}

#tenant-content .tenant-instance-table-wrap {
  min-height: 0 !important;
  height: auto !important;
  overflow-x: auto;
}

#tenant-content .tenant-instance-table {
  min-width: 980px !important;
  table-layout: fixed;
}

#tenant-content .tenant-instance-table th {
  height: 38px;
  padding: 9px 13px !important;
  font-size: 11px !important;
  vertical-align: middle;
}

#tenant-content .tenant-instance-table td {
  height: 72px !important;
  padding: 10px 13px !important;
  vertical-align: middle !important;
}

#tenant-content .tenant-instance-table th:nth-child(1),
#tenant-content .tenant-instance-table td:nth-child(1) {
  width: 29%;
}

#tenant-content .tenant-instance-table th:nth-child(2),
#tenant-content .tenant-instance-table td:nth-child(2) {
  width: 10%;
}

#tenant-content .tenant-instance-table th:nth-child(3),
#tenant-content .tenant-instance-table td:nth-child(3) {
  width: 17%;
}

#tenant-content .tenant-instance-table th:nth-child(4),
#tenant-content .tenant-instance-table td:nth-child(4) {
  width: 14%;
}

#tenant-content .tenant-instance-table th:nth-child(5),
#tenant-content .tenant-instance-table td:nth-child(5) {
  width: 30%;
  text-align: right;
}

#tenant-content .tenant-instance-table strong {
  font-size: 12px;
  line-height: 1.35;
}

#tenant-content .tenant-instance-table small {
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.3;
}

#tenant-content .tenant-instance-ocid {
  max-width: 100% !important;
  opacity: .78;
}

#tenant-content .tenant-instance-table .badge {
  padding: 4px 7px;
  font-size: 10px;
}

#tenant-content .tenant-instance-table .instance-actions {
  min-width: 0 !important;
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 5px;
}

#tenant-content .tenant-instance-table .instance-actions .button {
  min-width: 0;
  min-height: 31px;
  height: 31px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 11px;
  white-space: nowrap;
}

#tenant-content:has(.nt-analytics-native-card) {
  align-content: start !important;
  gap: 10px !important;
}

.nt-analytics-native-card {
  margin-top: 4px !important;
}

.nt-analytics-controlbar-a3 {
  min-height: 52px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

#nt-instance-metrics-shell {
  margin-top: 0 !important;
  gap: 10px !important;
}

.nt-analytics-result-head {
  padding: 10px 13px !important;
}

.nt-analytics-metric-cards {
  gap: 8px !important;
}

.nt-analytics-metric-cards article {
  padding: 11px 13px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

.nt-analytics-metric-cards article::before {
  margin-bottom: 7px !important;
}

.nt-analytics-chart-card {
  padding: 10px 12px 7px !important;
}

.nt-analytics-metric-trends {
  gap: 8px !important;
}

.nt-analytics-metric-trends article {
  padding: 8px 10px 6px !important;
}

.nt-analytics-spark {
  height: 88px !important;
}

.nt-analytics-table-wrap {
  max-height: 390px !important;
}

.nt-metrics-loading-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.nt-metrics-loading-head strong,
.nt-metrics-loading-head span {
  display: block;
}

.nt-metrics-loading-head strong {
  font-size: 14px;
}

.nt-metrics-loading-head div > span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.nt-metrics-loading-badge {
  padding: 5px 9px;
  border-radius: 999px;
  color: #087562;
  font-size: 10px;
  font-weight: 700;
  background: #eaf8f4;
}

.nt-metrics-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.nt-metrics-skeleton-grid article {
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}

.nt-metrics-skeleton-grid span,
.nt-metrics-skeleton-grid small {
  display: block;
  color: var(--muted);
  font-size: 10px;
}

.nt-metrics-skeleton-grid i {
  display: block;
  width: 56%;
  height: 18px;
  margin: 9px 0 7px;
  border-radius: 5px;
  background: linear-gradient(
    90deg,
    #edf1f3 25%,
    #f8fafb 50%,
    #edf1f3 75%
  );
  background-size: 200% 100%;
  animation: nt-metrics-loading 1.1s linear infinite;
}

@keyframes nt-metrics-loading {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}

@media (max-width: 1050px) {
  .nt-metrics-skeleton-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tenant-content .tenant-instance-table .instance-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 650px) {
  .nt-metrics-skeleton-grid {
    grid-template-columns: 1fr;
  }
}
/* END OCI-N&T metrics-ui-fast2 */

/* BEGIN OCI-N&T metrics-cache-launch-fix */
.nt-analytics-result-head h3 {
  display: flex;
  align-items: center;
  gap: 7px;
}

.nt-metrics-cache-tag,
.nt-metrics-live-tag {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 9px;
  line-height: 1;
  font-weight: 700;
}

.nt-metrics-cache-tag {
  color: #66717c;
  background: #eef2f4;
}

.nt-metrics-live-tag {
  color: #087562;
  background: #e8f8f3;
}

.launch-side-panel {
  min-height: 0 !important;
  height: fit-content !important;
  align-self: start !important;
}

.launch-side-body {
  min-height: 0 !important;
}

.launch-profile-content .empty.compact {
  min-height: 90px !important;
  padding: 18px 12px !important;
}

.launch-profile-toolbar {
  margin-bottom: 10px !important;
}

.launch-profile-card {
  padding: 10px !important;
  border-radius: 9px !important;
}
/* END OCI-N&T metrics-cache-launch-fix */

/* BEGIN OCI-N&T launch-ui-clean3 */
.launch-workspace-v2 {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 12px !important;
  align-items: start !important;
}

.launch-workspace-v2:has(.launch-side-empty) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.launch-side-empty {
  display: none !important;
}

.launch-editor {
  padding: 14px !important;
  border-radius: 11px !important;
}

.launch-editor-head {
  align-items: center !important;
  min-height: 42px;
  margin-bottom: 10px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.launch-editor-head h2 {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.3;
}

.launch-editor-head p {
  margin: 3px 0 0 !important;
  font-size: 10px !important;
  line-height: 1.4;
}

.launch-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex: 0 0 auto;
}

.launch-head-actions .button {
  min-height: 32px;
  height: 32px;
  padding: 0 11px;
  border-radius: 7px;
  font-size: 11px;
  white-space: nowrap;
}

.launch-section {
  margin-top: 10px !important;
  padding: 12px !important;
  border-radius: 10px !important;
}

.launch-section-title {
  min-height: 28px;
  margin-bottom: 9px !important;
}

.launch-section-title > span {
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
}

.launch-section-title strong {
  font-size: 13px !important;
}

.launch-section-title small {
  margin-top: 1px !important;
  font-size: 9.5px !important;
}

.launch-presets {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px !important;
  margin: 8px 0 12px !important;
}

.launch-presets button {
  min-height: 54px;
  padding: 9px 11px !important;
  border-radius: 9px !important;
  cursor: pointer;
  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease;
}

.launch-presets button:hover {
  border-color: rgba(15,159,136,.55);
  transform: translateY(-1px);
}

.launch-presets button.active {
  border-color: #0f9f88 !important;
  color: #087562 !important;
  background: #eaf8f4 !important;
  box-shadow: inset 0 0 0 1px rgba(15,159,136,.08);
}

.launch-presets button strong {
  font-size: 12px;
}

.launch-presets button small {
  margin-top: 2px !important;
  font-size: 9.5px;
}

.launch-basic-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px 12px !important;
}

.launch-basic-grid label,
.launch-retry-grid label {
  min-width: 0;
}

.launch-section label > span {
  margin-bottom: 5px !important;
  font-size: 10.5px !important;
  line-height: 1.3;
}

.launch-section input,
.launch-section select {
  min-height: 37px !important;
  height: 37px !important;
  padding: 0 10px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

.launch-section label small {
  min-height: 13px !important;
  margin-top: 4px !important;
  font-size: 9px !important;
  line-height: 1.3 !important;
}

.launch-retry-section {
  padding-bottom: 11px !important;
}

.launch-interval-presets {
  min-height: 32px;
  margin: 6px 0 10px !important;
}

.launch-interval-presets > span {
  font-size: 10px !important;
}

.launch-interval-presets button {
  min-height: 30px;
  padding: 0 10px !important;
  border-radius: 7px !important;
  font-size: 10.5px;
}

.launch-retry-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px 12px !important;
}

.launch-password-control {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 6px !important;
}

.launch-password-control .button {
  min-height: 37px !important;
  height: 37px !important;
  padding: 0 10px !important;
  font-size: 10px !important;
}

.launch-auto-card {
  margin-top: 10px !important;
  padding: 11px 12px !important;
  border-radius: 10px !important;
}

.launch-auto-title {
  gap: 9px !important;
}

.launch-auto-title strong {
  font-size: 12px !important;
}

.launch-auto-title p {
  margin-top: 2px !important;
  font-size: 9.5px !important;
  line-height: 1.4;
}

.launch-state {
  min-width: 44px;
  padding: 5px 7px !important;
  font-size: 9px !important;
}

.launch-env-chips {
  gap: 7px !important;
  margin-top: 8px !important;
}

.launch-env-chips > span {
  min-height: 47px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
}

.launch-env-chips small {
  font-size: 8.5px !important;
}

.launch-env-chips strong {
  margin-top: 2px !important;
  font-size: 9.5px !important;
}

.launch-advanced {
  margin-top: 10px !important;
  border-radius: 9px !important;
}

.launch-advanced > summary {
  min-height: 36px;
  padding: 8px 11px !important;
}

.launch-advanced > summary span {
  font-size: 11px;
}

.launch-advanced > summary small {
  font-size: 9px;
}

.launch-submit-bar {
  min-height: 55px !important;
  margin: 10px -14px -14px !important;
  padding: 9px 14px !important;
}

.launch-submit-bar strong {
  font-size: 11px !important;
}

.launch-submit-bar p {
  margin-top: 2px !important;
  font-size: 9px !important;
}

.launch-submit-bar .button {
  min-width: 130px;
  min-height: 36px;
  height: 36px;
  border-radius: 8px;
  font-size: 11px;
}

.launch-side-panel {
  top: 10px !important;
  padding: 0 !important;
  border-radius: 11px !important;
  overflow: hidden;
}

.launch-side-head {
  min-height: 48px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--line);
}

.launch-side-tabs button {
  min-height: 31px;
  padding: 0 10px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
}

.launch-side-body {
  padding: 10px !important;
}

.launch-profile-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 7px;
}

.launch-profile-toolbar .button {
  min-height: 31px;
  height: 31px;
  padding: 0 9px;
  border-radius: 7px;
  font-size: 10px;
}

.launch-profile-list {
  display: grid;
  gap: 7px !important;
}

.launch-profile-card {
  padding: 9px !important;
  border-radius: 8px !important;
}

.launch-profile-title strong {
  font-size: 11px !important;
}

.launch-profile-title small,
.launch-profile-meta {
  font-size: 9px !important;
}

.launch-profile-card .inline-actions {
  gap: 4px !important;
}

.launch-profile-card .button {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 7px !important;
  font-size: 9px !important;
}

@media (max-width: 1180px) {
  .launch-workspace-v2 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .launch-side-panel {
    position: static !important;
  }
}

@media (max-width: 760px) {
  .launch-presets,
  .launch-basic-grid,
  .launch-retry-grid {
    grid-template-columns: 1fr !important;
  }

  .launch-editor-head {
    align-items: stretch !important;
    flex-direction: column;
  }

  .launch-head-actions {
    justify-content: flex-start;
  }
}
/* END OCI-N&T launch-ui-clean3 */

/* BEGIN OCI-N&T launch-console7 */
.launch-side-tabs { flex: 1; }
.launch-side-tabs button { flex: 1; justify-content: center; }
.launch-side-panel.has-active-jobs { box-shadow: 0 0 0 1px rgba(15,159,136,.2), 0 10px 28px rgba(21,45,58,.08); }
#tenant-launch-jobs .launch-job-card { padding: 10px !important; border-radius: 9px !important; background: #fff; }
#tenant-launch-jobs .launch-job-title strong { font-size: 11px; }
#tenant-launch-jobs .launch-job-progress small { white-space: normal; }
#tenant-launch-jobs .inline-actions { margin-top: 2px; }
.launch-job-drawer-backdrop { position: fixed; inset: 0; z-index: 1200; border: 0; background: rgba(13,24,31,.34); backdrop-filter: blur(2px); }
.launch-job-drawer { position: fixed; z-index: 1201; top: 0; right: 0; width: min(520px, 94vw); height: 100dvh; padding: 18px; overflow: auto; background: #f5f7f9; box-shadow: -18px 0 50px rgba(12,30,40,.2); animation: launchDrawerIn .18s ease-out; }
@keyframes launchDrawerIn { from { transform: translateX(20px); opacity: .5; } }
.launch-job-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.launch-job-drawer > header small { color: var(--muted); }
.launch-job-drawer > header h2 { margin: 3px 0 0; font-size: 19px; }
.launch-job-drawer-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 14px 0; }
.launch-job-drawer-summary span { padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.launch-job-drawer-summary small,.launch-job-drawer-summary strong { display: block; }
.launch-job-drawer-summary small { color: var(--muted); font-size: 9px; }
.launch-job-drawer-summary strong { margin-top: 4px; font-size: 12px; }
.launch-job-drawer-error { margin-bottom: 12px; padding: 11px; border: 1px solid #fac5ca; border-radius: 9px; color: #a82b38; background: #fff1f2; }
.launch-job-drawer-error p { margin: 5px 0 0; font-size: 11px; line-height: 1.55; word-break: break-word; }
.launch-job-attempts { padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.launch-job-attempts-head { display: flex; justify-content: space-between; padding-bottom: 10px; }
.launch-job-attempts article { display: grid; grid-template-columns: 10px minmax(0,1fr); gap: 9px; padding: 10px 0; border-top: 1px solid #edf1f3; }
.launch-attempt-dot { width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: #f0a33b; }
.launch-attempt-dot.good { background: #0f9f88; }.launch-attempt-dot.bad { background: #d94b59; }
.launch-job-attempts article strong,.launch-job-attempts article small,.launch-job-attempts article code { display: block; }
.launch-job-attempts article strong { font-size: 11px; }.launch-job-attempts article small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.launch-job-attempts article code { margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; color: #52616b; }
.launch-job-attempts article p { margin: 6px 0 0; color: #a82b38; font-size: 10px; line-height: 1.5; word-break: break-word; }
@media (max-width: 600px) { .launch-job-drawer-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } }
/* END OCI-N&T launch-console7 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-instance-detail10 */
.instance-detail-link{appearance:none;border:0;background:none;color:var(--text,#122033);font:inherit;font-weight:800;padding:0;cursor:pointer;text-align:left}.instance-detail-link:hover{color:#079982;text-decoration:underline;text-underline-offset:3px}.button.primary-soft{border-color:#9edfd3;background:#edf9f6;color:#087b69}.nt-instance-detail-dialog{width:min(1040px,calc(100vw - 28px));max-width:none;height:min(780px,calc(100dvh - 28px));max-height:none;padding:0;border:0;border-radius:18px;background:#f4f7fa;color:#142033;box-shadow:0 26px 90px rgba(15,23,42,.3);overflow:hidden}.nt-instance-detail-dialog::backdrop{background:rgba(12,20,31,.58);backdrop-filter:blur(3px)}.nt-detail-shell{height:100%;display:grid;grid-template-rows:auto auto 1fr auto}.nt-detail-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:#fff;border-bottom:1px solid #dce4eb}.nt-detail-title,.nt-detail-title-line,.nt-detail-header-actions{display:flex;align-items:center;gap:12px}.nt-detail-title h2{margin:0;font-size:22px}.nt-detail-title p{margin:4px 0 0;color:#65758a}.nt-detail-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0aa48b,#68d6c5);color:#fff;font-size:20px;font-weight:900}.nt-detail-ip{padding:7px 10px;border-radius:9px;background:#eef8f5;color:#087b69;font-weight:800}.nt-detail-tabs{display:flex;gap:6px;padding:10px 20px;background:#fff;border-bottom:1px solid #dce4eb}.nt-detail-tabs button{border:0;border-radius:9px;background:transparent;padding:9px 14px;color:#526276;font-weight:750;cursor:pointer}.nt-detail-tabs button.active{background:#e9f8f4;color:#078470}.nt-detail-body{padding:18px;overflow:auto}.nt-detail-overview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.nt-detail-section,.nt-detail-vnic-card{border:1px solid #dbe4eb;border-radius:14px;background:#fff;padding:17px}.nt-detail-wide{grid-column:1/-1}.nt-detail-section-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.nt-detail-section h3{margin:0;font-size:16px}.nt-detail-section p{margin:4px 0 0;color:#718096;font-size:12px}.nt-detail-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nt-detail-kpis article,.nt-detail-network-grid>div{border-radius:11px;background:#f6f8fa;padding:12px}.nt-detail-kpis span,.nt-detail-network-grid span{display:block;color:#6c7b8d;font-size:12px;margin-bottom:5px}.nt-detail-kpis strong,.nt-detail-network-grid strong{display:block;overflow-wrap:anywhere}.nt-detail-list{margin:0;display:grid;gap:0}.nt-detail-list>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #edf1f4}.nt-detail-list>div:last-child{border:0}.nt-detail-list dt{color:#6d7b8c}.nt-detail-list dd{margin:0;font-weight:750;overflow-wrap:anywhere}.nt-detail-id-row{display:flex;align-items:center;gap:10px}.nt-detail-id-row code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#526276}.nt-detail-copy{border:0;border-radius:7px;padding:5px 8px;background:#edf4f7;color:#496074;cursor:pointer}.nt-detail-vnic-list{display:grid;gap:14px}.nt-detail-vnic-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.nt-detail-vnic-card header div{display:flex;align-items:center;gap:10px}.nt-detail-vnic-card header div span{color:#718096;font-size:12px}.nt-detail-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nt-detail-network-grid small{display:block;margin-top:4px;color:#718096;overflow-wrap:anywhere}.nt-detail-network-grid .nt-detail-copy{margin-top:7px}.nt-detail-metric-empty,.nt-detail-empty,.nt-detail-loading{min-height:290px;border:1px dashed #ccd8e1;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:#6b7a8c}.nt-detail-metric-empty strong,.nt-detail-empty strong,.nt-detail-loading strong{color:#17243a;font-size:16px}.nt-detail-metric-result{display:grid;gap:12px}.nt-detail-metric-meta{display:flex;justify-content:space-between;align-items:center}.nt-detail-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nt-detail-metric-grid article{min-height:190px;border:1px solid #dbe4eb;border-radius:14px;background:#fff;padding:15px;overflow:hidden}.nt-detail-metric-grid article>span,.nt-detail-metric-grid article>small{display:block;color:#6b7a8c}.nt-detail-metric-grid article>strong{display:block;font-size:23px;margin:6px 0 2px}.nt-detail-metric-grid .nt-analytics-spark{height:100px;margin-top:8px}.nt-detail-loading>span{width:28px;height:28px;border:3px solid #d4ece7;border-top-color:#099d85;border-radius:50%;animation:ntDetailSpin .8s linear infinite}@keyframes ntDetailSpin{to{transform:rotate(360deg)}}.nt-detail-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;background:#fff;border-top:1px solid #dce4eb;color:#718096;font-size:12px}
@media(max-width:760px){.nt-instance-detail-dialog{width:100vw;height:100dvh;border-radius:0}.nt-detail-header{padding:14px}.nt-detail-header-actions .nt-detail-ip{display:none}.nt-detail-overview-grid,.nt-detail-metric-grid{grid-template-columns:1fr}.nt-detail-wide{grid-column:auto}.nt-detail-network-grid{grid-template-columns:1fr 1fr}.nt-detail-footer span{display:none}.nt-detail-footer{justify-content:flex-end}.nt-detail-title h2{font-size:18px}}
@media(max-width:480px){.nt-detail-body{padding:10px}.nt-detail-network-grid,.nt-detail-kpis{grid-template-columns:1fr}.nt-detail-tabs{overflow-x:auto}.nt-detail-title p{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* END OCI-N&T V1.0.5 1.0.5-instance-detail10 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-instance-actions11 */
.nt-detail-actionbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:#f9fbfc;border-bottom:1px solid #dce4eb}.nt-detail-actionbar>div:first-child{display:flex;flex-direction:column;gap:2px}.nt-detail-actionbar>div:first-child span{font-size:11px;color:#718096}.nt-detail-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.nt-detail-action-buttons .button{min-height:32px;padding:6px 11px}.nt-detail-volume-list{display:grid;gap:14px}.nt-detail-volume-card{border:1px solid #dbe4eb;border-radius:14px;background:#fff;padding:17px}.nt-detail-volume-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.nt-detail-volume-card header div{display:flex;align-items:center;gap:10px}.nt-detail-volume-card header div span{color:#718096;font-size:12px}.nt-detail-volume-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:13px}.nt-detail-volume-grid>div{border-radius:11px;background:#f6f8fa;padding:12px}.nt-detail-volume-grid span{display:block;color:#6c7b8d;font-size:12px;margin-bottom:5px}
@media(max-width:760px){.nt-detail-actionbar{align-items:flex-start}.nt-detail-actionbar>div:first-child{display:none}.nt-detail-action-buttons{justify-content:flex-start}.nt-detail-volume-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.nt-detail-action-buttons{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.nt-detail-action-buttons .button{padding:6px}.nt-detail-volume-grid{grid-template-columns:1fr}}
/* END OCI-N&T V1.0.5 1.0.5-instance-actions11 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-instance-ui14 */
.nt-instance-detail-dialog{height:auto;max-height:calc(100dvh - 28px)}
#nt-instance-detail-root{max-height:calc(100dvh - 28px);overflow:hidden}
.nt-detail-shell{height:auto;max-height:calc(100dvh - 28px);grid-template-rows:auto auto auto minmax(0,1fr) auto}
.nt-detail-body{min-height:250px;max-height:calc(100dvh - 295px);overscroll-behavior:contain}
.nt-detail-footer{min-height:56px}
.nt-detail-related-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.nt-detail-related-actions>span{margin-right:3px;font-weight:750;color:#526276}
.nt-detail-related-actions .button{min-height:31px;padding:5px 10px;background:#f7fafb}
.nt-detail-metric-empty,.nt-detail-empty,.nt-detail-loading{min-height:270px}
@media(max-width:760px){.nt-instance-detail-dialog,#nt-instance-detail-root,.nt-detail-shell{height:100dvh;max-height:100dvh}.nt-detail-body{max-height:none}.nt-detail-footer{justify-content:space-between}.nt-detail-related-actions{display:flex}.nt-detail-related-actions>span{display:none}}
@media(max-width:520px){.nt-detail-related-actions .button:nth-of-type(4){display:none}.nt-detail-related-actions{gap:5px}.nt-detail-related-actions .button{font-size:12px;padding:5px 7px}}
/* END OCI-N&T V1.0.5 1.0.5-instance-ui14 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-instance-connect15 */
.nt-detail-connect-section{border-color:#cce7e1;background:linear-gradient(180deg,#fff 0%,#fbfefd 100%)}
.nt-detail-connect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nt-detail-connect-grid article{position:relative;min-width:0;border:1px solid #e0e8ed;border-radius:11px;background:#f7fafb;padding:12px 86px 12px 12px}
.nt-detail-connect-grid article>span{display:block;margin-bottom:5px;color:#6c7b8d;font-size:12px}
.nt-detail-connect-grid article>strong,.nt-detail-connect-grid article>code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17243a}
.nt-detail-connect-grid article>code{font-size:12px}
.nt-detail-connect-grid article>.nt-detail-copy{position:absolute;right:10px;bottom:10px}
.nt-detail-copy:disabled{cursor:not-allowed;opacity:.45}
@media(max-width:640px){.nt-detail-connect-grid{grid-template-columns:1fr}.nt-detail-connect-grid article{padding-right:82px}}
/* END OCI-N&T V1.0.5 1.0.5-instance-connect15 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-instance-finish16 */
.nt-detail-metric-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid #dbe4eb;border-radius:12px;background:#fff}.nt-detail-metric-toolbar>div{display:flex;gap:7px}.nt-detail-range{padding:3px;border-radius:9px;background:#eef3f5}.nt-detail-range button{border:0;border-radius:7px;background:transparent;padding:6px 10px;color:#607083;font-weight:750;cursor:pointer}.nt-detail-range button.active{background:#fff;color:#078470;box-shadow:0 1px 4px rgba(15,23,42,.12)}.nt-detail-volume-actions{display:flex;gap:8px;margin:0 0 12px}.nt-detail-volume-card .nt-detail-id-row{padding-top:11px;border-top:1px solid #edf1f4}.all-tenant-instance-table tbody tr,.tenant-instance-table tbody tr{transition:background-color .15s ease,box-shadow .15s ease}.all-tenant-instance-table tbody tr:hover,.tenant-instance-table tbody tr:hover{background:#f6fbfa}.instance-detail-link:focus-visible,.nt-detail-tabs button:focus-visible,.nt-detail-range button:focus-visible{outline:2px solid #10a58d;outline-offset:2px}.nt-detail-header .dialog-close{display:grid;place-items:center;width:36px;height:36px}.nt-instance-detail-dialog[open]{animation:ntDetailEnter .16s ease-out}@keyframes ntDetailEnter{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.nt-instance-detail-dialog[open]{animation:none}}@media(max-width:640px){.nt-detail-metric-toolbar{align-items:stretch;flex-direction:column}.nt-detail-metric-toolbar>div{justify-content:space-between}.nt-detail-range button{flex:1}.nt-detail-volume-actions{display:grid;grid-template-columns:1fr 1fr}}
/* END OCI-N&T V1.0.5 1.0.5-instance-finish16 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-launch-align17 */
#tenant-launch-layout.launch-workspace-v2{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:14px!important;align-items:start!important;width:100%!important}
#tenant-launch-form.launch-editor,#tenant-launch-side.launch-side-panel{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important}
.launch-editor-head,.launch-section,.launch-auto-card,.launch-advanced,.launch-submit-bar{box-sizing:border-box!important;width:100%!important}
.launch-editor-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.launch-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.launch-presets{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.launch-presets>button{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:55px!important;text-align:left!important}
.launch-basic-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:12px!important;row-gap:10px!important;align-items:start!important}
.launch-basic-grid>label,.launch-retry-grid>label{display:flex!important;flex-direction:column!important;min-width:0!important;width:100%!important;margin:0!important}
.launch-basic-grid input,.launch-basic-grid select,.launch-retry-grid input,.launch-retry-grid select{box-sizing:border-box!important;width:100%!important;min-width:0!important}
.launch-retry-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important;row-gap:10px!important;align-items:start!important}
.launch-retry-grid>.launch-login-row,.launch-retry-grid>.launch-password-row{grid-column:1/-1!important}
.launch-interval-presets{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.launch-auto-card{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}
.launch-auto-main{flex:1 1 auto!important;min-width:0!important}
.launch-env-chips{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
.launch-env-chips>span{box-sizing:border-box!important;width:100%!important;min-width:0!important}
.launch-submit-bar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important}
.launch-submit-bar .button{justify-self:end!important;margin:0!important}
.launch-side-panel{position:sticky!important;top:154px!important;align-self:start!important;overflow:hidden!important}
.launch-side-head{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important}
.launch-side-tabs{display:flex!important;align-items:center!important;min-width:0!important}
.launch-side-body{box-sizing:border-box!important;width:100%!important;min-width:0!important}
@media(max-width:1280px){#tenant-launch-layout.launch-workspace-v2{grid-template-columns:minmax(0,1fr) 280px!important}.launch-env-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:1120px){#tenant-launch-layout.launch-workspace-v2{grid-template-columns:1fr!important}.launch-side-panel{position:static!important;top:auto!important}.launch-side-body{max-height:420px!important}.launch-env-chips{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.launch-editor-head,.launch-auto-card{align-items:stretch!important;flex-direction:column!important}.launch-head-actions{justify-content:flex-start!important}.launch-basic-grid,.launch-retry-grid{grid-template-columns:1fr!important}.launch-login-row,.launch-password-row{grid-column:auto!important}.launch-env-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important}.launch-submit-bar{grid-template-columns:1fr!important}.launch-submit-bar .button{justify-self:stretch!important;width:100%!important}}
@media(max-width:460px){.launch-presets,.launch-env-chips{grid-template-columns:1fr!important}.launch-head-actions>.button{flex:1 1 auto!important}}
/* END OCI-N&T V1.0.5 1.0.5-launch-align17 */


/* BEGIN OCI-N&T V1.0.5 1.0.5-release-center18 */
html,body{max-width:100%;overflow-x:hidden}
#settings-page,#settings-page .settings-page-layout,#settings-page .settings-unified-grid,#settings-page .settings-release-panel{box-sizing:border-box;max-width:100%;min-width:0}
#settings-page .settings-release-panel{overflow:hidden}
#settings-page .settings-release-panel .release-current{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%;min-width:0}
#settings-page .release-metric{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:82px!important;padding:12px 13px!important}
#settings-page .release-metric small{font-size:10px;color:#637386}
#settings-page .release-metric strong{display:block;max-width:100%;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.35}
#settings-page .release-metric span{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8999;font-size:9.5px}
#settings-page .release-product{border-color:#a9dfd4!important;background:#f1fbf8!important}
#settings-page .release-product strong{color:#087d69;font-size:15px}
#settings-page .release-history{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
#settings-page .release-history-table{width:100%;min-width:760px;table-layout:fixed}
#settings-page .release-history-table th:nth-child(1){width:160px}
#settings-page .release-history-table th:nth-child(2){width:100px}
#settings-page .release-history-table th:nth-child(3){width:100px}
#settings-page .release-history-table th:nth-child(4){width:76px}
#settings-page .release-history-table th:nth-child(5){width:76px}
#settings-page .release-history-table th:nth-child(6){width:auto}
#settings-page .release-history-table td{min-width:0;vertical-align:middle}
#settings-page .release-history-table td:not(.release-detail){white-space:nowrap}
#settings-page .release-detail{max-width:0;overflow:hidden}
#settings-page .release-detail>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){#settings-page .settings-release-panel .release-current{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-version-heading p{display:none}}
@media(max-width:520px){#settings-page .settings-release-panel .release-current{grid-template-columns:1fr!important}#settings-page .release-history{overflow:visible;border:0!important}#settings-page .release-history-table{display:block;min-width:0}#settings-page .release-history-table thead{display:none}#settings-page .release-history-table tbody{display:grid;gap:10px}#settings-page .release-history-table tr{display:grid;grid-template-columns:1fr 1fr;padding:10px;border:1px solid #dce4ea;border-radius:10px;background:#fff}#settings-page .release-history-table td{display:block;padding:5px!important;white-space:normal!important}#settings-page .release-history-table td::before{content:attr(data-label);display:block;margin-bottom:2px;color:#7b8998;font-size:9px}#settings-page .release-detail{grid-column:1/-1;max-width:none}#settings-page .release-detail>span{white-space:normal;overflow-wrap:anywhere}}
/* END OCI-N&T V1.0.5 1.0.5-release-center18 */

/* OCI-N&T 2.0 final instance workspace */
.nt-detail-inline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft,#f8fafc)}
.nt-detail-inline-toolbar>div{display:flex;flex-direction:column;gap:3px;min-width:0}.nt-detail-inline-toolbar strong{font-size:14px}.nt-detail-inline-toolbar span{font-size:12px;color:var(--muted)}
.nt-detail-console-grid{display:grid;grid-template-columns:1fr;gap:16px}.nt-detail-console-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.nt-detail-console-hint{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;background:var(--panel-soft,#f8fafc)}.nt-detail-console-hint span{font-size:12px;color:var(--muted);line-height:1.6}
.nt-detail-history-list{display:flex;flex-direction:column;gap:8px}.nt-detail-history-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:16px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel,#fff)}.nt-detail-history-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.nt-detail-history-row strong{font-size:13px}.nt-detail-history-row span,.nt-detail-history-row small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.nt-detail-loading.compact{min-height:84px}
@media (max-width:760px){.nt-detail-inline-toolbar{align-items:flex-start;flex-direction:column}.nt-detail-history-row{grid-template-columns:1fr}}


/* BEGIN OCI-N&T 2.0.0 final-consolidation-r2 acceptance polish */
@media (min-width: 761px) {
  .nt-instance-detail-dialog {
    height: min(760px, calc(100dvh - 32px)) !important;
    max-height: calc(100dvh - 32px) !important;
  }
  #nt-instance-detail-root,
  .nt-detail-shell {
    height: 100% !important;
    max-height: 100% !important;
  }
  .nt-detail-shell {
    grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
  }
  .nt-detail-body {
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto;
  }
  .nt-detail-body > .nt-detail-metric-empty,
  .nt-detail-body > .nt-detail-empty,
  .nt-detail-body > .nt-detail-loading {
    height: 100%;
    min-height: 260px;
    box-sizing: border-box;
  }
}
/* END OCI-N&T 2.0.0 final-consolidation-r2 acceptance polish */

/* BEGIN OCI-N&T 2.0 stable UI freeze */
/*
 * Final desktop polish:
 * - compact the Metrics workspace when it only contains the empty/cache state
 * - keep loaded charts scrollable inside the existing detail body
 * - leave Overview / Network / Storage / Console / History sizing unchanged
 */
@media (min-width: 761px) {
  .nt-instance-detail-dialog:has(
    .nt-detail-tabs button[data-detail-tab="metrics"].active
  ) {
    height: min(620px, calc(100dvh - 32px)) !important;
  }

  .nt-instance-detail-dialog:has(
    .nt-detail-tabs button[data-detail-tab="metrics"].active
  ) .nt-detail-body > .nt-detail-metric-empty {
    min-height: 210px !important;
  }
}
/* END OCI-N&T 2.0 stable UI freeze */
