* {
  box-sizing: border-box;
}

:root {
  --glass: rgba(238, 248, 255, .78);
  --glass-strong: rgba(255, 255, 255, .88);
  --blue-1: #d9f0ff;
  --blue-2: #88c2e8;
  --blue-3: #4f98c9;
  --blue-4: #1f5f93;
  --line: rgba(69, 119, 160, .45);
  --text: #193145;
  --muted: #60758a;
  --orange: #f9b13d;
  --green: #4bb54f;
  --yellow: #e1b72f;
  --red: #cc4a4a;
  --dev: #4e8fd9;
  --parked: #7d67c9;
  --historical: #565d68;
  --shadow: 0 20px 55px rgba(0, 26, 58, .32), 0 0 0 1px rgba(255,255,255,.65) inset;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font: 12px/1.35 "Segoe UI", Tahoma, Arial, sans-serif;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 65%, rgba(255,255,255,.8) 0 1px, transparent 2px 100%),
    linear-gradient(120deg, #12314c 0%, #1e76a7 28%, #b2dd58 54%, #0e96d2 79%, #093457 100%);
}

.vista-bg {
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse at 10% 70%, rgba(255, 225, 61, .82), transparent 20%),
    radial-gradient(ellipse at 88% 84%, rgba(255,255,255,.82), transparent 5%),
    radial-gradient(ellipse at 70% 22%, rgba(76,203,255,.65), transparent 28%),
    linear-gradient(140deg, rgba(0,47,89,.45), rgba(8,146,200,.26));
}

.vista-bg::before,
.vista-bg::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(1px);
  transform: rotate(-22deg);
}

.vista-bg::before {
  width: 130vw;
  height: 48vh;
  left: -15vw;
  top: 46vh;
  border-top: 4px solid rgba(255, 255, 255, .45);
  box-shadow: 0 -22px 38px rgba(75, 217, 255, .32);
}

.vista-bg::after {
  width: 95vw;
  height: 30vh;
  left: 5vw;
  top: 55vh;
  border-top: 3px solid rgba(255, 255, 255, .32);
}

button, input, select, textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.app-window {
  width: min(1500px, calc(100vw - 32px));
  height: min(920px, calc(100vh - 32px));
  margin: 16px auto;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(231, 242, 252, .86);
  border: 1px solid rgba(164, 214, 246, .95);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.titlebar {
  height: 34px;
  display: flex;
  align-items: center;
  background: linear-gradient(#c8ecff, #78bde5 48%, #4396c8 49%, #b8e2fa);
  border-bottom: 1px solid #4a8db9;
  color: #123c5c;
  padding: 0 8px 0 6px;
  gap: 7px;
  user-select: none;
}

.orb {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: white;
  background: radial-gradient(circle at 35% 25%, #ffffff 0 7%, #7fd3ff 9% 24%, #1994dd 40%, #0b4a92 75%);
  box-shadow: 0 0 0 1px rgba(0,0,0,.12), 0 1px 2px white inset;
}

.quick-icons {
  display: flex;
  gap: 2px;
}

.quick-icons button,
.session button {
  border: 1px solid rgba(45, 105, 152, .45);
  background: linear-gradient(#fafdff, #d7edf9);
  color: #173b5a;
  border-radius: 3px;
  min-height: 20px;
}

.window-title {
  flex: 1;
  text-align: center;
  font-weight: 600;
  letter-spacing: .1px;
}

.session {
  font-size: 11px;
}

.window-controls {
  display: flex;
  gap: 1px;
  margin-left: 4px;
}

.window-controls span {
  width: 26px;
  height: 19px;
  display: grid;
  place-items: center;
  background: linear-gradient(#f6fbff, #b5d7eb);
  border: 1px solid rgba(67, 113, 147, .65);
}

.window-controls span:last-child {
  color: white;
  background: linear-gradient(#ffb7a8, #c83e26);
}

.ribbon {
  height: 112px;
  background: linear-gradient(#edf8ff, #c9e7f7 58%, #b7dff4);
  border-bottom: 1px solid #88b9d6;
}

.ribbon-tabs {
  height: 27px;
  padding-left: 42px;
  display: flex;
  align-items: flex-end;
  gap: 3px;
}

.ribbon-tabs button {
  border: 1px solid transparent;
  background: transparent;
  padding: 5px 13px;
  color: #1f5275;
}

.ribbon-tabs .active {
  background: linear-gradient(#ffffff, #d8edf9);
  border-color: #93bdd8;
  border-bottom-color: #d8edf9;
  border-radius: 5px 5px 0 0;
  font-weight: 600;
}

.ribbon-content {
  height: 85px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px 9px;
  border-top: 1px solid rgba(255,255,255,.75);
}

.ribbon-btn {
  width: 82px;
  height: 68px;
  border: 1px solid rgba(65, 124, 164, .38);
  background: linear-gradient(rgba(255,255,255,.9), rgba(210,234,248,.72));
  border-radius: 5px;
  display: grid;
  align-content: center;
  justify-items: center;
  color: #1b405a;
  box-shadow: 0 1px 0 white inset;
  text-align: center;
}

.ribbon-btn:hover,
.mini-btn:hover,
.primary:hover {
  filter: brightness(1.045);
}

.ribbon-btn .ico {
  display: block;
  font-size: 25px;
  line-height: 1.1;
}

.import-label {
  cursor: pointer;
}

.search-group {
  margin-left: auto;
  width: 320px;
  padding: 7px;
  border: 1px solid rgba(63, 125, 165, .35);
  border-radius: 6px;
  background: rgba(255,255,255,.45);
  display: grid;
  grid-template-columns: 1fr 28px;
  gap: 3px;
  align-items: end;
}

.search-group label {
  grid-column: 1 / -1;
  font-size: 11px;
  color: #315c7d;
}

.search-group input {
  border: 1px solid #8bb6d2;
  border-radius: 4px;
  height: 26px;
  padding: 0 8px;
  background: linear-gradient(#fff, #edf8ff);
}

.search-group button {
  height: 26px;
  border: 1px solid #8bb6d2;
  border-radius: 4px;
  background: linear-gradient(#fff, #d6ebf8);
}

.shell {
  flex: 1;
  display: flex;
  min-height: 0;
}

.sidebar {
  width: 285px;
  min-width: 245px;
  display: flex;
  flex-direction: column;
  background: linear-gradient(90deg, rgba(226,241,251,.95), rgba(206,230,245,.86));
  border-right: 1px solid #82b3d4;
  min-height: 0;
}

.nav-title {
  height: 26px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  background: linear-gradient(#f7fcff, #c6e3f4);
  border-bottom: 1px solid #9dc5de;
  font-weight: 600;
  color: #2b5877;
}

.tree {
  flex: 1;
  padding: 8px 10px;
  overflow: auto;
}

.tree summary {
  margin: 5px 0;
  font-weight: 600;
  color: #204d6f;
  cursor: pointer;
}

.nav-item {
  display: block;
  width: calc(100% - 18px);
  margin: 2px 0 2px 18px;
  padding: 4px 7px;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: #244b64;
}

.nav-item:hover,
.nav-item.active {
  background: linear-gradient(#fff6d4, #ffc85b);
  border-color: #d69720;
}

.accordion {
  border-top: 1px solid #8bb9d7;
}

.accordion button {
  width: 100%;
  height: 31px;
  text-align: left;
  padding-left: 28px;
  border: none;
  border-bottom: 1px solid #88b9d6;
  color: #214f72;
  font-weight: 600;
  background: linear-gradient(#e9f6ff, #c1def1);
}

.accordion button.active {
  background: linear-gradient(#fff0bf, #f9b241 70%, #e79017);
  color: #2c2b20;
}

.content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: rgba(236, 247, 255, .62);
}

.breadcrumb {
  height: 30px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  color: #2a5878;
  background: linear-gradient(#f8fcff, #d9ecf8);
  border-bottom: 1px solid #9dc5de;
}

.breadcrumb span:not(:last-child)::after {
  content: "›";
  margin-left: 9px;
  color: #7ca4be;
}

#lastSaved {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
}

.view {
  display: none;
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 13px 15px 18px;
}

.view.active {
  display: block;
}

h1 {
  margin: 0 0 12px;
  font-size: 23px;
  font-weight: 400;
  color: #245b83;
  text-shadow: 0 1px white;
}

h2 {
  margin: 0;
  font-size: 13px;
  color: #234d69;
}

.tiles {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 11px;
}

.tile {
  min-height: 76px;
  border: 1px solid rgba(68, 132, 174, .45);
  border-radius: 7px;
  background: linear-gradient(rgba(255,255,255,.88), rgba(210,235,249,.78));
  box-shadow: 0 1px 0 white inset, 0 10px 22px rgba(40,100,145,.12);
  padding: 10px;
  position: relative;
  overflow: hidden;
}

.tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 25%, rgba(255,255,255,.8), transparent 26%);
  pointer-events: none;
}

.tile .value {
  font-size: 26px;
  font-weight: 700;
  margin-top: 7px;
}

.tile .label {
  color: var(--muted);
}

.tile.active-status .value { color: var(--green); }
.tile.expiring-status .value { color: var(--yellow); }
.tile.expired-status .value { color: var(--red); }
.tile.development-status .value { color: var(--dev); }
.tile.parked-status .value { color: var(--parked); }
.tile.historical-status .value { color: var(--historical); }

.dashboard-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr 1fr;
  gap: 10px;
  align-items: stretch;
}

.glass-panel {
  background: var(--glass);
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
  box-shadow: 0 1px 0 white inset, 0 10px 24px rgba(44,95,137,.12);
  overflow: hidden;
}

.panel-header {
  min-height: 30px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(#fafdff, #d8ebf8);
  border-bottom: 1px solid rgba(109, 160, 193, .46);
}

.mini-btn,
.primary {
  border: 1px solid #75a7c7;
  border-radius: 4px;
  background: linear-gradient(#ffffff, #cce8f8);
  color: #214e6c;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
  padding: 4px 9px;
}

.primary {
  background: linear-gradient(#fff9d9, #ffc65a 52%, #ee9b22);
  border-color: #c78318;
  color: #3d2d0d;
  font-weight: 600;
}

.world-panel {
  min-height: 300px;
}

.world-map {
  height: 268px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,.72), rgba(179,222,243,.28) 55%, rgba(255,255,255,.18));
}

.continent {
  position: absolute;
  background: linear-gradient(#87b9d4, #4c94bb);
  opacity: .9;
  box-shadow: 0 1px 0 rgba(255,255,255,.65) inset;
}

.na { width: 145px; height: 92px; border-radius: 64% 36% 58% 42%; left: 40px; top: 47px; transform: rotate(-13deg); }
.sa { width: 70px; height: 123px; border-radius: 50% 42% 61% 38%; left: 146px; top: 134px; transform: rotate(-20deg); }
.eu { width: 80px; height: 51px; border-radius: 48% 51% 38% 62%; left: 260px; top: 65px; transform: rotate(-7deg); }
.af { width: 99px; height: 117px; border-radius: 45% 55% 50% 50%; left: 285px; top: 120px; transform: rotate(4deg); }
.as { width: 177px; height: 113px; border-radius: 55% 45% 42% 58%; left: 355px; top: 63px; transform: rotate(5deg); }
.au { width: 89px; height: 42px; border-radius: 52% 48% 43% 57%; left: 470px; top: 210px; transform: rotate(-5deg); }

.server-dot {
  position: absolute;
  font-size: 21px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
  animation: float 3.6s ease-in-out infinite;
}

.d1 { left: 94px; top: 73px; }
.d2 { left: 285px; top: 82px; animation-delay: -.5s; }
.d3 { left: 414px; top: 99px; animation-delay: -1.1s; }
.d4 { left: 490px; top: 130px; animation-delay: -.9s; }
.d5 { left: 339px; top: 180px; animation-delay: -1.7s; }

@keyframes float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.meter-row {
  padding: 9px 12px;
}

.meter-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  color: #244e6c;
}

.meter {
  height: 18px;
  border: 1px solid #8da4b3;
  border-radius: 4px;
  background: linear-gradient(#f5f5f5, #cfd4d8);
  padding: 1px;
  box-shadow: 0 1px 1px rgba(0,0,0,.1) inset;
}

.meter-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #48a8da, #79e8ff, #378ac2);
}

.meter-fill.warn {
  background: linear-gradient(90deg, #f3c44b, #ffe58a, #e69e22);
}

.meter-fill.danger {
  background: linear-gradient(90deg, #d95151, #ff9b82, #bf3838);
}

.table-wrap {
  overflow: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th {
  position: sticky;
  top: 0;
  background: linear-gradient(#fafdff, #d5e8f5);
  color: #244f6d;
  font-weight: 600;
  text-align: left;
  border-bottom: 1px solid #9dc5de;
  padding: 6px 7px;
  white-space: nowrap;
}

td {
  border-bottom: 1px solid rgba(118, 164, 193, .3);
  padding: 6px 7px;
  vertical-align: middle;
}

tr:hover td {
  background: rgba(255, 246, 205, .55);
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 10px;
  padding: 2px 7px;
  background: rgba(255,255,255,.7);
  white-space: nowrap;
}

.domain-link {
  color: #105c93;
  font-weight: 600;
  text-decoration: none;
}

.domain-link:hover {
  text-decoration: underline;
}

.stack-list {
  padding: 8px;
}

.stack-item {
  padding: 7px 8px;
  margin-bottom: 6px;
  border: 1px solid rgba(71, 129, 168, .26);
  border-radius: 5px;
  background: linear-gradient(rgba(255,255,255,.82), rgba(224,240,250,.68));
}

.stack-item strong {
  color: #1d577e;
}

.item-meta {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}

.view-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 6px;
  background: rgba(255,255,255,.45);
}

.filters select {
  min-width: 145px;
  height: 28px;
  border: 1px solid #8bb6d2;
  border-radius: 4px;
  background: linear-gradient(#fff, #edf8ff);
}

.data-table {
  height: calc(100vh - 302px);
  min-height: 360px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(75, 132, 171, .42);
}

.actions {
  display: flex;
  gap: 4px;
}

.icon-btn {
  border: 1px solid #8cb9d5;
  border-radius: 3px;
  background: linear-gradient(#fff, #d8edf8);
  padding: 3px 6px;
}

.renewal-bar {
  min-width: 98px;
}

.renewal-bar .meter {
  height: 12px;
  margin-top: 2px;
}

.hierarchy-tree,
.map-list,
.cards,
.reports-grid,
.docs-layout,
.monitoring-grid {
  display: grid;
  gap: 10px;
}

.hierarchy-node {
  padding: 10px;
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
  background: rgba(255,255,255,.6);
}

.hierarchy-node h2 {
  font-size: 15px;
  margin-bottom: 8px;
}

.branch {
  margin-left: 18px;
  padding-left: 14px;
  border-left: 1px dotted #6e9dbc;
}

.branch-item {
  padding: 4px 0;
}

.cards {
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
}

.card {
  background: var(--glass);
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
  padding: 11px;
  box-shadow: 0 1px 0 white inset;
}

.card h2 {
  font-size: 15px;
  margin-bottom: 7px;
}

.card dl {
  display: grid;
  grid-template-columns: 95px 1fr;
  margin: 0;
  gap: 4px 8px;
}

.card dt {
  color: var(--muted);
}

.card dd {
  margin: 0;
}

.attached-domains {
  margin-top: 9px;
  padding-top: 7px;
  border-top: 1px solid rgba(108, 157, 190, .35);
}

.two-col,
.monitoring-grid {
  grid-template-columns: 1fr 1fr;
}

.map-section {
  padding: 9px 11px;
  border-bottom: 1px solid rgba(112, 160, 190, .25);
}

.map-section h3 {
  margin: 0 0 6px;
  color: #1f5f8b;
  font-size: 14px;
}

.map-section ul {
  margin: 0;
  padding-left: 18px;
}

.big-map {
  background: var(--glass);
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
  overflow: hidden;
}

.docs-layout {
  grid-template-columns: 280px 1fr;
  min-height: 620px;
}

.docs-list,
.docs-editor {
  padding: 10px;
}

.doc-domain {
  width: 100%;
  text-align: left;
  margin-top: 5px;
  border: 1px solid #8cb9d5;
  border-radius: 4px;
  background: linear-gradient(#fff, #d8edf8);
  padding: 6px 8px;
}

.doc-domain.active {
  background: linear-gradient(#fff6d4, #ffc85b);
  border-color: #d69720;
}

.doc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 10px 0;
}

.doc-tabs button {
  border: 1px solid #8cb9d5;
  border-radius: 4px;
  background: linear-gradient(#fff, #d8edf8);
  padding: 5px 8px;
}

.doc-tabs button.active {
  background: linear-gradient(#fff6d4, #ffc85b);
  border-color: #d69720;
}

#docEditor {
  width: 100%;
  height: 500px;
  resize: vertical;
  border: 1px solid #8bb6d2;
  border-radius: 5px;
  background: linear-gradient(#fff, #f5fbff);
  padding: 10px;
  color: #1d3344;
}

.reports-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.report-card {
  padding: 12px;
  min-height: 140px;
  background: var(--glass);
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
}

.report-card .big {
  font-size: 32px;
  font-weight: 700;
  color: #245b83;
  margin: 8px 0;
}

.settings-panel {
  max-width: 850px;
  padding: 14px;
}

.statusbar {
  height: 25px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 10px;
  background: linear-gradient(#e7f4fb, #b6d9ef);
  border-top: 1px solid #83b3d4;
  color: #254e69;
}

.statusbar span {
  border-right: 1px solid rgba(84, 135, 170, .45);
  padding-right: 14px;
}

dialog {
  width: min(820px, calc(100vw - 30px));
  border: 1px solid #75a7c7;
  border-radius: 8px;
  background: linear-gradient(rgba(239,249,255,.97), rgba(212,235,248,.97));
  box-shadow: 0 18px 65px rgba(0,0,0,.35);
  color: var(--text);
}

dialog::backdrop {
  background: rgba(0, 24, 48, .34);
  backdrop-filter: blur(3px);
}

.dialog-form h2 {
  margin-bottom: 12px;
  font-size: 18px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
}

label {
  display: grid;
  gap: 4px;
  color: #315c7d;
  font-weight: 600;
}

input, select, textarea {
  border: 1px solid #8bb6d2;
  border-radius: 4px;
  padding: 7px;
  background: linear-gradient(#fff, #f0f8ff);
  color: #1d3344;
}

textarea {
  resize: vertical;
}

.dialog-form > label {
  margin-top: 9px;
}

menu {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 0 0;
  margin: 0;
}

menu button {
  border: 1px solid #75a7c7;
  border-radius: 4px;
  background: linear-gradient(#ffffff, #cce8f8);
  padding: 6px 14px;
}

@media (max-width: 1000px) {
  body {
    overflow: auto;
  }

  .app-window {
    width: 100%;
    height: auto;
    min-height: 100vh;
    margin: 0;
    border-radius: 0;
  }

  .titlebar .session,
  .quick-icons,
  .window-controls {
    display: none;
  }

  .ribbon {
    height: auto;
  }

  .ribbon-content {
    height: auto;
    flex-wrap: wrap;
  }

  .search-group {
    width: 100%;
    margin-left: 0;
  }

  .shell {
    flex-direction: column;
  }

  .sidebar {
    width: 100%;
    min-width: 0;
    max-height: 220px;
  }

  .tiles {
    grid-template-columns: repeat(2, 1fr);
  }

  .dashboard-grid,
  .two-col,
  .monitoring-grid,
  .docs-layout {
    grid-template-columns: 1fr;
  }

  .world-map {
    height: 230px;
    transform-origin: top left;
    overflow: hidden;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .data-table {
    height: auto;
  }

  .content {
    min-height: 900px;
  }
}

/* v2 enhancement styles */
.nav-main { width: 100%; margin: 0 0 8px 0; font-weight: 700; border-color: rgba(124,176,208,.55); background: linear-gradient(#fafdff,#d8edf8); }
.vista-alert { display: flex; gap: 10px; align-items: center; padding: 9px 12px; margin: 0 0 11px; border-radius: 6px; border: 1px solid; box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; }
.vista-alert.good { border-color: #6aaa76; background: linear-gradient(#f4fff6,#cdeecf); color: #1f6b2b; }
.vista-alert.warning { border-color: #d7a436; background: linear-gradient(#fff9dc,#ffe18a); color: #74510a; }
.vista-alert.danger { border-color: #c95050; background: linear-gradient(#fff2f2,#ffb8b8); color: #7e1717; }
.vista-alert.info { border-color: #74a9c8; background: linear-gradient(#f4fbff,#cfecfb); color: #245b83; }
.tile::after { z-index: 0; inset: auto -20px -30px auto; width: 90px; height: 90px; border-radius: 50%; }
.tile > * { position: relative; z-index: 1; }
.tile .label { white-space: normal; overflow: visible; text-overflow: clip; }
.infra-graph { min-height: 302px; padding: 12px; overflow: auto; background: radial-gradient(ellipse at center, rgba(255,255,255,.72), rgba(179,222,243,.28) 55%, rgba(255,255,255,.18)), linear-gradient(180deg, rgba(214,239,252,.7), rgba(255,255,255,.3)); }
.graph-row { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1.15fr; align-items: center; gap: 4px; margin-bottom: 8px; }
.graph-node { min-height: 42px; padding: 6px 8px; border: 1px solid rgba(80,135,174,.48); border-radius: 7px; background: linear-gradient(rgba(255,255,255,.9),rgba(211,236,250,.8)); box-shadow: 0 1px 0 white inset; }
.graph-node strong { display: block; color: #1f5d86; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.graph-node span { display: block; color: #60758a; font-size: 11px; }
.graph-arrow { text-align: center; color: #2a6d9b; font-size: 18px; text-shadow: 0 1px white; }
.subdomain-stack { display: grid; gap: 4px; }
.sub-mini { padding: 4px 6px; border-radius: 5px; background: rgba(255,255,255,.74); border: 1px solid rgba(80,135,174,.28); }
.sub-mini b { color: #1f5d86; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.filter-buttons button { border: 1px solid #75a7c7; border-radius: 4px; background: linear-gradient(#ffffff,#cce8f8); color: #214e6c; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset; padding: 4px 9px; }
.filter-buttons button.active { background: linear-gradient(#fff9d9,#ffc65a 52%,#ee9b22); border-color: #c78318; color: #3d2d0d; font-weight: 600; }
.server-path { margin: 8px 0; padding: 7px; border-radius: 5px; border: 1px solid rgba(84,135,170,.35); background: rgba(255,255,255,.56); }
.folder-btn { font-size: 18px; width: 34px; height: 28px; display: grid; place-items: center; }
.email-zones { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px,1fr)); gap: 10px; }
.email-zone { background: var(--glass); border: 1px solid rgba(75,132,171,.42); border-radius: 7px; overflow: hidden; }
.email-zone summary { cursor: pointer; padding: 10px; background: linear-gradient(#fafdff,#d8ebf8); border-bottom: 1px solid rgba(109,160,193,.46); font-weight: 700; color: #1f5f8b; }
.email-zone-body { padding: 10px; }
.mailbox { margin-top: 8px; padding: 8px; border: 1px solid rgba(80,135,174,.28); border-radius: 6px; background: rgba(255,255,255,.64); }
.alias-list { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.alias { padding: 2px 6px; border-radius: 10px; background: linear-gradient(#fff,#d9edf8); border: 1px solid rgba(80,135,174,.28); color: #245b83; }
.dossier-dialog { width: min(1050px, calc(100vw - 30px)); }
.dossier-head { display: flex; justify-content: space-between; align-items: center; }
#closeDossierBtn { width: 28px; height: 28px; border: 1px solid #75a7c7; border-radius: 4px; background: linear-gradient(#fff,#cce8f8); }
.dossier-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dossier-panel { border: 1px solid rgba(75,132,171,.42); border-radius: 7px; background: rgba(255,255,255,.68); padding: 10px; }
.path-map { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 12px; }
.path-node { border: 1px solid rgba(80,135,174,.48); border-radius: 7px; background: linear-gradient(#fff,#d9edf8); padding: 8px 10px; color: #1f5d86; font-weight: 700; }
.path-arrow { color: #2a6d9b; font-size: 18px; }
.dossier-table th { position: static; width: 150px; }
@media (max-width: 1000px) { .graph-row, .dossier-grid { grid-template-columns: 1fr; } .graph-arrow { transform: rotate(90deg); } }


/* unicore Vista - Domain Aero refinements v3 */
.filters {
  align-items: center;
  gap: 10px;
  padding: 10px;
}

.filters select,
.filters input {
  min-width: 170px;
  height: 36px;
  line-height: 22px;
  padding: 7px 34px 7px 10px;
  font-size: 12px;
  color: #123c5c;
  background: linear-gradient(#ffffff, #edf8ff);
  border: 1px solid #72a9cc;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 1px 2px rgba(30,80,120,.12);
}

.folder-icon-button,
.plain-icon-button,
.link-title-button,
.eye-btn {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  cursor: pointer;
}

.folder-icon-button {
  width: 31px;
  height: 27px;
  display: inline-grid;
  place-items: center;
}

.folder-icon-button img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.28));
}

.folder-icon-button:hover img,
.link-title-button:hover,
.eye-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05) drop-shadow(0 1px 2px rgba(0,0,0,.25));
}

.server-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 6px;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.28));
}

.link-title-button {
  color: #1f5f8b;
  font-weight: 700;
  font-size: 15px;
  text-align: left;
}

.card-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.card-actions,
.popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.graph-dialog,
.record-dialog,
.report-dialog {
  width: min(1120px, calc(100vw - 30px));
}

.full-map-container {
  max-height: 70vh;
  overflow: auto;
  padding: 10px;
  border: 1px solid rgba(75,132,171,.35);
  border-radius: 7px;
  background: rgba(255,255,255,.42);
}

.full-map-view {
  min-height: calc(100vh - 270px);
  padding: 12px;
}

.graph-row.full {
  grid-template-columns: 1.1fr 26px 1.1fr 26px 1.15fr 26px 1.45fr;
}

.graph-node.is-clickable {
  cursor: pointer;
}

.graph-node.is-clickable:hover,
.path-node.is-clickable:hover,
.infographic-node:hover {
  outline: 2px solid rgba(249,178,65,.6);
  filter: brightness(1.04);
}

.infographic {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(75,132,171,.32);
  border-radius: 7px;
  background: linear-gradient(rgba(255,255,255,.72), rgba(218,238,250,.52));
  margin: 8px 0 12px;
}

.infographic-node {
  min-width: 125px;
  padding: 9px 10px;
  border: 1px solid rgba(80, 135, 174, .48);
  border-radius: 7px;
  background: linear-gradient(#fff, #d9edf8);
  color: #1f5d86;
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}

.infographic-node strong {
  display: block;
  white-space: nowrap;
}

.infographic-node span {
  color: #60758a;
  font-size: 11px;
}

.infographic-arrow {
  color: #2a6d9b;
  font-size: 18px;
}

.record-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.record-panel {
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
  background: rgba(255,255,255,.68);
  padding: 10px;
}

.record-panel h3 {
  margin: 0 0 8px;
  color: #1f5f8b;
  font-size: 14px;
}

.detail-list {
  display: grid;
  grid-template-columns: 125px 1fr;
  gap: 5px 8px;
  margin: 0;
}

.detail-list dt {
  color: #60758a;
}

.detail-list dd {
  margin: 0;
}

.related-list {
  display: grid;
  gap: 6px;
}

.related-item {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid rgba(80,135,174,.28);
  border-radius: 5px;
  background: linear-gradient(rgba(255,255,255,.78), rgba(224,240,250,.62));
}

.related-item button {
  color: #105c93;
  font-weight: 700;
  text-align: left;
}

.report-card {
  position: relative;
}

.eye-btn {
  position: absolute;
  top: 9px;
  right: 10px;
  font-size: 19px;
  line-height: 1;
}

.report-list {
  display: grid;
  gap: 6px;
  max-height: 62vh;
  overflow: auto;
}

.report-row-button {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(80,135,174,.28);
  border-radius: 5px;
  background: linear-gradient(rgba(255,255,255,.86), rgba(224,240,250,.66));
  padding: 8px 9px;
  color: #1f5f8b;
}

.report-row-button strong {
  display: block;
}

.report-row-button span {
  color: #60758a;
  font-size: 11px;
}

.server-status-filter-all-note {
  color: #60758a;
  margin: -4px 0 10px;
}

@media (max-width: 1000px) {
  .filters select,
  .filters input {
    min-width: 100%;
  }
  .record-grid {
    grid-template-columns: 1fr;
  }
}

/* v4 refinements */
.alert-stack {
  display: grid;
  gap: 7px;
  margin-bottom: 11px;
}

.alert-stack .vista-alert {
  margin: 0;
  position: relative;
  padding-right: 48px;
}

.alert-eye,
.eye-btn,
.provider-card .mini-btn {
  border: 1px solid #75a7c7;
  border-radius: 4px;
  background: linear-gradient(#ffffff, #cce8f8);
  color: #214e6c;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
}

.alert-eye {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 24px;
}

.header-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.provider-two-col .glass-panel {
  min-height: 520px;
}

.provider-cards.inside-panel {
  padding: 10px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.provider-card {
  position: relative;
}

.provider-mini-map {
  margin-top: 10px;
  padding: 8px;
  border-radius: 6px;
  border: 1px solid rgba(80, 135, 174, .28);
  background: rgba(255,255,255,.58);
  display: grid;
  grid-template-columns: minmax(95px, .7fr) 1fr;
  gap: 8px;
  align-items: start;
}

.mini-provider-node {
  padding: 7px;
  border: 1px solid rgba(80, 135, 174, .45);
  border-radius: 7px;
  background: linear-gradient(#fff, #d9edf8);
}

.mini-provider-node strong,
.mini-provider-node span,
.mini-provider-links span {
  display: block;
}

.mini-provider-node strong {
  color: #1f5d86;
}

.mini-provider-node span,
.mini-provider-links span {
  color: #60758a;
  font-size: 11px;
}

.compact-actions {
  margin-top: 9px;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.provider-map-dialog-body {
  max-height: 72vh;
  overflow: auto;
  padding: 10px;
  border: 1px solid rgba(80, 135, 174, .28);
  border-radius: 7px;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.75), rgba(207,235,250,.50));
}

.provider-map-grid {
  display: grid;
  gap: 10px;
}

.provider-map-row {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) 36px 1fr;
  gap: 6px;
  align-items: center;
  padding: 9px;
  border-radius: 8px;
  border: 1px solid rgba(75, 132, 171, .32);
  background: rgba(255,255,255,.52);
}

.provider-map-node,
.provider-domain-node {
  text-align: left;
  border: 1px solid rgba(80, 135, 174, .48);
  border-radius: 7px;
  background: linear-gradient(rgba(255,255,255,.94), rgba(211,236,250,.82));
  box-shadow: 0 1px 0 white inset;
  padding: 8px 10px;
  color: #193145;
}

.provider-map-node strong,
.provider-map-node span,
.provider-domain-node strong,
.provider-domain-node span {
  display: block;
}

.provider-map-node strong,
.provider-domain-node strong {
  color: #1f5d86;
}

.provider-map-node span,
.provider-domain-node span {
  color: #60758a;
  font-size: 11px;
}

.provider-map-arrow {
  text-align: center;
  color: #2a6d9b;
  font-size: 24px;
  text-shadow: 0 1px white;
}

.provider-domain-cluster {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 6px;
}

.muted-node {
  opacity: .75;
}

.alert-detail-table {
  margin-top: 10px;
  background: rgba(255,255,255,.68);
}

@media (max-width: 900px) {
  .provider-map-row,
  .provider-mini-map {
    grid-template-columns: 1fr;
  }

  .provider-map-arrow {
    transform: rotate(90deg);
  }
}

/* v5 refinements */
.vista-filterbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(125px, 1fr)) auto;
  gap: 8px;
  align-items: center;
  margin: 0 0 10px;
  padding: 9px;
  border: 1px solid rgba(75, 132, 171, .42);
  border-radius: 7px;
  background: linear-gradient(rgba(255,255,255,.78), rgba(215,237,249,.72));
  box-shadow: 0 1px 0 white inset;
}

.vista-filterbar input,
.vista-filterbar select {
  min-height: 32px;
  width: 100%;
}

.email-zone summary {
  display: flex;
  align-items: center;
  gap: 6px;
}

.email-zone summary > span:first-child {
  flex: 0 0 auto;
}

.email-zone summary .item-meta {
  flex: 1;
}

.plain-eye-button {
  border: none;
  background: transparent;
  padding: 2px 5px;
  font-size: 18px;
  line-height: 1;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.7));
}

.plain-eye-button:hover {
  transform: scale(1.08);
}

.mailbox-safe {
  position: relative;
}

.mailbox-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.password-redacted {
  margin-top: 6px;
  padding: 4px 7px;
  border: 1px solid rgba(80, 135, 174, .25);
  border-radius: 5px;
  background: linear-gradient(#fafdff, #dbeef8);
  color: #60758a;
  font-size: 11px;
}

.email-record-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.email-record-actions #closeEmailRecordBtn {
  width: 28px;
  height: 28px;
  border: 1px solid #75a7c7;
  border-radius: 4px;
  background: linear-gradient(#fff, #cce8f8);
}

.email-zone-dl,
.detail-list {
  display: grid;
  grid-template-columns: 115px 1fr;
  gap: 5px 9px;
  margin: 8px 0;
}

.email-zone-dl dt,
.detail-list dt {
  color: #60758a;
}

.email-zone-dl dd,
.detail-list dd {
  margin: 0;
}

.tight-list {
  grid-template-columns: 90px 1fr;
}

.password-visible {
  display: inline-block;
  padding: 2px 6px;
  border: 1px solid rgba(80, 135, 174, .35);
  border-radius: 4px;
  background: #fff8cf;
  color: #513b08;
  font-family: Consolas, monospace;
}

.email-edit-panel {
  margin-top: 10px;
}

.compact-path {
  margin-top: 10px;
}

.provider-map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid rgba(75, 132, 171, .32);
  border-radius: 7px;
  background: linear-gradient(#fafdff, #d8ebf8);
  color: #245b83;
  font-weight: 600;
}

.infra-v5-grid {
  display: grid;
  gap: 8px;
}

.infra-v5-row .graph-node {
  text-align: left;
  width: 100%;
}

.dimmed-row {
  opacity: .76;
}

.sub-click {
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.provider-map-v5 .provider-domain-cluster {
  display: grid;
  gap: 8px;
}

.provider-domain-node-v5 {
  display: grid;
  gap: 5px;
  padding: 8px;
}

.provider-domain-main {
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0;
  color: #1f5d86;
}

.provider-domain-main strong,
.provider-domain-main span {
  display: block;
}

.provider-domain-main span {
  color: #60758a;
  font-size: 11px;
}

.provider-subdomain-list,
.provider-subcluster {
  display: grid;
  gap: 4px;
  margin-top: 5px;
  padding-left: 10px;
  border-left: 1px dotted #6e9dbc;
}

.provider-subcluster {
  padding: 8px 8px 8px 14px;
  border: 1px solid rgba(80,135,174,.26);
  border-left: 3px solid #6e9dbc;
  border-radius: 6px;
  background: rgba(255,255,255,.65);
}

.provider-subdomain-node {
  text-align: left;
  border: 1px solid rgba(80,135,174,.25);
  border-radius: 5px;
  background: linear-gradient(#fff, #e5f4fb);
  padding: 5px 7px;
  color: #245b83;
}

.provider-subdomain-node span,
.provider-subdomain-node small {
  display: block;
}

.provider-subdomain-node small {
  color: #60758a;
}

@media (max-width: 1100px) {
  .vista-filterbar {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .vista-filterbar {
    grid-template-columns: 1fr;
  }
}

/* v88 repository / dashboard / domain portfolio stabilization */
.neutral-primary-v88 {
  background: linear-gradient(#ffffff, #d9eaf6) !important;
  color: #245b83 !important;
  border-color: rgba(73, 126, 166, .72) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 1px 3px rgba(30,70,100,.18) !important;
  margin-left: auto;
  margin-right: 8px;
}

#domainsView .view-header {
  gap: 8px;
}

#domainsView .view-header h1 {
  margin-right: auto;
}

.domain-filter-layout-v88 {
  overflow: visible !important;
  position: relative !important;
  z-index: 20 !important;
}

.domain-filter-layout-v88 select,
.domain-filter-layout-v88 input,
.domain-filter-layout-v88 button {
  pointer-events: auto !important;
}

#infraGraph.infra-graph-v88 {
  position: relative;
  min-height: 265px;
  max-height: 360px;
  overflow: hidden !important;
  cursor: grab;
  padding: 0 !important;
}

#infraGraph.infra-graph-v88.is-dragging-v88 {
  cursor: grabbing;
}

.infra-graph-stage-v88 {
  position: absolute;
  inset: 8px;
  overflow: hidden;
  border-radius: 10px;
}

.infra-graph-content-v88 {
  transform-origin: 0 0;
  width: max-content;
  min-width: 920px;
  display: grid;
  gap: 8px;
  will-change: transform;
}

#infraGraph .graph-row.v88 {
  min-width: 890px;
  grid-template-columns: 190px 24px 190px 24px 210px 24px minmax(210px, 1fr);
  margin: 0;
}

#infraGraph .graph-row.v88.orphan-server-row,
#infraGraph .graph-row.v88.orphan-cf-row {
  grid-template-columns: 390px;
}

.infra-graph-controls-v88 {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  display: flex;
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(60, 120, 170, .38);
  border-radius: 8px;
  background: linear-gradient(rgba(255,255,255,.88), rgba(210,235,248,.86));
  box-shadow: 0 1px 0 white inset, 0 2px 8px rgba(30,70,100,.18);
  cursor: default;
}

.action-center-clickable-v88 {
  display: block;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(72, 128, 170, .28);
  border-radius: 8px;
  background: linear-gradient(rgba(255,255,255,.85), rgba(219,240,250,.76));
  cursor: pointer;
}

.action-center-clickable-v88:hover {
  background: linear-gradient(#ffffff, #cdeafa);
  border-color: rgba(62, 126, 174, .55);
  transform: translateY(-1px);
}

.repo-tabs-v88 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 10px;
}

.repo-tabs-v88 .active {
  background: linear-gradient(#ffffff, #b9def4);
  font-weight: 800;
}

.repository-panel-v88,
.changelog-panel-v88 {
  padding: 10px;
}

.repository-dialog-v88 {
  width: min(1180px, calc(100vw - 54px));
  max-height: calc(100vh - 70px);
  border: 1px solid rgba(55, 120, 170, .62);
  border-radius: 10px;
  background: linear-gradient(rgba(247,253,255,.96), rgba(210,235,248,.95));
  box-shadow: 0 22px 70px rgba(20, 50, 85, .4);
}

.repository-dialog-form-v88,
.docs-dialog-form-v88 {
  max-height: calc(100vh - 100px);
  overflow: auto;
}

.repository-delete-form-v88 {
  max-width: 620px;
}

.repo-delete-body-v88 {
  display: grid;
  gap: 8px;
  margin: 10px 0;
}

.repo-delete-indeed-v88,
.danger-action-v88 {
  border-color: rgba(160, 55, 55, .6) !important;
}

.historical-note-v88 {
  margin: 0 0 10px;
}

.domain-docs-dialog-v88 {
  width: min(980px, calc(100vw - 54px));
}

.docs-tabs-v88 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0;
}

.docs-tabs-v88 button {
  border: 1px solid rgba(73, 126, 166, .5);
  border-radius: 6px;
  background: linear-gradient(#fff, #d9edf8);
  padding: 6px 9px;
}

.docs-tabs-v88 button.active {
  background: linear-gradient(#ffffff, #add7f0);
  font-weight: 800;
}

#domainDocsEditorV88 {
  width: 100%;
  min-height: 420px;
  resize: both;
  box-sizing: border-box;
}

.changelog-filters-v88 {
  display: grid;
  grid-template-columns: minmax(220px, 1.8fr) repeat(3, minmax(150px, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.changelog-filters-v88 input,
.changelog-filters-v88 select {
  min-height: 32px;
  width: 100%;
}

#changelogTableV88 .is-undone-v88 {
  opacity: .62;
}

.repository-delete-only-v88 [data-delete-domain],
.repository-delete-only-v88 [data-delete-server],
.repository-delete-only-v88 [data-delete-customer],
.repository-delete-only-v88 [data-provider-delete],
.repository-delete-only-v88 [data-server-delete-v25],
.repository-delete-only-v88 [data-email-delete-mailbox-v8],
.repository-delete-only-v88 [data-email-delete-mailbox-v21],
.repository-delete-only-v88 #deleteServerRecordV10 {
  display: none !important;
}

#repositoryView [data-repo-delete-v88],
#repoDeleteDialogV88 #repoDeleteIndeedV88 {
  display: inline-flex !important;
}

@media (max-width: 900px) {
  .changelog-filters-v88 {
    grid-template-columns: 1fr;
  }

  #infraGraph.infra-graph-v88 {
    min-height: 310px;
  }
}

/* ===== v103 branding placement polish ===== */
.app-window { overflow: visible; }
.titlebar { overflow: visible; position: relative; z-index: 20; }
.orb.domain-aero-orb-v102 {
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  overflow: visible;
  position: relative;
  z-index: 45;
  margin-left: -3px;
  margin-right: 4px;
  margin-top: 8px;
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.95), rgba(112,211,255,.72) 24%, rgba(12,92,165,.92) 72%);
  box-shadow: 0 0 0 1px rgba(0,24,64,.28), 0 2px 4px rgba(255,255,255,.92) inset, 0 3px 10px rgba(0,30,70,.26), 0 0 14px rgba(60,190,255,.64);
}
.orb.domain-aero-orb-v102 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 50%;
}


/* ===== v113 main-shell branding refresh ===== */
.titlebar{padding-right:10px;}
.main-shell-session-v113{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.main-shell-session-v113 .session-user{display:inline-flex;align-items:center;gap:3px;}
#mainHelpBtnV113{min-width:24px;padding-inline:6px;font-weight:700;}
#aeroWindowsToggleV63{display:inline-flex!important;align-items:center;gap:5px;min-height:22px;margin:0 2px 0 0;padding:2px 8px;border-radius:4px;}
.orb.main-shell-orb-v113 img{border-radius:50%;}
#domainAeroTaskbarBrandPlateV103,.domain-aero-taskbar-brand-v103,.domain-aero-taskbar-brand-v102{display:none!important;pointer-events:none!important;}
.main-shell-standalone-brand-v113{position:fixed;left:50%;bottom:5%;transform:translateX(-50%);z-index:1200;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;opacity:.98;}
.main-shell-standalone-brand-v113 img{width:min(150px,10.5vw);min-width:85px;height:auto;display:block;filter:drop-shadow(0 8px 16px rgba(0,28,64,.16));}
@media (max-width:1100px){.main-shell-standalone-brand-v113 img{width:min(120px,15vw);min-width:75px;}}
@media (max-height:860px){.main-shell-standalone-brand-v113{bottom:5%;}.main-shell-standalone-brand-v113 img{width:min(110px,9vw);min-width:72px;}}


/* ===== v117 About branding + Windows toggle polish ===== */
#domainAeroAboutDialogV102 .domain-about-brand-v102{
  grid-template-columns:240px 1fr!important;
  align-items:center!important;
}
#domainAeroAboutDialogV102 .domain-about-brand-v102 img.domain-about-logo-v102{
  width:230px!important;
  max-width:100%!important;
  max-height:165px!important;
  justify-self:center!important;
  object-fit:contain!important;
}
#domainAeroAboutDialogV102 .domain-about-powered-v102{
  align-items:center!important;
}
#domainAeroAboutDialogV102 .domain-about-powered-v102 img{
  width:190px!important;
  max-height:56px!important;
  object-fit:contain!important;
  background:linear-gradient(#07090d,#000)!important;
  border:2px solid rgba(255,255,255,.55)!important;
  border-radius:16px!important;
  padding:7px 12px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 2px 5px rgba(0,22,48,.18)!important;
  box-sizing:border-box!important;
}
@media (max-width:700px){
  #domainAeroAboutDialogV102 .domain-about-brand-v102{grid-template-columns:1fr!important;}
  #domainAeroAboutDialogV102 .domain-about-brand-v102 img.domain-about-logo-v102{width:230px!important;}
}


/* ===== v118 corrective polish: true Windows toggle + About links ===== */
#aeroWindowsToggleV63.aero-windows-off-v118{
  opacity:.86;
  filter:saturate(.72);
}
#domainAeroAboutDialogV102 .domain-about-brand-v102{
  grid-template-columns:270px 1fr!important;
}
#domainAeroAboutDialogV102 .domain-about-brand-v102 img.domain-about-logo-v102{
  width:255px!important;
  max-height:185px!important;
}
#domainAeroAboutDialogV102 .domain-about-powered-link-v118{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  border-radius:18px!important;
  outline:none!important;
}
#domainAeroAboutDialogV102 .domain-about-powered-link-v118:focus-visible{
  box-shadow:0 0 0 3px rgba(74,176,229,.35)!important;
}
#domainAeroAboutDialogV102 .domain-about-powered-v102 img{
  cursor:pointer!important;
}
@media (max-width:700px){
  #domainAeroAboutDialogV102 .domain-about-brand-v102{grid-template-columns:1fr!important;}
  #domainAeroAboutDialogV102 .domain-about-brand-v102 img.domain-about-logo-v102{width:250px!important;}
}


/* ===== v123 clean corrective layer: stable taskbar, deterministic domain size, working classic controls ===== */
body.aero-windows-v63-on .aero-window-taskbar-v63,
body.aero-window-v63-taskbar-dock .aero-window-taskbar-v63{
  position:fixed!important;
  left:50%!important;
  bottom:8px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  width:min(1080px, calc(100vw - 34px))!important;
  max-width:min(1080px, calc(100vw - 34px))!important;
  display:flex!important;
}
body.aero-windows-v63-off .aero-window-taskbar-v63{display:none!important;}
#aboutDomainAeroBtnV102{display:none!important;}
body.aero-windows-v63-off dialog .aero-window-controls-v63,
body.aero-windows-v63-off dialog .aero-resize-handle-v63,
body.aero-windows-v63-off dialog .aero-window-titlebar-v63,
body.aero-windows-v63-off dialog .classic-modal-close-v120,
body.aero-windows-v63-off dialog .classic-window-controls-v121{
  display:none!important;
}
.classic-window-controls-v123{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}
.classic-window-control-v123{
  width:25px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(67,113,147,.72)!important;
  border-radius:5px!important;
  background:linear-gradient(#f6fbff,#b5d7eb)!important;
  color:#173b5a!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:inset 0 1px rgba(255,255,255,.85)!important;
}
.classic-window-control-v123.is-close{
  color:#fff!important;
  border-color:#b9432d!important;
  background:linear-gradient(#ffd9cc,#f59b7e 52%,#d8472f)!important;
  text-shadow:0 1px rgba(90,0,0,.32)!important;
}
body.aero-windows-v63-off dialog .dossier-head,
body.aero-windows-v63-off dialog .domain-about-head-v102{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
dialog.domain-record-sized-v123,
dialog[data-record-kind-v72="domain"].domain-record-sized-v123{
  box-sizing:border-box!important;
}
dialog.domain-record-sized-v123 .dialog-form{
  max-width:none!important;
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
}


/* ===== v124 micro-fix: taskbar below MAIN UI + no visible Domain Dossier resize jump ===== */
body.aero-windows-v63-on .aero-window-taskbar-v63,
body.aero-window-v63-taskbar-dock .aero-window-taskbar-v63{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:8px auto 0!important;
  width:min(1080px, calc(100vw - 34px))!important;
  max-width:min(1080px, calc(100vw - 34px))!important;
  display:flex!important;
}
dialog.domain-record-sized-v124,
dialog[data-record-kind-v72="domain"].domain-record-sized-v124{
  box-sizing:border-box!important;
}
dialog.domain-record-sized-v124 .dialog-form{
  max-width:none!important;
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
}

/* ===== v138 cleanup: Domain Dossier docs button spacing ===== */
.dossier-docs-v138{
  white-space:nowrap;
  margin-left:auto;
}
.dossier-docs-v138 + .dossier-changelog-v53,
.dossier-docs-v138 + .dossier-changelog-v75{
  margin-left:4px;
}

/* v140 — Domain Dossier domain-name link row */
.dossier-domain-name-link-v140 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  text-decoration: none;
}

.dossier-domain-name-link-v140:hover {
  text-decoration: underline;
}

.dossier-external-icon-v140 {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1;
  color: #075987;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(154,222,255,.56));
  border: 1px solid rgba(62, 151, 204, .42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 1px 3px rgba(8, 66, 104, .12);
}


/* v145: Main shell is not a modal/window - never show titlebar controls there. */
.app-window > header.titlebar .window-controls,
.app-window > .titlebar .window-controls,
.app-window > header.titlebar .main-shell-controls-v113,
.app-window > .titlebar .main-shell-controls-v113,
header.titlebar > .window-controls,
header.titlebar > .main-shell-controls-v113{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* ===== v206 responsive taskbar reserve + decorative brand collision guard ===== */
@media (min-width: 1001px) and (max-height: 1020px) {
  body.aero-windows-v63-on:not(.domain-aero-taskbar-fullscreen-v153) .app-window {
    height: min(920px, calc(100vh - 70px)) !important;
    margin: 12px auto 0 !important;
  }

  body.aero-windows-v63-on:not(.aero-window-v63-taskbar-dock):not(.domain-aero-taskbar-fullscreen-v153) #aeroWindowTaskbarV63 {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 8px auto 0 !important;
    width: min(1080px, calc(100vw - 34px)) !important;
    max-width: min(1080px, calc(100vw - 34px)) !important;
    height: 38px !important;
    display: flex !important;
  }

  .main-shell-standalone-brand-v113 {
    display: none !important;
  }
}


/* v215 — Live Data Foundation: compact read-only DB health indicator. */
.domain-aero-db-status-v215 { white-space: nowrap; }
.domain-aero-db-status-v215[data-state="connected"]::before { content: "● "; }
.domain-aero-db-status-v215[data-state="checking"]::before,
.domain-aero-db-status-v215[data-state="unconfigured"]::before,
.domain-aero-db-status-v215[data-state="error"]::before,
.domain-aero-db-status-v215[data-state="idle"]::before { content: "○ "; }

/* ========================================================================== */
/* Domain Aero v216 — Authentication & Multi-Tenant Foundation               */
/* ========================================================================== */
.domain-aero-auth-gate-v216 {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 18% 15%, rgba(85, 163, 255, .24), transparent 36%),
    radial-gradient(circle at 82% 78%, rgba(41, 92, 178, .22), transparent 42%),
    linear-gradient(135deg, rgba(5, 15, 33, .98), rgba(17, 38, 69, .98));
  backdrop-filter: blur(18px);
}
.domain-aero-auth-gate-v216[hidden] { display: none !important; }
.domain-aero-auth-card-v216 {
  width: min(440px, calc(100vw - 32px));
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  padding: 28px 30px 24px;
  color: #f7fbff;
  background: linear-gradient(180deg, rgba(31,56,91,.9), rgba(10,25,48,.94));
  box-shadow: 0 30px 90px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.08);
}
.domain-aero-auth-brand-v216 { display:flex; justify-content:center; margin-bottom:16px; }
.domain-aero-auth-brand-v216 img.domain-aero-auth-shield-v220 {
  width:min(150px, 38vw); height:auto; object-fit:contain;
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.42));
}
.domain-aero-auth-card-v216 h1 { margin:0; text-align:center; font-size:26px; letter-spacing:-.02em; }
.domain-aero-auth-subtitle-v216 { margin:9px 0 22px; text-align:center; color:rgba(231,241,255,.72); line-height:1.45; }
.domain-aero-auth-form-v216 { display:grid; gap:15px; }
.domain-aero-auth-form-v216 label { display:grid; gap:6px; font-size:12px; font-weight:700; color:rgba(238,246,255,.78); }
.domain-aero-auth-form-v216 input {
  width:100%; box-sizing:border-box; min-height:43px; padding:10px 12px;
  border:1px solid rgba(158,196,239,.38); border-radius:9px;
  outline:none; color:#fff; background:rgba(4,15,31,.7);
  box-shadow:inset 0 1px 6px rgba(0,0,0,.2);
}
.domain-aero-auth-form-v216 input:focus { border-color:rgba(115,187,255,.95); box-shadow:0 0 0 3px rgba(63,151,235,.16); }
.domain-aero-auth-primary-v216,
.domain-aero-auth-secondary-v216 {
  min-height:42px; border-radius:9px; font-weight:800; cursor:pointer;
}
.domain-aero-auth-primary-v216 { border:1px solid rgba(141,205,255,.8); color:#06172d; background:linear-gradient(#a9ddff,#65b5f5); }
.domain-aero-auth-secondary-v216 { border:1px solid rgba(255,255,255,.16); color:#e8f4ff; background:rgba(255,255,255,.06); }
.domain-aero-auth-primary-v216:hover { filter:brightness(1.05); }
.domain-aero-auth-secondary-v216:hover { background:rgba(255,255,255,.1); }
.domain-aero-auth-gate-v216[data-busy="true"] .domain-aero-auth-card-v216 { cursor:progress; }
.domain-aero-auth-error-v216 { padding:9px 10px; border:1px solid rgba(255,116,116,.4); border-radius:8px; color:#ffd9d9; background:rgba(150,28,35,.22); font-size:12px; line-height:1.4; }
.domain-aero-auth-footnote-v216 { margin-top:18px; text-align:center; font-size:10px; color:rgba(219,235,255,.4); }

.domain-aero-auth-links-v220 {
  position:fixed; right:18px; bottom:18px; z-index:2;
  display:flex; align-items:stretch; gap:8px;
}
.domain-aero-auth-links-v220[hidden] { display:none !important; }
.domain-aero-auth-meta-button-v220 {
  min-height:34px; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:6px 10px;
  border:1px solid rgba(160,202,239,.32); border-radius:8px;
  color:rgba(239,247,255,.88);
  background:linear-gradient(rgba(38,69,105,.86),rgba(17,38,69,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 22px rgba(0,0,0,.24);
  text-decoration:none; font:600 11px "Segoe UI",Tahoma,sans-serif;
  backdrop-filter:blur(12px);
  transition:border-color .14s ease,background .14s ease,transform .14s ease;
}
.domain-aero-auth-meta-button-v220:hover {
  border-color:rgba(131,201,255,.62);
  background:linear-gradient(rgba(53,88,128,.94),rgba(22,48,83,.96));
  transform:translateY(-1px);
}
.domain-aero-auth-meta-icon-v220 { font-size:13px; opacity:.9; }
.domain-aero-auth-codicom-v220 img {
  display:block; width:auto; height:18px; max-width:150px; object-fit:contain;
}
@media (max-width:620px) {
  .domain-aero-auth-links-v220 {
    left:14px; right:14px; bottom:14px; justify-content:center; flex-wrap:wrap;
  }
  .domain-aero-auth-meta-button-v220 { flex:1 1 150px; }
}

.domain-aero-auth-progress-v216 { height:4px; margin:24px 4px 4px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.09); }
.domain-aero-auth-progress-v216 span { display:block; width:45%; height:100%; border-radius:inherit; background:rgba(128,200,255,.9); animation:domainAeroAuthProgressV216 1.1s ease-in-out infinite alternate; }
@keyframes domainAeroAuthProgressV216 { from { transform:translateX(-10%); } to { transform:translateX(135%); } }
.domain-aero-active-org-v216 { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.domain-aero-workspace-picker-v216 {
  position:fixed; z-index:2147483645; min-width:240px; max-width:320px; padding:7px;
  border:1px solid rgba(87,111,138,.5); border-radius:9px; background:#f7fbff;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.domain-aero-workspace-picker-v216 button { display:grid; width:100%; gap:2px; padding:9px 10px; text-align:left; border:0; border-radius:6px; background:transparent; cursor:pointer; }
.domain-aero-workspace-picker-v216 button:hover,
.domain-aero-workspace-picker-v216 button.active { background:#dceeff; }
.domain-aero-workspace-picker-v216 small { color:#60758b; }

/* v219.2.15 — consolidated footer database health status. */
#domainAeroDbStatusV215,
#domainAeroDomainRepoStatusV2171,
#domainAeroServerRepoStatusV2172,
#domainAeroPeopleRepoStatusV2173,
#domainAeroProviderRepoStatusV2174,
#domainAeroRelationshipRepoStatusV2175,
#domainAeroAuditStatusV2176,
#domainAeroRemainingDataStatusV2191,
#domainAeroBackendStatusV2192,
#domainAeroDocumentsStatusV21922{display:none!important;}
