/* ===== SOURCE: g2.css ===== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

/* GPanel — graphite + amber, rafine koyu yönetim teması.
   Gamze • Duru • Deren (kaynak-içi ithaf). */

:root {
  /* yüzeyler (katmanlı derinlik) */
  --bg:        #0d0f13;
  --bg-2:      #13161c;
  --panel:     #171b22;
  --panel-2:   #1c212a;
  --panel-3:   #222834;
  --line:      #272d38;
  --line-soft: #1f242d;
  /* metin */
  --txt:       #e7e9ee;
  --txt-dim:   #a9b0bc;
  --muted:     #737a86;
  /* amber vurgu */
  --amber:       #f0b429;
  --amber-dim:   #cf971c;
  --amber-ghost: rgba(240,180,41,.12);
  --amber-soft:  rgba(240,180,41,.20);
  /* durum renkleri */
  --ok:        #4cc38a;
  --ok-bg:     rgba(76,195,138,.13);
  --danger:    #f0616d;
  --danger-bg: rgba(240,97,109,.13);
  --info:      #5b9ef0;
  --info-bg:   rgba(91,158,240,.14);
  --warn:      #e8a13a;
  --warn-bg:   rgba(232,161,58,.14);
  /* biçim */
  --radius:    12px;
  --radius-sm: 8px;
  --radius-lg: 16px;
  --shadow:    0 1px 2px rgba(0,0,0,.28), 0 14px 32px -16px rgba(0,0,0,.55);
  --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --ring:      0 0 0 3px var(--amber-ghost);
  --font-sans: "Inter", ui-sans-serif, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "JetBrains Mono", "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;
  --sidebar-w: 248px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--bg);
  color: var(--txt);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-weight: 400;
}

a { color: var(--amber); text-decoration: none; transition: color .12s; }
a:hover { color: var(--amber-dim); }
h2 { font-size: 17px; font-weight: 500; margin: 0; letter-spacing: -.01em; }
h3 { font-size: 14px; font-weight: 500; margin: 0; }
b, strong { font-weight: 500; }
hr { border: none; border-top: 1px solid var(--line); margin: 4px 0; }

/* ── Utilities ──────────────────────────────────────────────── */
.mono   { font-family: var(--font-mono); font-size: 12.5px; }
.muted  { color: var(--muted); }
.strong { font-weight: 500; }
.sub    { font-size: 12px; margin-top: 2px; }
.ta-right { text-align: right; }

/* ── App shell ──────────────────────────────────────────────── */
.app { display: flex; min-height: 100vh; }

.sidebar {
  width: var(--sidebar-w);
  flex: 0 0 var(--sidebar-w);
  background: linear-gradient(180deg, #12151b, #0c0e12);
  border-right: 1px solid var(--line);
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 18px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
}

.brand { display: flex; align-items: center; gap: 11px; padding: 6px 8px 16px; }
.brand-mark {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--amber), var(--amber-dim));
  color: #1a1205; font-weight: 600; font-family: var(--font-mono); font-size: 17px;
  box-shadow: 0 4px 14px rgba(240,180,41,.30);
}
.brand-mark.lg { width: 46px; height: 46px; font-size: 23px; border-radius: 12px; }
.brand-name { font-weight: 600; letter-spacing: .02em; font-size: 16px; }

.nav { display: flex; flex-direction: column; gap: 2px; }
.nav-item {
  position: relative;
  display: flex; align-items: center; gap: 11px;
  padding: 9px 12px; border-radius: var(--radius-sm);
  color: var(--txt-dim); font-weight: 500; font-size: 13.5px;
  transition: background .12s, color .12s;
}
.nav-item:hover { background: var(--panel); color: var(--txt); }
.nav-item.active { background: var(--amber-ghost); color: var(--amber); }
.nav-item.active::before {
  content: ""; position: absolute; left: -12px; top: 50%; transform: translateY(-50%);
  width: 3px; height: 18px; border-radius: 0 3px 3px 0; background: var(--amber);
}
.nav-item.active .nav-ic { color: var(--amber); }
.nav-ic { width: 18px; text-align: center; font-size: 14px; color: var(--muted); flex: 0 0 18px; }
.nav-sep {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .12em;
  color: var(--muted); padding: 14px 12px 4px; font-weight: 500;
}
.nav .ic, .nav-item .ic {
  width: 18px; height: 18px; flex: 0 0 18px;
  display: block; fill: currentColor; color: var(--muted);
  transition: color .12s;
}
.nav-item:hover .ic { color: var(--txt-dim); }
.nav-item.active .ic { color: var(--amber); }

/* ── Main + topbar ──────────────────────────────────────────── */
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 28px; height: 62px;
  border-bottom: 1px solid var(--line);
  background: rgba(13,15,19,.72);
  backdrop-filter: blur(10px);
  position: sticky; top: 0; z-index: 10;
}
.topbar-title { font-size: 15px; font-weight: 500; letter-spacing: -.01em; }
.topbar-user { display: flex; align-items: center; gap: 16px; }
.u-meta { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.u-name { font-weight: 500; font-size: 13px; }
.u-role { font-size: 11px; color: var(--muted); }
.logout-form { margin: 0; }

/* İç alan artık main gövdeyi tamamen doldurur.
   Böylece sidebar ile sağ ekran kenarı arasındaki sol/sağ boşluklar eşit kalır. */
.content { padding: 28px; width: 100%; max-width: none; }

/* ── Buttons ────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  vertical-align: middle;
  font-family: inherit; font-size: 13px; font-weight: 500;
  padding: 9px 15px; border-radius: var(--radius-sm);
  border: 1px solid transparent; cursor: pointer;
  transition: background .12s, border-color .12s, color .12s, box-shadow .12s, transform .04s;
  white-space: nowrap; line-height: 1.2;
}
.btn:active { transform: translateY(.5px); }
.btn-sm { padding: 7px 12px; font-size: 12.5px; }
.btn-xs { padding: 5px 10px; font-size: 12px; border-radius: 7px; }
.btn-block { width: 100%; }
.btn-primary { background: var(--amber); color: #1a1205; border-color: var(--amber); box-shadow: 0 2px 10px -3px rgba(240,180,41,.5); }
.btn-primary:hover { background: var(--amber-dim); border-color: var(--amber-dim); color: #1a1205; }
.btn-ghost { background: var(--panel-2); color: var(--txt-dim); border-color: var(--line); }
.btn-ghost:hover { background: var(--panel-3); color: var(--txt); border-color: #34404f; }
.btn-danger { background: transparent; color: var(--danger); border-color: rgba(240,97,109,.4); }
.btn-danger:hover { background: var(--danger-bg); color: var(--danger); border-color: rgba(240,97,109,.6); }
.btn svg { width: 15px; height: 15px; fill: currentColor; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

/* ── Flash ──────────────────────────────────────────────────── */
.flashes { display: flex; flex-direction: column; gap: 9px; margin-bottom: 20px; }
.flash {
  padding: 12px 16px; border-radius: var(--radius-sm); font-size: 13.5px;
  border: 1px solid var(--line); border-left-width: 3px;
  margin-bottom: 20px;
}
.flashes .flash { margin-bottom: 0; }
.flash-ok  { background: var(--ok-bg);     border-color: rgba(76,195,138,.4);  border-left-color: var(--ok);     color: #8ee0b5; }
.flash-err { background: var(--danger-bg); border-color: rgba(240,97,109,.4);  border-left-color: var(--danger); color: #f2949c; }
.flash-warn { background: rgba(245,183,64,.12); border-color: rgba(245,183,64,.35); border-left-color: var(--primary); color: #ffd36a; }

/* ── Page / section heads ───────────────────────────────────── */
.panel-block { margin-top: 26px; }
.panel-block:first-child { margin-top: 0; }
.block-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; gap: 12px; flex-wrap: wrap; }
.block-head h2, .block-head h3 { display: flex; align-items: center; gap: 11px; min-width: 0; }

/* başlık ikon çipi */
.head-ic {
  flex: 0 0 auto; display: inline-grid; place-items: center;
  width: 30px; height: 30px; border-radius: 9px;
  background: var(--amber-ghost); color: var(--amber);
}
.head-ic svg { width: 17px; height: 17px; fill: currentColor; display: block; }
.block-head h2[style] .head-ic, .block-head h3 .head-ic { width: 27px; height: 27px; border-radius: 8px; }
.block-head h2[style] .head-ic svg, .block-head h3 .head-ic svg { width: 15px; height: 15px; }

.lead { color: var(--txt-dim); margin: -6px 0 18px; max-width: 760px; }

/* ── Cards ──────────────────────────────────────────────────── */
.card {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow-sm);
}
.card-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 15px 20px; border-bottom: 1px solid var(--line);
}
.card-head h2, .card-head h3 { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; }
.card-body { padding: 20px; }

/* ── Stat cards ─────────────────────────────────────────────── */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-bottom: 28px; }
.stat-card {
  position: relative;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 20px 22px;
  display: block; box-shadow: var(--shadow-sm);
  transition: border-color .12s, transform .12s, box-shadow .12s;
}
a.stat-card:hover { border-color: #34404f; transform: translateY(-2px); box-shadow: var(--shadow); }
.stat-val { font-family: var(--font-mono); font-size: 30px; font-weight: 600; color: var(--txt); line-height: 1.1; }
.stat-label { color: var(--muted); font-size: 12px; margin-top: 4px; text-transform: uppercase; letter-spacing: .06em; }
.stat-ic {
  position: absolute; top: 18px; right: 18px;
  width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center;
  background: var(--amber-ghost); color: var(--amber);
}
.stat-ic svg { width: 19px; height: 19px; fill: currentColor; }

/* ── Tables ─────────────────────────────────────────────────── */
.table {
  width: 100%; border-collapse: collapse;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm);
}
.table thead th {
  text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .07em;
  color: var(--muted); font-weight: 500;
  padding: 12px 18px; border-bottom: 1px solid var(--line); background: var(--bg-2);
  white-space: nowrap;
}
.table tbody td { padding: 13px 18px; border-bottom: 1px solid var(--line-soft); vertical-align: middle; }
.table tbody tr:last-child td { border-bottom: none; }
.table tbody tr { transition: background .1s; }
.table tbody tr:hover { background: var(--panel-2); }

/* tablo işlem hücresi — butonlar tek satırda, hizalı, taşınca sarar */
.table td.ta-right {
  display: flex; flex-wrap: wrap; gap: 6px;
  justify-content: flex-end; align-items: center;
}
.inline { display: inline-flex; align-items: center; margin: 0; }
.del-form { display: inline-flex; margin: 0; }

/* ── Badges ─────────────────────────────────────────────────── */
.badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 20px;
  font-size: 11.5px; font-weight: 500;
  background: var(--panel-3); color: var(--txt-dim);
}
.badge-ok   { background: var(--ok-bg);     color: var(--ok); }
.badge-off  { background: rgba(118,125,137,.16); color: var(--muted); }
.badge-warn { background: rgba(255,193,37,.14); color: var(--accent); }
.badge-info { background: var(--info-bg);   color: var(--info); }
.badge-warn { background: var(--warn-bg);   color: var(--warn); }

/* ── Empty state ────────────────────────────────────────────── */
.empty {
  background: var(--panel); border: 1px dashed var(--line);
  border-radius: var(--radius); padding: 38px; text-align: center; color: var(--txt-dim);
}

/* ── Tabs (DNS kayıt türleri vb.) ───────────────────────────── */
.tab-bar {
  display: flex; flex-wrap: wrap; gap: 2px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 18px;
}
.tab {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: inherit; font-size: 13px; font-weight: 500;
  color: var(--txt-dim); background: transparent;
  border: none; border-bottom: 2px solid transparent;
  padding: 10px 15px; margin-bottom: -1px; cursor: pointer;
  transition: color .12s, border-color .12s;
}
.tab:hover { color: var(--txt); }
.tab.active { color: var(--amber); border-bottom-color: var(--amber); }
.tab-count {
  font-family: var(--font-mono); font-size: 11px; font-weight: 500;
  background: rgba(118,125,137,.18); color: var(--muted);
  padding: 1px 7px; border-radius: 20px; min-width: 16px; text-align: center;
  transition: background .12s, color .12s;
}
.tab.active .tab-count { background: var(--amber-ghost); color: var(--amber); }
.tab-panel { display: none; }
.tab-panel.active { display: block; }

/* ── Forms ──────────────────────────────────────────────────── */
.form-card {
  background: var(--panel); border: 1px solid var(--line); box-shadow: var(--shadow-sm);
  border-radius: var(--radius); padding: 24px;
  width: 100%;
  display: flex; flex-direction: column; gap: 18px;
}
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field-label, .lbl { font-size: 12.5px; font-weight: 500; color: var(--txt-dim); display: block; }
.field-hint { font-size: 11.5px; color: var(--muted); line-height: 1.5; }

.field-help{font-size:11.5px;color:var(--muted);line-height:1.5;display:block;margin-top:2px;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start;}
.form-grid .field-span{grid-column:1 / -1;}
.compact-form .field,.migration-start-form .field{margin:0;}
.compact-form .btn,.migration-start-form .btn{width:auto;}
@media(max-width:900px){.form-grid{grid-template-columns:1fr;}}

/* çok alanlı satırlar genişliği eşit paylaşıp tam doldurur */
.field-row, .form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px 20px;
}

.input, .inp {
  width: 100%; padding: 10px 13px;
  background: var(--bg-2); border: 1px solid var(--line);
  border-radius: var(--radius-sm); color: var(--txt);
  font-family: inherit; font-size: 13.5px; outline: none;
  transition: border-color .12s, box-shadow .12s, background .12s;
}
.input:hover, .inp:hover { border-color: #34404f; }
.input:focus, .inp:focus { border-color: var(--amber-dim); box-shadow: var(--ring); background: var(--panel); }
textarea.input, textarea.inp { line-height: 1.5; resize: vertical; }
select.input, select.inp { appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23737a86'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px;
}

.check { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: var(--txt-dim); cursor: pointer; }
.check input { width: 16px; height: 16px; accent-color: var(--amber); flex: 0 0 16px; }
.hidden-cb { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }

.form-actions { display: flex; gap: 10px; margin-top: 4px; flex-wrap: wrap; }

/* ── Auth ───────────────────────────────────────────────────── */
.auth-body {
  display: grid; place-items: center; min-height: 100vh;
  background:
    radial-gradient(1000px 560px at 72% -12%, rgba(240,180,41,.10), transparent 60%),
    var(--bg);
}
.auth-wrap { width: 100%; max-width: 392px; padding: 24px; }
.auth-card {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 30px;
  box-shadow: 0 24px 70px rgba(0,0,0,.5);
  display: flex; flex-direction: column; gap: 18px;
}
.auth-brand { display: flex; align-items: center; gap: 14px; }
.auth-title { font-size: 20px; font-weight: 600; letter-spacing: .01em; }
.auth-sub { font-size: 12.5px; color: var(--muted); }
.auth-form { display: flex; flex-direction: column; gap: 14px; }
.auth-alt { text-align: center; font-size: 12.5px; margin-top: 4px; }
.auth-foot { text-align: center; color: var(--muted); font-size: 11.5px; margin-top: 16px; }

/* ── Coming soon ────────────────────────────────────────────── */
.coming {
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 48px; text-align: center; display: flex; flex-direction: column; gap: 12px; align-items: center;
  box-shadow: var(--shadow-sm);
}
.coming h2 { font-size: 22px; }
.coming p { max-width: 460px; margin: 0; color: var(--txt-dim); }
.coming-badge {
  background: var(--amber-ghost); color: var(--amber);
  padding: 4px 13px; border-radius: 20px; font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .1em;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 920px) {
  :root { --sidebar-w: 64px; }
  .brand-name, .nav-item span:not(.nav-ic), .nav-sep { display: none; }
  .brand { justify-content: center; padding: 6px 0 14px; }
  .nav-item { justify-content: center; padding: 11px 0; }
  .nav-item.active::before { display: none; }
  .content { padding: 18px; }
}
@media (max-width: 560px) {
  .topbar { padding: 0 16px; }
  .u-meta { display: none; }
}

/* ── WebFTP / FileZilla benzeri dosya yöneticisi ─────────────────── */
.fm-shell { --fm-side: 310px; }
.fm-head-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.fm-breadcrumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: 7px;
  margin-bottom: 14px; padding: 10px 12px;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.fm-breadcrumb a { color: var(--txt-dim); }
.fm-breadcrumb a:hover { color: var(--amber); }
.fm-sep { color: var(--muted); }
.fm-layout { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
.fm-layout-topbar { grid-template-columns: 1fr; }
.fm-side { position: static; top: auto; }
.fm-actions-card { overflow: hidden; }
.fm-actions-card .card-head { padding: 14px 16px; }
.fm-actions-head p { margin: 3px 0 0; font-size: 12px; }
.fm-actions-badges { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.fm-side-body { display: grid; gap: 14px; align-items: stretch; }
.fm-ops-grid {
  grid-template-columns: minmax(300px, 1.05fr) minmax(340px, 1.25fr) minmax(380px, 1.25fr);
}
.fm-panel-title { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.fm-panel-title strong { display: block; color: var(--txt); line-height: 1.25; }
.fm-panel-title span:not(.fm-panel-ic) { display: block; color: var(--muted); font-size: 12px; line-height: 1.35; margin-top: 2px; }
.fm-panel-ic {
  width: 34px; height: 34px; border-radius: 10px;
  display: grid; place-items: center;
  background: var(--amber-ghost); color: var(--amber);
  font-size: 20px; line-height: 1; flex: 0 0 34px;
}
.fm-upload-form { margin: 0; }
.fm-file-input { display: none; }
.fm-folder-input { display: none; }
.fm-upload-panel, .fm-create-panel {
  min-height: 154px; padding: 15px;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.024), rgba(255,255,255,.010));
}
.fm-upload-panel { display: grid; gap: 10px; align-content: start; }
.fm-upload-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fm-selected-box {
  min-height: 40px; display: flex; align-items: center;
  padding: 10px 11px; border: 1px solid var(--line-soft); border-radius: var(--radius-sm);
  background: rgba(0,0,0,.14); color: var(--txt-dim);
}
.fm-selected-box.is-ready { border-color: rgba(240,180,41,.35); background: var(--amber-ghost); color: var(--txt); }
.fm-upload-submit { width: 100%; }
.fm-upload-form .field-hint { color: var(--muted); font-size: 12px; line-height: 1.35; }
.fm-actions-card .fm-dropzone { min-height: 154px; height: 100%; }
.fm-actions-card .fm-progress { grid-column: 1 / -1; align-self: end; }
.fm-progress[hidden] { display: none !important; }
.fm-create-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: start; }
.fm-create-panel > .fm-panel-title { grid-column: 1 / -1; margin-bottom: 0; }
.fm-actions-card .fm-mini-form {
  padding: 12px;
  border: 1px solid var(--line-soft); border-radius: var(--radius-sm);
  background: rgba(0,0,0,.10);
  justify-content: center;
}
.fm-dropzone {
  display: grid; place-items: center; text-align: center; gap: 7px;
  min-height: 132px; padding: 18px;
  border: 1px dashed #3a4656; border-radius: var(--radius);
  background: radial-gradient(circle at 50% 0%, rgba(240,180,41,.08), transparent 62%), rgba(255,255,255,.02);
  color: var(--txt-dim);
  transition: border-color .12s, background .12s, color .12s, transform .12s;
}
.fm-dropzone strong { font-size: 14px; }
.fm-dropzone span { max-width: 420px; font-size: 12px; color: var(--muted); line-height: 1.35; }
.fm-drop-ic { font-size: 32px; line-height: 1; color: var(--amber); }
.fm-dropzone.drag-over, .fm-row.drag-over td {
  border-color: rgba(240,180,41,.7);
  background: var(--amber-ghost) !important;
  color: var(--txt);
}
.fm-progress { display: flex; flex-direction: column; gap: 7px; }
.fm-progress-line {
  height: 9px; overflow: hidden; border-radius: 99px;
  background: var(--panel-3); border: 1px solid var(--line);
}
.fm-progress-line span {
  display: block; height: 100%; width: 0%; border-radius: inherit;
  background: var(--amber); transition: width .12s ease;
}
.fm-progress-text { font-size: 12px; color: var(--muted); }
.fm-mini-form { display: flex; flex-direction: column; gap: 7px; margin: 0; }
.fm-inline-form { display: flex; gap: 8px; align-items: center; }
.fm-inline-form .input { min-width: 0; }
.fm-main { min-width: 0; overflow: hidden; }
.fm-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px; border-bottom: 1px solid var(--line); background: var(--bg-2);
}
.fm-toolbar-left, .fm-toolbar-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.fm-search { width: min(280px, 36vw); }
.fm-table-wrap { overflow: auto; }
.fm-table { border: 0; border-radius: 0; box-shadow: none; }
.fm-table thead th { position: sticky; top: 0; z-index: 1; }
.fm-check { width: 38px; text-align: center !important; padding-left: 12px !important; padding-right: 8px !important; }
.fm-check input { accent-color: var(--amber); }
.fm-name-cell { min-width: 260px; }
.fm-name { display: inline-flex; align-items: center; gap: 8px; }
.fm-icon { font-size: 16px; line-height: 1; }
.fm-actions { min-width: 250px; }
.fm-row { cursor: default; }
.fm-row[data-dir="true"] { cursor: pointer; }
.fm-row[hidden] { display: none; }
.btn[disabled] { opacity: .45; pointer-events: none; }
@media (max-width: 1280px) {
  .fm-side-body { grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr); }
}
@media (max-width: 980px) {
  .fm-layout { grid-template-columns: 1fr; }
  .fm-side { position: static; }
  .fm-side-body { grid-template-columns: 1fr; }
  .fm-upload-form { grid-template-columns: 1fr; }
  .fm-toolbar { align-items: stretch; flex-direction: column; }
  .fm-search { width: 100%; }
}
.fm-perm-cell { white-space: nowrap; min-width: 132px; }
.fm-perm-cell .btn { margin-left: 6px; }

/* ── Site health / diagnosis ─────────────────────────────────────── */
.health-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
.health-summary { border-left: 4px solid var(--ok); }
.health-summary.health-warn { border-left-color: var(--warn); }
.health-summary.health-danger { border-left-color: var(--danger); }
.badge-danger { background: var(--danger-bg); color: var(--danger); }
.pill { display: inline-flex; padding: 2px 7px; border-radius: 999px; background: var(--panel-3); border: 1px solid var(--line); margin: 2px 3px 2px 0; }
.diagnose-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.diagnose-item { border-left: 3px solid var(--ok); }
.diagnose-item.diag-warn { border-left-color: var(--warn); }
.diagnose-item.diag-danger { border-left-color: var(--danger); }
.nav-count { display:inline-flex; min-width:18px; height:18px; padding:0 5px; border-radius:999px; align-items:center; justify-content:center; background:var(--danger-bg); color:var(--danger); font-size:11px; margin-left:4px; }
.card-list { display:flex; flex-direction:column; gap:12px; }
.notif-unread { border-color: rgba(240,180,41,.45); box-shadow: 0 0 0 1px rgba(240,180,41,.08); }
.grid-2 { display:grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap:16px; }
.grid-3 { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:16px; }
.check-row { display:flex; align-items:flex-start; gap:9px; color:var(--txt-dim); font-size:13.5px; }
.check-row input { margin-top:3px; accent-color:var(--amber); }

/* Scrollbar gizleme: scroll davranışı kalır, çubuk görünmez. */
html, body, .sidebar, .main, .content {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
.main::-webkit-scrollbar,
.content::-webkit-scrollbar { display: none; width: 0; height: 0; }

.table-compact thead th { padding: 10px 12px; }
.table-compact tbody td { padding: 10px 12px; }
.input-xs { min-width: 190px; padding: 6px 9px; font-size: 12px; }
.align-end { align-items: flex-end; }
.kv-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; margin:12px 0 16px; }
.kv-grid > div { background: var(--bg-2); border:1px solid var(--line); border-radius: var(--radius-sm); padding:12px; }
.kv-grid span { display:block; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.kv-grid strong { display:block; margin-top:4px; font-family:var(--font-mono); }
button:disabled, .btn:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.clean-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.75}.clean-list li{margin:2px 0}.badge-warn{background:rgba(245,158,11,.18);color:#fbbf24}

/* ── Manuel başlatılan ağır testler ─────────────────────────────── */
.action-start-wrap { min-height: 46vh; display: grid; place-items: center; }
.action-start-card {
  width: min(620px, 100%);
  text-align: center;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.action-start-card h2 { margin: 12px 0 8px; }
.action-start-card p { max-width: 520px; margin: 0 auto 20px; line-height: 1.6; }
.async-loader {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--bg-2);
  text-align: left;
}
.loader-ring {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 3px solid var(--line);
  border-top-color: var(--amber);
  animation: gpanel-spin .8s linear infinite;
}
@keyframes gpanel-spin { to { transform: rotate(360deg); } }
.field[hidden], [hidden] { display: none !important; }
.btn.disabled { opacity: .65; pointer-events: none; }

/* ── UX refresh: daha okunur panel sayfaları ───────────────────── */
.page-hero {
  display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  margin-bottom:22px; padding:24px 26px;
  border:1px solid var(--line); border-radius:var(--radius-lg);
  background:
    radial-gradient(680px 260px at 88% -20%, rgba(240,180,41,.12), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)),
    var(--panel);
  box-shadow:var(--shadow-sm);
}
.page-hero h1 { margin:2px 0 6px; font-size:26px; line-height:1.12; letter-spacing:-.03em; }
.page-hero p { margin:0; color:var(--txt-dim); max-width:720px; }
.eyebrow { color:var(--amber); font-weight:500; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.hero-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.hero-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.hero-meta span {
  display:inline-flex; gap:5px; align-items:center; padding:5px 9px; border-radius:999px;
  background:var(--bg-2); border:1px solid var(--line); color:var(--txt-dim); font-size:12px;
}
.soft-head { background:linear-gradient(180deg, rgba(255,255,255,.025), transparent); }
.input-lg { padding:12px 14px; font-size:14px; }
.table-wrap { overflow:auto; }

/* DNS page */
.dns-workspace { margin-bottom:24px; }
.dns-builder { overflow:hidden; }
.dns-builder .card-body { padding:22px; }
.dns-builder-body { display:flex; flex-direction:column; gap:18px; }
.dns-form-grid {
  display:grid; grid-template-columns: 150px minmax(240px, 1fr) 130px 130px;
  gap:16px; align-items:start;
}
.dns-help-panel {
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px;
  padding:12px; border:1px solid var(--line); border-radius:var(--radius);
  background:rgba(255,255,255,.018);
}
.help-item { display:flex; flex-direction:column; gap:2px; padding:10px; border-radius:10px; background:var(--bg-2); border:1px solid var(--line-soft); }
.help-item b { color:var(--txt); font-size:12px; }
.help-item span { color:var(--muted); font-size:11.5px; line-height:1.35; }
.dns-tabs .tab-bar { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:6px; margin-bottom:12px; }
.dns-tabs .tab { border-radius:9px; border-bottom:0; margin:0; padding:8px 12px; }
.dns-tabs .tab.active { background:var(--amber-ghost); }
.dns-table-card { border-radius:var(--radius); overflow:hidden; }
.dns-table { border:0; box-shadow:none; border-radius:0; }
.dns-content-cell { word-break:break-all; color:var(--txt-dim); max-width:740px; }

/* Sites list */
.site-toolbar {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 18px; margin-bottom:16px;
}
.site-search-wrap { width:min(360px, 45vw); }
.site-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(330px, 1fr)); gap:16px; }
.site-card {
  display:flex; flex-direction:column; gap:16px; padding:18px;
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); transition:border-color .12s, transform .12s, box-shadow .12s;
}
.site-card:hover { border-color:#34404f; transform:translateY(-1px); box-shadow:var(--shadow); }
.site-card[hidden] { display:none; }
.site-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.site-domain-wrap { display:flex; align-items:center; gap:12px; min-width:0; }
.site-favicon {
  width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center;
  border-radius:12px; background:var(--amber-ghost); color:var(--amber); font-weight:600; text-transform:uppercase;
}
.site-domain { display:block; color:var(--txt); font-weight:600; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:230px; }
.site-domain:hover { color:var(--amber); }
.site-meta { margin-top:2px; font-size:11.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:240px; }
.site-card-stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.site-card-stats div { padding:10px; border:1px solid var(--line-soft); background:var(--bg-2); border-radius:10px; }
.site-card-stats span { display:block; color:var(--muted); font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; }
.site-card-stats strong { display:block; margin-top:2px; font-size:12px; color:var(--txt); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.site-actions-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.site-actions-grid .btn { width:100%; }
.site-card-foot { display:flex; justify-content:flex-end; padding-top:2px; border-top:1px solid var(--line-soft); }

/* Site detail */
.quick-action-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:14px; margin-bottom:20px; }
.quick-action-card {
  display:flex; flex-direction:column; gap:4px; min-height:92px; padding:16px;
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  color:var(--txt); box-shadow:var(--shadow-sm); transition:transform .12s, border-color .12s, background .12s;
}
.quick-action-card:hover { transform:translateY(-1px); border-color:rgba(240,180,41,.45); background:linear-gradient(180deg, var(--panel-2), var(--panel)); color:var(--txt); }
.quick-action-card b { font-size:14px; }
.quick-action-card span { color:var(--muted); font-size:12px; line-height:1.45; }
.info-strip { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:1px; padding:0; overflow:hidden; margin-bottom:20px; }
.info-strip > div { padding:14px 16px; background:var(--panel); }
.info-strip span { display:block; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.info-strip b { display:block; margin-top:4px; color:var(--txt); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.settings-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; margin-top:16px; }
.settings-card { overflow:hidden; }
.compact-form { display:flex; flex-direction:column; gap:14px; }
.mini-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px; }
.mini-list { display:flex; flex-direction:column; gap:8px; }
.mini-list-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid var(--line-soft); border-radius:10px; background:var(--bg-2); }
.inline-create-form { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:12px; }
.code-area { min-height:300px; resize:vertical; line-height:1.48; }

@media (max-width: 980px) {
  .page-hero, .site-toolbar { flex-direction:column; align-items:stretch; }
  .hero-actions { justify-content:flex-start; }
  .site-search-wrap { width:100%; }
  .dns-form-grid { grid-template-columns:1fr 1fr; }
  .dns-help-panel { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .settings-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .page-hero { padding:20px; }
  .page-hero h1 { font-size:22px; }
  .dns-form-grid, .dns-help-panel, .site-card-stats, .site-actions-grid { grid-template-columns:1fr; }
  .site-grid { grid-template-columns:1fr; }
}

/* ── Genel UI refresh: liste, kart ve sayfalama ─────────────────── */
.list-toolbar {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 18px; margin:0 0 16px;
}
.list-search-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.list-search-actions .input { min-width:280px; }
.wide-actions .input { min-width:220px; }
.resource-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:16px; margin-bottom:18px; }
.resource-card {
  display:flex; flex-direction:column; gap:14px; padding:17px;
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); transition:transform .12s, border-color .12s, box-shadow .12s;
}
.resource-card:hover { transform:translateY(-1px); border-color:#34404f; box-shadow:var(--shadow); }
.resource-card-wide { min-height:150px; }
.resource-main { display:flex; align-items:center; gap:12px; min-width:0; }
.resource-icon {
  width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center;
  border-radius:13px; background:var(--amber-ghost); color:var(--amber);
  font-weight:600; font-size:12px; text-transform:uppercase;
}
.resource-title { font-weight:600; color:var(--txt); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:520px; }
.resource-sub { margin-top:3px; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:520px; }
.resource-meta-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:8px; }
.resource-meta-grid > div { padding:10px; border:1px solid var(--line-soft); background:var(--bg-2); border-radius:10px; min-width:0; }
.resource-meta-grid span { display:block; color:var(--muted); font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; }
.resource-meta-grid b { display:block; margin-top:4px; font-size:12px; color:var(--txt); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.resource-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.wrap-actions { flex-wrap:wrap; justify-content:flex-start; }
.ellipsis { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.metric-large { font-size:34px; line-height:1; font-weight:600; color:var(--txt); margin-bottom:8px; font-family:var(--font-mono); }
.event-list { display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.event-card {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start;
  padding:14px 16px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.event-title { font-weight:600; color:var(--txt); }
.event-sub, .event-detail { margin-top:4px; font-size:12.5px; line-height:1.45; }
.event-time { white-space:nowrap; font-size:12px; }
.event-actions { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.pagination-card {
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:12px 14px; margin:16px 0 0; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
}
.pagination-summary { color:var(--muted); font-size:12px; }
.pagination-links { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.page-btn, .page-dots {
  display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 10px;
  border-radius:10px; border:1px solid var(--line); background:var(--bg-2); color:var(--txt-dim); font-size:12px;
}
.page-btn:hover { color:var(--txt); border-color:rgba(240,180,41,.45); }
.page-btn.active { background:var(--amber-ghost); color:var(--amber); border-color:rgba(240,180,41,.35); font-weight:600; }
.page-btn.disabled { opacity:.5; pointer-events:none; }
.page-dots { border-color:transparent; background:transparent; min-width:22px; }
@media (max-width: 760px) {
  .list-toolbar { flex-direction:column; align-items:stretch; }
  .list-search-actions, .resource-actions { justify-content:flex-start; }
  .list-search-actions .input { min-width:0; width:100%; }
  .resource-grid { grid-template-columns:1fr; }
  .event-card { grid-template-columns:1fr; }
  .event-actions { align-items:flex-start; }
}


/* ─────────────────────────────────────────────────────────────
   Complete UI refresh v2 — all pages use same visual language
   ───────────────────────────────────────────────────────────── */
.content { padding: 30px; }
.content > .block-head:first-child {
  margin: 0 0 22px;
  padding: 24px 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(760px 260px at 90% -20%, rgba(240,180,41,.13), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  box-shadow: var(--shadow-sm);
}
.content > .block-head:first-child h2 {
  font-size: 24px !important;
  line-height: 1.15;
  letter-spacing: -.03em;
}
.content > .block-head:first-child .head-ic {
  width: 38px; height: 38px; border-radius: 12px;
}
.content > .block-head:first-child .head-ic svg { width: 20px; height: 20px; }
.content > .block-head:first-child + p.muted,
.content > .block-head:first-child + p.lead {
  margin-top: -10px !important;
  margin-bottom: 20px !important;
  padding: 0 4px;
  max-width: 880px;
}
.page-hero {
  position: relative;
  display:flex; align-items:flex-start; justify-content:space-between; gap:22px;
  padding: 26px;
  margin-bottom: 22px;
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(800px 280px at 92% -24%, rgba(240,180,41,.14), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.012));
  box-shadow: var(--shadow-sm);
  overflow:hidden;
}
.page-hero::after {
  content:""; position:absolute; inset:auto -120px -180px auto; width:360px; height:260px;
  background: radial-gradient(circle, rgba(240,180,41,.10), transparent 70%);
  pointer-events:none;
}
.eyebrow { color:var(--amber); font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:8px; }
.page-hero h1 { margin:0 0 7px; font-size:28px; line-height:1.08; letter-spacing:-.04em; }
.page-hero p { margin:0; color:var(--txt-dim); max-width:780px; }
.hero-actions { display:flex; gap:10px; align-items:center; justify-content:flex-end; flex-wrap:wrap; position:relative; z-index:1; }
.hero-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.hero-meta span { display:inline-flex; gap:5px; align-items:center; padding:5px 9px; border:1px solid var(--line-soft); border-radius:20px; background:rgba(255,255,255,.025); color:var(--txt-dim); font-size:12px; }

.card, .form-card, .table, .empty { border-radius: var(--radius-lg); }
.card, .form-card, .stat-card, .table, .resource-card, .site-card, .quick-action-card, .event-card { box-shadow: var(--shadow-sm); }
.card:hover, .form-card:hover { border-color:#313947; }
.card-head.soft-head, .soft-head { background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.006)); }
.panel-block { margin-top: 24px; }
.panel-block > .block-head { margin-bottom: 13px; }
.panel-block > .block-head h2 { font-size:18px; }
.grid-2 { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px; }
.card-list { display:flex; flex-direction:column; gap:12px; }
.table-wrap { overflow:auto; border-radius:var(--radius-lg); }
.table-wrap .table { min-width:760px; }
.table { overflow:hidden; }
.table thead th { background:linear-gradient(180deg, var(--bg-2), rgba(18,21,27,.92)); }
.table tbody td { transition:background .12s; }
.compact-table td, .compact-table th { padding:10px 13px; }

.dashboard-hero { margin-bottom: 18px; }
.dashboard-actions { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:12px; margin-bottom:22px; }
.dashboard-action {
  display:flex; flex-direction:column; gap:4px; padding:15px 16px;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--panel);
  color:var(--txt); box-shadow:var(--shadow-sm); transition:transform .12s,border-color .12s,background .12s;
}
.dashboard-action:hover { transform:translateY(-1px); border-color:rgba(240,180,41,.45); color:var(--txt); background:linear-gradient(180deg,var(--panel-2),var(--panel)); }
.dashboard-action b { font-size:14px; }
.dashboard-action span { font-size:12px; color:var(--muted); line-height:1.45; }

.stat-card { min-height:112px; }
.stat-card .stat-val, .stat-num { letter-spacing:-.03em; }
.form-card { gap:17px; }
.form-card.slim-card { max-width: 980px; }
.form-card .form-card { background:var(--bg-2); }

.list-toolbar.card { border-radius:var(--radius-lg); }
.resource-card { min-height:unset; }
.resource-icon { box-shadow:inset 0 0 0 1px rgba(240,180,41,.12); }
.event-card { border-radius:var(--radius-lg); }
.event-card.unread { border-color:rgba(240,180,41,.35); background:linear-gradient(180deg, rgba(240,180,41,.045), var(--panel)); }
.empty { min-height:108px; display:grid; place-items:center; }

/* health/security start cards */
.action-start-wrap { margin-top:0; }
.action-start-card {
  display:grid; place-items:center; text-align:center; gap:12px;
  min-height:300px; padding:34px;
  border:1px dashed rgba(240,180,41,.28); border-radius:var(--radius-lg);
  background:linear-gradient(180deg, rgba(240,180,41,.055), rgba(255,255,255,.012));
}
.action-start-card h2 { font-size:24px; margin:0; }
.action-start-card p { max-width:680px; margin:0; }
.async-loader { align-items:center; gap:12px; margin-top:4px; }
.loader-ring { width:34px; height:34px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--amber); animation:gpanelSpin .8s linear infinite; }
@keyframes gpanelSpin { to { transform:rotate(360deg); } }

/* file manager alignment */
.fm-shell .page-hero { margin-bottom:16px; }
.fm-main, .fm-side, .fm-explorer-card { border-radius:var(--radius-lg); }

@media (max-width: 980px) {
  .content { padding:20px; }
  .page-hero, .content > .block-head:first-child { padding:20px; }
  .page-hero { flex-direction:column; }
  .hero-actions { justify-content:flex-start; }
  .grid-2, .grid-3 { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .page-hero h1, .content > .block-head:first-child h2 { font-size:22px !important; }
  .dashboard-actions, .cards-grid { grid-template-columns:1fr; }
}

.old-head-hidden{display:none!important}

/* ─────────────────────────────────────────────────────────────
   Inter light tune + overflow fixes
   ───────────────────────────────────────────────────────────── */
body {
  font-weight: 400;
}

h1, h2, h3,
.page-hero h1,
.content > .block-head:first-child h2,
.action-start-card h2,
.coming h2,
.auth-title {
  font-weight: 500 !important;
}

.page-hero h1 {
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: -.028em;
}

.eyebrow,
.brand-name,
.nav-item,
.topbar-title,
.u-name,
.btn,
.tab,
.badge,
.field-label,
.lbl,
.table thead th,
.strong,
b,
strong {
  font-weight: 500 !important;
}

.stat-val,
.stat-num,
.metric-large,
.resource-icon,
.site-favicon,
.brand-mark {
  font-weight: 500 !important;
}

.resource-title,
.site-domain,
.dashboard-action b,
.quick-action-card b,
.event-title,
.card-head h2,
.card-head h3,
.panel-block > .block-head h2 {
  font-weight: 500 !important;
}

.resource-title.mono,
.site-card-stats strong,
.resource-meta-grid b,
.info-strip b,
.kv-grid strong {
  font-weight: 500 !important;
}

.resource-sub,
.site-meta,
.muted,
.sub {
  font-weight: 400 !important;
}

/* Kart içi uzun DB adı / kullanıcı adı taşmasını engeller */
.resource-grid,
.site-grid,
.cards-grid,
.grid-2,
.grid-3,
.resource-card,
.site-card,
.card,
.form-card,
.list-toolbar,
.page-hero {
  min-width: 0;
}

.resource-card,
.site-card {
  overflow: hidden;
}

.resource-main,
.site-domain-wrap {
  min-width: 0;
  width: 100%;
}

.resource-main > div,
.site-domain-wrap > div {
  min-width: 0;
  flex: 1 1 auto;
}

.resource-title,
.resource-sub,
.site-domain,
.site-meta,
.resource-meta-grid b,
.site-card-stats strong {
  max-width: 100% !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.resource-meta-grid > div,
.site-card-stats div {
  min-width: 0;
  overflow: hidden;
}

.resource-actions.wrap-actions {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.resource-actions.wrap-actions .btn,
.resource-actions.wrap-actions label.btn {
  min-width: 0;
}

/* 3 kolon dar gelince kartlar sıkışmasın, alt satıra düşsün */
.resource-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
}

@media (min-width: 1180px) {
  .resource-grid {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
}

@media (max-width: 620px) {
  .page-hero h1,
  .content > .block-head:first-child h2 {
    font-size: 22px !important;
  }
}


/* ─────────────────────────────────────────────────────────────
   Icon size normalization + DB two-line credentials
   ───────────────────────────────────────────────────────────── */
.site-favicon,
.resource-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  flex: 0 0 36px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.resource-main > .resource-text,
.site-domain-wrap > div:not(.site-favicon) {
  min-width: 0;
  flex: 1 1 auto;
}

.resource-main > .resource-icon,
.site-domain-wrap > .site-favicon {
  flex: 0 0 36px !important;
}

.db-conn-lines {
  display: flex !important;
  flex-direction: column;
  gap: 2px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: 100% !important;
  line-height: 1.35;
}

.db-conn-lines span {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.resource-card-wide .resource-main {
  align-items: flex-start;
}

.resource-card-wide .resource-icon {
  margin-top: 1px;
}


/* ─────────────────────────────────────────────────────────────
   Final polish: lighter Inter, fixed compact icons, DB full two-line info
   ───────────────────────────────────────────────────────────── */
html, body { font-weight: 400 !important; }

.page-hero h1,
h1 {
  font-weight: 400 !important;
  letter-spacing: -0.024em !important;
}

h2, h3,
.topbar-title,
.strong,
.card-head h2,
.card-head h3,
.panel-block > .block-head h2 {
  font-weight: 500 !important;
}

.resource-title,
.site-domain,
.event-title,
.dashboard-action b,
.quick-action-card b,
.btn,
.nav-item,
.badge {
  font-weight: 500 !important;
}

.site-favicon,
.resource-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  flex: 0 0 32px !important;
  border-radius: 9px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.site-domain-wrap,
.resource-main {
  min-width: 0 !important;
}

.site-domain-wrap > div:not(.site-favicon),
.resource-main > div:not(.resource-icon),
.resource-main > .resource-text {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.resource-main > .resource-icon,
.site-domain-wrap > .site-favicon {
  flex: 0 0 32px !important;
}

.db-conn-lines {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: 100% !important;
  line-height: 1.35 !important;
}

.db-conn-lines span {
  display: block !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.resource-card-wide .resource-main { align-items: flex-start !important; }
.resource-card-wide .resource-icon { margin-top: 1px !important; }

/* Cron form polish: separate minute/hour/day/month/weekday fields */
.cron-schedule-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(74px, 1fr));
  gap: 8px;
  width: 100%;
}

.cron-schedule-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.cron-schedule-grid label span {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

.cron-schedule-grid .input {
  text-align: center;
  padding-inline: 8px;
}

.cron-edit-box {
  margin-top: 12px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.cron-edit-box summary {
  width: max-content;
  cursor: pointer;
  list-style: none;
}

.cron-edit-box summary::-webkit-details-marker {
  display: none;
}

.cron-edit-form {
  margin-top: 12px;
}

.checkbox-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 900px) {
  .cron-schedule-grid {
    grid-template-columns: repeat(2, minmax(90px, 1fr));
  }
}

/* System proxy advanced options */
.check-grid { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.resource-sub .badge { margin-right:6px; }

/* WordPress toolkit - selected domain install topbar */
.wp-install-card { margin: 18px 0 22px; overflow: hidden; }
.wp-install-card .card-head { align-items: flex-start; gap: 16px; }
.wp-install-meta { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.wp-install-form {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 14px 18px;
  align-items: end;
}
.wp-install-select { margin: 0; }
.wp-install-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-bottom: 1px; }
.wp-install-actions .btn { white-space: nowrap; }
@media (max-width: 980px) {
  .wp-install-form { grid-template-columns: 1fr; align-items: stretch; }
  .wp-install-actions .btn { width: 100%; justify-content: center; }
  .wp-install-meta { justify-content: flex-start; }
}

.notice-card { border:1px solid var(--border); border-radius:18px; padding:16px 18px; margin:0 0 18px; background:var(--card); }
.notice-card > div { display:flex; flex-direction:column; gap:6px; }
.notice-card span { color:var(--muted); }
.notice-warn { border-color:rgba(255,193,37,.28); background:rgba(255,193,37,.06); }

/* DB yönetimi: import ve kullanıcı değiştirme panelleri */
.db-import-form {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.db-import-pick {
  cursor: pointer;
  margin: 0;
}
.db-import-pick input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.db-import-name {
  min-width: 180px;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.db-import-hint {
  flex-basis: 100%;
}
.db-quick-panel {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.db-quick-panel > summary {
  list-style: none;
}
.db-quick-panel > summary::-webkit-details-marker {
  display: none;
}
.db-quick-panel[open] {
  display: block;
  flex-basis: 100%;
  width: 100%;
}
.db-user-form {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.input-sm {
  min-height: 34px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
}
.tiny {
  font-size: 12px;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .db-import-form,
  .db-user-form {
    align-items: stretch;
  }
  .db-import-form .btn,
  .db-user-form .btn,
  .db-user-form .input {
    width: 100%;
  }
  .db-import-name {
    max-width: 100%;
  }
}

/* Restore progress modal */
.restore-modal[hidden] { display: none !important; }
.restore-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
}
.restore-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .72);
  backdrop-filter: blur(5px);
}
.restore-modal-card {
  position: relative;
  width: min(720px, calc(100vw - 32px));
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(255, 193, 37, .15), transparent 34%),
    var(--card);
  box-shadow: 0 22px 80px rgba(0,0,0,.45);
  padding: 24px;
}
.restore-modal-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}
.restore-modal-head h2 {
  margin: 6px 0 6px;
  font-size: 24px;
}
.restore-modal-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}
.restore-modal-percent {
  min-width: 76px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(255, 193, 37, .14);
  border: 1px solid rgba(255, 193, 37, .28);
  color: var(--accent);
  font-weight: 800;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}
.restore-progress-track {
  height: 13px;
  border-radius: 999px;
  overflow: hidden;
  margin: 22px 0 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
}
.restore-progress-bar {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,193,37,.72), rgba(255,193,37,1));
  transition: width .35s ease;
}
.restore-stage-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px 16px;
  background: rgba(255,255,255,.035);
}
.restore-stage-card strong {
  display: block;
  margin-bottom: 5px;
}
.restore-stage-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.restore-steps {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.restore-steps li {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 9px 12px;
  color: var(--muted);
  background: rgba(255,255,255,.025);
  font-size: 12px;
  text-align: center;
}
.restore-steps li.is-active {
  color: var(--accent);
  border-color: rgba(255,193,37,.34);
  background: rgba(255,193,37,.10);
}
.restore-steps li.is-done {
  color: #8ee0b3;
  border-color: rgba(142,224,179,.25);
  background: rgba(142,224,179,.07);
}
.restore-modal.is-error .restore-modal-percent,
.restore-modal.is-error .restore-steps li.is-active {
  color: #ff6b7a;
  border-color: rgba(255,107,122,.32);
  background: rgba(255,107,122,.08);
}
.restore-modal.is-error .restore-progress-bar {
  background: linear-gradient(90deg, rgba(255,107,122,.72), rgba(255,107,122,1));
}
.restore-modal.is-done .restore-progress-bar {
  background: linear-gradient(90deg, rgba(142,224,179,.72), rgba(142,224,179,1));
}
.restore-modal-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}
body.restore-modal-open {
  overflow: hidden;
}
@media (max-width: 720px) {
  .restore-modal { padding: 12px; }
  .restore-modal-card { padding: 18px; border-radius: 18px; }
  .restore-modal-head { flex-direction: column; }
  .restore-modal-percent { align-self: flex-start; }
  .restore-steps { grid-template-columns: 1fr; }
}
/* Mailcow mail yönetimi */
.input-group { display:flex; align-items:center; width:100%; }
.input-group .input { border-top-right-radius:0; border-bottom-right-radius:0; }
.input-suffix { display:inline-flex; align-items:center; min-height:42px; padding:0 12px; border:1px solid var(--border); border-left:0; border-radius:0 12px 12px 0; background:rgba(255,255,255,.035); color:var(--muted); font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.mail-inline-form { display:inline-flex; gap:6px; align-items:center; }
.mail-inline-form .input-sm { width:92px; }
.mail-password-pop { margin-top:8px; padding:10px; min-width:240px; display:flex; gap:8px; align-items:center; background:rgba(9,12,18,.96); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); }

/* Mail yönetimi — v2.94 UI refresh */
.mail-hero { margin-bottom: 14px; }
.mail-admin-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap:18px;
  margin-top:18px;
}
.mail-admin-card,
.mail-selected-card {
  background: linear-gradient(180deg, rgba(23,27,34,.98), rgba(16,19,25,.98));
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.mail-admin-card { padding:20px; }
.mail-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.mail-card-head h2, .mail-card-head h3 { margin:0 0 4px; font-size:18px; }
.mail-card-head p { margin:0; color:var(--txt-dim); }
.mail-card-head-tight { padding:18px 18px 0; margin-bottom:0; }
.mail-stack-form { display:flex; flex-direction:column; gap:14px; }
.mail-admin-form-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:14px;
}
.mail-check-field { align-self:end; }
.mail-note-box {
  display:grid;
  gap:8px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background: rgba(255,255,255,.02);
}
.mail-note-box p { margin:0; color:var(--txt-dim); }
.mail-activate-card { padding:20px; }
.mail-domain-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:16px;
}
.mail-domain-card {
  background: linear-gradient(180deg, rgba(23,27,34,.98), rgba(16,19,25,.98));
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  padding:18px;
  box-shadow: var(--shadow-sm);
  transition: transform .12s, border-color .12s, box-shadow .12s;
}
.mail-domain-card:hover { transform:translateY(-1px); border-color:#364150; box-shadow:var(--shadow); }
.mail-domain-card.is-active {
  border-color: rgba(240,180,41,.55);
  box-shadow: 0 0 0 1px rgba(240,180,41,.12), var(--shadow);
}
.mail-domain-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.mail-domain-title { font-size:18px; font-weight:600; color:var(--txt); margin-bottom:4px; word-break:break-word; }
.mail-domain-sub { color:var(--txt-dim); line-height:1.5; }
.mail-domain-metrics {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-bottom:14px;
}
.mail-domain-metrics > div,
.mail-summary-item {
  padding:12px 13px;
  border-radius:13px;
  background: rgba(255,255,255,.025);
  border:1px solid var(--line-soft);
}
.mail-domain-metrics span,
.mail-summary-item span {
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.mail-domain-metrics strong,
.mail-summary-item strong { font-size:14px; font-weight:600; color:var(--txt); }
.mail-domain-actions,
.mail-selected-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.mail-selected-card { padding:22px; }
.mail-selected-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.mail-selected-top h2 { margin:0 0 6px; font-size:26px; }
.mail-selected-top p { margin:0; color:var(--txt-dim); }
.mail-summary-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap:12px;
  margin-bottom:18px;
}
.mail-table-card {
  border:1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.015);
  overflow:hidden;
}
.mail-empty-inline { margin:18px; }
.mail-inline-form { display:inline-flex; gap:6px; align-items:center; }
.mail-inline-form .input-sm { width:92px; }
.mail-password-pop {
  margin-top:8px;
  padding:10px;
  min-width:240px;
  display:flex;
  gap:8px;
  align-items:center;
  background:rgba(9,12,18,.96);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
}
.mail-modal {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:24px;
}
.mail-modal-backdrop {
  position:absolute;
  inset:0;
  background: rgba(5,8,13,.72);
  backdrop-filter: blur(6px);
}
.mail-modal-card {
  position:relative;
  width:min(780px, calc(100vw - 32px));
  background: linear-gradient(180deg, #161a21, #101319);
  border:1px solid #2b3340;
  border-radius:20px;
  box-shadow: 0 30px 60px rgba(0,0,0,.45);
  padding:22px;
}
.mail-modal-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.mail-modal-head h2 { margin:0 0 6px; font-size:22px; }
.mail-modal-head p { margin:0; color:var(--txt-dim); }
.mail-modal-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
}
.mail-modal-actions {
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.mail-modal-feedback {
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(91,158,240,.35);
  background: rgba(91,158,240,.12);
  color:#cfe2ff;
  line-height:1.5;
}
.mail-modal-feedback.is-error {
  border-color: rgba(240,97,109,.4);
  background: rgba(240,97,109,.12);
  color:#ffc0c7;
}
body.mail-modal-open { overflow:hidden; }
@media (max-width: 900px) {
  .mail-selected-top { flex-direction:column; }
}
@media (max-width: 640px) {
  .mail-admin-card, .mail-selected-card, .mail-activate-card { padding:16px; }
  .mail-modal { padding:14px; }
  .mail-modal-card { padding:18px; width:min(100%, calc(100vw - 16px)); }
  .mail-domain-metrics { grid-template-columns: 1fr; }
}

/* Mail yönetimi — v2.95 layout simplify */
.mail-hero-toolbar {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.mail-page-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.mail-activate-inline {
  padding:18px 20px;
}
.mail-card-head-tight-block {
  margin-bottom:14px;
}
.mail-inline-activate-form {
  display:grid;
  grid-template-columns: 2fr repeat(4, minmax(140px, 1fr)) auto;
  gap:12px;
  align-items:end;
}
.mail-inline-activate-actions {
  display:flex;
  justify-content:flex-end;
}
.mail-page-actions .btn[disabled] { opacity:.55; cursor:not-allowed; }
@media (max-width: 1180px) {
  .mail-inline-activate-form {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
  .mail-inline-activate-actions { justify-content:flex-start; }
}
@media (max-width: 900px) {
  .mail-hero-toolbar {
    flex-direction:column;
    align-items:stretch;
  }
  .mail-page-actions {
    justify-content:flex-start;
  }
}

/* Mail yönetimi — v2.96 next steps */
.mail-dns-health {
  margin: 6px 0 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.015);
  padding: 18px;
}
.mail-dns-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.mail-dns-card {
  border: 1px solid var(--line-soft);
  border-radius: 14px;
  padding: 13px 14px;
  background: rgba(255,255,255,.025);
  min-height: 108px;
}
.mail-dns-card span {
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.mail-dns-card strong { display:block; font-size:16px; margin-bottom:7px; }
.mail-dns-card p { margin:0; color:var(--txt-dim); font-size:12px; word-break:break-word; }
.mail-dns-card.is-ok strong { color:var(--ok); }
.mail-dns-card.is-warn strong { color:var(--warn); }
.mail-list-head { align-items:center; }
.mail-list-tools { min-width:260px; }
.mail-bulk-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  margin:0 18px 12px;
  border:1px solid rgba(240,97,109,.35);
  border-radius:14px;
  background:rgba(240,97,109,.10);
  color:var(--txt);
}
tr.mail-row-hidden { display:none; }
@media (max-width: 760px) {
  .mail-list-head { flex-direction:column; align-items:stretch; }
  .mail-list-tools { min-width:0; width:100%; }
  .mail-bulk-bar { flex-direction:column; align-items:flex-start; }
}

/* Mail yönetimi — v2.97 kart tipografi standardı */
.mail-domain-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;
}
.mail-domain-card {
  padding:14px 15px;
  border-radius:14px;
}
.mail-domain-head {
  gap:10px;
  margin-bottom:10px;
}
.mail-domain-title {
  font-size:14.5px !important;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.01em;
}
.mail-domain-sub {
  font-size:12.5px;
  line-height:1.45;
  color:var(--txt-dim);
}
.mail-domain-metrics {
  gap:8px;
  margin-bottom:11px;
}
.mail-domain-metrics > div,
.mail-summary-item {
  padding:9px 10px;
  border-radius:11px;
}
.mail-domain-metrics span,
.mail-summary-item span {
  font-size:10.5px;
  margin-bottom:4px;
}
.mail-domain-metrics strong,
.mail-summary-item strong {
  font-size:12.5px;
  font-weight:600;
}
.mail-domain-actions .btn-sm {
  padding:6px 10px;
  font-size:12px;
}
.mail-domain-card .badge {
  font-size:11px;
  padding:4px 8px;
}

/* Mail domain ana hesap işlemleri — v2.98 */
.mail-domain-danger-note {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(232,161,58,.35);
  border-radius: 14px;
  background: rgba(232,161,58,.10);
  color: var(--txt-dim);
  line-height: 1.5;
}
.mail-domain-danger-note strong { color: #ffd36a; }
.mail-selected-actions .btn-danger { padding: 9px 15px; }
.mail-domain-actions .btn-danger { padding: 7px 12px; }

/* Mail quota doğruluk/limit görünümü — v2.100 */
.mail-domain-metrics-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mail-quota-sub {
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
@media (max-width: 520px) {
  .mail-domain-metrics-3 { grid-template-columns:1fr; }
}

/* Mail sunucuları toplu senkron — v2.101 */
.mail-sync-modal-card { width:min(820px, calc(100vw - 32px)); }
.mail-sync-overview {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.mail-sync-overview > div { min-width:0; }
.mail-sync-counter {
  display:inline-flex;
  margin-bottom:7px;
  padding:4px 9px;
  border:1px solid rgba(240,180,41,.28);
  border-radius:999px;
  background:var(--amber-ghost);
  color:var(--amber);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:600;
}
.mail-sync-overview strong { display:block; font-size:15px; color:var(--txt); }
.mail-sync-overview p { margin:4px 0 0; color:var(--txt-dim); }
.mail-sync-percent {
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-size:24px;
  font-weight:600;
  color:var(--amber);
}
.mail-sync-track {
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line-soft);
  margin-bottom:16px;
}
.mail-sync-bar {
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--amber-dim), var(--amber));
  transition:width .28s ease;
  box-shadow:0 0 14px rgba(240,180,41,.25);
}
.mail-sync-server-list {
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:340px;
  overflow:auto;
  padding-right:3px;
}
.mail-sync-server-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px 14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.018);
  transition:border-color .15s, background .15s;
}
.mail-sync-server-main { min-width:0; display:flex; flex-direction:column; gap:2px; }
.mail-sync-server-main strong { font-size:13.5px; }
.mail-sync-server-main span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mail-sync-server-status {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:88px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:var(--muted);
  font-size:11px;
  font-weight:600;
}
.mail-sync-server-message {
  grid-column:1 / -1;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.mail-sync-server-row.is-running {
  border-color:rgba(240,180,41,.45);
  background:rgba(240,180,41,.055);
}
.mail-sync-server-row.is-running .mail-sync-server-status {
  background:var(--amber-ghost);
  color:var(--amber);
}
.mail-sync-server-row.is-ok { border-color:rgba(76,195,138,.28); }
.mail-sync-server-row.is-ok .mail-sync-server-status {
  background:var(--ok-bg);
  color:var(--ok);
}
.mail-sync-server-row.is-error { border-color:rgba(240,97,109,.35); }
.mail-sync-server-row.is-error .mail-sync-server-status {
  background:var(--danger-bg);
  color:var(--danger);
}
.mail-sync-summary {
  margin-top:14px;
  padding:12px 14px;
  border:1px solid rgba(76,195,138,.32);
  border-radius:13px;
  background:var(--ok-bg);
  color:#a9e9c7;
}
.mail-sync-summary.is-error {
  border-color:rgba(240,97,109,.35);
  background:var(--danger-bg);
  color:#ffc0c7;
}
.mail-sync-actions { margin-top:14px; }
@media (max-width:640px) {
  .mail-sync-overview { gap:10px; }
  .mail-sync-percent { font-size:20px; }
  .mail-sync-server-row { grid-template-columns:1fr; }
  .mail-sync-server-status { justify-self:start; }
}

/* Mail domain listesi — v2.102 tablo görünümü */
.mail-domain-table-wrap { border:1px solid var(--line); }
.mail-domain-table { min-width:980px; border:0; border-radius:0; box-shadow:none; }
.mail-domain-table-name { color:var(--txt); font-weight:600; font-size:13px; }
.mail-domain-table-sub { margin-top:3px; color:var(--muted); font-size:11px; white-space:nowrap; }
.mail-domain-table tbody tr.mail-domain-row-selected td { background:var(--amber-ghost); }
.mail-domain-table tbody tr.mail-domain-row-selected:hover td { background:var(--amber-soft); }
.mail-domain-table td { white-space:nowrap; }
.mail-domain-table td:first-child { min-width:220px; }

/* Mail yönetimi — v2.103 ayrık liste / yönetim ekranı */
.mail-domain-list-head { align-items:center; }
.mail-domain-table-tools { width:min(360px, 100%); }
.mail-domain-table-tools .input { width:100%; }
.mail-domain-table tbody tr { background:var(--panel); }
.mail-domain-table tbody tr:hover td { background:var(--panel-2); }
.mail-domain-detail-hero {
  border-color:rgba(240,180,41,.55) !important;
  box-shadow:inset 4px 0 0 var(--amber), var(--shadow-sm);
  background:linear-gradient(110deg, rgba(240,180,41,.10), rgba(23,27,34,.98) 32%, rgba(16,19,25,.98));
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.mail-domain-detail-card {
  border-color:rgba(240,180,41,.28);
}
.mail-domain-add-modal-card { width:min(900px, calc(100vw - 40px)); }
.mail-domain-add-grid { grid-template-columns:repeat(auto-fit, minmax(210px,1fr)); }
.mail-server-modal-card {
  width:min(1040px, calc(100vw - 48px));
  max-width:1040px;
}
.mail-server-form-grid {
  grid-template-columns:minmax(140px,.7fr) minmax(280px,1.6fr) minmax(240px,1.35fr) minmax(150px,.7fr);
}
.mail-server-list-block {
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.mail-server-table {
  width:100%;
  min-width:0 !important;
  table-layout:fixed;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.mail-server-table th:nth-child(1), .mail-server-table td:nth-child(1) { width:14%; }
.mail-server-table th:nth-child(2), .mail-server-table td:nth-child(2) { width:43%; }
.mail-server-table th:nth-child(3), .mail-server-table td:nth-child(3) { width:16%; }
.mail-server-table th:nth-child(4), .mail-server-table td:nth-child(4) { width:14%; }
.mail-server-table th:nth-child(5), .mail-server-table td:nth-child(5) { width:13%; }
.mail-server-table td:nth-child(2) {
  white-space:normal;
  overflow-wrap:anywhere;
}
.mail-server-modal-card .mail-server-list-block,
.mail-server-modal-card .mail-server-table { overflow:visible; }
@media (max-width:960px) {
  .mail-domain-detail-hero { flex-direction:column; align-items:stretch; }
  .mail-server-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mail-server-modal-card { width:min(100%, calc(100vw - 24px)); }
}
@media (max-width:640px) {
  .mail-domain-list-head { flex-direction:column; align-items:stretch; }
  .mail-domain-table-tools { width:100%; }
  .mail-server-form-grid { grid-template-columns:1fr; }
}

/* Siteler — v2.104 tablo görünümü */
.sites-list-section { margin-top:18px; }
.sites-table-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.sites-table-toolbar h2 { margin:0 0 2px; font-size:17px; }
.sites-search-form {
  display:flex;
  align-items:center;
  gap:8px;
  width:min(560px, 52vw);
}
.sites-search-form .input { flex:1 1 auto; min-width:0; }
.sites-table-wrap { border:1px solid var(--line); border-radius:var(--radius-lg); overflow:auto; }
.sites-table { border:0; border-radius:0; box-shadow:none; min-width:980px; }
.sites-table .sites-domain { color:var(--txt); font-size:13px; }
.sites-table .sites-domain:hover { color:var(--amber); }
.sites-domain-sub { font-size:11px; margin-top:2px; }
.sites-php { color:var(--txt-dim); }
.sites-table tbody tr[hidden] { display:none; }
.sites-table tbody tr:hover { background:rgba(255,255,255,.025); }
.sites-actions-cell {
  min-width:360px;
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}
@media (max-width:900px) {
  .sites-table-toolbar { flex-direction:column; align-items:stretch; }
  .sites-search-form { width:100%; }
}

/* Veritabanları — v2.105 domain özet + ayrı yönetim sayfası */
.db-summary-strip {
  display:grid;
  grid-template-columns: 190px 190px minmax(280px, 1fr);
  gap:12px;
  align-items:end;
  margin:18px 0 6px;
}
.db-summary-strip > div:not(.db-summary-search) {
  min-height:68px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
}
.db-summary-strip > div > span {
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:5px;
}
.db-summary-strip > div > strong { font-size:16px; font-weight:600; }
.db-summary-search { justify-self:end; width:min(440px,100%); }
.db-summary-search .field { margin:0; }
.db-summary-search .field-label { font-size:11px; }
.db-count-pill {
  display:inline-flex;
  min-width:34px;
  justify-content:center;
  padding:3px 9px;
  border-radius:999px;
  background:var(--panel-3);
  border:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
}
.db-site-table td, .db-site-table th { white-space:nowrap; }
.db-site-table td:first-child { white-space:normal; min-width:230px; }
.db-detail-summary { grid-template-columns: 190px 190px 220px minmax(280px,1fr); }
.db-detail-table { min-width:1180px; }
.db-detail-table td { vertical-align:top; }
.db-actions-cell { min-width:450px; }
.db-action-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.db-user-quick { position:relative; }
.db-user-quick[open] { z-index:4; }
.db-user-quick .db-user-form {
  position:absolute;
  right:0;
  top:calc(100% + 7px);
  width:310px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#11151c;
  box-shadow:var(--shadow);
}
.db-import-table {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line-soft);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}
.db-import-table .db-import-name { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
tr.db-row-hidden { display:none; }
@media (max-width:900px) {
  .db-summary-strip, .db-detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .db-summary-search { grid-column:1/-1; width:100%; justify-self:stretch; }
}
@media (max-width:560px) {
  .db-summary-strip, .db-detail-summary { grid-template-columns:1fr; }
  .db-summary-search { grid-column:auto; }
}

/* DNS yönetimi — v2.106 domain/detail table */
.dns-summary-strip,
.dns-detail-summary {
  display:grid;
  grid-template-columns: 180px 220px minmax(320px,1fr);
  gap:12px;
  align-items:end;
  margin:18px 0 22px;
}
.dns-summary-strip > div,
.dns-detail-summary > div {
  min-height:70px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--panel);
}
.dns-summary-strip > div > span,
.dns-detail-summary > div > span {
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:5px;
}
.dns-summary-strip > div > strong,
.dns-detail-summary > div > strong { font-size:16px; font-weight:600; }
.dns-summary-search,
.dns-detail-search { justify-self:end; width:min(520px,100%); }
.dns-search-form { display:flex; align-items:end; gap:8px; }
.dns-search-form .field,
.dns-detail-search .field { margin:0; flex:1; }
.dns-site-table { min-width:980px; }
.dns-site-table td,
.dns-site-table th { white-space:nowrap; }
.dns-site-table td:first-child { min-width:230px; white-space:normal; }
.dns-count-pill,
.dns-type-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--panel-3);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
}
.dns-type-pill {
  min-width:48px;
  color:var(--amber);
  background:var(--amber-ghost);
  border-color:rgba(240,180,41,.25);
}
.dns-record-table { min-width:1180px; }
.dns-record-table td { vertical-align:middle; }
.dns-record-table td:nth-child(2) { min-width:220px; }
.dns-record-table td:nth-child(3) { min-width:360px; }
.dns-content-input { min-width:340px; }
.dns-priority-input { width:86px; }
.dns-ttl-input { width:94px; }
.dns-row-hidden { display:none !important; }
@media (max-width:900px) {
  .dns-summary-strip,
  .dns-detail-summary { grid-template-columns:1fr; }
  .dns-summary-search,
  .dns-detail-search { justify-self:stretch; width:100%; }
  .dns-search-form { flex-wrap:wrap; }
}

/* DNS yönetimi — v2.107 modal ekleme + tür sekmeleri */
.dns-type-filter-bar {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:6px;
  margin-bottom:12px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.dns-type-filter-bar .tab {
  margin:0;
  border:0;
  border-radius:9px;
  padding:8px 12px;
}
.dns-type-filter-bar .tab.active {
  background:var(--amber-ghost);
  color:var(--amber);
}
.dns-type-filter-bar .tab-count {
  display:inline-flex;
  min-width:20px;
  justify-content:center;
  margin-left:5px;
  padding:1px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  font-size:11px;
}
.dns-tab-empty { margin-top:12px; }
.dns-record-modal-card {
  width:min(900px, calc(100vw - 40px));
  max-width:900px;
}
.dns-modal-form {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.dns-modal-grid {
  display:grid;
  grid-template-columns:160px minmax(260px,1fr) 140px 150px;
  gap:14px;
  align-items:start;
}
.dns-modal-content-field { margin:0; }
@media (max-width: 860px) {
  .dns-record-modal-card { width:min(100%, calc(100vw - 24px)); }
  .dns-modal-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  .dns-modal-grid { grid-template-columns:1fr; }
}

/* Yedekler — v2.108 modal / progress düzeni */
.backup-hero-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.backup-modal[hidden], .backup-progress-view[hidden], [data-backup-form-view][hidden] { display:none !important; }
.backup-modal {
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:24px;
}
.backup-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(4,7,11,.78);
  backdrop-filter:blur(6px);
}
.backup-modal-card {
  position:relative;
  width:min(760px, calc(100vw - 32px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, #171b22, #101319);
  box-shadow:0 28px 90px rgba(0,0,0,.5);
}
.backup-modal-card-wide { width:min(900px, calc(100vw - 32px)); }
.backup-modal-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.backup-modal-head h2 { margin:4px 0 6px; font-size:23px; }
.backup-modal-head p { margin:0; color:var(--txt-dim); max-width:680px; }
.backup-modal-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:14px;
}
.backup-schedule-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.backup-info-box,
.backup-running-note {
  margin-top:16px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:var(--txt-dim);
}
.backup-modal-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.backup-progress-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.backup-progress-head h3 { margin:5px 0 0; font-size:20px; }
.backup-progress-percent {
  min-width:74px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  border:1px solid rgba(240,180,41,.30);
  background:rgba(240,180,41,.12);
  color:var(--amber);
  font-size:18px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.backup-progress-track {
  height:12px;
  margin:20px 0 16px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.06);
}
.backup-progress-bar {
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(240,180,41,.72), rgba(240,180,41,1), rgba(240,180,41,.72));
  background-size:180% 100%;
  transition:width .35s ease;
}
.backup-modal.is-running .backup-progress-bar { animation:backupProgressGlow 1.3s linear infinite; }
@keyframes backupProgressGlow { from { background-position:100% 0; } to { background-position:-80% 0; } }
.backup-stage-card {
  border:1px solid var(--line);
  border-radius:15px;
  padding:14px 16px;
  background:rgba(255,255,255,.03);
}
.backup-stage-card strong { display:block; margin-bottom:5px; }
.backup-stage-card p { margin:0; color:var(--txt-dim); }
.backup-modal.is-error .backup-progress-percent { color:var(--danger); border-color:rgba(240,97,109,.4); background:var(--danger-bg); }
.backup-modal.is-error .backup-progress-bar { background:var(--danger); animation:none; }
.backup-modal.is-done .backup-progress-bar { background:var(--ok); animation:none; }
body.backup-modal-open { overflow:hidden; }
@media (max-width:720px) {
  .backup-modal { padding:12px; }
  .backup-modal-card, .backup-modal-card-wide { width:calc(100vw - 18px); max-height:calc(100vh - 24px); padding:18px; border-radius:18px; }
  .backup-modal-head, .backup-progress-head { flex-direction:column; }
  .backup-schedule-grid { grid-template-columns:1fr; }
  .backup-hero-actions { justify-content:flex-start; }
}

/* Yedekler — v2.111 zamanlanmış toplu çalışma progress modalı */
.backup-batch-counter {
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:4px 9px;
  margin-bottom:3px;
  border:1px solid rgba(240,180,41,.28);
  border-radius:999px;
  background:rgba(240,180,41,.10);
  color:var(--amber);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
}
.backup-stage-log {
  display:grid;
  gap:7px;
  margin-top:12px;
}
.backup-stage-log-row {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:9px 11px;
  border:1px solid var(--line-soft);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.backup-stage-log-dot {
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--amber-ghost);
  color:var(--amber);
  font-size:12px;
  font-weight:700;
}
.backup-stage-log-row strong {
  display:block;
  font-size:12.5px;
  font-weight:600;
  margin:0 0 2px;
}
.backup-stage-log-row p {
  margin:0;
  color:var(--txt-dim);
  font-size:12px;
}
.backup-stage-log-row.is-done .backup-stage-log-dot {
  color:var(--ok);
  background:var(--ok-bg);
}
.backup-stage-log-row.is-error .backup-stage-log-dot {
  color:var(--danger);
  background:var(--danger-bg);
}


/* v2.114 audit review state */
.audit-status-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }


/* WebFTP v2.116 — deterministik overwrite ve ZIP indirme */
.fm-overwrite-option { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.018); cursor:pointer; }
.fm-overwrite-option input { margin-top:3px; }
.fm-overwrite-option span { display:grid; gap:2px; min-width:0; }
.fm-overwrite-option strong { font-size:12px; font-weight:650; }
.fm-overwrite-option small { color:var(--muted); font-size:11px; line-height:1.35; }

/* WebFTP v2.117 — dosya/klasör taşıma modalı */
.fm-move-modal[hidden] { display:none !important; }
.fm-move-modal {
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:24px;
}
.fm-move-backdrop {
  position:absolute;
  inset:0;
  background:rgba(3,7,12,.78);
  backdrop-filter:blur(5px);
}
.fm-move-card {
  position:relative;
  width:min(760px, calc(100vw - 32px));
  max-height:min(760px, calc(100vh - 40px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  box-shadow:0 28px 90px rgba(0,0,0,.48);
}
.fm-move-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--line-soft);
}
.fm-move-head h2 { margin:4px 0 6px; font-size:22px; }
.fm-move-head p { margin:0; color:var(--txt-dim); }
.fm-move-current {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 24px;
  border-bottom:1px solid var(--line-soft);
  background:rgba(255,255,255,.018);
}
.fm-move-current > div { display:grid; gap:3px; min-width:0; }
.fm-move-current strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-move-search-wrap { padding:14px 24px 10px; }
.fm-move-folder-list {
  min-height:190px;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:8px;
  padding:4px 24px 16px;
}
.fm-move-folder {
  width:100%;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 22px;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  text-align:left;
  color:var(--txt);
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  cursor:pointer;
}
.fm-move-folder:hover { border-color:rgba(240,180,41,.34); background:rgba(240,180,41,.06); }
.fm-move-folder.is-disabled { opacity:.42; cursor:not-allowed; }
.fm-move-folder-icon {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--amber-ghost);
}
.fm-move-folder > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.fm-move-folder strong, .fm-move-folder small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-move-folder small { color:var(--txt-dim); }
.fm-move-folder-arrow { justify-self:end; color:var(--txt-dim); font-size:22px; }
.fm-move-empty, .fm-move-error { padding:28px 12px; text-align:center; border:1px dashed var(--line); border-radius:12px; }
.fm-move-error { color:var(--danger); background:var(--danger-bg); }
.fm-move-note { margin:0 24px 14px; padding:10px 12px; border:1px solid var(--line-soft); border-radius:10px; color:var(--txt-dim); background:rgba(255,255,255,.018); font-size:12px; }
.fm-move-actions { display:flex; justify-content:flex-end; gap:10px; padding:14px 24px 20px; border-top:1px solid var(--line-soft); }
body.fm-move-open { overflow:hidden; }
@media (max-width:720px) {
  .fm-move-modal { padding:10px; }
  .fm-move-card { width:calc(100vw - 16px); max-height:calc(100vh - 20px); border-radius:16px; }
  .fm-move-head, .fm-move-current { padding-left:16px; padding-right:16px; }
  .fm-move-search-wrap, .fm-move-folder-list { padding-left:16px; padding-right:16px; }
  .fm-move-note { margin-left:16px; margin-right:16px; }
  .fm-move-actions { padding-left:16px; padding-right:16px; }
}

/* WebFTP Professional v2.118 */
.fm-pro .fm-toolbar-pro { gap:12px; align-items:center; }
.fm-pro .fm-toolbar-left { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.fm-pro .fm-selected-count { display:inline-flex; align-items:center; min-height:32px; padding:0 10px; border:1px solid var(--line-soft); border-radius:9px; color:var(--txt-dim); background:rgba(255,255,255,.018); font-size:12px; }
.fm-pro .fm-upload-submit-row { display:flex; gap:10px; align-items:center; }
.fm-pro .fm-upload-submit-row .fm-upload-submit { flex:1; }
.fm-pro .fm-progress-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:8px; }
.fm-pro .fm-upload-queue { display:grid; gap:5px; max-height:190px; overflow:auto; margin-top:10px; padding-right:4px; }
.fm-pro .fm-upload-queue-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:7px 9px; border:1px solid var(--line-soft); border-radius:8px; background:rgba(255,255,255,.014); font-size:11px; }
.fm-pro .fm-upload-queue-row > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-pro .fm-upload-queue-row.is-yükleniyor { border-color:rgba(240,180,41,.36); }
.fm-pro .fm-upload-queue-row.is-tamam, .fm-pro .fm-upload-queue-row.is-güncellendi { opacity:.78; }
.fm-pro .fm-upload-queue-row.is-hata { border-color:rgba(239,68,68,.45); }
.fm-pro .fm-transfer-options, .fm-pro .fm-dialog-body { padding:14px 24px; display:grid; gap:9px; }
.fm-pro .fm-transfer-options label { display:grid; gap:7px; }
.fm-pro .fm-compact-dialog { max-width:580px; }
.fm-pro .fm-search-dialog { max-width:780px; }
.fm-pro .fm-search-run { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.fm-pro .fm-search-results { display:grid; gap:7px; padding:0 24px 18px; max-height:52vh; overflow:auto; }
.fm-pro .fm-search-result { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; padding:10px 12px; border:1px solid var(--line-soft); border-radius:10px; color:inherit; text-decoration:none; background:rgba(255,255,255,.012); }
.fm-pro .fm-search-result:hover { border-color:rgba(240,180,41,.34); background:rgba(240,180,41,.05); }
.fm-pro .fm-search-result > span:nth-child(2) { min-width:0; display:grid; gap:3px; }
.fm-pro .fm-search-result strong, .fm-pro .fm-search-result small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-pro .fm-search-result-icon { font-size:18px; }
.fm-pro .fm-search-truncated { padding:9px 11px; border-radius:9px; background:rgba(240,180,41,.08); color:var(--warning, #f0b429); font-size:12px; }
.fm-pro .fm-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:5px; }
.fm-pro .fm-actions form.inline { margin:0; }
@media (max-width: 900px) {
  .fm-pro .fm-toolbar-pro { align-items:stretch; }
  .fm-pro .fm-toolbar-left, .fm-pro .fm-toolbar-right { width:100%; }
  .fm-pro .fm-toolbar-right .fm-search { width:100%; }
  .fm-pro .fm-search-run { grid-template-columns:1fr; }
}

/* Sunucu Bakım v2.119 */
.maintenance-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.maintenance-overview .stat-card{min-width:0}.maintenance-overview .stat-val{font-size:21px;word-break:break-word}.maintenance-meter{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin:11px 0 8px}.maintenance-meter span{display:block;height:100%;background:var(--amber);border-radius:inherit}.maintenance-cleanable-card .stat-val{color:var(--amber)}
.maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.maintenance-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:13px;min-width:0}.maintenance-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.maintenance-card-head>div{display:flex;gap:11px;min-width:0}.maintenance-card h2{font-size:15px;margin:0 0 4px}.maintenance-card p{margin:0}.maintenance-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(240,180,41,.1);border:1px solid rgba(240,180,41,.25);color:var(--amber);font-weight:800;flex:0 0 auto}.maintenance-metric{display:flex;align-items:baseline;gap:10px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(255,255,255,.014)}.maintenance-metric strong{font-size:18px}.maintenance-metric span{font-size:12px;color:var(--txt-dim)}.maintenance-card form{margin-top:auto}.maintenance-section{margin-bottom:18px;overflow:hidden}.maintenance-section>.block-head{padding:20px 20px 0;margin:0 0 18px}.maintenance-section>.block-head h2{font-size:17px;line-height:1.25;margin:0}.maintenance-section>.block-head p{margin:6px 0 0}.maintenance-section>.maintenance-settings-form{padding:0 20px 20px}.maintenance-section>.empty{margin:0 20px 20px}.maintenance-section>.table-wrap{margin-top:0}.maintenance-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.maintenance-checks{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px;padding:14px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(255,255,255,.012)}.maintenance-detail-cell{max-width:460px;color:var(--txt-dim);font-size:12px;line-height:1.45}.maintenance-section .table td{vertical-align:top}
@media(max-width:1200px){.maintenance-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.maintenance-grid,.maintenance-overview,.maintenance-settings-grid{grid-template-columns:1fr}.maintenance-card-head{align-items:flex-start}.maintenance-hero .hero-actions{width:100%;flex-wrap:wrap}}

/* v2.121 Site Taşıma Merkezi */
.migration-card-head{align-items:flex-start;padding:20px 20px 18px}.migration-card-head>div{min-width:0}.migration-card-head h2{font-size:17px;line-height:1.25;margin:0}.migration-card-head p{margin:6px 0 0;color:var(--txt-dim);line-height:1.5}.migration-card-body{padding:18px 20px 20px}.migration-card-body>.migration-kv:first-child{padding-top:0}.migration-card-body>.field:first-of-type{margin-top:16px}.migration-card-body>.sub:last-child{margin:8px 0 0}.migration-card-body>.form-grid{margin:0}.migration-grid>.card{overflow:hidden}.migration-start-card{overflow:hidden}
.migration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.migration-node-card,.migration-start-card,.block-card{margin-bottom:18px}.migration-kv{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line,rgba(255,255,255,.08))}.migration-kv span{color:var(--muted,#8d96a5)}.migration-warning{display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin-top:2px;border:1px solid rgba(240,177,55,.25);border-radius:12px;background:rgba(240,177,55,.06)}.migration-warning b{display:block;margin-bottom:2px}.migration-warning span{display:block;line-height:1.6}.migration-detail{max-width:540px;white-space:normal}.migration-progress-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.migration-modal-backdrop{position:absolute;inset:0;background:rgba(4,7,12,.82);backdrop-filter:blur(5px)}.migration-modal-card{position:relative;width:min(760px,96vw);max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#11151c;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.5)}.migration-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.migration-modal-head h2{margin:3px 0 4px}.migration-modal-head p{margin:0;color:var(--muted,#929cab)}.migration-modal-head>[data-mig-percent]{font-size:26px;color:#f0b137}.migration-progress-track{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:22px 0}.migration-progress-bar{height:100%;width:0;background:#f0b137;transition:width .35s ease}.migration-stage{padding:14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.migration-stage p{margin:6px 0 0;color:var(--muted,#929cab)}.migration-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:18px 0;padding-left:22px}.migration-steps li{color:var(--muted,#929cab)}.migration-steps li.is-active{color:#f0b137}.migration-steps li.is-done{color:#67c587}.migration-modal-actions{display:flex;justify-content:flex-end;margin-top:18px}.migration-progress-modal.is-error .migration-progress-bar{background:#d66565}.migration-progress-modal.is-error [data-mig-percent]{color:#e27777}body.migration-modal-open{overflow:hidden}@media(max-width:900px){.migration-grid{grid-template-columns:1fr}.migration-steps{grid-template-columns:1fr}}

/* ── Site Taşıma v2.125: canlı progress + kalıcı detay log ───────── */
.migration-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.migration-row-actions form{margin:0}
.migration-modal-card-wide{width:min(900px,96vw)}
.migration-live-log{margin-top:18px;border:1px solid var(--line,rgba(255,255,255,.08));border-radius:14px;overflow:hidden;background:rgba(0,0,0,.12)}
.migration-log-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid var(--line,rgba(255,255,255,.08));background:rgba(255,255,255,.025)}
.migration-log-title b{font-size:13px}.migration-log-title span{font-size:11.5px;color:var(--muted,#929cab)}
.migration-log-list{max-height:260px;overflow:auto;padding:6px 12px 10px;scrollbar-gutter:stable}
.migration-history-log .migration-log-list{max-height:min(58vh,560px)}
.migration-log-line{padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.055)}.migration-log-line:last-child{border-bottom:0}
.migration-log-meta{display:grid;grid-template-columns:10px minmax(160px,1fr) 46px auto;gap:9px;align-items:center;font-size:12px}
.migration-log-meta b{font-weight:600;color:var(--txt,#e9edf3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-log-meta>span:nth-of-type(2){color:var(--amber,#f0b137);font-family:var(--mono,monospace)}
.migration-log-meta time{color:var(--muted,#929cab);font-size:11px;white-space:nowrap}
.migration-log-dot{width:8px;height:8px;border-radius:50%;background:#718096;box-shadow:0 0 0 3px rgba(113,128,150,.12)}
.migration-log-line.is-ok .migration-log-dot{background:#52c48a;box-shadow:0 0 0 3px rgba(82,196,138,.12)}
.migration-log-line.is-error .migration-log-dot{background:#e16e72;box-shadow:0 0 0 3px rgba(225,110,114,.12)}
.migration-log-line.is-warn .migration-log-dot{background:#f0b137;box-shadow:0 0 0 3px rgba(240,177,55,.12)}
.migration-log-text{margin:5px 0 0 28px;color:var(--txt-dim,#b5bdc9);font-size:12px;line-height:1.55;white-space:normal;word-break:break-word}
.migration-log-empty{padding:28px;text-align:center;color:var(--muted,#929cab);font-size:12.5px}
.migration-modal-note{margin-top:14px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.025);color:var(--muted,#929cab);font-size:12px;line-height:1.5}
.migration-progress-modal.is-complete .migration-progress-bar{background:#52c48a}.migration-progress-modal.is-complete [data-mig-percent]{color:#63d39b}
.migration-progress-modal.is-rollback .migration-progress-bar{background:#f0b137}
@media(max-width:700px){.migration-log-meta{grid-template-columns:10px minmax(0,1fr) 42px}.migration-log-meta time{grid-column:2 / -1}.migration-log-text{margin-left:19px}.migration-modal-card-wide{padding:18px}.migration-steps{padding-left:20px}}

/* Yedekler — v2.127 dışarıdan .tar.gz import */
.backup-import-dropzone{
  width:100%; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:7px; padding:24px; border:1px dashed rgba(240,180,41,.34); border-radius:14px;
  background:rgba(240,180,41,.035); color:var(--txt); cursor:pointer; text-align:center;
  transition:border-color .15s ease, background .15s ease;
}
.backup-import-dropzone:hover,.backup-import-dropzone.is-dragover{border-color:var(--amber);background:rgba(240,180,41,.075)}
.backup-import-dropzone.has-file{border-style:solid}
.backup-import-dropzone strong{font-size:15px}.backup-import-dropzone span{color:var(--txt-dim)}
.backup-import-dropzone small{margin-top:6px;color:var(--muted)}
.backup-import-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--amber-ghost);color:var(--amber)!important;font-size:22px;font-weight:700}
.backup-import-selection{margin-top:12px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.backup-import-selection>div{min-width:0;display:flex;flex-direction:column;gap:3px}.backup-import-selection strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backup-import-transfer-meta{display:flex;justify-content:space-between;gap:14px;margin-top:10px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}

/* ===== SOURCE: upnet-product-ui.css ===== */
/*
 * GPanel — Upnet Product UI v2.126
 * Authoritative visual layer. Functional/page-specific rules remain in g2.css;
 * shared product primitives are normalized here so every screen speaks one UI language.
 */

:root {
  color-scheme: dark;
  --bg: #101319;
  --bg-2: #141820;
  --panel: #181d25;
  --panel-2: #1d232d;
  --panel-3: #242c37;
  --line: #2b333f;
  --line-soft: #222a35;
  --border: var(--line);
  --border-strong: #3a4553;
  --card: var(--panel);
  --surface: var(--panel);
  --surface-raised: var(--panel-2);
  --surface-muted: var(--bg-2);
  --selected: rgba(232, 172, 42, .10);
  --txt: #edf0f4;
  --txt-dim: #b5bdc8;
  --muted: #7f8997;
  --foreground: var(--txt);
  --foreground-muted: var(--txt-dim);
  --amber: #e8ac2a;
  --amber-dim: #d79a19;
  --amber-ghost: rgba(232, 172, 42, .10);
  --amber-soft: rgba(232, 172, 42, .17);
  --primary: var(--amber);
  --primary-hover: #f0b636;
  --focus: rgba(232, 172, 42, .28);
  --ok: #54c28b;
  --ok-bg: rgba(84, 194, 139, .11);
  --success: var(--ok);
  --danger: #e76873;
  --danger-bg: rgba(231, 104, 115, .11);
  --warning: #e5a43a;
  --warn: var(--warning);
  --warn-bg: rgba(229, 164, 58, .11);
  --info: #67a2e8;
  --info-bg: rgba(103, 162, 232, .11);
  --radius: 10px;
  --radius-sm: 7px;
  --radius-lg: 12px;
  --shadow: 0 14px 34px -26px rgba(0, 0, 0, .9);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .18);
  --ring: 0 0 0 3px var(--focus);
  --sidebar-w: 248px;
  --control-h: 38px;
  --content-pad: 24px;
}

html { background: var(--bg); }
html, body { min-height: 100%; }
body {
  background: var(--bg);
  color: var(--txt);
  font-size: 13.5px;
  line-height: 1.5;
}

::selection { background: rgba(232,172,42,.26); color: var(--txt); }
* { scrollbar-color: #3a4350 transparent; scrollbar-width: thin; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-thumb { background: #3a4350; border: 2px solid transparent; background-clip: padding-box; border-radius: 999px; }
*::-webkit-scrollbar-track { background: transparent; }

.skip-link {
  position: fixed; left: 12px; top: -60px; z-index: 20000;
  padding: 9px 12px; border-radius: 7px; background: var(--amber); color: #181107;
  font-weight: 700; transition: top .15s ease;
}
.skip-link:focus { top: 10px; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--focus) !important;
  border-color: rgba(232,172,42,.68) !important;
}

/* ── Shell ─────────────────────────────────────────────────── */
.app { min-height: 100vh; background: var(--bg); }
.sidebar {
  width: var(--sidebar-w); flex-basis: var(--sidebar-w); height: 100vh;
  padding: 14px 10px 16px; gap: 2px;
  background: #11151b;
  border-right: 1px solid var(--line-soft);
  box-shadow: none;
}
.brand { min-height: 48px; padding: 4px 9px 12px; gap: 10px; }
.brand-mark {
  width: 30px; height: 30px; border-radius: 8px;
  background: var(--amber); color: #171108;
  box-shadow: none; font-size: 15px; font-weight: 700;
}
.brand-mark.lg { width: 42px; height: 42px; border-radius: 10px; font-size: 20px; }
.brand-name { font-size: 15px; font-weight: 650; letter-spacing: -.01em; }
.nav { gap: 1px; }
.nav-section-label {
  padding: 13px 10px 5px; color: #677180;
  font-size: 9.5px; line-height: 1; font-weight: 700;
  text-transform: uppercase; letter-spacing: .11em;
}
.nav-section-label:first-child { padding-top: 7px; }
.nav-item {
  min-height: 36px; padding: 7px 10px; gap: 10px; border-radius: 7px;
  color: #9fa8b5; font-size: 13px; font-weight: 520;
  transition: background .12s ease, color .12s ease;
}
.nav-item:hover { background: rgba(255,255,255,.035); color: var(--txt); }
.nav-item.active { background: var(--selected); color: #f0bc4f; }
.nav-item.active::before { left: -10px; width: 2px; height: 20px; border-radius: 0 2px 2px 0; }
.nav .ic, .nav-item .ic { width: 17px; height: 17px; flex-basis: 17px; color: #778291; }
.nav-item.active .ic { color: var(--amber); }
.nav-count { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--danger-bg); color: #f08a93; font-size: 10px; }

.main { background: var(--bg); }
.topbar {
  height: 56px; padding: 0 var(--content-pad);
  background: rgba(16,19,25,.94); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line-soft); box-shadow: none;
}
.topbar-leading { display: flex; align-items: center; min-width: 0; gap: 10px; }
.topbar-title { font-size: 13.5px; font-weight: 650; color: #dfe3e9; }
.topbar-user { gap: 12px; }
.u-name { font-size: 12.5px; font-weight: 650; }
.u-role { font-size: 10.5px; color: var(--muted); }
.topbar-nav-toggle {
  display: none; width: 34px; height: 34px; padding: 0; place-items: center;
  border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--txt-dim); cursor: pointer;
}
.topbar-nav-toggle svg { width: 18px; height: 18px; fill: currentColor; }
.sidebar-scrim { display: none; }
.content { width: 100%; max-width: none; padding: var(--content-pad); }

/* ── Typography + page hierarchy ───────────────────────────── */
h1, h2, h3 { color: var(--txt); }
h2 { font-size: 16px; font-weight: 650; letter-spacing: -.015em; }
h3 { font-size: 13.5px; font-weight: 650; }
.strong, b, strong { font-weight: 650; }
.muted { color: var(--muted); }
.sub { font-size: 11.5px; line-height: 1.45; }
.mono { font-size: 12px; font-variant-numeric: tabular-nums; }

.page-hero,
.content > .block-head:first-child {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 0; padding: 0 0 17px !important; margin: 0 0 18px !important;
  border: 0 !important; border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important; overflow: visible !important;
}
.page-hero::after { display: none !important; }
.page-hero h1,
.content > .block-head:first-child h2 {
  margin: 0 0 4px !important; font-size: 24px !important; line-height: 1.16;
  font-weight: 680; letter-spacing: -.035em;
}
.page-hero p { margin: 0; max-width: 820px; color: var(--txt-dim); font-size: 13px; }
.eyebrow {
  margin: 0 0 5px; color: #dba128; font-size: 9.5px; line-height: 1;
  font-weight: 750; letter-spacing: .12em; text-transform: uppercase;
}
.hero-actions { gap: 8px; align-items: center; }
.hero-meta { gap: 6px; margin-top: 9px; }
.hero-meta span { padding: 3px 7px; border-radius: 6px; background: var(--surface-muted); border-color: var(--line-soft); font-size: 11px; }
.lead { margin: -5px 0 16px; color: var(--txt-dim); max-width: 820px; }
.panel-block { margin-top: 20px; }
.panel-block > .block-head { margin-bottom: 10px; }
.block-head { gap: 10px; margin-bottom: 11px; }
.block-head h2, .block-head h3 { gap: 8px; }
.head-ic,
.block-head h2[style] .head-ic,
.block-head h3 .head-ic {
  width: 26px; height: 26px; border-radius: 7px;
  background: var(--amber-ghost); box-shadow: none;
}
.head-ic svg,
.block-head h2[style] .head-ic svg,
.block-head h3 .head-ic svg { width: 14px; height: 14px; }

/* ── Actions + controls ────────────────────────────────────── */
.btn {
  min-height: 36px; padding: 0 12px; border-radius: 7px;
  font-size: 12.5px; font-weight: 620; line-height: 1;
  box-shadow: none !important; transform: none !important;
  transition: background .12s ease, border-color .12s ease, color .12s ease, opacity .12s ease;
}
.btn:hover { transform: none !important; }
.btn-sm { min-height: 32px; padding: 0 10px; font-size: 12px; }
.btn-xs { min-height: 28px; padding: 0 8px; font-size: 11.5px; border-radius: 6px; }
.btn-primary { background: var(--amber); border-color: var(--amber); color: #181107; }
.btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: #181107; }
.btn-ghost { background: var(--surface); color: var(--txt-dim); border-color: var(--line); }
.btn-ghost:hover { background: var(--surface-raised); color: var(--txt); border-color: var(--border-strong); }
.btn-danger { background: transparent; border-color: rgba(231,104,115,.34); color: #ef818b; }
.btn-danger:hover { background: var(--danger-bg); border-color: rgba(231,104,115,.52); color: #f08a94; }
.btn-warn { background: var(--warn-bg); color: #edb85e; border-color: rgba(229,164,58,.35); }
.btn:disabled, .btn.disabled { opacity: .44; }

.field { gap: 5px; }
.field-label, .lbl { color: #aeb7c3; font-size: 11.5px; font-weight: 620; }
.field-hint, .field-help { color: var(--muted); font-size: 10.8px; line-height: 1.45; }
.input, .inp {
  min-height: var(--control-h); padding: 8px 11px;
  border: 1px solid var(--line); border-radius: 7px;
  background: #12171e; color: var(--txt); font-size: 13px; box-shadow: none;
}
.input:hover, .inp:hover { border-color: #384352; }
.input:focus, .inp:focus { border-color: rgba(232,172,42,.65); background: #151a22; box-shadow: var(--ring); }
.input::placeholder, .inp::placeholder { color: #626d7b; }
select.input, select.inp { padding-right: 30px; }
textarea.input, textarea.inp { min-height: 90px; }
.check { gap: 8px; color: var(--txt-dim); font-size: 12.5px; }
.check input { width: 15px; height: 15px; flex-basis: 15px; }
.form-row, .field-row, .form-grid { gap: 13px 16px; }
.form-card {
  gap: 15px; padding: 18px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); box-shadow: none;
}
.form-actions { gap: 8px; margin-top: 2px; }

/* ── Cards: only self-contained objects ────────────────────── */
.card, .form-card, .site-card, .resource-card, .quick-action-card, .maintenance-card {
  border-color: var(--line); border-radius: 10px; background: var(--surface); box-shadow: none !important;
}
.card:hover, .form-card:hover { border-color: var(--line); }
.card-head {
  min-height: 48px; padding: 13px 16px; gap: 10px;
  background: transparent !important; border-bottom: 1px solid var(--line-soft);
}
.card-head h2, .card-head h3 { font-size: 14px; font-weight: 650; }
.card-body { padding: 16px; }
.soft-head, .card-head.soft-head { background: #171c24 !important; }
.grid-2, .grid-3, .cards-grid { gap: 12px; }

/* Repeated top/list toolbars should read as toolbars, not floating cards. */
.list-toolbar.card {
  padding: 0 0 13px; margin: 0 0 13px;
  border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0;
  background: transparent; box-shadow: none;
}
.list-search-actions { gap: 7px; }
.list-search-actions .input { min-width: min(320px, 50vw); }

/* ── Status ────────────────────────────────────────────────── */
.badge {
  min-height: 22px; padding: 2px 7px; border-radius: 999px;
  border: 1px solid transparent; font-size: 10.5px; font-weight: 680; line-height: 1.2;
}
.badge-ok { color: #6ed3a0; background: var(--ok-bg); border-color: rgba(84,194,139,.13); }
.badge-off { color: #909aa8; background: rgba(127,137,151,.10); border-color: rgba(127,137,151,.12); }
.badge-warn { color: #e9b65f; background: var(--warn-bg); border-color: rgba(229,164,58,.14); }
.badge-danger, .badge-bad { color: #ef818b; background: var(--danger-bg); border-color: rgba(231,104,115,.14); }
.badge-info { color: #82b5ef; background: var(--info-bg); border-color: rgba(103,162,232,.14); }

.flashes { gap: 8px; margin-bottom: 16px; }
.flash {
  margin-bottom: 16px; padding: 10px 12px; border-radius: 8px;
  border-width: 1px 1px 1px 3px; font-size: 12.5px; line-height: 1.45;
}
.flashes .flash { margin-bottom: 0; }
.flash-ok { color: #8adbb1; }
.flash-err { color: #f09199; }
.flash-warn { color: #efc06f; }

/* ── Tables: the core management surface ───────────────────── */
.table-wrap {
  overflow: auto; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); box-shadow: none;
}
.table-wrap .table { min-width: 720px; border: 0; border-radius: 0; }
.table {
  width: 100%; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); box-shadow: none !important; border-collapse: separate; border-spacing: 0;
}
.table thead th {
  height: 38px; padding: 8px 12px;
  background: #151a21 !important; color: #8994a2;
  border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 750;
  letter-spacing: .065em; text-transform: uppercase; white-space: nowrap;
}
.table tbody td {
  min-height: 44px; padding: 10px 12px; border-bottom: 1px solid var(--line-soft);
  color: #d6dbe2; vertical-align: middle;
}
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover td { background: rgba(255,255,255,.018); }
.compact-table td, .compact-table th { padding: 8px 11px; }
.table .actions { gap: 5px; }

/* ── Dashboard ─────────────────────────────────────────────── */
.dashboard-hero { margin-bottom: 14px !important; }
.stats {
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 1px;
  margin: 0 0 16px; padding: 1px; overflow: hidden;
  border: 0; border-radius: 10px; background: var(--line);
}
.stats .stat-card {
  min-height: 74px; padding: 12px 14px; border: 0; border-radius: 0;
  background: #171c24; box-shadow: none !important;
}
.stats .stat-card:hover { background: #1a2029; transform: none; }
.stat-val, .stat-num { font-size: 23px; line-height: 1.1; font-weight: 680; letter-spacing: -.035em; }
.stat-label { margin-top: 5px; color: #7f8997; font-size: 9.5px; font-weight: 720; letter-spacing: .08em; }
.dashboard-actions {
  grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px;
  margin: 0 0 20px; padding: 1px; overflow: hidden;
  border-radius: 10px; background: var(--line);
}
.dashboard-action {
  min-height: 62px; padding: 11px 13px; gap: 3px;
  border: 0; border-radius: 0; background: var(--surface); box-shadow: none !important;
  transform: none !important;
}
.dashboard-action:hover { background: var(--surface-raised); color: var(--txt); transform: none !important; }
.dashboard-action b { font-size: 12.5px; }
.dashboard-action span { font-size: 11px; line-height: 1.35; }
.site-grid { gap: 12px; }
.site-card { padding: 14px; transition: border-color .12s ease, background .12s ease; }
.site-card:hover { border-color: #394453; transform: none; box-shadow: none; }
.site-card-head { margin-bottom: 10px; }
.site-favicon { width: 30px; height: 30px; border-radius: 7px; background: var(--amber-ghost); color: var(--amber); }
.site-domain { color: var(--txt); font-size: 13px; font-weight: 680; }
.site-meta { font-size: 10.8px; }
.site-card-stats {
  gap: 0; margin: 0 0 10px; overflow: hidden;
  border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft);
}
.site-card-stats > div {
  padding: 9px 10px; border: 0; border-right: 1px solid var(--line-soft);
  border-radius: 0; background: transparent;
}
.site-card-stats > div:last-child { border-right: 0; }
.site-card-stats span { font-size: 9px; }
.site-card-stats strong { margin-top: 2px; font-size: 11.5px; }
.site-actions-grid { gap: 6px; }

/* ── Resource/object grids ─────────────────────────────────── */
.resource-grid { gap: 12px; }
.resource-card { gap: 11px; padding: 14px; border-radius: 10px; transition: border-color .12s, background .12s; }
.resource-card:hover { transform: none; border-color: #394453; background: #1a2029; box-shadow: none; }
.resource-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 8px; box-shadow: none; }
.resource-title { font-size: 12.5px; font-weight: 680; }
.resource-sub { font-size: 10.8px; }
.resource-meta-grid { gap: 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.resource-meta-grid > div { padding: 8px 9px; border: 0; border-right: 1px solid var(--line-soft); border-radius: 0; background: transparent; }
.resource-meta-grid > div:last-child { border-right: 0; }
.resource-meta-grid span { font-size: 9px; }
.resource-meta-grid b { font-size: 11px; }
.resource-actions { gap: 6px; }

.event-list {
  gap: 0; overflow: hidden; margin-bottom: 16px;
  border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
}
.event-card {
  min-height: 52px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line-soft);
  border-radius: 0; background: transparent; box-shadow: none !important;
}
.event-card:last-child { border-bottom: 0; }
.event-card:hover { background: rgba(255,255,255,.018); }
.event-card.unread { border-color: var(--line-soft); background: rgba(232,172,42,.035); }
.event-title { font-size: 12.5px; }
.event-detail, .event-sub { font-size: 11.5px; }
.event-time { font-size: 10.8px; }
.event-list > .empty { border: 0; border-radius: 0; }

.empty {
  min-height: 82px; padding: 20px; border: 1px dashed #313a46; border-radius: 10px;
  background: rgba(255,255,255,.008); color: var(--muted); font-size: 12px;
}

/* ── Tabs + pagination ─────────────────────────────────────── */
.tabs, .dns-type-filter-bar { gap: 4px; padding: 4px; border-radius: 8px; background: #141920; border-color: var(--line); }
.tab, .dns-type-filter-bar .tab { min-height: 32px; padding: 0 9px; border-radius: 6px; font-size: 11.5px; }
.tab.active, .dns-type-filter-bar .tab.active { background: var(--surface-raised); color: var(--amber); }
.pagination-card {
  padding: 10px 0 0; margin-top: 13px; border: 0; border-top: 1px solid var(--line-soft);
  border-radius: 0; background: transparent;
}
.page-btn, .page-dots { min-width: 31px; height: 31px; padding: 0 8px; border-radius: 6px; background: var(--surface); }

/* ── Modals / drawers ──────────────────────────────────────── */
.mail-modal-backdrop, .backup-modal-backdrop, .fm-move-backdrop, .migration-modal-backdrop { background: rgba(5,8,12,.76); backdrop-filter: blur(3px); }
.mail-modal-card, .backup-modal-card, .fm-move-card, .migration-modal-card {
  border: 1px solid var(--border-strong); border-radius: 12px !important;
  background: #181d25 !important; box-shadow: 0 24px 70px -28px rgba(0,0,0,.95) !important;
}
.mail-modal-head, .backup-modal-head, .fm-move-head, .migration-modal-head { gap: 14px; }
.mail-modal-head h2, .backup-modal-head h2, .fm-move-head h2, .migration-modal-head h2 { font-size: 20px; font-weight: 680; letter-spacing: -.025em; }
.backup-modal-card { padding: 20px; }
.backup-info-box, .backup-running-note, .backup-stage-card, .migration-stage, .migration-live-log {
  border-radius: 9px; background: #141920; border-color: var(--line);
}
.backup-progress-percent { height: 40px; min-width: 64px; border-radius: 8px; font-size: 16px; }
.backup-progress-track, .migration-progress-track { height: 8px; }

/* ── Maintenance + migration: fixed content/card anatomy ───── */
.maintenance-grid, .maintenance-overview, .migration-grid { gap: 12px; }
.maintenance-card { padding: 14px; gap: 10px; }
.maintenance-icon { width: 29px; height: 29px; border-radius: 7px; }
.maintenance-metric { padding: 9px 10px; border-radius: 8px; background: #141920; }
.maintenance-section { border-radius: 10px; }
.maintenance-section > .block-head {
  padding: 14px 16px 12px !important; margin: 0 !important;
  border-bottom: 1px solid var(--line-soft);
}
.maintenance-section > .maintenance-settings-form { padding: 15px 16px 16px; }
.maintenance-section > .empty { margin: 14px 16px 16px; }
.maintenance-checks { margin-top: 13px; padding: 11px; border-radius: 8px; }

.migration-card-head { padding: 14px 16px 12px !important; }
.migration-card-head p { margin-top: 4px; font-size: 12px; }
.migration-card-body { padding: 15px 16px 16px; }
.migration-kv { padding: 8px 0; }
.migration-warning { gap: 6px; padding: 11px 12px; border-radius: 8px; background: rgba(229,164,58,.055); }
.migration-modal-card { padding: 20px; }
.migration-live-log { border-radius: 9px; }
.migration-log-title { padding: 9px 11px; }
.migration-log-line { padding: 8px 1px; }

/* ── WebFTP: keep power-user density, lose nested-card look ── */
.fm-shell .page-hero { margin-bottom: 13px !important; }
.fm-main, .fm-side, .fm-explorer-card, .fm-actions-card { border-radius: 10px !important; box-shadow: none !important; }
.fm-toolbar, .fm-toolbar-pro { border-radius: 8px; }
.fm-dropzone, .fm-dropzone-wide { border-radius: 9px; }
.fm-row { min-height: 42px; }
.fm-move-folder, .fm-search-result { border-radius: 8px !important; }
.fm-move-current { background: #141920; }
.fm-overwrite-option { border-radius: 8px; background: #141920; }

/* ── DNS / Mail / Backups: tables and controls stay primary ── */
.dns-summary-strip, .dns-detail-summary, .mail-summary-strip {
  border-radius: 10px; box-shadow: none; background: var(--surface);
}
.dns-type-filter-bar { margin-bottom: 10px; }
.dns-type-pill { color: var(--amber); background: var(--amber-ghost); }
.backup-stage-log-row { border-radius: 8px; background: #fff; }

/* ── Auth ──────────────────────────────────────────────────── */
.auth-body {
  background: #101319;
  background-image: radial-gradient(620px 300px at 50% -15%, rgba(232,172,42,.07), transparent 70%);
}
.auth-wrap { max-width: 380px; }
.auth-card { padding: 24px; gap: 16px; border-radius: 12px; background: #181d25; box-shadow: var(--shadow); }
.auth-title { font-size: 18px; font-weight: 680; }
.auth-sub { font-size: 11.5px; color: var(--muted); }
.auth-foot { color: #687281; font-size: 10.5px; }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 1180px) {
  :root { --content-pad: 20px; }
  .dashboard-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .resource-grid { grid-template-columns: repeat(auto-fill, minmax(290px,1fr)); }
}

@media (max-width: 920px) and (min-width: 761px) {
  :root { --sidebar-w: 72px; --content-pad: 18px; }
  .sidebar { padding-inline: 8px; }
  .brand { justify-content: center; padding-inline: 0; }
  .brand-name, .nav-item span, .nav-section-label { display: none; }
  .nav-item { justify-content: center; padding-inline: 0; }
  .nav-item.active::before { left: -8px; }
}

@media (max-width: 760px) {
  :root { --content-pad: 15px; --sidebar-w: min(286px, 86vw); }
  .sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 1001;
    transform: translateX(-102%); transition: transform .2s ease;
    box-shadow: 18px 0 44px rgba(0,0,0,.38);
  }
  body.sidebar-open { overflow: hidden; }
  body.sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-scrim {
    display: block; position: fixed; inset: 0; z-index: 1000; padding: 0; border: 0;
    background: rgba(4,7,10,.58); opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
  }
  body.sidebar-open .sidebar-scrim { opacity: 1; visibility: visible; pointer-events: auto; }
  .topbar { height: 54px; padding-inline: 12px 15px; }
  .topbar-nav-toggle { display: grid; }
  .u-meta { display: none; }
  .content { padding: 15px; }
  .page-hero, .content > .block-head:first-child { align-items: flex-start; flex-direction: column; gap: 10px; padding-bottom: 14px !important; }
  .page-hero h1, .content > .block-head:first-child h2 { font-size: 22px !important; }
  .hero-actions { width: 100%; justify-content: flex-start; }
  .hero-actions .btn { flex: 0 0 auto; }
  .stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-actions { grid-template-columns: 1fr; }
  .site-grid, .resource-grid, .grid-2, .grid-3, .cards-grid { grid-template-columns: 1fr !important; }
  .list-toolbar.card { align-items: stretch; }
  .list-search-actions { width: 100%; }
  .list-search-actions .input { min-width: 0; width: 100%; }
  .table-wrap { border-radius: 8px; }
  .event-card { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .event-time { justify-self: start; }
  .backup-modal-card, .migration-modal-card { padding: 16px; }
  .migration-log-meta { grid-template-columns: 10px minmax(0,1fr) 40px; }
  .migration-log-meta time { grid-column: 2 / -1; }
}

@media (max-width: 460px) {
  .stats { grid-template-columns: 1fr 1fr; }
  .stats .stat-card { min-height: 68px; padding: 10px 11px; }
  .stat-val, .stat-num { font-size: 20px; }
  .site-card-stats { grid-template-columns: 1fr 1fr 1fr; }
  .site-card-stats > div { padding-inline: 7px; }
  .btn { min-height: 35px; }
}

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

/* Backup import — Upnet Product UI */
.backup-import-dropzone{min-height:168px;border-radius:9px;background:#141920;border-color:#313a47}
.backup-import-dropzone:hover,.backup-import-dropzone.is-dragover{border-color:var(--amber);background:rgba(229,164,58,.055)}
.backup-import-icon{border-radius:8px}
.backup-import-selection{border-radius:8px;background:#141920}

/* ===== SOURCE: gpanel-ui.css ===== */
/* ==========================================================================
   GPanel UI v3 — "Aurora" hosting çalışma alanı
   Tek katman tasarım sistemi. g2.css + upnet-product-ui.css bileşenlerini
   açık temaya taşır, cPanel/Jupiter bilgi mimarisini uygular.

   Gamze • Duru • Deren  (kaynak-içi ithaf)
   ========================================================================== */

/* ── 1. Tasarım belirteçleri ─────────────────────────────────────────── */
:root {
  --gp-canvas:      #eef2f7;
  --gp-canvas-2:    #e6ecf4;
  --gp-surface:     #ffffff;
  --gp-surface-2:   #f7f9fc;
  --gp-surface-3:   #eff3f9;
  --gp-hover:       #f2f6fc;

  --gp-sidebar:     #0f2440;
  --gp-sidebar-2:   #0a1a30;
  --gp-sidebar-line: rgba(255,255,255,.08);
  --gp-sidebar-txt: #b9c7db;

  --gp-text:        #16233a;
  --gp-text-2:      #3c4c63;
  --gp-muted:       #78879e;
  --gp-line:        #dae2ee;
  --gp-line-2:      #e9eef5;

  --gp-amber:       #f2b01e;
  --gp-amber-2:     #dd9c0a;
  --gp-amber-soft:  #fdf3da;
  --gp-blue:        #2563eb;
  --gp-blue-soft:   #e7efff;
  --gp-green:       #12a06a;
  --gp-green-soft:  #e2f6ee;
  --gp-red:         #dc3b4b;
  --gp-red-soft:    #fdeaec;
  --gp-orange:      #f07514;
  --gp-orange-soft: #fdeedf;
  --gp-purple:      #7141e0;
  --gp-purple-soft: #efe9fd;
  --gp-teal:        #0d9aa8;
  --gp-teal-soft:   #dff5f7;
  --gp-slate:       #52657f;
  --gp-slate-soft:  #eaeff6;

  --gp-r:           12px;
  --gp-r-sm:        9px;
  --gp-r-lg:        16px;
  --gp-shadow:      0 1px 2px rgba(20,40,70,.05), 0 12px 28px -18px rgba(20,40,70,.35);
  --gp-shadow-lg:   0 24px 60px -24px rgba(16,35,64,.35);
  --gp-sidebar-w:   250px;
  --gp-topbar-h:    60px;
  --gp-font:        "Inter", ui-sans-serif, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --gp-mono:        ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
}

/* ── 2. Eski (koyu) belirteç köprüsü ─────────────────────────────────
   g2.css ve upnet-product-ui.css bileşenleri bu değişkenleri okuyor.
   Tek yerden açık temaya çeviriyoruz; !important yamalarına gerek kalmıyor. */
body.gp-app,
body.gp-auth {
  color-scheme: light;
  --bg: var(--gp-canvas);
  --bg-2: var(--gp-surface-2);
  --panel: var(--gp-surface);
  --panel-2: var(--gp-surface-2);
  --panel-3: var(--gp-surface-3);
  --line: var(--gp-line);
  --line-soft: var(--gp-line-2);
  --border: var(--gp-line);
  --border-strong: #c8d4e4;
  --card: var(--gp-surface);
  --surface: var(--gp-surface);
  --surface-raised: var(--gp-surface-2);
  --surface-muted: var(--gp-surface-3);
  --selected: var(--gp-blue-soft);
  --txt: var(--gp-text);
  --txt-dim: var(--gp-text-2);
  --muted: var(--gp-muted);
  --foreground: var(--gp-text);
  --foreground-muted: var(--gp-muted);
  --amber: var(--gp-amber);
  --amber-dim: var(--gp-amber-2);
  --amber-ghost: rgba(242,176,30,.14);
  --amber-soft: rgba(242,176,30,.24);
  --primary: var(--gp-amber);
  --primary-hover: var(--gp-amber-2);
  --focus: rgba(37,99,235,.18);
  --ok: var(--gp-green);
  --ok-bg: var(--gp-green-soft);
  --success: var(--gp-green);
  --danger: var(--gp-red);
  --danger-bg: var(--gp-red-soft);
  --warn: var(--gp-orange);
  --warn-bg: var(--gp-orange-soft);
  --warning: var(--gp-orange);
  --info: var(--gp-blue);
  --info-bg: var(--gp-blue-soft);
  --radius: var(--gp-r);
  --radius-sm: var(--gp-r-sm);
  --radius-lg: var(--gp-r-lg);
  --shadow: var(--gp-shadow);
  --shadow-sm: 0 1px 2px rgba(20,40,70,.06);
  --ring: 0 0 0 3px rgba(37,99,235,.18);
  --sidebar-w: var(--gp-sidebar-w);
}

body.gp-app,
body.gp-auth {
  margin: 0;
  background: var(--gp-canvas);
  color: var(--gp-text);
  font-family: var(--gp-font);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.gp-app a { color: var(--gp-blue); }
.gp-app a:hover { color: #1d4ed8; }
.gp-app h1 { font-size: 22px; font-weight: 650; letter-spacing: -.015em; margin: 0; color: var(--gp-text); }
.gp-app h2 { font-size: 16px; font-weight: 620; margin: 0; color: var(--gp-text); }
.gp-app h3 { font-size: 14px; font-weight: 620; margin: 0; color: var(--gp-text); }
.gp-app .mono, .gp-auth .mono { font-family: var(--gp-mono); font-size: 12.5px; }
.gp-app .muted { color: var(--gp-muted); }
.gp-app hr { border: none; border-top: 1px solid var(--gp-line-2); }

.gp-icon { width: 20px; height: 20px; fill: currentColor; flex: none; }
.gp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.skip-link {
  position: absolute; left: -9999px; top: 8px; z-index: 200;
  background: var(--gp-surface); color: var(--gp-text);
  padding: 10px 14px; border-radius: var(--gp-r-sm); box-shadow: var(--gp-shadow);
}
.skip-link:focus { left: 12px; }

/* ── 3. Kabuk ─────────────────────────────────────────────────────────── */
.gp-shell { display: flex; min-height: 100vh; background: var(--gp-canvas); }

.gp-sidebar {
  width: var(--gp-sidebar-w);
  flex: 0 0 var(--gp-sidebar-w);
  background: linear-gradient(180deg, var(--gp-sidebar), var(--gp-sidebar-2));
  color: var(--gp-sidebar-txt);
  position: sticky; top: 0; height: 100vh;
  display: flex; flex-direction: column;
  overflow: hidden;
}
.gp-brand {
  display: flex; align-items: center; gap: 11px;
  padding: 16px 16px 14px;
  border-bottom: 1px solid var(--gp-sidebar-line);
  color: #fff;
}
.gp-brand:hover { color: #fff; }
.gp-brand-mark {
  width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--gp-amber), var(--gp-amber-2));
  color: #21180a; font-weight: 800; font-size: 17px; font-family: var(--gp-mono);
  box-shadow: 0 6px 18px rgba(242,176,30,.28);
}
.gp-brand-name { font-weight: 700; font-size: 16px; letter-spacing: .01em; display: block; }
.gp-brand small { display: block; font-size: 11px; color: #8ba0bd; margin-top: 1px; }

.gp-nav { flex: 1; overflow-y: auto; padding: 10px 10px 16px; scrollbar-width: thin; }
.gp-nav::-webkit-scrollbar { width: 6px; }
.gp-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.13); border-radius: 3px; }

.gp-nav-label {
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: #64789a; font-weight: 700; padding: 16px 10px 6px;
}
.gp-nav-item {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 11px; border-radius: var(--gp-r-sm);
  color: var(--gp-sidebar-txt); font-size: 13.5px; font-weight: 500;
  transition: background .13s, color .13s;
  position: relative;
}
.gp-nav-item:hover { background: rgba(255,255,255,.07); color: #fff; }
.gp-nav-item.active { background: rgba(242,176,30,.16); color: #ffd677; font-weight: 600; }
.gp-nav-item.active::before {
  content: ""; position: absolute; left: -10px; top: 50%; transform: translateY(-50%);
  width: 3px; height: 20px; border-radius: 0 3px 3px 0; background: var(--gp-amber);
}
.gp-nav-item .gp-icon { width: 18px; height: 18px; opacity: .9; }
.gp-nav-item span { flex: 1; }
.gp-nav-count {
  background: var(--gp-red); color: #fff; font-size: 10.5px; font-weight: 700;
  min-width: 18px; height: 18px; border-radius: 9px; display: grid; place-items: center; padding: 0 5px;
}

.gp-sidebar-foot {
  border-top: 1px solid var(--gp-sidebar-line);
  padding: 12px 16px; font-size: 11px; color: #6d8199;
}
.gp-sidebar-foot strong { color: #9fb2cc; font-weight: 600; display: block; font-size: 12px; }

.gp-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }

/* Üst bar */
.gp-topbar {
  height: var(--gp-topbar-h);
  background: var(--gp-surface);
  border-bottom: 1px solid var(--gp-line);
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; padding: 0 18px;
  position: sticky; top: 0; z-index: 40;
}
.gp-topbar-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.gp-menu-toggle {
  display: none; width: 38px; height: 38px; border-radius: 10px;
  border: 1px solid var(--gp-line); background: var(--gp-surface); color: var(--gp-text-2);
  cursor: pointer; place-items: center;
}
.gp-search-trigger {
  display: flex; align-items: center; gap: 9px;
  height: 38px; padding: 0 12px; min-width: 290px;
  border: 1px solid var(--gp-line); background: var(--gp-surface-2);
  border-radius: 10px; color: var(--gp-muted); cursor: pointer; font-size: 13px;
  font-family: inherit; transition: border-color .13s, background .13s;
}
.gp-search-trigger:hover { border-color: #b9c9de; background: var(--gp-surface); }
.gp-search-trigger span { flex: 1; text-align: left; }
.gp-search-trigger kbd, .gp-command kbd {
  font-family: var(--gp-mono); font-size: 10.5px; color: var(--gp-muted);
  border: 1px solid var(--gp-line); border-bottom-width: 2px;
  border-radius: 5px; padding: 2px 6px; background: var(--gp-surface);
}

.gp-site-switcher { position: relative; }
.gp-site-switcher > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 12px; border: 1px solid var(--gp-line);
  border-radius: 10px; background: var(--gp-surface); font-size: 13px; font-weight: 600;
  color: var(--gp-text); max-width: 260px;
}
.gp-site-switcher > summary::-webkit-details-marker { display: none; }
.gp-site-switcher-domain { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gp-site-menu {
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 60;
  min-width: 280px; max-height: 380px; overflow: auto;
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); box-shadow: var(--gp-shadow-lg); padding: 6px;
}
.gp-site-menu-head {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .12em;
  color: var(--gp-muted); font-weight: 700; padding: 8px 10px 6px;
}
.gp-site-menu a {
  display: flex; align-items: center; gap: 9px; padding: 8px 10px;
  border-radius: var(--gp-r-sm); color: var(--gp-text); font-size: 13px;
}
.gp-site-menu a:hover { background: var(--gp-hover); }
.gp-site-menu-all { border-top: 1px solid var(--gp-line-2); margin-top: 4px; color: var(--gp-blue) !important; font-weight: 600; }

.gp-topbar-actions { display: flex; align-items: center; gap: 8px; }
.gp-icon-button {
  width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center;
  border: 1px solid var(--gp-line); background: var(--gp-surface); color: var(--gp-text-2);
  cursor: pointer; position: relative;
}
.gp-icon-button:hover { background: var(--gp-hover); color: var(--gp-blue); }
.gp-notification-dot {
  position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px;
  border-radius: 9px; background: var(--gp-red); color: #fff;
  font-size: 10.5px; font-weight: 700; display: grid; place-items: center; padding: 0 5px;
  border: 2px solid var(--gp-surface);
}
.gp-user-chip {
  display: flex; align-items: center; gap: 9px; height: 38px; padding: 0 10px;
  border: 1px solid var(--gp-line); border-radius: 10px; background: var(--gp-surface);
  color: var(--gp-text);
}
.gp-user-chip:hover { background: var(--gp-hover); color: var(--gp-text); }
.gp-avatar {
  width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
  background: linear-gradient(135deg, #2b4f80, #16304f); color: #fff;
  font-weight: 700; font-size: 12.5px; text-transform: uppercase;
}
.gp-user-chip .u-meta { display: flex; flex-direction: column; line-height: 1.2; }
.gp-user-chip .u-name { font-size: 12.5px; font-weight: 650; }
.gp-user-chip .u-role { font-size: 10.5px; color: var(--gp-muted); }
.logout-form { display: flex; }

/* İçerik */
.gp-content { flex: 1; padding: 20px 22px 40px; max-width: 1520px; width: 100%; }
.gp-breadcrumb {
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--gp-muted); margin-bottom: 14px;
}
.gp-breadcrumb a { color: var(--gp-muted); }
.gp-breadcrumb a:hover { color: var(--gp-blue); }
.gp-breadcrumb strong { color: var(--gp-text-2); font-weight: 600; }

/* ── 4. Sayfa başlığı ─────────────────────────────────────────────────── */
.gp-app .page-hero,
.gp-page-head {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r-lg); box-shadow: var(--gp-shadow);
  padding: 18px 20px; margin-bottom: 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
}
.gp-app .page-hero h1 { font-size: 21px; }
.gp-app .page-hero p { margin: 5px 0 0; color: var(--gp-muted); font-size: 13px; max-width: 720px; }
.gp-app .eyebrow, .gp-kicker {
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--gp-blue); font-weight: 700; margin-bottom: 5px; display: block;
}
.gp-app .hero-actions, .gp-page-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.gp-app .hero-meta { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 10px; font-size: 12.5px; color: var(--gp-muted); }
.gp-app .hero-meta b { color: var(--gp-text); font-weight: 600; }

/* ── 5. Kartlar / tablolar / formlar (eski sınıfların açık tema karşılığı) */
.gp-app .card,
.gp-app .panel-block,
.gp-app .form-card,
.gp-app .stat-card,
.gp-app .block-card,
.gp-app .settings-card,
.gp-app .table-wrap,
.gp-app .list-toolbar,
.gp-app .pagination-card,
.gp-app .notice-card,
.gp-app .empty,
.gp-app .event-card,
.gp-app .resource-card,
.gp-app .site-card,
.gp-app .maintenance-card,
.gp-app .maintenance-section,
.gp-app .migration-node-card,
.gp-app .mail-modal-card,
.gp-app .backup-modal-card,
.gp-app .dns-record-modal-card,
.gp-app .fm-move-card,
.gp-app .info-strip {
  background: var(--gp-surface);
  border: 1px solid var(--gp-line);
  border-radius: var(--gp-r);
  box-shadow: var(--gp-shadow);
  color: var(--gp-text);
}
.gp-app .panel-block, .gp-app .card { margin-bottom: 16px; }
.gp-app .card-head,
.gp-app .block-head,
.gp-app .soft-head,
.gp-app .mail-card-head,
.gp-app .migration-card-head,
.gp-app .maintenance-card-head {
  background: var(--gp-surface-2);
  border-bottom: 1px solid var(--gp-line-2);
  padding: 12px 16px;
  border-radius: var(--gp-r) var(--gp-r) 0 0;
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.gp-app .card-body, .gp-app .migration-card-body { padding: 16px; }
.gp-app .empty {
  padding: 26px; text-align: center; color: var(--gp-muted);
  border-style: dashed; box-shadow: none; background: var(--gp-surface-2);
}

.gp-app .table { width: 100%; border-collapse: collapse; background: var(--gp-surface); font-size: 13px; }
.gp-app .table th {
  background: var(--gp-surface-2); color: var(--gp-text-2);
  font-weight: 650; font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase;
  text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--gp-line);
  white-space: nowrap;
}
.gp-app .table td { padding: 11px 14px; border-bottom: 1px solid var(--gp-line-2); color: var(--gp-text-2); vertical-align: middle; }
.gp-app .table tbody tr:hover { background: var(--gp-hover); }
.gp-app .table tbody tr:last-child td { border-bottom: none; }
.gp-app .table-wrap { overflow-x: auto; }

/* Butonlar */
.gp-app .btn, .gp-auth .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 36px; padding: 0 14px; border-radius: 9px; cursor: pointer;
  font-family: inherit; font-size: 13px; font-weight: 600; white-space: nowrap;
  border: 1px solid var(--gp-line); background: var(--gp-surface); color: var(--gp-text);
  transition: background .13s, border-color .13s, color .13s, box-shadow .13s;
}
.gp-app .btn:hover, .gp-auth .btn:hover { background: var(--gp-hover); border-color: #c3d1e3; color: var(--gp-text); }
.gp-app .btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(37,99,235,.2); }
.gp-app .btn-primary, .gp-auth .btn-primary {
  background: linear-gradient(180deg, var(--gp-amber), var(--gp-amber-2));
  border-color: var(--gp-amber-2); color: #241905;
  box-shadow: 0 1px 2px rgba(200,140,10,.25);
}
.gp-app .btn-primary:hover, .gp-auth .btn-primary:hover { background: var(--gp-amber-2); border-color: #c68c06; color: #241905; }
.gp-app .btn-ghost { background: var(--gp-surface); color: var(--gp-text-2); }
.gp-app .btn-danger {
  background: var(--gp-red); border-color: var(--gp-red); color: #fff;
}
.gp-app .btn-danger:hover { background: #c22f3e; border-color: #c22f3e; color: #fff; }
.gp-app .btn-warn { background: var(--gp-orange); border-color: var(--gp-orange); color: #fff; }
.gp-app .btn-sm { height: 32px; padding: 0 11px; font-size: 12.5px; }
.gp-app .btn-xs { height: 28px; padding: 0 9px; font-size: 12px; border-radius: 8px; }
.gp-app .btn-block { width: 100%; }
.gp-app .btn[disabled], .gp-app .btn.disabled { opacity: .55; cursor: not-allowed; }
.gp-link-button {
  border: none; background: none; cursor: pointer; font-family: inherit;
  color: var(--gp-blue); font-weight: 600; font-size: 12.5px;
}

/* Form alanları */
.gp-app .input, .gp-auth .input,
.gp-app select.input, .gp-app textarea.input {
  width: 100%; min-height: 36px; padding: 7px 11px;
  border: 1px solid var(--gp-line); border-radius: 9px;
  background: var(--gp-surface); color: var(--gp-text);
  font-family: inherit; font-size: 13px;
  transition: border-color .13s, box-shadow .13s;
}
.gp-app .input:focus, .gp-auth .input:focus {
  outline: none; border-color: var(--gp-blue); box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}
.gp-app .input::placeholder { color: #9dabc0; }
.gp-app textarea.input { min-height: 84px; line-height: 1.5; }
.gp-app .input-sm { min-height: 32px; font-size: 12.5px; }
.gp-app .input-xs { min-height: 28px; font-size: 12px; padding: 4px 8px; }
.gp-app .field { display: flex; flex-direction: column; gap: 5px; }
.gp-app .field-label { font-size: 12px; font-weight: 620; color: var(--gp-text-2); }
.gp-app .field-hint, .gp-app .field-help { font-size: 11.5px; color: var(--gp-muted); }
.gp-app .compact-form { display: flex; flex-direction: column; gap: 13px; }
.gp-app .form-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.gp-app .mini-grid, .gp-app .grid-2, .gp-app .form-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px;
}
.gp-app .check, .gp-app .checkbox-line, .gp-app .check-row {
  display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gp-text-2);
}
.gp-app input[type="checkbox"], .gp-app input[type="radio"] { accent-color: var(--gp-blue); width: 15px; height: 15px; }
.gp-app .code-area { font-family: var(--gp-mono); font-size: 12.5px; min-height: 190px; }

/* Rozetler */
.gp-app .badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px; border-radius: 999px;
  font-size: 11.5px; font-weight: 650; line-height: 1.5;
  background: var(--gp-slate-soft); color: var(--gp-slate); border: 1px solid transparent;
}
.gp-app .badge-ok { background: var(--gp-green-soft); color: #0b7b52; }
.gp-app .badge-warn { background: var(--gp-orange-soft); color: #b35306; }
.gp-app .badge-danger { background: var(--gp-red-soft); color: #b52a38; }
.gp-app .badge-info { background: var(--gp-blue-soft); color: #1b4dc1; }
.gp-app .badge-off { background: var(--gp-slate-soft); color: var(--gp-slate); }

/* Flash mesajları */
.gp-app .flashes { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.gp-app .flash {
  padding: 12px 14px; border-radius: var(--gp-r-sm); font-size: 13px;
  border: 1px solid var(--gp-line); background: var(--gp-surface); color: var(--gp-text-2);
  border-left: 4px solid var(--gp-blue);
}
.gp-app .flash-ok { border-left-color: var(--gp-green); background: var(--gp-green-soft); color: #0b6b48; }
.gp-app .flash-err { border-left-color: var(--gp-red); background: var(--gp-red-soft); color: #a82430; }
.gp-app .flash-warn { border-left-color: var(--gp-orange); background: var(--gp-orange-soft); color: #a04b06; }

/* Sayfalama */
.gp-app .pagination-card {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; padding: 11px 14px; margin-top: 12px;
}
.gp-app .pagination-summary { font-size: 12.5px; color: var(--gp-muted); }
.gp-app .pagination-links { display: flex; gap: 5px; flex-wrap: wrap; }
.gp-app .page-btn {
  min-width: 32px; height: 32px; padding: 0 10px; border-radius: 8px;
  border: 1px solid var(--gp-line); background: var(--gp-surface);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12.5px; font-weight: 600; color: var(--gp-text-2);
}
.gp-app .page-btn:hover { background: var(--gp-hover); }
.gp-app .page-btn.active { background: var(--gp-blue); border-color: var(--gp-blue); color: #fff; }
.gp-app .page-btn.disabled { opacity: .45; pointer-events: none; }

/* Liste araç çubuğu */
.gp-app .list-toolbar, .gp-app .sites-table-toolbar, .gp-app .mail-list-head, .gp-app .dns-summary-strip {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 13px 16px;
}
.gp-app .list-search-actions, .gp-app .sites-search-form, .gp-app .dns-search-form {
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
}

/* ── 6. cPanel tarzı araç ızgarası ────────────────────────────────────── */
.gp-toolbox { display: flex; flex-direction: column; gap: 16px; }

.gp-toolsearch {
  position: relative; display: flex; align-items: center; gap: 10px;
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); box-shadow: var(--gp-shadow); padding: 0 14px; height: 46px;
}
.gp-toolsearch .gp-icon { color: var(--gp-muted); }
.gp-toolsearch input {
  flex: 1; border: none; outline: none; background: none;
  font-family: inherit; font-size: 14px; color: var(--gp-text); height: 100%;
}
.gp-toolsearch input::placeholder { color: #9dabc0; }

.gp-group {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); box-shadow: var(--gp-shadow); overflow: hidden;
}
.gp-group-head {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px; border-bottom: 1px solid var(--gp-line-2);
  background: var(--gp-surface-2);
}
.gp-group-head .gp-icon { width: 17px; height: 17px; color: var(--gp-slate); }
.gp-group-head h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--gp-text-2); }
.gp-group-head small { color: var(--gp-muted); font-size: 12px; margin-left: auto; }

.gp-tiles {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  gap: 4px; padding: 10px;
}
.gp-tile {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 12px; border-radius: 10px;
  color: var(--gp-text); min-width: 0;
  border: 1px solid transparent;
  transition: background .13s, border-color .13s, transform .13s;
}
.gp-tile:hover {
  background: var(--gp-hover); border-color: var(--gp-line);
  color: var(--gp-text); transform: translateY(-1px);
}
.gp-tile-ic {
  width: 38px; height: 38px; border-radius: 11px; flex: none;
  display: grid; place-items: center;
  background: var(--gp-slate-soft); color: var(--gp-slate);
}
.gp-tile-ic .gp-icon { width: 19px; height: 19px; }
.gp-tile-txt { min-width: 0; }
.gp-tile b { display: block; font-size: 13px; font-weight: 620; line-height: 1.3; }
.gp-tile small {
  display: block; font-size: 11.5px; color: var(--gp-muted); margin-top: 1px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.gp-tile.is-hidden, .gp-group.is-hidden { display: none; }

.tone-blue   .gp-tile-ic, .gp-tile-ic.tone-blue   { background: var(--gp-blue-soft);   color: var(--gp-blue); }
.tone-green  .gp-tile-ic, .gp-tile-ic.tone-green  { background: var(--gp-green-soft);  color: var(--gp-green); }
.tone-amber  .gp-tile-ic, .gp-tile-ic.tone-amber  { background: var(--gp-amber-soft);  color: #a97a06; }
.tone-red    .gp-tile-ic, .gp-tile-ic.tone-red    { background: var(--gp-red-soft);    color: var(--gp-red); }
.tone-purple .gp-tile-ic, .gp-tile-ic.tone-purple { background: var(--gp-purple-soft); color: var(--gp-purple); }
.tone-orange .gp-tile-ic, .gp-tile-ic.tone-orange { background: var(--gp-orange-soft); color: var(--gp-orange); }
.tone-teal   .gp-tile-ic, .gp-tile-ic.tone-teal   { background: var(--gp-teal-soft);   color: var(--gp-teal); }
.tone-slate  .gp-tile-ic, .gp-tile-ic.tone-slate  { background: var(--gp-slate-soft);  color: var(--gp-slate); }

.gp-toolempty {
  padding: 22px; text-align: center; color: var(--gp-muted); font-size: 13px;
  background: var(--gp-surface); border: 1px dashed var(--gp-line); border-radius: var(--gp-r);
}

/* ── 7. Site çalışma alanı ────────────────────────────────────────────── */
.gp-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.gp-workspace-side { display: flex; flex-direction: column; gap: 14px; position: sticky; top: calc(var(--gp-topbar-h) + 16px); }

.gp-site-hero {
  background: linear-gradient(120deg, #12294a, #0d1d34 55%, #12203a);
  border-radius: var(--gp-r-lg); color: #fff; padding: 20px 22px;
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  box-shadow: var(--gp-shadow); margin-bottom: 16px;
  position: relative; overflow: hidden;
}
.gp-site-hero::after {
  content: ""; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(242,176,30,.22), transparent 65%); pointer-events: none;
}
.gp-site-avatar {
  width: 56px; height: 56px; border-radius: 16px; flex: none;
  display: grid; place-items: center; font-size: 24px; font-weight: 700;
  background: linear-gradient(135deg, var(--gp-amber), var(--gp-amber-2)); color: #241905;
  text-transform: uppercase;
}
.gp-site-hero-main { flex: 1; min-width: 220px; }
.gp-site-hero-main h1 { color: #fff; font-family: var(--gp-mono); font-size: 22px; word-break: break-all; }
.gp-site-hero-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 9px; }
.gp-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.14);
  color: #dbe6f5; font-size: 12px; font-weight: 550; padding: 4px 10px; border-radius: 999px;
}
.gp-chip b { color: #fff; font-weight: 650; }
.gp-chip-ok { background: rgba(18,160,106,.22); border-color: rgba(18,160,106,.4); color: #8ef0c5; }
.gp-chip-warn { background: rgba(240,117,20,.2); border-color: rgba(240,117,20,.38); color: #ffc492; }
.gp-chip-off { background: rgba(255,255,255,.08); color: #b6c4d6; }
.gp-site-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; position: relative; z-index: 1; }
.gp-site-hero-actions .btn { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.18); color: #fff; }
.gp-site-hero-actions .btn:hover { background: rgba(255,255,255,.2); color: #fff; border-color: rgba(255,255,255,.3); }
.gp-site-hero-actions .btn-primary { background: linear-gradient(180deg, var(--gp-amber), var(--gp-amber-2)); border-color: var(--gp-amber-2); color: #241905; }

.gp-side-card {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); box-shadow: var(--gp-shadow); overflow: hidden;
}
.gp-side-card-head {
  padding: 12px 15px; border-bottom: 1px solid var(--gp-line-2); background: var(--gp-surface-2);
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.gp-side-card-head h3 { font-size: 12.5px; text-transform: uppercase; letter-spacing: .07em; color: var(--gp-text-2); }
.gp-side-card-head a { font-size: 12px; font-weight: 600; }
.gp-kv { display: flex; flex-direction: column; }
.gp-kv > div {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 15px; border-bottom: 1px solid var(--gp-line-2); font-size: 12.5px;
}
.gp-kv > div:last-child { border-bottom: none; }
.gp-kv span { color: var(--gp-muted); }
.gp-kv b { color: var(--gp-text); font-weight: 620; text-align: right; word-break: break-all; }
.gp-side-links { padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.gp-side-links a {
  display: flex; align-items: center; gap: 9px; padding: 8px 10px;
  border-radius: var(--gp-r-sm); color: var(--gp-text-2); font-size: 12.5px; font-weight: 550;
}
.gp-side-links a:hover { background: var(--gp-hover); color: var(--gp-blue); }
.gp-side-links .gp-icon { width: 16px; height: 16px; color: var(--gp-muted); }
.gp-side-links a:hover .gp-icon { color: var(--gp-blue); }

/* Ayar bölümleri (accordion) */
.gp-settings { display: flex; flex-direction: column; gap: 12px; }
.gp-fold {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); box-shadow: var(--gp-shadow); overflow: hidden;
}
.gp-fold > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: flex; align-items: center; gap: 11px; padding: 13px 16px;
  font-weight: 620; font-size: 13.5px; color: var(--gp-text);
  background: var(--gp-surface-2); border-bottom: 1px solid transparent;
}
.gp-fold > summary::-webkit-details-marker { display: none; }
.gp-fold[open] > summary { border-bottom-color: var(--gp-line-2); }
.gp-fold > summary .gp-fold-ic {
  width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center;
  background: var(--gp-blue-soft); color: var(--gp-blue); flex: none;
}
.gp-fold > summary .gp-fold-ic .gp-icon { width: 16px; height: 16px; }
.gp-fold > summary small { color: var(--gp-muted); font-weight: 450; font-size: 12px; display: block; margin-top: 1px; }
.gp-fold-caret { margin-left: auto; color: var(--gp-muted); transition: transform .15s; }
.gp-fold[open] .gp-fold-caret { transform: rotate(180deg); }
.gp-fold-body { padding: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.gp-fold-body .compact-form { gap: 12px; }
.gp-fold-body > form, .gp-fold-body > div { min-width: 0; }
.gp-fold-title { font-size: 12.5px; font-weight: 650; color: var(--gp-text-2); margin-bottom: 10px; display: block; }
.gp-danger-fold > summary .gp-fold-ic { background: var(--gp-red-soft); color: var(--gp-red); }

.gp-mini-list { display: flex; flex-direction: column; gap: 6px; }
.gp-mini-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 8px 11px; border: 1px solid var(--gp-line-2); border-radius: var(--gp-r-sm);
  background: var(--gp-surface-2); font-size: 12.5px;
}
.gp-inline-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.gp-inline-form .input { flex: 1; min-width: 150px; }

/* ── 8. Panel (ana sayfa) ─────────────────────────────────────────────── */
.gp-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.gp-dashboard-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.gp-dashboard-side { display: flex; flex-direction: column; gap: 14px; }

.gp-welcome {
  background: linear-gradient(120deg, #12294a, #0d1d34 60%, #132241);
  border-radius: var(--gp-r-lg); color: #fff; padding: 22px; box-shadow: var(--gp-shadow);
  position: relative; overflow: hidden;
}
.gp-welcome::after {
  content: ""; position: absolute; right: -70px; top: -90px; width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(242,176,30,.2), transparent 65%);
}
.gp-welcome .gp-kicker { color: #ffcf6b; }
.gp-welcome h1 { color: #fff; font-size: 24px; }
.gp-welcome p { color: #a9bcd5; margin: 6px 0 0; font-size: 13.5px; max-width: 620px; }
.gp-welcome-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; position: relative; z-index: 1; }

.gp-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.gp-stat {
  background: var(--gp-surface); border: 1px solid var(--gp-line); border-radius: var(--gp-r);
  padding: 14px 15px; box-shadow: var(--gp-shadow); display: flex; align-items: center; gap: 12px;
  color: var(--gp-text);
}
.gp-stat:hover { border-color: #c3d1e3; color: var(--gp-text); }
.gp-stat-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none; }
.gp-stat-txt span { display: block; font-size: 11.5px; color: var(--gp-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.gp-stat-txt strong { font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.gp-stat-txt small { color: var(--gp-muted); font-size: 11.5px; }

.gp-site-list { display: flex; flex-direction: column; }
.gp-site-row {
  display: flex; align-items: center; gap: 12px; padding: 12px 16px;
  border-bottom: 1px solid var(--gp-line-2); color: var(--gp-text);
}
.gp-site-row:last-child { border-bottom: none; }
.gp-site-row:hover { background: var(--gp-hover); color: var(--gp-text); }
.gp-site-letter {
  width: 34px; height: 34px; border-radius: 10px; flex: none; display: grid; place-items: center;
  background: var(--gp-blue-soft); color: var(--gp-blue); font-weight: 700; text-transform: uppercase;
}
.gp-site-row-main { flex: 1; min-width: 0; }
.gp-site-row-main strong { display: block; font-size: 13.5px; font-weight: 620; word-break: break-all; }
.gp-site-row-main small { color: var(--gp-muted); font-size: 11.5px; }
.gp-site-row-meta { text-align: right; font-size: 11.5px; color: var(--gp-muted); }
.gp-site-row-meta strong { display: block; color: var(--gp-text-2); font-size: 12px; font-weight: 620; }
.gp-row-arrow { color: var(--gp-muted); }

.gp-notice-list { display: flex; flex-direction: column; }
.gp-notice-list a {
  display: flex; gap: 10px; padding: 11px 15px; border-bottom: 1px solid var(--gp-line-2);
  color: var(--gp-text);
}
.gp-notice-list a:last-child { border-bottom: none; }
.gp-notice-list a:hover { background: var(--gp-hover); }
.gp-notice-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gp-blue); margin-top: 6px; flex: none; }
.gp-notice-list strong { display: block; font-size: 12.5px; font-weight: 620; }
.gp-notice-list small { display: block; color: var(--gp-muted); font-size: 11.5px; }
.gp-notice-list em { font-style: normal; font-size: 11px; color: #9aa8bd; }
.gp-side-empty { padding: 18px 15px; color: var(--gp-muted); font-size: 12.5px; text-align: center; }

.gp-health-list { display: flex; flex-direction: column; }
.gp-health-list > div {
  display: flex; align-items: center; gap: 10px; padding: 10px 15px;
  border-bottom: 1px solid var(--gp-line-2); font-size: 12.5px; color: var(--gp-text-2);
}
.gp-health-list > div:last-child { border-bottom: none; }
.gp-health-list span.gp-health-ic {
  width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
  background: var(--gp-surface-3); color: var(--gp-slate); flex: none;
}
.gp-health-list span.gp-health-ic .gp-icon { width: 14px; height: 14px; }
.gp-health-list > div > span:nth-child(2) { flex: 1; }
.gp-health-list b { color: var(--gp-green); font-size: 12px; font-weight: 650; }
.gp-online-pill {
  display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 650;
  color: #0b7b52; background: var(--gp-green-soft); padding: 3px 9px; border-radius: 999px;
}
.gp-online-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--gp-green); }

.gp-status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gp-green); flex: none; box-shadow: 0 0 0 3px var(--gp-green-soft); }
.gp-domain-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gp-blue); flex: none; }

/* ── 9. Komut paleti ──────────────────────────────────────────────────── */
.gp-command { position: fixed; inset: 0; z-index: 120; display: grid; place-items: start center; padding-top: 12vh; }
.gp-command[hidden] { display: none; }
.gp-command-backdrop { position: absolute; inset: 0; border: none; background: rgba(12,24,42,.5); backdrop-filter: blur(2px); cursor: pointer; }
.gp-command-card {
  position: relative; width: min(620px, calc(100% - 32px));
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r-lg); box-shadow: var(--gp-shadow-lg); overflow: hidden;
}
.gp-command-input-wrap { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--gp-line-2); }
.gp-command-input-wrap svg, .gp-command-input-wrap .gp-icon { width: 19px; height: 19px; fill: var(--gp-muted); }
.gp-command-input-wrap input { flex: 1; border: none; outline: none; font-family: inherit; font-size: 15px; color: var(--gp-text); background: none; }
.gp-command-results { max-height: 52vh; overflow-y: auto; padding: 8px; }
.gp-command-result { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: var(--gp-r-sm); color: var(--gp-text); }
.gp-command-result svg, .gp-command-result .gp-icon { width: 18px; height: 18px; fill: var(--gp-muted); flex: none; }
.gp-command-result.active, .gp-command-result:hover { background: var(--gp-blue-soft); color: var(--gp-blue); }
.gp-command-result.active svg, .gp-command-result:hover svg { fill: var(--gp-blue); }
.gp-command-result span { display: flex; flex-direction: column; font-size: 13.5px; font-weight: 600; }
.gp-command-result small { color: var(--gp-muted); font-size: 11.5px; font-weight: 450; font-family: var(--gp-mono); }
.gp-command-empty { padding: 24px; text-align: center; color: var(--gp-muted); font-size: 13px; }

/* ── 10. Mobil ────────────────────────────────────────────────────────── */
.sidebar-scrim {
  display: none; position: fixed; inset: 0; z-index: 45;
  background: rgba(10,22,40,.5); border: none; cursor: pointer;
}
.gp-mobile-nav { display: none; }

@media (max-width: 1180px) {
  .gp-workspace, .gp-dashboard { grid-template-columns: minmax(0, 1fr); }
  .gp-workspace-side { position: static; flex-direction: row; flex-wrap: wrap; }
  .gp-workspace-side > * { flex: 1 1 280px; }
}

@media (max-width: 920px) {
  .gp-sidebar {
    position: fixed; left: 0; top: 0; z-index: 50;
    transform: translateX(-100%); transition: transform .2s ease;
  }
  body.sidebar-open .gp-sidebar { transform: translateX(0); box-shadow: 0 0 60px rgba(0,0,0,.4); }
  body.sidebar-open .sidebar-scrim { display: block; }
  .gp-menu-toggle { display: grid; }
  .gp-search-trigger { min-width: 0; flex: 1; }
  .gp-search-trigger span, .gp-search-trigger kbd { display: none; }
  .gp-user-chip .u-meta { display: none; }
  .gp-site-switcher { display: none; }
  .gp-content { padding: 16px 14px 92px; }
  .gp-mobile-nav {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
    background: var(--gp-surface); border-top: 1px solid var(--gp-line);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .gp-mobile-nav a {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 6px 2px; color: var(--gp-muted); font-size: 10.5px; font-weight: 600;
  }
  .gp-mobile-nav a.active { color: var(--gp-blue); }
  .gp-mobile-nav .gp-icon { width: 20px; height: 20px; }
  .gp-tiles { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
  .gp-fold-body { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
  .gp-tiles { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 2px; padding: 8px; }
  .gp-tile { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px; }
  .gp-tile small { display: none; }
  .gp-site-hero { padding: 16px; }
  .gp-site-hero-main h1 { font-size: 18px; }
}

/* ── 11. Giriş ekranı ─────────────────────────────────────────────────── */
body.gp-auth {
  min-height: 100vh; display: grid; place-items: center;
  background: radial-gradient(1200px 600px at 50% -10%, #16304f, #0b1a2e 60%, #081321);
  padding: 24px;
}
.gp-auth .auth-wrap { width: min(420px, 100%); }
.gp-auth .auth-card {
  background: var(--gp-surface); border-radius: 20px; padding: 28px;
  box-shadow: 0 30px 80px rgba(4,12,24,.5); border: 1px solid rgba(255,255,255,.6);
}
.gp-auth .auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.gp-auth .brand-mark, .gp-auth .brand-mark.lg {
  width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--gp-amber), var(--gp-amber-2));
  color: #241905; font-weight: 800; font-size: 22px; font-family: var(--gp-mono);
}
.gp-auth .auth-title { font-size: 19px; font-weight: 700; color: var(--gp-text); }
.gp-auth .auth-sub { font-size: 12.5px; color: var(--gp-muted); }
.gp-auth .auth-form { display: flex; flex-direction: column; gap: 14px; }
.gp-auth .field { display: flex; flex-direction: column; gap: 5px; }
.gp-auth .field-label { font-size: 12px; font-weight: 620; color: var(--gp-text-2); }
.gp-auth .auth-foot { margin-top: 18px; font-size: 11.5px; color: var(--gp-muted); text-align: center; }
.gp-auth .flash { padding: 10px 12px; border-radius: 9px; font-size: 12.5px; margin-bottom: 12px; }
.gp-auth .flash-err { background: var(--gp-red-soft); color: #a82430; }
.gp-auth .flash-ok { background: var(--gp-green-soft); color: #0b6b48; }

/* ── 12. Yazdırma ─────────────────────────────────────────────────────── */
@media print {
  .gp-sidebar, .gp-topbar, .gp-mobile-nav, .gp-command { display: none !important; }
  .gp-content { padding: 0; }
}

/* ==========================================================================
   13. Eski katman nötrleme (g2.css + upnet-product-ui.css)
   Bu iki dosya koyu tema için yazıldı ve bazı kuralları !important taşıyor.
   Aşağıdaki blok yalnızca o kuralları etkisizleştirir; yeni bileşenlere
   dokunmaz. Eski katmanlar kaldırıldığında bu bölüm de silinebilir.
   ========================================================================== */

/* Kabuk: eski iç boşluk / koyu zemin kalıntıları */
.gp-app .sidebar.gp-sidebar {
  padding: 0; gap: 0;
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: none;
  background: linear-gradient(180deg, var(--gp-sidebar), var(--gp-sidebar-2));
}
.gp-app .topbar.gp-topbar { backdrop-filter: none; padding: 0 18px; height: var(--gp-topbar-h); }
.gp-app .content.gp-content { padding: 20px 22px 40px; }
.gp-app .app.gp-shell { background: var(--gp-canvas); }

/* Menü etiketleri her genişlikte görünür (eski dar-ray modu iptal) */
.gp-app .gp-nav-item span { display: block; }
.gp-app .gp-nav-item { justify-content: flex-start; padding: 9px 11px; min-height: 0; }
.gp-app .gp-brand { justify-content: flex-start; padding: 16px 16px 14px; min-height: 0; }
.gp-app .gp-brand-name { display: block; }

/* Sayfa başlığı: kart görünümü eski !important kurallarını geçer */
.gp-app .page-hero {
  padding: 18px 20px !important;
  margin: 0 0 16px !important;
  border: 1px solid var(--gp-line) !important;
  border-radius: var(--gp-r-lg) !important;
  background: var(--gp-surface) !important;
  box-shadow: var(--gp-shadow) !important;
  align-items: center !important;
}
.gp-app .page-hero h1 {
  margin: 0 !important;
  font-size: 21px !important;
  font-weight: 650 !important;
  letter-spacing: -.015em !important;
  color: var(--gp-text);
}

/* Tipografi: eski "font-weight:500 !important" kuralını geri al */
.gp-app .gp-tile b,
.gp-app .gp-stat-txt strong,
.gp-app .gp-site-row-main strong,
.gp-app .gp-kv b,
.gp-app .gp-chip b,
.gp-app .badge,
.gp-app .btn,
.gp-app .field-label,
.gp-app .table thead th,
.gp-app .card-head h2,
.gp-app .gp-group-head h2,
.gp-app .gp-side-card-head h3,
.gp-app .gp-fold > summary,
.gp-app h1, .gp-app h2, .gp-app h3 {
  font-weight: 620 !important;
}
.gp-app .gp-stat-txt strong { font-weight: 700 !important; }
.gp-app .gp-site-hero h1, .gp-app .gp-welcome h1 { font-weight: 650 !important; color: #fff; }

/* Tablo metni koyu tema renginden kurtarılır */
.gp-app .table tbody td { color: var(--gp-text-2); }
.gp-app .table tbody tr:hover td { background: var(--gp-hover); }

/* Modal ve kaplamalar açık zeminde kalsın */
.gp-app .mail-modal-backdrop,
.gp-app .backup-modal-backdrop,
.gp-app .fm-move-backdrop { background: rgba(12,24,42,.45); }

/* ==========================================================================
   14. İkinci faz — kalan sayfaların bileşenleri
   Dosya yöneticisi, mail, DNS, veritabanı, yedek, bakım ve taşıma ekranları
   hâlâ g2.css/upnet-product-ui.css bileşenlerini kullanıyor. Bu blok o
   bileşenlerin koyu tema kalıntılarını (sabit hex zeminler, koyu kenarlıklar)
   yeni tasarım diline çeker. İlgili sayfa gpanel-ui.css'e taşındıkça buradaki
   karşılığı silinebilir.
   ========================================================================== */

/* 14.1 Ölçüm kartları (kaynaklar, sistem, bakım, mail özetleri) */
.gp-app .stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 1px; padding: 1px; margin: 0 0 16px;
  background: var(--gp-line); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); overflow: hidden; box-shadow: var(--gp-shadow);
}
.gp-app .stats .stat-card,
.gp-app .stats a.stat-card {
  background: var(--gp-surface); border: 0; border-radius: 0;
  box-shadow: none !important; padding: 14px 16px; min-height: 74px;
}
.gp-app .stats .stat-card:hover { background: var(--gp-hover); transform: none; }
.gp-app .stat-card { background: var(--gp-surface); border-color: var(--gp-line); color: var(--gp-text); }
.gp-app .stat-val, .gp-app .stat-num, .gp-app .metric-large {
  color: var(--gp-text); font-weight: 700 !important; letter-spacing: -.02em;
}
.gp-app .stat-label {
  color: var(--gp-muted); font-size: 11.5px; font-weight: 620 !important;
  text-transform: uppercase; letter-spacing: .06em;
}

/* 14.2 Bölüm başlıkları */
.gp-app .block-head { color: var(--gp-text); }
.gp-app .block-head h2 { color: var(--gp-text); }
.gp-app .head-ic {
  display: inline-grid; place-items: center; width: 30px; height: 30px;
  border-radius: 9px; background: var(--gp-blue-soft); color: var(--gp-blue);
  border: 0; margin-right: 9px; vertical-align: middle;
}
.gp-app .head-ic svg { width: 16px; height: 16px; fill: currentColor; }
.gp-app .content > .block-head:first-child {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  box-shadow: var(--gp-shadow); border-radius: var(--gp-r-lg); padding: 18px 20px;
}

/* 14.3 Sekmeler (DNS kayıt türleri, mail görünümleri) */
.gp-app .tabs,
.gp-app .tab-bar,
.gp-app .dns-type-filter-bar {
  display: flex; flex-wrap: wrap; gap: 4px; padding: 4px;
  background: var(--gp-surface-3); border: 1px solid var(--gp-line);
  border-radius: 10px; margin-bottom: 14px;
}
.gp-app .tab, .gp-app .tabs a, .gp-app .tab-bar a, .gp-app .tab-bar button {
  border: 0; background: transparent; cursor: pointer; font-family: inherit;
  padding: 6px 12px; border-radius: 8px; font-size: 12.5px; font-weight: 600;
  color: var(--gp-text-2);
}
.gp-app .tab:hover, .gp-app .tabs a:hover, .gp-app .tab-bar a:hover { background: var(--gp-surface); color: var(--gp-blue); }
.gp-app .tab.active, .gp-app .tabs a.active, .gp-app .tab-bar a.active, .gp-app .tab-bar button.active {
  background: var(--gp-surface); color: var(--gp-blue); box-shadow: var(--gp-shadow);
}
.gp-app .tab-count {
  display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 999px;
  background: var(--gp-surface-3); color: var(--gp-muted); font-size: 11px;
}

/* 14.4 Özet şeritleri (veritabanı, DNS, mail, sağlık) */
.gp-app .db-summary-strip > div:not(.db-summary-search),
.gp-app .dns-summary-strip > div:not(.dns-summary-search),
.gp-app .db-detail-summary > div,
.gp-app .dns-detail-summary > div,
.gp-app .mail-summary-item,
.gp-app .maintenance-metric,
.gp-app .kv-grid > div,
.gp-app .info-strip > div {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); color: var(--gp-text);
}
.gp-app .info-strip { background: var(--gp-line); }
.gp-app .db-summary-strip span, .gp-app .dns-summary-strip span,
.gp-app .mail-summary-item span, .gp-app .kv-grid span, .gp-app .info-strip span {
  color: var(--gp-muted);
}
.gp-app .kv-grid strong, .gp-app .info-strip b { color: var(--gp-text); }
.gp-app .db-count-pill, .gp-app .dns-count-pill, .gp-app .pill {
  background: var(--gp-surface-3); border: 1px solid var(--gp-line); color: var(--gp-text-2);
}

/* 14.5 Kart türevleri ve hover kenarlıkları */
.gp-app .resource-card, .gp-app .site-card, .gp-app .quick-action-card,
.gp-app .event-card, .gp-app .notice-card, .gp-app .wp-install-card,
.gp-app .action-start-card, .gp-app .cron-edit-box, .gp-app .backup-stage-card,
.gp-app .backup-info-box, .gp-app .backup-running-note, .gp-app .mail-note-box,
.gp-app .mail-dns-card, .gp-app .migration-node-card, .gp-app .fm-move-current,
.gp-app .backup-import-selection, .gp-app .diagnose-item {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  color: var(--gp-text-2); border-radius: var(--gp-r);
}
.gp-app .card:hover, .gp-app .form-card:hover, .gp-app .site-card:hover,
.gp-app .resource-card:hover, .gp-app .quick-action-card:hover,
.gp-app .mail-domain-card:hover, .gp-app a.stat-card:hover {
  border-color: #c3d1e3; background: var(--gp-surface);
}
.gp-app .quick-action-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; box-shadow: var(--gp-shadow); }
.gp-app .quick-action-card b { color: var(--gp-text); }
.gp-app .quick-action-card span { color: var(--gp-muted); font-size: 12px; }
.gp-app .event-card { background: var(--gp-surface); }
.gp-app .event-card:hover { background: var(--gp-hover); }
.gp-app .event-card.unread, .gp-app .event-card.notif-unread {
  background: var(--gp-amber-soft); border-color: rgba(242,176,30,.35);
}
.gp-app .notice-card { border-radius: var(--gp-r); box-shadow: var(--gp-shadow); }
.gp-app .notice-warn { border-left: 4px solid var(--gp-orange); }

/* 14.6 Kaplamalar ve pencereler */
.gp-app .mail-modal-card, .gp-app .backup-modal-card, .gp-app .dns-record-modal-card,
.gp-app .fm-move-card, .gp-app .migration-modal-card, .gp-app .mail-sync-modal-card,
.gp-app .mail-server-modal-card, .gp-app .mail-domain-add-modal-card,
.gp-app .fm-search-dialog, .gp-app .fm-compact-dialog {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r-lg); box-shadow: var(--gp-shadow-lg); color: var(--gp-text);
}
.gp-app .mail-modal-head, .gp-app .backup-modal-head, .gp-app .fm-move-head {
  border-bottom: 1px solid var(--gp-line-2); background: var(--gp-surface-2);
}
.gp-app .mail-password-pop { background: var(--gp-surface); border: 1px solid var(--gp-line); box-shadow: var(--gp-shadow-lg); }

/* 14.7 İlerleme çubukları */
.gp-app .backup-progress-track, .gp-app .mail-sync-track,
.gp-app .maintenance-meter, .gp-app .gp-progress, .gp-app .fm-progress-line {
  background: var(--gp-surface-3); border-radius: 999px; overflow: hidden;
}
.gp-app .backup-progress-bar, .gp-app .mail-sync-bar,
.gp-app .maintenance-meter span, .gp-app .gp-progress i, .gp-app .fm-progress-line span {
  background: linear-gradient(90deg, var(--gp-blue), #4f86f7);
}
.gp-app .gp-progress-purple i { background: linear-gradient(90deg, var(--gp-purple), #9a74ff); }
.gp-app .gp-progress-orange i { background: linear-gradient(90deg, var(--gp-orange), #ffa24d); }
.gp-app .gp-progress-blue i { background: linear-gradient(90deg, var(--gp-teal), #3ec7d4); }

/* 14.8 Dosya yöneticisi */
.gp-app .fm-explorer-card, .gp-app .fm-actions-card, .gp-app .fm-upload-panel,
.gp-app .fm-create-panel, .gp-app .fm-selected-box, .gp-app .fm-side-body > * {
  background: var(--gp-surface); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r); box-shadow: var(--gp-shadow); color: var(--gp-text);
}
.gp-app .fm-toolbar, .gp-app .fm-toolbar-pro {
  background: var(--gp-surface-2); border-bottom: 1px solid var(--gp-line);
  border-radius: var(--gp-r) var(--gp-r) 0 0;
}
.gp-app .fm-breadcrumb { color: var(--gp-muted); }
.gp-app .fm-breadcrumb a { color: var(--gp-blue); }
.gp-app .fm-row:hover, .gp-app .fm-table tbody tr:hover { background: var(--gp-hover); }
.gp-app .fm-dropzone, .gp-app .fm-dropzone-wide, .gp-app .backup-import-dropzone {
  border: 1.5px dashed #b9c9de; background: var(--gp-surface-2);
  border-radius: var(--gp-r); color: var(--gp-muted);
}
.gp-app .fm-dropzone.is-drag, .gp-app .fm-dropzone-wide.is-drag {
  border-color: var(--gp-blue); background: var(--gp-blue-soft);
}
.gp-app .fm-icon, .gp-app .gp-file-icon, .gp-app .fm-drop-ic, .gp-app .backup-import-icon {
  color: var(--gp-slate);
}
.gp-app .gp-file-icon-folder, .gp-app .fm-icon.is-folder { color: var(--gp-amber-2); }
.gp-app .fm-perm-cell, .gp-app .fm-name { color: var(--gp-text-2); }

/* 14.9 Girdi durumları ve kaydırma çubuğu */
.gp-app .input:hover, .gp-app .inp:hover { border-color: #b9c9de; background: var(--gp-surface); }
.gp-app .input:focus, .gp-app .inp:focus { background: var(--gp-surface); }
.gp-app .input:disabled, .gp-app .input[readonly] { background: var(--gp-surface-3); color: var(--gp-muted); }
.gp-app *::-webkit-scrollbar-thumb { background: #c3d1e3; border-radius: 4px; }
.gp-app *::-webkit-scrollbar { width: 10px; height: 10px; }
.gp-app *::-webkit-scrollbar-track { background: transparent; }

/* 14.10 Yükleniciler ve küçük parçalar */
.gp-app .loader-ring, .gp-app .async-loader {
  border-color: var(--gp-line); border-top-color: var(--gp-blue);
}
.gp-app .coming, .gp-app .coming-badge { background: var(--gp-surface-2); border-color: var(--gp-line); color: var(--gp-muted); }
.gp-app .mini-list-row, .gp-app .check-row, .gp-app .checkbox-line, .gp-app .clean-list > * {
  border-color: var(--gp-line-2); color: var(--gp-text-2);
}
.gp-app .code-area, .gp-app .backup-stage-log, .gp-app .site-log-box, .gp-app pre {
  background: var(--gp-surface-2); border: 1px solid var(--gp-line);
  border-radius: var(--gp-r-sm); color: var(--gp-text-2);
}

/* ===== SOURCE: gpanel-red-theme.css ===== */
/* ========================================================================
   GPanel UI — RED / LIGHT product theme
   Referans: kullanıcı için hazırlanmış beyaz-kırmızı hosting panel ekranları.
   Bu dosya mevcut g2.css + upnet-product-ui.css + gpanel-ui.css üstünde en son
   yüklenir ve tüm ekranları tek bir ürün diline sabitler.
   ======================================================================== */
:root {
  --gp-primary:#ef2f3b;
  --gp-primary-2:#d92533;
  --gp-primary-3:#b91f2b;
  --gp-primary-soft:#fff1f2;
  --gp-primary-soft-2:#ffe5e8;
  --gp-canvas:#f6f8fb;
  --gp-canvas-2:#eff3f8;
  --gp-surface:#fff;
  --gp-surface-2:#fafbfd;
  --gp-surface-3:#f3f6fa;
  --gp-hover:#f8fafc;
  --gp-text:#101828;
  --gp-text-2:#475467;
  --gp-muted:#7d899a;
  --gp-line:#e5e9f0;
  --gp-line-2:#eef1f5;
  --gp-blue:#2f63e9;
  --gp-blue-soft:#edf3ff;
  --gp-green:#12a86b;
  --gp-green-soft:#eafaf3;
  --gp-orange:#f59e0b;
  --gp-orange-soft:#fff7e7;
  --gp-red:#ef2f3b;
  --gp-red-soft:#fff1f2;
  --gp-purple:#6b4ce6;
  --gp-purple-soft:#f1edff;
  --gp-teal:#149aa6;
  --gp-teal-soft:#eaf9fa;
  --gp-slate:#5b6b81;
  --gp-slate-soft:#eef2f6;
  --gp-r:14px;
  --gp-r-sm:10px;
  --gp-r-lg:20px;
  --gp-shadow:0 1px 2px rgba(16,24,40,.035),0 12px 28px -20px rgba(16,24,40,.18);
  --gp-shadow-lg:0 24px 64px -30px rgba(16,24,40,.24);
}
body.gp-app,body.gp-auth{
  --bg:var(--gp-canvas);--bg-2:var(--gp-surface-2);--panel:var(--gp-surface);--panel-2:var(--gp-surface-2);--panel-3:var(--gp-surface-3);
  --line:var(--gp-line);--line-soft:var(--gp-line-2);--border:var(--gp-line);--border-strong:#d4dbe6;--card:var(--gp-surface);--surface:var(--gp-surface);--surface-raised:var(--gp-surface-2);--surface-muted:var(--gp-surface-3);--selected:var(--gp-primary-soft);
  --txt:var(--gp-text);--txt-dim:var(--gp-text-2);--muted:var(--gp-muted);--foreground:var(--gp-text);--foreground-muted:var(--gp-muted);
  --amber:var(--gp-primary);--amber-dim:var(--gp-primary-2);--amber-ghost:rgba(239,47,59,.08);--amber-soft:rgba(239,47,59,.13);--primary:var(--gp-primary);--primary-hover:var(--gp-primary-2);
  --focus:rgba(239,47,59,.12);--ok:var(--gp-green);--ok-bg:var(--gp-green-soft);--success:var(--gp-green);--danger:var(--gp-red);--danger-bg:var(--gp-red-soft);--warn:var(--gp-orange);--warn-bg:var(--gp-orange-soft);--warning:var(--gp-orange);--info:var(--gp-blue);--info-bg:var(--gp-blue-soft);
  color-scheme:light;
}
*{box-sizing:border-box}
body.gp-app{background:linear-gradient(180deg,#fbfcfe 0,#f6f8fb 100%);color:var(--gp-text)}
.gp-app a{color:var(--gp-primary)}.gp-app a:hover{color:var(--gp-primary-2)}
.gp-app h1{font-size:22px;font-weight:780;letter-spacing:-.025em;color:var(--gp-text)}
.gp-app h2{font-size:16px;font-weight:730;color:var(--gp-text)}
.gp-app h3{font-size:14px;font-weight:720;color:var(--gp-text)}
.gp-app .muted{color:var(--gp-muted)!important}.gp-app .sub{line-height:1.5}.gp-app .strong{font-weight:720}

/* ---------- shell ---------- */
.gp-shell{background:var(--gp-canvas)}
.gp-app .sidebar.gp-sidebar,.gp-sidebar{background:#fff!important;color:var(--gp-text-2)!important;border-right:1px solid var(--gp-line)!important;box-shadow:none!important}
.gp-brand{padding:17px 18px 15px;border-bottom:1px solid var(--gp-line-2)!important;color:var(--gp-text)!important;background:#fff}
.gp-brand:hover{color:var(--gp-text)!important}.gp-brand small{color:var(--gp-muted)!important}
.gp-brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#ff5663,#df2634)!important;color:#fff!important;box-shadow:0 12px 22px -14px rgba(239,47,59,.6);font-family:var(--gp-font)}
.gp-brand-name{font-size:17px;font-weight:800;letter-spacing:-.02em}
.gp-nav{padding:11px 11px 18px!important}.gp-nav-label{padding:16px 11px 7px;color:#9aa5b5!important;font-size:9.5px;letter-spacing:.14em}
.gp-nav-item{color:#405067!important;border:1px solid transparent;margin-bottom:3px;padding:9px 11px;border-radius:11px;font-weight:620}
.gp-nav-item:hover{background:#f8fafc!important;color:var(--gp-text)!important;border-color:#f1f3f6}
.gp-nav-item.active{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;border-color:#ffd8dc!important;font-weight:720}
.gp-nav-item.active::before{left:-11px!important;width:3px!important;height:24px!important;background:var(--gp-primary)!important}
.gp-nav-item .gp-icon{opacity:1}.gp-nav-count{background:var(--gp-primary)!important;color:#fff!important;box-shadow:0 5px 12px rgba(239,47,59,.22)}
.gp-sidebar-foot{background:#fff;border-top:1px solid var(--gp-line-2)!important;color:var(--gp-muted)!important;padding:12px 17px!important}.gp-sidebar-foot strong{color:var(--gp-text)!important}
.gp-sidebar-package{margin:8px 12px 12px;padding:13px;border:1px solid #ffdadd;border-radius:15px;background:linear-gradient(180deg,#fff,#fff7f8)}
.gp-sidebar-package strong{display:block;color:var(--gp-text);font-size:13px}.gp-sidebar-package span{display:block;color:var(--gp-muted);font-size:11.5px;margin-top:2px}.gp-sidebar-package b{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;background:var(--gp-primary-soft);color:var(--gp-primary);font-size:10.5px}

.gp-topbar{background:rgba(255,255,255,.94)!important;backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--gp-line)!important;padding:0 22px!important;box-shadow:none!important}
.gp-search-trigger{height:40px;min-width:365px;border:1px solid var(--gp-line)!important;background:#fafbfd!important;border-radius:13px!important;color:var(--gp-muted)!important}
.gp-search-trigger:hover{background:#fff!important;border-color:#d5dce6!important}.gp-search-trigger kbd,.gp-command kbd{background:#fff!important;border-color:var(--gp-line)!important;color:var(--gp-muted)!important}
.gp-site-switcher>summary,.gp-user-chip,.gp-icon-button,.gp-menu-toggle{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:12px!important;color:var(--gp-text-2)!important;box-shadow:none!important}
.gp-site-switcher>summary:hover,.gp-user-chip:hover,.gp-icon-button:hover,.gp-menu-toggle:hover{background:#f8fafc!important;color:var(--gp-text)!important;border-color:#d5dce6!important}
.gp-user-chip{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 5px}.gp-avatar{background:linear-gradient(135deg,#ff5966,#df2735)!important;color:#fff!important;border-radius:999px!important;box-shadow:0 9px 18px -11px rgba(239,47,59,.75)}
.gp-user-chip .u-name{font-weight:750;color:var(--gp-text)}.gp-user-chip .u-role{color:var(--gp-muted)!important}
.gp-notification-dot{background:var(--gp-primary)!important;box-shadow:0 0 0 3px #fff!important}
.gp-site-menu,.gp-command-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:18px!important;box-shadow:var(--gp-shadow-lg)!important}.gp-site-menu a:hover{background:#f8fafc!important}

/* ---------- content ---------- */
.gp-content{max-width:1520px!important;padding:20px 22px 90px!important}.gp-breadcrumb{color:var(--gp-muted)!important;margin-bottom:13px!important;font-size:11.5px}.gp-breadcrumb a{color:var(--gp-muted)!important}.gp-breadcrumb strong{color:var(--gp-text)!important}
.gp-page{display:flex;flex-direction:column;gap:16px;min-width:0}.gp-page>.page-hero:first-child,.gp-page>.gp-site-hero:first-child{margin-bottom:0}
.page-hero,.gp-site-hero{background:linear-gradient(180deg,#fff,#fdfdfe)!important;border:1px solid var(--gp-line)!important;border-radius:19px!important;box-shadow:var(--gp-shadow)!important;padding:18px 20px!important;display:flex;align-items:center;justify-content:space-between;gap:18px}
.page-hero p,.gp-site-hero p{margin:5px 0 0;color:var(--gp-text-2)!important;max-width:900px}.eyebrow,.gp-kicker{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.07em!important;text-transform:uppercase;margin-bottom:8px}.gp-site-hero .gp-kicker{color:var(--gp-primary)!important}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.old-head-hidden{display:none!important}

/* ---------- cards / panels ---------- */
.gp-app .card,.gp-app .panel-block,.gp-app .gp-group,.gp-app .gp-side-card,.gp-app .form-card,.gp-app .settings-card,.gp-app .block-card,.gp-app .list-toolbar,.gp-app .pagination-card,.gp-app .empty,.gp-app .event-card,.gp-app .resource-card,.gp-app .site-card,.gp-app .coming,.gp-app .action-start-card,.gp-app .backup-stage-card,.gp-app .backup-info-box,.gp-app .mail-summary-item,.gp-app .db-summary-strip,.gp-app .db-quick-panel,.gp-app .info-strip,.gp-app .migration-stage-card,.gp-app .maintenance-card,.gp-app .wp-install-card{
  background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:17px!important;box-shadow:var(--gp-shadow)!important;color:var(--gp-text)!important
}
.gp-app .panel-block,.gp-app .gp-group,.gp-app .gp-side-card,.gp-app .form-card,.gp-app .settings-card,.gp-app .block-card,.gp-app .empty,.gp-app .coming{padding:18px!important}
.gp-app .card-head,.gp-app .block-head,.gp-group-head,.gp-side-card-head{border-color:var(--gp-line-2)!important;display:flex;align-items:center;gap:10px}.gp-app .card-head,.gp-app .block-head{padding-bottom:12px}.gp-app .head-ic,.gp-app .gp-health-ic{display:grid;place-items:center;background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;border-radius:11px!important}
.gp-app .soft-head{background:transparent!important}.gp-app .card-body{color:var(--gp-text-2)}
.gp-app .gp-side-card-head a,.gp-app .block-head a,.gp-app .card-head a{margin-left:auto}

/* ---------- buttons/forms ---------- */
.gp-app .btn,.gp-auth .btn{border-radius:11px!important;border:1px solid var(--gp-line)!important;background:#fff!important;color:var(--gp-text)!important;font-weight:720!important;box-shadow:none!important}.gp-app .btn:hover,.gp-auth .btn:hover{background:#f8fafc!important;border-color:#d4dbe5!important;color:var(--gp-text)!important}
.gp-app .btn-primary,.gp-auth .btn-primary{background:linear-gradient(180deg,#ff4d5a,#ea2c39)!important;border-color:#e32a36!important;color:#fff!important;box-shadow:0 12px 24px -16px rgba(239,47,59,.7)!important}.gp-app .btn-primary:hover,.gp-auth .btn-primary:hover{background:linear-gradient(180deg,#f94250,#d92533)!important;border-color:#d92533!important;color:#fff!important}
.gp-app .btn-danger,.gp-auth .btn-danger{background:var(--gp-red-soft)!important;border-color:#ffd0d5!important;color:var(--gp-primary)!important}.gp-app .btn-danger:hover{background:#ffe5e8!important;border-color:#ffbec6!important}
.gp-app .btn-ghost,.gp-auth .btn-ghost{background:#fff!important;color:var(--gp-text-2)!important}
.gp-app .input,.gp-auth .input,.gp-app .inp,.gp-app select,.gp-app textarea{background:#fff!important;border:1px solid var(--gp-line)!important;color:var(--gp-text)!important;border-radius:12px!important;box-shadow:none!important;min-height:40px}.gp-app textarea{min-height:105px}.gp-app .input:hover,.gp-app .inp:hover,.gp-app select:hover,.gp-app textarea:hover,.gp-auth .input:hover{border-color:#d1d8e3!important}.gp-app .input:focus,.gp-app .inp:focus,.gp-app select:focus,.gp-app textarea:focus,.gp-auth .input:focus{border-color:rgba(239,47,59,.45)!important;box-shadow:0 0 0 4px rgba(239,47,59,.08)!important;outline:none!important}.gp-app .input[readonly],.gp-app .input:disabled{background:#f5f7fa!important;color:var(--gp-muted)!important}
.gp-app .field-label{color:var(--gp-text)!important;font-weight:680}.gp-app .field-hint{color:var(--gp-muted)!important}.gp-app input[type=checkbox],.gp-app input[type=radio],.gp-auth input[type=checkbox]{accent-color:var(--gp-primary)}
.form-actions{gap:8px!important;display:flex;flex-wrap:wrap;align-items:center}

/* ---------- badges ---------- */
.gp-app .badge,.gp-app .pill,.gp-app .gp-chip{border-radius:999px!important;font-weight:720!important;font-size:10.5px!important;padding:4px 9px!important;border:1px solid transparent}.gp-app .badge-ok,.gp-app .gp-chip-ok{background:var(--gp-green-soft)!important;color:#0a8552!important;border-color:#c9efdc!important}.gp-app .badge-warn,.gp-app .gp-chip-warn{background:var(--gp-orange-soft)!important;color:#b46b00!important;border-color:#ffe1a6!important}.gp-app .badge-danger{background:var(--gp-red-soft)!important;color:#c82734!important;border-color:#ffd1d6!important}.gp-app .badge-info{background:var(--gp-blue-soft)!important;color:#2f63e9!important;border-color:#d8e4ff!important}.gp-app .badge-off,.gp-app .gp-chip-off{background:#f2f4f7!important;color:#667085!important;border-color:#e1e5ea!important}
.gp-online-pill{background:var(--gp-green-soft)!important;color:#0a8552!important;border:1px solid #c9efdc!important}.gp-online-pill i{background:var(--gp-green)!important}

/* ---------- tables ---------- */
.gp-app .table-wrap,.gp-app .sites-table-wrap,.gp-app .db-site-table-wrap{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:15px!important;overflow:auto;box-shadow:none!important}.gp-app table,.gp-app .table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff!important}.gp-app .table thead th,.gp-app table thead th{background:#fafbfd!important;color:#5b687a!important;font-size:11.5px!important;font-weight:760!important;border-bottom:1px solid var(--gp-line)!important;padding:13px 13px!important;white-space:nowrap}.gp-app .table tbody td,.gp-app table tbody td{background:#fff;color:var(--gp-text)!important;padding:13px!important;border-bottom:1px solid var(--gp-line-2)!important;vertical-align:middle}.gp-app .table tbody tr:hover td,.gp-app table tbody tr:hover td{background:#fcfdff!important}.gp-app .table tbody tr:last-child td,.gp-app table tbody tr:last-child td{border-bottom:0!important}
.gp-app .table a.strong,.gp-app .sites-domain{color:var(--gp-text)!important;font-weight:750}.gp-app .sites-php{display:inline-flex;background:var(--gp-blue-soft);color:var(--gp-blue);border-radius:7px;padding:4px 7px;font-weight:720}.gp-app .ta-right{text-align:right}

/* ---------- stats / summary ---------- */
.gp-app .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px!important}.gp-app .stat-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;padding:15px!important;box-shadow:var(--gp-shadow)!important;min-height:96px}.gp-app .stat-val,.gp-app .stat-num,.gp-app .metric-large{color:var(--gp-text)!important;font-weight:800!important;letter-spacing:-.025em}.gp-app .stat-label{color:var(--gp-muted)!important;font-size:10.5px!important;font-weight:760!important;letter-spacing:.05em}.gp-app .db-summary-strip{display:flex;gap:12px;align-items:center;padding:14px 16px!important}.gp-app .db-summary-search{flex:1;min-width:220px}
.gp-app .gp-stat{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important}.gp-stat-ic{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;border-radius:13px!important}

/* ---------- progress ---------- */
.gp-app .gp-progress,.gp-app .backup-progress-track,.gp-app .mail-sync-track,.gp-app .maintenance-meter,.gp-app .fm-progress-line{background:#eef2f6!important;border-radius:999px!important;overflow:hidden}.gp-app .gp-progress i,.gp-app .backup-progress-bar,.gp-app .mail-sync-bar,.gp-app .maintenance-meter span,.gp-app .fm-progress-line span{background:linear-gradient(90deg,#ff5663,var(--gp-primary))!important}.gp-app .gp-progress-purple i,.gp-app .gp-progress-orange i,.gp-app .gp-progress-blue i{background:linear-gradient(90deg,#ff5663,var(--gp-primary))!important}

/* ---------- dashboard / site workspace ---------- */
.gp-dashboard{gap:16px!important}.gp-tiles{gap:10px!important}.gp-tile{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important;transition:.16s ease!important}.gp-tile:hover{transform:translateY(-2px)!important;border-color:#f5c9ce!important;box-shadow:0 18px 35px -27px rgba(239,47,59,.65)!important}.gp-tile-ic{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;border-radius:13px!important}.gp-tile-txt b{color:var(--gp-text)!important}.gp-tile-txt small{color:var(--gp-muted)!important}.gp-site-row{background:#fff!important;border-color:var(--gp-line-2)!important}.gp-site-row:hover{background:#fafbfd!important}.gp-site-letter,.gp-site-avatar{background:linear-gradient(135deg,#ff5966,#df2735)!important;color:#fff!important;box-shadow:0 12px 22px -16px rgba(239,47,59,.75)}.gp-row-arrow{color:var(--gp-muted)!important}.gp-health-list>div,.gp-kv>div,.gp-notice-list a,.gp-side-links a{border-color:var(--gp-line-2)!important}.gp-notice-dot{background:var(--gp-primary)!important}
.gp-fold{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important}.gp-fold>summary{background:#fff!important}.gp-fold[open]>summary{border-bottom:1px solid var(--gp-line-2)!important}.gp-fold-ic{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important}

/* ---------- list/resource grids ---------- */
.resource-grid{display:grid;gap:12px!important}.resource-card{padding:15px 16px!important}.resource-main{display:flex;align-items:center;gap:12px}.resource-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;font-weight:800}.resource-title{color:var(--gp-text)!important;font-weight:750}.resource-sub{color:var(--gp-muted)!important}.resource-meta-grid{gap:10px!important}.resource-meta-grid>div{background:#fafbfd!important;border:1px solid var(--gp-line-2)!important;border-radius:11px!important;padding:9px 10px!important}.resource-meta-grid span{color:var(--gp-muted)!important;font-size:10.5px}.resource-meta-grid b{color:var(--gp-text)!important}.resource-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.event-list{display:grid;gap:10px}.event-card{padding:14px 16px!important}.event-title{color:var(--gp-text)!important;font-weight:730}.event-detail,.event-time,.event-sub{color:var(--gp-muted)!important}

/* ---------- file manager ---------- */
.gp-page-file-manager .page-hero,.gp-page-file-sites .page-hero,.gp-page-file-edit .page-hero{margin-bottom:0}.gp-app .fm-explorer-card,.gp-app .fm-actions-card,.gp-app .fm-upload-panel,.gp-app .fm-create-panel,.gp-app .fm-selected-box,.gp-app .fm-side-body>*{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important;color:var(--gp-text)!important}.gp-app .fm-toolbar,.gp-app .fm-toolbar-pro{background:#fafbfd!important;border-bottom:1px solid var(--gp-line)!important}.gp-app .fm-breadcrumb{color:var(--gp-muted)!important}.gp-app .fm-breadcrumb a{color:var(--gp-primary)!important}.gp-app .fm-row:hover,.gp-app .fm-table tbody tr:hover{background:#fcfdff!important}.gp-app .fm-icon,.gp-app .gp-file-icon,.gp-app .fm-drop-ic{color:#6b7788!important}.gp-app .gp-file-icon-folder,.gp-app .fm-icon.is-folder{color:#f2a51a!important}.gp-app .fm-dropzone,.gp-app .fm-dropzone-wide,.gp-app .backup-import-dropzone{border:1.5px dashed #cfd7e2!important;background:#fafbfd!important;border-radius:15px!important;color:var(--gp-muted)!important}.gp-app .fm-dropzone.is-drag,.gp-app .fm-dropzone-wide.is-drag{border-color:var(--gp-primary)!important;background:var(--gp-primary-soft)!important}.gp-app .fm-panel-title{color:var(--gp-text)!important}.gp-app .fm-selected-box{border-color:#ffd4d8!important;background:#fff8f8!important}

/* ---------- mail ---------- */
.gp-page-mail .mail-summary-item,.gp-page-mail-domain .mail-summary-item{padding:15px!important}.gp-page-mail .mail-summary-item svg,.gp-page-mail-domain .mail-summary-item svg{color:var(--gp-primary)!important}.gp-app .mail-card,.gp-app .mail-account-card,.gp-app .mail-domain-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important}.gp-app .mail-card-head{border-bottom:1px solid var(--gp-line-2)!important;background:#fafbfd!important}.gp-app .mail-modal-card,.gp-app .mail-sync-modal-card,.gp-app .mail-server-modal-card,.gp-app .mail-domain-add-modal-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:20px!important;box-shadow:var(--gp-shadow-lg)!important}.gp-app .mail-modal-head{background:#fafbfd!important;border-bottom:1px solid var(--gp-line-2)!important}.gp-app .mail-password-pop{background:#fff!important;border:1px solid var(--gp-line)!important;box-shadow:var(--gp-shadow-lg)!important}

/* ---------- DNS ---------- */
.gp-page-dns-list .panel-block,.gp-page-dns-records .panel-block,.gp-page-dns-settings .panel-block{overflow:hidden}.gp-app .dns-zone-card,.gp-app .dns-record-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important}.gp-app .tabs,.gp-app .tab-bar,.gp-app .dns-type-filter-bar{background:#fafbfd!important;border:1px solid var(--gp-line)!important;border-radius:13px!important;padding:4px!important}.gp-app .tab,.gp-app .dns-type-filter{color:var(--gp-text-2)!important;border-radius:9px!important}.gp-app .tab.active,.gp-app .dns-type-filter.active{background:#fff!important;color:var(--gp-primary)!important;box-shadow:0 1px 3px rgba(16,24,40,.08)!important;border-color:#ffd5da!important}.gp-app .dns-record-modal-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:20px!important;box-shadow:var(--gp-shadow-lg)!important}

/* ---------- database ---------- */
.gp-page-db-list .db-summary-strip,.gp-page-db-site .db-summary-strip{background:#fff!important}.gp-page-db-list .gp-page-brand-mark,.gp-page-db-site .gp-page-brand-mark{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:13px!important}.gp-page-db-list .gp-page-brand-mark img,.gp-page-db-site .gp-page-brand-mark img{max-width:110px;max-height:34px}.gp-page-db-site .db-quick-panel{padding:16px!important}.gp-page-db-site .db-quick-panel .btn{margin:3px}

/* ---------- backups ---------- */
.gp-page-backups .backup-hero{margin-bottom:0}.gp-app .backup-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:16px!important;box-shadow:var(--gp-shadow)!important}.gp-app .backup-modal-card{background:#fff!important;border:1px solid var(--gp-line)!important;border-radius:20px!important;box-shadow:var(--gp-shadow-lg)!important}.gp-app .backup-modal-head{background:#fafbfd!important;border-bottom:1px solid var(--gp-line-2)!important}.gp-app .backup-stage-log,.gp-app .backup-running-note{background:#fafbfd!important;border:1px solid var(--gp-line)!important;color:var(--gp-text-2)!important;border-radius:12px!important}

/* ---------- security ---------- */
.gp-page-security-scan .stat-card{min-height:104px}.gp-page-security-scan .panel-block{overflow:hidden}.gp-page-security-scan .card .head-ic{background:var(--gp-primary-soft)!important}.gp-page-site-health .badge-ok,.gp-page-site-health .badge-warn,.gp-page-site-health .badge-danger{min-width:58px;text-align:center;justify-content:center}

/* ---------- settings / account ---------- */
.gp-page-settings .settings-grid,.gp-page-user-edit .grid-2,.gp-page-package-form .grid-2,.gp-page-user-form .grid-2{gap:14px!important}.gp-page-settings .settings-card,.gp-page-user-edit .form-card,.gp-page-twofa-setup .form-card{overflow:hidden}.gp-page-settings .settings-card .card-head,.gp-page-user-edit .form-card>.block-head{background:#fff!important}.gp-page-twofa-setup img{border:1px solid var(--gp-line)!important;box-shadow:0 8px 24px -18px rgba(16,24,40,.35)}

/* ---------- usage / system / maintenance / advanced ---------- */
.gp-page-usage .stats,.gp-page-system .stats,.gp-page-advanced .stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.gp-page-usage .stat-card,.gp-page-system .stat-card,.gp-page-advanced .stat-card{position:relative;overflow:hidden}.gp-page-usage .stat-card:before,.gp-page-system .stat-card:before,.gp-page-advanced .stat-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--gp-primary)}.gp-page-maintenance .maintenance-section{display:grid;gap:12px}.gp-page-maintenance .maintenance-card{padding:16px!important}.gp-page-maintenance .maintenance-icon{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;border-radius:13px!important}

/* ---------- migration / edge / proxy / admin ---------- */
.gp-page-migration .migration-stage-card,.gp-page-edge .card,.gp-page-system-proxies .resource-card,.gp-page-users .resource-card,.gp-page-packages .resource-card{overflow:hidden}.gp-page-migration .migration-card-head{background:#fafbfd!important;border-bottom:1px solid var(--gp-line-2)!important}.gp-page-edge .gp-mini-row{border-color:var(--gp-line-2)!important}.gp-page-system-proxies .resource-icon,.gp-page-users .resource-icon,.gp-page-packages .resource-icon{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important}.gp-page-audit .event-card{border-left:3px solid #eef1f5!important}.gp-page-audit .event-card:hover{border-left-color:var(--gp-primary)!important}.gp-page-notifications .event-card.unread,.gp-page-notifications .notif-unread{background:#fff8f9!important;border-color:#ffd9dd!important}

/* ---------- pagination ---------- */
.pagination-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px!important}.pagination-links{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.page-btn{background:#fff!important;border:1px solid var(--gp-line)!important;color:var(--gp-text-2)!important;border-radius:9px!important;min-width:34px;min-height:34px;display:inline-grid;place-items:center;padding:0 10px!important}.page-btn:hover{background:#f8fafc!important;color:var(--gp-text)!important}.page-btn.active{background:var(--gp-primary)!important;border-color:var(--gp-primary)!important;color:#fff!important}.page-btn.disabled{opacity:.45}

/* ---------- code/logs ---------- */
.gp-app .code-area,.gp-app .backup-stage-log,.gp-app .site-log-box,.gp-app pre{background:#f7f9fc!important;border:1px solid var(--gp-line)!important;border-radius:12px!important;color:#334155!important}.gp-app code,.gp-app .mono{color:#334155}

/* ---------- flashes ---------- */
.gp-app .flash,.gp-auth .flash{border-radius:13px!important;border:1px solid transparent!important}.gp-app .flash-ok,.gp-auth .flash-ok{background:var(--gp-green-soft)!important;color:#087a4a!important;border-color:#c8efda!important}.gp-app .flash-err,.gp-auth .flash-err{background:var(--gp-red-soft)!important;color:#b42331!important;border-color:#ffd1d6!important}.gp-app .flash-warn{background:var(--gp-orange-soft)!important;color:#af6800!important;border-color:#ffe2ab!important}

/* ---------- mobile nav ---------- */
.gp-mobile-nav{background:rgba(255,255,255,.96)!important;border-top:1px solid var(--gp-line)!important;backdrop-filter:blur(10px)}.gp-mobile-nav a{color:var(--gp-muted)!important}.gp-mobile-nav a.active{color:var(--gp-primary)!important}

/* ---------- auth ---------- */
body.gp-auth{min-height:100vh;background:radial-gradient(900px 520px at 100% 0,rgba(239,47,59,.08),transparent 58%),radial-gradient(800px 480px at 0 100%,rgba(239,47,59,.05),transparent 58%),linear-gradient(180deg,#fbfcfe,#f5f7fa);padding:24px;color:var(--gp-text);display:grid;place-items:center}
.gp-auth .auth-wrap{width:min(1120px,100%)}.gp-auth .auth-support{display:flex;justify-content:flex-end;gap:5px;margin-bottom:12px;color:var(--gp-text-2);font-size:12.5px}.gp-auth .auth-support a{color:var(--gp-text)!important;text-decoration:none;font-weight:720}.gp-auth .auth-shell{display:grid;grid-template-columns:minmax(350px,1fr) minmax(330px,.95fr);gap:18px}.gp-auth .auth-card,.gp-auth .auth-promo{background:rgba(255,255,255,.96)!important;border:1px solid var(--gp-line)!important;border-radius:26px!important;box-shadow:var(--gp-shadow-lg)!important}.gp-auth .auth-card{padding:38px 40px!important}.gp-auth .auth-promo{padding:34px!important;background:linear-gradient(180deg,#fff,#fff7f8)!important;position:relative;overflow:hidden}.gp-auth .auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.gp-auth .brand-mark,.gp-auth .brand-mark.lg{width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#ff5663,#df2735)!important;color:#fff!important;box-shadow:0 15px 27px -17px rgba(239,47,59,.8)!important}.gp-auth .auth-title{font-size:28px!important;font-weight:800!important;letter-spacing:-.03em!important;color:var(--gp-text)!important}.gp-auth .auth-sub{font-size:13.5px!important;color:var(--gp-text-2)!important;margin-top:4px}.gp-auth .auth-form{display:flex;flex-direction:column;gap:15px}.gp-auth .field{display:flex;flex-direction:column;gap:7px}.gp-auth .field-label{font-size:12.5px;font-weight:700;color:var(--gp-text)}.gp-auth .auth-remember{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--gp-text-2);font-size:12.5px}.gp-auth .auth-remember label{display:flex;align-items:center;gap:8px}.gp-auth .auth-link{color:var(--gp-primary)!important;text-decoration:none;font-weight:700}.gp-auth .auth-submit{min-height:48px;font-size:14.5px}.gp-auth .auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:var(--gp-muted);font-size:11.5px;margin:15px 0}.gp-auth .auth-divider:before,.gp-auth .auth-divider:after{content:"";height:1px;background:var(--gp-line)}.gp-auth .auth-helpbox{border:1px solid var(--gp-line);background:#f8fafc;border-radius:14px;padding:13px 15px;color:var(--gp-text-2);font-size:12.5px;line-height:1.55}.gp-auth .auth-helpbox strong{display:block;color:var(--gp-text);font-size:12.5px;margin-bottom:3px}.gp-auth .auth-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--gp-primary-soft);color:var(--gp-primary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}.gp-auth .auth-promo h2{font-size:24px;line-height:1.17;letter-spacing:-.025em;margin:0 0 10px;color:var(--gp-text)}.gp-auth .auth-promo>p{color:var(--gp-text-2);font-size:14px;line-height:1.6;margin:0 0 22px}.gp-auth .auth-benefits{display:grid;gap:14px;margin-bottom:24px}.gp-auth .auth-benefit{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}.gp-auth .auth-benefit-ic{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff;border:1px solid var(--gp-line);color:var(--gp-primary);font-size:12px;font-weight:800;box-shadow:var(--gp-shadow)}.gp-auth .auth-benefit strong{display:block;color:var(--gp-text);font-size:14px;margin-bottom:2px}.gp-auth .auth-benefit span{color:var(--gp-text-2);font-size:12.5px;line-height:1.5}.gp-auth .auth-promo-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border:1px solid var(--gp-line);border-radius:15px;background:#fff}.gp-auth .auth-promo-card strong{display:block;font-size:13.5px;color:var(--gp-text)}.gp-auth .auth-promo-card span{font-size:12px;color:var(--gp-muted)}.gp-auth .auth-promo-link{white-space:nowrap;color:var(--gp-primary)!important;text-decoration:none;font-weight:720;font-size:12px}.gp-auth .auth-foot{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:var(--gp-muted);font-size:11px;text-align:left}.gp-auth .auth-foot a{color:var(--gp-muted)!important;text-decoration:none}

/* ---------- modal overlays ---------- */
.gp-app .mail-modal-card,.gp-app .backup-modal-card,.gp-app .dns-record-modal-card,.gp-app .fm-move-card,.gp-app .migration-modal-card,.gp-app .fm-search-dialog,.gp-app .fm-compact-dialog{background:#fff!important;color:var(--gp-text)!important;border:1px solid var(--gp-line)!important;border-radius:20px!important;box-shadow:var(--gp-shadow-lg)!important}.gp-app .mail-modal-head,.gp-app .backup-modal-head,.gp-app .fm-move-head{background:#fafbfd!important;border-bottom:1px solid var(--gp-line-2)!important}

/* ---------- scrollbars ---------- */
.gp-app *::-webkit-scrollbar{width:9px;height:9px}.gp-app *::-webkit-scrollbar-thumb{background:#cad2dd!important;border-radius:999px}.gp-app *::-webkit-scrollbar-track{background:transparent!important}

@media(max-width:1180px){.gp-content{padding:18px 18px 90px!important}.gp-auth .auth-shell{grid-template-columns:1fr}.gp-auth .auth-promo{order:2}}
@media(max-width:920px){.gp-search-trigger{min-width:0;width:min(100%,320px)}.gp-content{padding:16px 14px 92px!important}.page-hero,.gp-site-hero{align-items:flex-start;flex-direction:column}.hero-actions{width:100%;justify-content:flex-start}.gp-sidebar-package{display:none}}
@media(max-width:680px){body.gp-auth{padding:12px}.gp-auth .auth-card,.gp-auth .auth-promo{padding:24px!important;border-radius:21px!important}.gp-auth .auth-title{font-size:24px!important}.gp-auth .auth-foot{flex-direction:column;align-items:center;text-align:center}.gp-auth .auth-support{justify-content:flex-start}.gp-page{gap:12px}.gp-app .panel-block,.gp-app .gp-group,.gp-app .gp-side-card,.gp-app .form-card,.gp-app .settings-card,.gp-app .block-card,.gp-app .empty,.gp-app .coming{padding:14px!important}.pagination-card{align-items:flex-start;flex-direction:column}}

/* ======================================================================
   v2.132 — Reference-match UI layer
   Generated Upnet/GPanel white-red mockups translated into the real DOM.
   ====================================================================== */

:root{
  --ref-red:#ef2d38;
  --ref-red-2:#df2531;
  --ref-red-soft:#fff0f2;
  --ref-red-soft-2:#ffe6e9;
  --ref-green:#12a76a;
  --ref-green-soft:#eaf9f2;
  --ref-amber:#f59e0b;
  --ref-text:#111827;
  --ref-text-2:#455468;
  --ref-muted:#8490a2;
  --ref-line:#e8ecf2;
  --ref-canvas:#f8fafc;
  --ref-card:#fff;
  --ref-shadow:0 1px 2px rgba(16,24,40,.03),0 12px 30px -22px rgba(16,24,40,.20);
}

/* Shell now matches reference mockups: white sidebar + white top bar */
.gp-app .gp-sidebar{
  width:226px;
  flex-basis:226px;
  background:#fff!important;
  border-right:1px solid var(--ref-line)!important;
  color:var(--ref-text-2)!important;
}
.gp-app .gp-brand{
  height:65px;
  box-sizing:border-box;
  padding:12px 18px;
  border-bottom:1px solid var(--ref-line);
  gap:11px;
}
.gp-app .gp-brand-mark{
  width:40px;height:40px;border-radius:13px;
  background:linear-gradient(145deg,#ff5662,#df2634)!important;
  color:#fff!important;box-shadow:none;
}
.gp-app .gp-brand-name{font-size:18px;font-weight:780;color:#111827}
.gp-app .gp-brand small{font-size:11.5px;color:#7d8999}
.gp-app .gp-nav{padding:10px 10px 18px}
.gp-app .gp-nav-label{font-size:9.5px;letter-spacing:.14em;color:#a2adbc;padding:15px 12px 6px}
.gp-app .gp-nav-item{
  min-height:38px;box-sizing:border-box;padding:8px 12px;margin:1px 0;
  border-radius:9px;color:#314055;font-weight:560;font-size:13.5px;border:0;
}
.gp-app .gp-nav-item:hover{background:#f7f9fc;color:#111827}
.gp-app .gp-nav-item.active{
  background:#fff0f2!important;color:var(--ref-red)!important;border:0!important;
}
.gp-app .gp-nav-item.active::before{left:-10px;height:25px;width:3px;background:var(--ref-red)}
.gp-app .gp-nav-item .gp-icon{width:18px;height:18px}
.gp-app .gp-sidebar-foot{background:#fff;border-top:1px solid var(--ref-line);padding:11px 18px}

.gp-app .gp-main{background:var(--ref-canvas)}
.gp-app .gp-topbar{
  height:65px;background:#fff;border-bottom:1px solid var(--ref-line);
  padding:0 24px;box-shadow:none;
}
.gp-app .gp-search-trigger{
  width:540px;max-width:44vw;min-width:340px;height:39px;border-radius:11px;
  background:#fafbfd;border-color:#e4e9f0;color:#778396;
}
.gp-app .gp-search-trigger:hover{background:#fff;border-color:#d7dee8}
.gp-app .gp-icon-button{width:38px;height:38px;border:0;background:transparent;border-radius:10px}
.gp-app .gp-icon-button:hover{background:#f6f8fb}
.gp-app .gp-user-chip{border:0;background:transparent;padding:4px 7px}
.gp-app .gp-user-chip:hover{background:#f7f9fc}
.gp-app .gp-avatar{width:36px;height:36px;background:var(--ref-red);box-shadow:none}
.gp-app .u-name{font-size:13px}.gp-app .u-role{font-size:11px}
.gp-app .gp-content{max-width:none;width:auto;padding:24px 28px 90px;background:var(--ref-canvas)}
.gp-app .gp-breadcrumb{margin:0 0 15px;color:#8a96a8}

/* Generic page headers redesigned to resemble the provided screenshots */
.gp-app .page-hero,
.gp-app .gp-site-hero{
  padding:0!important;margin:0 0 18px!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  align-items:flex-end;
}
.gp-app .page-hero h1,.gp-app .gp-site-hero h1{font-size:26px;font-weight:780;letter-spacing:-.025em;color:#111827}
.gp-app .page-hero p,.gp-app .gp-site-hero p{font-size:13.5px;color:#68758a;margin-top:4px}
.gp-app .page-hero .eyebrow,.gp-app .gp-site-hero .eyebrow{
  color:var(--ref-red);background:var(--ref-red-soft);font-size:10px;padding:5px 9px;margin-bottom:6px
}
.gp-app .panel-block,.gp-app .card,.gp-app .gp-group,.gp-app .gp-side-card{
  background:#fff!important;border:1px solid var(--ref-line)!important;border-radius:15px!important;
  box-shadow:var(--ref-shadow)!important;
}
.gp-app .panel-block{padding:16px 18px}
.gp-app .block-head,.gp-app .card-head{margin-bottom:13px;padding:0;background:transparent;border:0}
.gp-app .block-head h2,.gp-app .card-head h2{font-size:15px;font-weight:730;color:#172033}
.gp-app .head-ic{background:var(--ref-red-soft)!important;color:var(--ref-red)!important;border-radius:9px}

/* Ref dashboard */
.gp-ref-dashboard{max-width:1460px;margin:0 auto}
.gp-ref-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:2px 0 17px}
.gp-ref-dashboard-head h1{font-size:28px!important;font-weight:790!important;letter-spacing:-.03em!important;line-height:1.1}
.gp-ref-dashboard-head p{margin:5px 0 0;color:#68758a;font-size:13.5px}
.gp-ref-dashboard-date{font-size:12px;color:#778396;padding-top:5px;white-space:nowrap}

.gp-ref-alert{display:flex;align-items:center;gap:12px;border:1px solid #ffd5da;background:#fff4f5;border-radius:12px;padding:11px 13px;margin-bottom:14px;color:#9d1d29}
.gp-ref-alert-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffe4e7;color:var(--ref-red)}
.gp-ref-alert div{display:flex;flex-direction:column;gap:1px;flex:1}.gp-ref-alert strong{font-size:12.5px}.gp-ref-alert span{font-size:11.5px}.gp-ref-alert a{font-size:11.5px;font-weight:700;color:var(--ref-red)}

.gp-ref-shortcuts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:16px}
.gp-ref-shortcut{
  min-height:102px;background:#fff;border:1px solid var(--ref-line);border-radius:11px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:12px 8px;color:#192337!important;box-shadow:0 3px 14px -12px rgba(16,24,40,.28);transition:.15s ease;
}
.gp-ref-shortcut:hover{transform:translateY(-1px);border-color:#ffd2d7;background:#fff;color:#111827!important}
.gp-ref-shortcut>span{width:40px;height:40px;border-radius:15px;background:var(--ref-red-soft);color:var(--ref-red);display:grid;place-items:center;margin-bottom:8px}
.gp-ref-shortcut>span .gp-icon{width:19px;height:19px}
.gp-ref-shortcut b{font-size:12.5px;line-height:1.1}.gp-ref-shortcut small{font-size:10.5px;color:#8a96a8;margin-top:5px}

.gp-ref-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.gp-ref-summary-card{background:#fff;border:1px solid var(--ref-line);border-radius:11px;padding:14px 14px 12px;color:var(--ref-text)!important;min-height:126px;box-sizing:border-box;display:flex;flex-direction:column;box-shadow:var(--ref-shadow)}
.gp-ref-summary-card:hover{color:var(--ref-text)!important;border-color:#ffd3d8}
.gp-ref-summary-title{display:flex;align-items:center;gap:9px;font-size:12px}.gp-ref-summary-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:var(--ref-red-soft);color:var(--ref-red)}
.gp-ref-summary-title .gp-icon{width:16px;height:16px}.gp-ref-summary-title b{font-weight:720}
.gp-ref-summary-value{display:flex;align-items:baseline;gap:5px;margin:8px 0 6px}.gp-ref-summary-value strong{font-size:22px;line-height:1;font-weight:790}.gp-ref-summary-value em{font-style:normal;color:#8a96a8;font-size:11px}
.gp-ref-progress{height:6px;border-radius:99px;background:#eef1f5;overflow:hidden;margin-bottom:8px}.gp-ref-progress i{display:block;height:100%;background:var(--ref-red);border-radius:99px}.gp-ref-progress-green i{background:var(--ref-green)}
.gp-ref-summary-link{font-size:10.5px;color:var(--ref-red);font-weight:650;margin-top:auto}.gp-ref-summary-link span{float:right}
.gp-ref-summary-backup .gp-ref-last-backup{display:flex;align-items:center;gap:9px;margin:9px 0 7px}.gp-ref-last-backup>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center}.gp-ref-ok{background:var(--ref-green);color:#fff}.gp-ref-muted-dot{background:#eef2f6;color:#8b96a6}.gp-ref-last-backup div{display:flex;flex-direction:column}.gp-ref-last-backup small{font-size:9.5px;color:#8995a6}.gp-ref-last-backup strong{font-size:11.5px}

.gp-ref-dashboard-body{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:12px;align-items:start}
.gp-ref-dashboard-maincol,.gp-ref-dashboard-sidecol{display:grid;gap:12px;min-width:0}
.gp-ref-panel{background:#fff;border:1px solid var(--ref-line);border-radius:12px;box-shadow:var(--ref-shadow);padding:14px 15px;min-width:0}
.gp-ref-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.gp-ref-panel-head>div{display:flex;align-items:center;gap:8px}.gp-ref-panel-head h2{font-size:13px!important;font-weight:740!important}.gp-ref-panel-head .gp-icon{width:17px;height:17px;color:#1d2738}.gp-ref-panel-head a{font-size:10.5px;font-weight:650;color:var(--ref-red)}
.gp-ref-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.gp-ref-resource-card{border:1px solid var(--ref-line);border-radius:9px;padding:10px 11px;min-width:0}.gp-ref-resource-card>span{display:block;font-size:10.5px;color:#435066;font-weight:680}.gp-ref-resource-card strong{font-size:19px;font-weight:780;display:block;margin-top:1px}.gp-ref-resource-card small{font-size:9.5px;color:#8b96a8}
.gp-ref-spark{height:38px;margin:5px 0 3px}.gp-ref-spark svg{width:100%;height:100%;overflow:visible}.gp-ref-spark path{fill:none;stroke:var(--ref-red);stroke-width:2;vector-effect:non-scaling-stroke}
.gp-ref-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.gp-ref-site-table{display:grid}.gp-ref-site-table-head,.gp-ref-site-row{display:grid;grid-template-columns:1.55fr .72fr .55fr 1fr;gap:8px;align-items:center}.gp-ref-site-table-head{font-size:9.5px;color:#8692a3;padding:0 7px 7px;border-bottom:1px solid var(--ref-line)}.gp-ref-site-row{padding:8px 7px;border-bottom:1px solid #f0f2f6;color:#263247!important;font-size:10.5px}.gp-ref-site-row:last-child{border-bottom:0}.gp-ref-site-row:hover{background:#fbfcfe}.gp-ref-site-row>span:first-child{display:flex;flex-direction:column;min-width:0}.gp-ref-site-row strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-ref-site-row small{font-size:9px;color:#9aa4b3}.gp-ref-dot{display:inline-block;width:6px;height:6px;background:var(--ref-green);border-radius:50%;margin-right:5px}.gp-ref-dot-warn{background:var(--ref-amber)}.gp-ref-dot-off{background:#a5adba}
.gp-ref-activity-list{display:grid}.gp-ref-activity-list>a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 2px;border-bottom:1px solid #f0f2f6;color:#273246!important}.gp-ref-activity-list>a:last-child{border-bottom:0}.gp-ref-activity-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--ref-red-soft);color:var(--ref-red)}.gp-ref-activity-icon .gp-icon{width:12px;height:12px}.gp-ref-activity-list a>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.gp-ref-activity-list strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-ref-activity-list small{font-size:9px;color:#8c97a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-ref-activity-list em{font-size:8.5px;color:#9aa4b3;font-style:normal;white-space:nowrap}
.gp-ref-empty{font-size:11px;color:#8a96a8;padding:12px;text-align:center}

.gp-ref-security-list{display:grid;gap:7px}.gp-ref-security-list>div{display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:start;padding:8px;border-radius:9px;background:#fbfcfe;border:1px solid #eff2f6}.gp-ref-security-list>div>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ref-green-soft);color:var(--ref-green);font-weight:800;font-size:11px}.gp-ref-security-list>div.warn>span{background:#fff1e2;color:#e08700}.gp-ref-security-list>div>div{display:flex;flex-direction:column}.gp-ref-security-list strong{font-size:10.5px}.gp-ref-security-list small{font-size:9px;color:#8995a6;margin-top:2px}
.gp-ref-account-kv{display:grid}.gp-ref-account-kv>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #f0f2f6;font-size:10.5px}.gp-ref-account-kv>div:last-child{border-bottom:0}.gp-ref-account-kv span{color:#7f8a9b}.gp-ref-account-kv strong{font-weight:650;text-align:right}.gp-ref-account-ok{margin-top:9px;border-radius:8px;background:var(--ref-green-soft);color:#247b55;padding:8px;font-size:9.5px}.gp-ref-account-ok span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ref-green);color:#fff;margin-right:5px}
.gp-ref-quick-side{display:grid;gap:3px}.gp-ref-quick-side .gp-ref-panel-head{margin-bottom:6px}.gp-ref-quick-side>a{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border-radius:8px;padding:7px;color:#253147!important}.gp-ref-quick-side>a:hover{background:#fafbfd}.gp-ref-quick-side>a>span{width:31px;height:31px;border-radius:10px;background:var(--ref-red-soft);color:var(--ref-red);display:grid;place-items:center;font-size:17px}.gp-ref-quick-side>a>div{display:flex;flex-direction:column}.gp-ref-quick-side b{font-size:10.5px}.gp-ref-quick-side small{font-size:9px;color:#8a96a7;margin-top:1px}

/* Website list closer to generated “Web Siteleri” mockup */
.gp-page-siteler .sites-list-section{padding:0!important;overflow:hidden}
.gp-page-siteler .sites-table-toolbar{padding:14px 16px;border-bottom:1px solid var(--ref-line);background:#fff}
.gp-page-siteler .sites-table-wrap{border:0!important;border-radius:0!important;box-shadow:none!important}
.gp-page-siteler .sites-table thead th{background:#fbfcfe!important;padding:12px 14px!important;font-size:10.5px!important}
.gp-page-siteler .sites-table tbody td{padding:13px 14px!important;font-size:11.5px!important}
.gp-page-siteler .sites-domain{font-family:var(--gp-font)!important;font-size:12.5px!important;color:#172033!important}
.gp-page-siteler .sites-domain-sub{font-size:9.5px}
.gp-page-siteler .sites-php{background:#edf3ff;color:#315bc9;padding:4px 7px;border-radius:6px;font-size:10px!important}

/* Mail / DNS / DB / backup / settings / admin lists — align spacing with mockups */
.gp-page-mail .mail-hero,.gp-page-dns-list .page-hero,.gp-page-db-list .page-hero,.gp-page-backups .page-hero,
.gp-page-usage .page-hero,.gp-page-settings .page-hero{margin-bottom:16px!important}
.gp-page-mail .mail-domain-table-tools .input,.gp-page-siteler .sites-search-form .input{height:38px;min-height:38px}
.gp-app .table-wrap{border:1px solid var(--ref-line);border-radius:11px;overflow:auto;background:#fff}
.gp-app .table thead th,.gp-app table thead th{background:#fbfcfe!important;color:#5e6a7d!important;padding:11px 12px!important;font-size:10.5px!important}
.gp-app .table tbody td,.gp-app table tbody td{padding:11px 12px!important;font-size:11px!important}
.gp-app .btn{min-height:36px;padding:0 13px;border-radius:9px;font-size:11.5px}
.gp-app .btn-xs{min-height:28px;padding:0 9px;font-size:10px}.gp-app .btn-sm{min-height:32px;padding:0 11px;font-size:10.5px}
.gp-app .input,.gp-app .inp,.gp-app select{min-height:38px;border-radius:9px!important;font-size:11.5px}
.gp-app .field-label{font-size:10.5px;font-weight:650;color:#4f5d70}.gp-app .field-hint,.gp-app .field-help{font-size:9.5px;color:#8a96a8}
.gp-app .badge{padding:4px 8px;font-size:9.5px;border-radius:7px}

/* File manager: remove old oversized hero feel and flatten into reference app shell */
.gp-page-file-manager .fm-hero{margin-bottom:10px!important}
.gp-page-file-manager .fm-breadcrumb{background:#fff;border:1px solid var(--ref-line);border-radius:9px;padding:9px 12px;margin-bottom:10px;font-size:10.5px}
.gp-page-file-manager .fm-explorer-card,.gp-page-file-manager .fm-actions-card{border-radius:11px!important;box-shadow:var(--ref-shadow)!important}
.gp-page-file-manager .fm-toolbar,.gp-page-file-manager .fm-toolbar-pro{background:#fff!important;border-bottom:1px solid var(--ref-line)!important}
.gp-page-file-manager .fm-table tbody tr:hover{background:#fff7f8!important}

/* page-specific generic look for all remaining administration screens */
.gp-page-users,.gp-page-packages,.gp-page-system,.gp-page-maintenance,.gp-page-migration,.gp-page-audit,.gp-page-notifications,
.gp-page-wordpress,.gp-page-cache,.gp-page-cron,.gp-page-advanced,.gp-page-edge,.gp-page-system-proxies{
  max-width:1460px;margin:0 auto
}
.gp-app .event-card{border:1px solid var(--ref-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
.gp-app .event-card:hover{background:#fbfcfe!important}
.gp-app .event-card.unread,.gp-app .event-card.notif-unread{background:#fff6f7!important;border-color:#ffd8dc!important}

@media(max-width:1280px){
 .gp-ref-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
 .gp-ref-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gp-ref-dashboard-body{grid-template-columns:minmax(0,1fr) 310px}
}
@media(max-width:1060px){
 .gp-ref-dashboard-body{grid-template-columns:1fr}
 .gp-ref-dashboard-sidecol{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gp-ref-quick-side{grid-column:1/-1}
 .gp-ref-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:920px){
 .gp-app .gp-content{padding:18px 15px 88px}
 .gp-app .gp-search-trigger{width:auto;max-width:55vw;min-width:220px}
 .gp-ref-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gp-ref-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gp-ref-lower-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .gp-ref-dashboard-head{display:block}.gp-ref-dashboard-date{margin-top:6px}
 .gp-ref-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gp-ref-summary-grid,.gp-ref-resource-grid,.gp-ref-dashboard-sidecol{grid-template-columns:1fr}
 .gp-ref-site-table-head{display:none}.gp-ref-site-row{grid-template-columns:1fr auto}.gp-ref-site-row>span:nth-child(3),.gp-ref-site-row>span:nth-child(4){display:none}
}

/* v2.132 sites page */
.gp-ref-page-title h1{display:flex;align-items:center}
.gp-ref-sites-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.gp-ref-site-kpi{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--ref-line);border-radius:11px;padding:14px;box-shadow:var(--ref-shadow);min-height:82px;box-sizing:border-box}
.gp-ref-site-kpi>span{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-weight:800;flex:none}.gp-ref-site-kpi>span.red{background:var(--ref-red-soft);color:var(--ref-red)}.gp-ref-site-kpi>span.green{background:var(--ref-green-soft);color:var(--ref-green)}.gp-ref-site-kpi>span.gray{background:#f1f4f8;color:#8b96a7}.gp-ref-site-kpi>span.amber{background:#fff5e5;color:#e38a00}.gp-ref-site-kpi>span .gp-icon{width:17px;height:17px}
.gp-ref-site-kpi>div{display:grid;min-width:0}.gp-ref-site-kpi strong{font-size:21px;line-height:1;font-weight:790}.gp-ref-site-kpi b{font-size:11px;margin-top:4px}.gp-ref-site-kpi small{font-size:9.5px;color:#8a96a7;margin-top:2px}
.gp-ref-sites-toolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px!important}.gp-ref-site-tabs{display:flex;align-items:center;gap:18px;font-size:11px;color:#728094}.gp-ref-site-tabs a,.gp-ref-site-tabs span{padding:10px 2px;color:#728094}.gp-ref-site-tabs a.active{color:var(--ref-red);font-weight:700;border-bottom:2px solid var(--ref-red)}
.gp-ref-sites-list .pagination-card{margin:0;border:0!important;border-top:1px solid var(--ref-line)!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:900px){.gp-ref-sites-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-ref-sites-toolbar{align-items:stretch!important;flex-direction:column}.gp-ref-site-tabs{overflow:auto}.gp-ref-sites-toolbar .sites-search-form{width:100%}}
@media(max-width:560px){.gp-ref-sites-kpis{grid-template-columns:1fr}}

/* Summary strips and metric cards across existing pages */
.gp-app .db-summary-strip,
.gp-app .dns-summary-strip,
.gp-app .mail-summary-strip,
.gp-app .stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px!important;
  margin:0 0 14px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.gp-app .db-summary-strip>div,
.gp-app .dns-summary-strip>div,
.gp-app .mail-summary-strip>div,
.gp-app .stat-card{
  background:#fff!important;
  border:1px solid var(--ref-line)!important;
  border-radius:11px!important;
  min-height:78px;
  padding:13px 14px!important;
  box-shadow:var(--ref-shadow)!important;
  box-sizing:border-box;
}
.gp-app .db-summary-strip>div>span,
.gp-app .dns-summary-strip>div>span,
.gp-app .mail-summary-strip>div>span,
.gp-app .stat-label{
  color:#778396!important;
  font-size:10px!important;
  font-weight:650!important;
}
.gp-app .db-summary-strip>div>strong,
.gp-app .dns-summary-strip>div>strong,
.gp-app .mail-summary-strip>div>strong,
.gp-app .stat-val{
  color:#172033!important;
  font-size:21px!important;
  line-height:1.1!important;
  font-weight:790!important;
  margin-top:5px!important;
}
.gp-app .db-summary-search,
.gp-app .dns-summary-search{
  grid-column:span 2;
  display:flex!important;
  align-items:center;
}
.gp-app .db-summary-search .field,
.gp-app .dns-summary-search .field,
.gp-app .dns-summary-search form{width:100%;margin:0!important}
.gp-app .db-summary-search .field-label,
.gp-app .dns-summary-search .field-label{display:none}
.gp-app .dns-search-form{display:flex;gap:8px;align-items:center}
.gp-app .dns-search-form .field{flex:1}

/* Subtle red icon identity for feature blocks */
.gp-app .gp-page-brand-mark,
.gp-app .mail-summary-icon,
.gp-app .db-count-pill,
.gp-app .dns-count-pill{
  background:var(--ref-red-soft)!important;
  color:var(--ref-red)!important;
  border-color:#ffd7dc!important;
}
.gp-app .db-count-pill,.gp-app .dns-count-pill{border-radius:7px;padding:4px 8px;font-size:10px;font-weight:750}

/* Settings/profile forms get card-grid treatment */
.gp-page-settings>.panel-block{margin-bottom:12px}
.gp-page-settings .form-card{background:#fff!important;border:1px solid var(--ref-line)!important;border-radius:11px!important;padding:14px!important;box-shadow:none!important}
.gp-page-settings .field-row{gap:10px}

/* Backups */
.gp-page-backups .backup-summary,
.gp-page-backups .backup-cards,
.gp-page-backups .backup-plan-grid{gap:10px!important}
.gp-page-backups .backup-card,
.gp-page-backups .backup-stage-card,
.gp-page-backups .backup-info-box{border-radius:10px!important;border-color:var(--ref-line)!important;background:#fff!important}
.gp-page-backups .backup-progress-bar{background:linear-gradient(90deg,#ff5863,var(--ref-red))!important}

/* Mail */
.gp-page-mail .gp-page-brand{display:flex;align-items:center;gap:10px}
.gp-page-mail .gp-page-brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center}
.gp-page-mail .gp-page-brand-mark svg{width:19px;height:19px;fill:currentColor}
.gp-page-mail .mail-page-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.gp-page-mail .mail-domain-table-name{font-family:var(--gp-font)!important;color:#172033;font-weight:700}
.gp-page-mail .mail-domain-table-sub{font-size:9.5px;color:#8a96a7;margin-top:2px}

/* DNS records / domain detail screens */
.gp-page-dns-records .dns-record-layout,
.gp-page-dns-records .dns-record-grid{gap:12px!important}
.gp-page-dns-records .dns-record-card,
.gp-page-dns-records .dns-add-card{background:#fff!important;border:1px solid var(--ref-line)!important;border-radius:11px!important;box-shadow:var(--ref-shadow)!important}
.gp-app .dns-type-filter-bar{background:#fff!important;border:1px solid var(--ref-line)!important;border-radius:10px!important;padding:4px!important}
.gp-app .dns-type-filter-bar .active{background:var(--ref-red-soft)!important;color:var(--ref-red)!important;border-color:#ffd5da!important}

/* WordPress and site-workspace tiles */
.gp-page-wordpress .wp-card,.gp-page-site-detail .gp-tile{border-radius:11px!important}
.gp-page-wordpress .wp-card:hover,.gp-page-site-detail .gp-tile:hover{border-color:#ffd1d6!important}

/* Modal dialogs now resemble the white reference cards */
.gp-app .mail-modal-card,.gp-app .backup-modal-card,.gp-app .dns-record-modal-card,.gp-app .fm-move-card,.gp-app .migration-modal-card,
.gp-app .mail-sync-modal-card,.gp-app .mail-server-modal-card,.gp-app .mail-domain-add-modal-card,.gp-app .fm-search-dialog,.gp-app .fm-compact-dialog{
  border-radius:14px!important;border:1px solid var(--ref-line)!important;background:#fff!important;box-shadow:0 28px 70px -26px rgba(16,24,40,.32)!important
}
.gp-app .mail-modal-head,.gp-app .backup-modal-head,.gp-app .fm-move-head{background:#fff!important;border-bottom:1px solid var(--ref-line)!important;padding-bottom:13px!important}

/* Pagination reference styling */
.gp-app .pagination-card{background:#fff!important;border:1px solid var(--ref-line)!important;border-radius:10px!important;box-shadow:none!important;padding:9px 12px!important}
.gp-app .page-btn{border:1px solid var(--ref-line)!important;background:#fff!important;color:#5e6a7c!important;border-radius:7px!important;min-width:30px;min-height:30px}
.gp-app .page-btn.active{background:var(--ref-red)!important;border-color:var(--ref-red)!important;color:#fff!important}

@media(max-width:980px){
 .gp-app .db-summary-strip,.gp-app .dns-summary-strip,.gp-app .mail-summary-strip,.gp-app .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gp-app .db-summary-search,.gp-app .dns-summary-search{grid-column:1/-1}
}
@media(max-width:560px){.gp-app .db-summary-strip,.gp-app .dns-summary-strip,.gp-app .mail-summary-strip,.gp-app .stats{grid-template-columns:1fr}}


/* v2.133 — Upnet brand + WordPress/File Manager visual match */
.gp-app .gp-brand-upnet,.gp-auth .gp-brand-upnet{display:grid;place-items:center}
.gp-app .gp-brand-upnet svg,.gp-auth .gp-brand-upnet svg{width:26px;height:26px;display:block}
.gp-auth .brand-mark.gp-brand-upnet{color:#fff!important}
.gp-page-brand-mark svg{width:22px;height:22px;display:block;fill:currentColor}
.gp-brand-wordpress img{display:none!important}

.gp-page-wordpress .wp-hero-ref{margin-bottom:14px!important}
.gp-page-wordpress .wp-stats-ref{margin-bottom:14px!important}
.gp-page-wordpress .wp-install-ref-card,.gp-page-wordpress .wp-list-ref-card{margin-bottom:14px!important}
.gp-page-wordpress .wp-install-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.gp-page-wordpress .wp-install-form .field-row{align-items:flex-end}
.gp-page-wordpress .wp-site-grid{display:grid;gap:14px}
.gp-page-wordpress .wp-site-card{border:1px solid var(--ref-line)!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important}
.gp-page-wordpress .wp-site-card>.card-body{display:grid;gap:14px}
.gp-page-wordpress .wp-card-status-group{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.gp-page-wordpress .wp-inner-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:0!important}
.gp-page-wordpress .wp-password-card{margin:0!important;background:#fafbfd!important;border:1px solid var(--ref-line)!important;box-shadow:none!important}
.gp-page-wordpress .wp-plugin-theme-lists{gap:12px}
.gp-page-wordpress .wp-plugin-theme-lists>div{background:#fbfcfe;border:1px solid var(--ref-line);border-radius:12px;padding:14px}
.gp-page-wordpress .wp-plugin-theme-lists h3{margin-bottom:8px;font-size:13px!important}
.gp-page-wordpress .wp-mini-list{line-height:1.7;max-height:180px;overflow:auto}

.gp-page-file-manager .fm-layout-topbar{display:grid;grid-template-columns:1.25fr 2fr;gap:12px;align-items:start}
.gp-page-file-manager .fm-actions-card{padding:0!important;overflow:hidden}
.gp-page-file-manager .fm-actions-head{padding:14px 16px 10px;background:#fff;border-bottom:1px solid var(--ref-line)}
.gp-page-file-manager .fm-side-body{padding:14px!important}
.gp-page-file-manager .fm-ops-grid{display:grid;grid-template-columns:1.05fr 1.2fr .95fr;gap:12px;align-items:stretch}
.gp-page-file-manager .fm-upload-panel,.gp-page-file-manager .fm-create-panel,.gp-page-file-manager .fm-dropzone{background:#fff;border:1px solid var(--ref-line);border-radius:14px;padding:18px;box-shadow:none}
.gp-page-file-manager .fm-panel-title{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}
.gp-page-file-manager .fm-panel-title strong{display:block;font-size:15px;color:#172033}
.gp-page-file-manager .fm-panel-title span:last-child{display:block;font-size:11px;line-height:1.5;color:#7b8798;margin-top:4px}
.gp-page-file-manager .fm-panel-ic,.gp-page-file-manager .fm-drop-ic{width:36px;height:36px;border-radius:12px;background:var(--ref-red-soft);color:var(--ref-red);display:grid;place-items:center;flex:none}
.gp-page-file-manager .fm-panel-ic svg,.gp-page-file-manager .fm-drop-ic svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gp-page-file-manager .fm-upload-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.gp-page-file-manager .fm-selected-box{min-height:44px;border:1px solid #ffd7dd;background:#fff6f7;border-radius:11px;padding:12px 13px;display:flex;align-items:center;margin-bottom:12px}
.gp-page-file-manager .fm-upload-submit-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;margin-bottom:6px}
.gp-page-file-manager .fm-upload-submit{min-width:220px}
.gp-page-file-manager .fm-dropzone{min-height:260px;display:grid;place-items:center;text-align:center;gap:8px;border-style:dashed;background:#fcfdff}
.gp-page-file-manager .fm-dropzone strong{font-size:16px;color:#667085}
.gp-page-file-manager .fm-dropzone span{max-width:320px;font-size:11px;color:#8592a3;line-height:1.5}
.gp-page-file-manager .fm-create-panel{display:grid;gap:14px;align-content:start}
.gp-page-file-manager .fm-inline-form{display:flex;gap:8px;align-items:center}
.gp-page-file-manager .fm-inline-form .input{flex:1}
.gp-page-file-manager .fm-create-panel .field-label{margin-bottom:6px;display:block}
.gp-page-file-manager .fm-progress{grid-column:1/-1;border:1px solid var(--ref-line);border-radius:12px;background:#fff;padding:14px}
.gp-page-file-manager .fm-explorer-card{margin-top:12px;grid-column:1/-1}
.gp-page-file-manager .fm-toolbar-pro{padding:12px 14px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gp-page-file-manager .fm-toolbar-left,.gp-page-file-manager .fm-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gp-page-file-manager .fm-search{width:260px;max-width:100%}
.gp-page-file-manager .fm-table-wrap{padding:0 14px 14px}
.gp-page-file-manager .fm-table thead th{position:sticky;top:0;z-index:1}
.gp-page-file-manager .fm-name{display:flex;align-items:center;gap:8px}
.gp-page-file-manager .gp-file-icon{width:28px;height:28px;border-radius:10px;background:#f4f7fb;color:#607086;display:grid;place-items:center;flex:none}
.gp-page-file-manager .gp-file-icon-folder{background:#fff0f2;color:var(--ref-red)}
.gp-page-file-manager .gp-file-icon svg{width:16px;height:16px;fill:currentColor}
.gp-page-file-manager .fm-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.gp-page-file-manager .fm-breadcrumb{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.gp-page-file-manager .fm-sep{opacity:.55}

@media(max-width:1200px){
  .gp-page-file-manager .fm-ops-grid{grid-template-columns:1fr 1fr}
  .gp-page-file-manager .fm-create-panel{grid-column:1/-1}
}
@media(max-width:900px){
  .gp-page-wordpress .wp-inner-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gp-page-file-manager .fm-layout-topbar{grid-template-columns:1fr}
  .gp-page-file-manager .fm-ops-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .gp-page-wordpress .wp-inner-stats{grid-template-columns:1fr!important}
}

/* ===== SOURCE: gpanel-reference-v2134.css ===== */
/* ======================================================================
   Upnet Panel v2.134 — reference UI system
   Final visual layer. Loaded after legacy and v2.132/v2.133 styles.
   ====================================================================== */
:root{
  --up-red:#ef2f3b;--up-red-2:#dd2532;--up-red-soft:#fff0f2;--up-red-line:#ffd9dd;
  --up-green:#12a76a;--up-green-soft:#eaf9f2;--up-amber:#f59e0b;--up-amber-soft:#fff6e7;
  --up-blue:#315bc9;--up-blue-soft:#eef3ff;--up-text:#111827;--up-text-2:#475569;--up-muted:#8491a3;
  --up-line:#e7ebf1;--up-line-2:#f0f3f7;--up-canvas:#f8fafc;--up-card:#fff;
  --up-r:12px;--up-r-lg:16px;--up-shadow:0 1px 2px rgba(16,24,40,.025),0 10px 28px -22px rgba(16,24,40,.22);
}
html,body{background:var(--up-canvas)}
body.gp-app{color:var(--up-text);font-size:14px;background:var(--up-canvas)}
.gp-app .gp-shell{background:var(--up-canvas)}
.gp-app .gp-main{background:var(--up-canvas)}
.gp-app .gp-content{max-width:1600px;padding:22px 22px 90px;margin:0 auto;width:100%;box-sizing:border-box}

/* Brand / shell */
.gp-app .gp-sidebar{width:228px!important;flex:0 0 228px!important;background:#fff!important;border-right:1px solid var(--up-line)!important;color:var(--up-text-2)!important;box-shadow:none!important}
.gp-app .gp-brand{height:66px;padding:12px 18px!important;background:#fff!important;border-bottom:1px solid var(--up-line)!important;gap:11px!important;color:var(--up-text)!important}
.gp-app .gp-brand-mark.gp-brand-upnet{width:39px!important;height:39px!important;border-radius:0!important;background:transparent!important;color:var(--up-red)!important;box-shadow:none!important}
.gp-app .gp-brand-mark.gp-brand-upnet svg{width:38px!important;height:38px!important}
.gp-app .gp-brand-name{font-size:18px!important;line-height:1.1;font-weight:800!important;letter-spacing:-.025em!important;color:#0e1117!important}
.gp-app .gp-brand small{font-size:10.5px!important;color:#8a96a7!important;margin-top:3px!important}
.gp-app .gp-nav{padding:12px 10px 16px!important}
.gp-app .gp-nav-label{font-size:9px!important;letter-spacing:.15em!important;color:#9da9b9!important;padding:14px 12px 6px!important;font-weight:800!important}
.gp-app .gp-nav-item{min-height:38px!important;padding:8px 12px!important;margin:1px 0!important;border-radius:9px!important;color:#344258!important;font-size:13px!important;font-weight:600!important;border:0!important;background:transparent!important}
.gp-app .gp-nav-item .gp-icon{width:17px!important;height:17px!important;color:#45546a!important}
.gp-app .gp-nav-item:hover{background:#f6f8fb!important;color:#111827!important}
.gp-app .gp-nav-item.active{background:var(--up-red-soft)!important;color:var(--up-red)!important}
.gp-app .gp-nav-item.active .gp-icon{color:var(--up-red)!important}
.gp-app .gp-nav-item.active::before{left:-10px!important;width:3px!important;height:25px!important;background:var(--up-red)!important}
.gp-app .gp-sidebar-package{margin:10px!important;border:1px solid var(--up-line)!important;background:#fff!important;border-radius:12px!important;box-shadow:none!important}
.gp-app .gp-sidebar-foot{padding:10px 18px!important;background:#fff!important;border-top:1px solid var(--up-line)!important;color:#8b96a7!important}
.gp-app .gp-sidebar-foot strong{color:#111827!important}

.gp-app .gp-topbar{height:66px!important;padding:0 22px!important;background:#fff!important;border-bottom:1px solid var(--up-line)!important;box-shadow:none!important;backdrop-filter:none!important}
.gp-app .gp-search-trigger{width:540px!important;max-width:46vw!important;min-width:300px!important;height:39px!important;border-radius:10px!important;background:#fafbfd!important;border:1px solid #e5eaf0!important;color:#7d899a!important}
.gp-app .gp-search-trigger:hover{background:#fff!important;border-color:#d5dde7!important}
.gp-app .gp-site-switcher>summary{height:39px!important;border-radius:10px!important;border-color:var(--up-line)!important;box-shadow:none!important;background:#fff!important}
.gp-app .gp-icon-button{width:38px!important;height:38px!important;border:0!important;background:transparent!important;border-radius:10px!important;color:#445267!important;box-shadow:none!important}
.gp-app .gp-icon-button:hover{background:#f6f8fb!important}
.gp-app .gp-user-chip{border:0!important;background:transparent!important;box-shadow:none!important;padding:4px 7px!important}
.gp-app .gp-user-chip:hover{background:#f7f9fb!important}
.gp-app .gp-avatar{width:36px!important;height:36px!important;border-radius:50%!important;background:var(--up-red)!important;color:#fff!important;box-shadow:none!important}
.gp-app .gp-user-chip .u-name{font-size:12.5px!important;font-weight:750!important;color:#172033!important}.gp-app .gp-user-chip .u-role{font-size:10px!important;color:#8b96a6!important}
.gp-app .gp-breadcrumb{font-size:10.5px!important;margin:0 0 16px!important;color:#8a95a5!important}.gp-app .gp-breadcrumb a{color:#7d899a!important}.gp-app .gp-breadcrumb strong{color:#253146!important}

/* Common typography */
.gp-app h1{font-size:27px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.035em!important;color:#10141c!important}
.gp-app h2{font-size:15px!important;font-weight:750!important;color:#172033!important}.gp-app h3{font-size:13px!important;font-weight:730!important;color:#172033!important}
.gp-app .muted{color:var(--up-muted)!important}.gp-app .mono{font-size:11px!important}

/* Reference page primitives */
.ref-page{display:grid;gap:14px;min-width:0}.ref-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:0 2px}.ref-page-head>div:first-child{min-width:0}.ref-page-head p{margin:6px 0 0;color:#64748b;font-size:12.5px;line-height:1.55}.ref-page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ref-title-row{display:flex;align-items:center;gap:10px}.ref-title-row>div{min-width:0}.ref-title-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--up-red-soft);color:var(--up-red);flex:none}.ref-title-icon .gp-icon{width:21px;height:21px}.ref-domain-line{margin:2px 0 0!important;color:#7e899a!important;font-size:11px!important;font-family:var(--gp-mono)}
.ref-card,.gp-app .ref-card{background:#fff!important;border:1px solid var(--up-line)!important;border-radius:12px!important;box-shadow:var(--up-shadow)!important;padding:14px!important;min-width:0}
.ref-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.ref-card-head>div{display:flex;align-items:flex-start;gap:9px;min-width:0}.ref-card-head h2{margin:0!important;font-size:13.5px!important}.ref-card-head p{margin:3px 0 0!important;font-size:10.5px;color:#8793a4;line-height:1.45}.ref-card-head.compact{margin-bottom:10px}.ref-card-icon{width:30px;height:30px;border-radius:10px;background:var(--up-red-soft);color:var(--up-red);display:grid;place-items:center;flex:none}.ref-card-icon .gp-icon{width:16px;height:16px}
.ref-stack{display:grid;gap:12px;align-content:start}.ref-two-col{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}

.ref-kpi-grid{display:grid;gap:10px}.ref-kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ref-kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ref-kpi-card{display:flex;align-items:center;gap:11px;min-height:92px;background:#fff;border:1px solid var(--up-line);border-radius:12px;padding:13px 14px;box-shadow:var(--up-shadow);box-sizing:border-box;min-width:0}.ref-kpi-icon{width:42px;height:42px;border-radius:14px;background:var(--up-red-soft);color:var(--up-red);display:grid;place-items:center;flex:none}.ref-kpi-icon.success{background:var(--up-green-soft);color:var(--up-green)}.ref-kpi-icon .gp-icon{width:19px;height:19px}.ref-kpi-icon b{font-size:10px}.ref-kpi-card>div{display:grid;min-width:0}.ref-kpi-card small{font-size:10px;color:#6f7c8f;font-weight:650}.ref-kpi-card strong{font-size:21px;line-height:1.1;margin-top:3px;color:#101828;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-kpi-card em{font-style:normal;font-size:9.5px;color:#98a2b3;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-kpi-date{font-size:14px!important;white-space:normal!important}

.ref-table-card{padding:0!important;overflow:hidden}.ref-tabs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--up-line);padding:0 14px;min-height:52px}.ref-tabs{display:flex;align-items:center;gap:20px;min-height:52px}.ref-tabs>a,.ref-tabs>span{display:flex;align-items:center;height:52px;box-sizing:border-box;color:#667387!important;font-size:11px;text-decoration:none}.ref-tabs>.active{color:var(--up-red)!important;font-weight:750;border-bottom:2px solid var(--up-red)}.ref-toolbar-actions{display:flex;align-items:center;gap:7px}.ref-search-input{width:330px!important;max-width:40vw}.ref-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 12px}.ref-table-wrap{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:auto}.ref-data-table{margin:0!important}.ref-data-table thead th{background:#fbfcfe!important;color:#58677b!important;font-size:10px!important;font-weight:700!important;padding:11px 13px!important;border-bottom:1px solid var(--up-line)!important;white-space:nowrap}.ref-data-table tbody td{padding:11px 13px!important;font-size:11px!important;color:#263247!important;border-bottom:1px solid var(--up-line-2)!important;vertical-align:middle}.ref-data-table tbody tr:last-child td{border-bottom:0!important}.ref-data-table tbody tr:hover{background:#fcfdff!important}.ref-cell-sub{display:block;margin-top:3px;font-size:9px!important;color:#98a2b3!important}.ref-row-actions{white-space:nowrap}.ref-db-name{font-family:var(--gp-font)!important;font-size:11.5px!important;color:#182235!important}.ref-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.ref-status-dot.ok{background:var(--up-green)}.ref-status-dot.warn{background:var(--up-amber)}.ref-status-dot.off{background:#98a2b3}.ref-status-text{font-size:10.5px;color:#59677a}

.ref-action-grid{display:grid;gap:10px}.ref-action-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-action-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--up-line);border-radius:12px;box-shadow:var(--up-shadow);text-decoration:none!important;color:#1e293b!important}.ref-action-card>span{width:44px;height:44px;border-radius:14px;background:var(--up-red-soft);color:var(--up-red);display:grid;place-items:center;flex:none}.ref-action-card .gp-icon{width:20px;height:20px}.ref-action-card>div{display:grid}.ref-action-card strong{font-size:12.5px}.ref-action-card small{font-size:10px;color:#8b96a7;line-height:1.5;margin-top:3px}.ref-action-card:not(.static):hover{border-color:#f5c7cc;transform:translateY(-1px)}

/* Buttons / inputs / table common final */
.gp-app .btn{min-height:36px!important;padding:0 13px!important;border-radius:9px!important;font-size:11px!important;font-weight:700!important;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;gap:6px}.gp-app .btn-primary{background:linear-gradient(180deg,#ff4956,var(--up-red))!important;color:#fff!important;border:1px solid var(--up-red)!important}.gp-app .btn-primary:hover{background:var(--up-red-2)!important;border-color:var(--up-red-2)!important;color:#fff!important}.gp-app .btn-ghost{background:#fff!important;color:#344258!important;border:1px solid var(--up-line)!important}.gp-app .btn-ghost:hover{background:#f8fafc!important;border-color:#d5dce6!important}.gp-app .btn-danger{background:#fff1f2!important;color:#d62b37!important;border:1px solid #ffd5da!important}.gp-app .btn-xs{min-height:28px!important;padding:0 9px!important;font-size:9.5px!important}.gp-app .btn-sm{min-height:32px!important;padding:0 11px!important;font-size:10px!important}.gp-app .btn-block{width:100%}
.gp-app .input,.gp-app .inp,.gp-app select,.gp-app textarea{min-height:38px!important;border-radius:9px!important;border:1px solid #e1e7ef!important;background:#fff!important;color:#263247!important;font-size:11px!important;box-shadow:none!important}.gp-app .input:focus,.gp-app .inp:focus,.gp-app select:focus,.gp-app textarea:focus{border-color:#f2a5ad!important;box-shadow:0 0 0 3px rgba(239,47,59,.07)!important}.gp-app .field-label{font-size:10px!important;color:#526174!important;font-weight:700!important;margin-bottom:5px}.gp-app .field-hint,.gp-app .field-help{font-size:9px!important;color:#919cad!important;line-height:1.45}.gp-app .badge{font-size:9.5px!important;padding:4px 7px!important;border-radius:7px!important;font-weight:700!important}.gp-app .badge-ok{background:var(--up-green-soft)!important;color:#0d8b58!important;border:1px solid #c9efd9!important}.gp-app .badge-warn{background:var(--up-amber-soft)!important;color:#c47700!important;border:1px solid #ffe2b1!important}.gp-app .badge-off{background:#f3f5f8!important;color:#6b7788!important;border:1px solid #e0e5ec!important}.gp-app .badge-danger{background:#fff0f2!important;color:#cf2a36!important;border:1px solid #ffd1d6!important}
.gp-app .panel-block,.gp-app .card,.gp-app .form-card,.gp-app .settings-card,.gp-app .block-card{background:#fff!important;border:1px solid var(--up-line)!important;border-radius:12px!important;box-shadow:var(--up-shadow)!important}.gp-app .panel-block{padding:14px!important}.gp-app .page-hero{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 2px!important;margin:0!important;min-height:72px}.gp-app .page-hero h1{font-size:27px!important}.gp-app .page-hero p{font-size:12.5px!important;color:#64748b!important;max-width:850px}.gp-app .eyebrow{font-size:9px!important;padding:5px 8px!important;border-radius:999px!important;background:var(--up-red-soft)!important;color:var(--up-red)!important;margin-bottom:7px!important}.gp-app .block-head{margin-bottom:12px!important}.gp-app .block-head h2{font-size:13.5px!important}.gp-app .head-ic{display:none!important}

/* DNS */
.ref-dns-zone-bar{display:grid;grid-template-columns:1.5fr 1fr .8fr 1fr;gap:0;background:#fff;border:1px solid var(--up-line);border-radius:12px;box-shadow:var(--up-shadow);overflow:hidden}.ref-dns-zone-bar>div{padding:13px 16px;border-right:1px solid var(--up-line)}.ref-dns-zone-bar>div:last-child{border-right:0}.ref-dns-zone-bar small{display:block;font-size:9.5px;color:#8793a4}.ref-dns-zone-bar strong{display:block;font-size:12px;margin-top:4px;color:#263247}.ref-green-text{color:var(--up-green)!important}.ref-dns-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}.ref-dns-add-card{position:sticky;top:82px}.ref-stack-form{display:grid;gap:11px}.ref-record-type{display:inline-grid;place-items:center;min-width:32px;padding:4px 6px;border-radius:6px;background:#f1f4f8;color:#526174;font-size:9px;font-weight:800}.ref-ttl-input{width:78px!important}.ref-priority-input{width:65px!important}.ref-mini-help{display:grid}.ref-mini-help>div{display:grid;grid-template-columns:48px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--up-line-2)}.ref-mini-help>div:last-child{border-bottom:0}.ref-mini-help b{font-size:10px;color:var(--up-red)}.ref-mini-help span{font-size:9.5px;color:#788598}.gp-page-dns-records .ref-data-table td:nth-child(3){min-width:240px}.gp-page-dns-records .ref-data-table .input{min-height:30px!important;height:30px!important;padding:4px 7px!important}

/* Security */
.ref-security-layout{grid-template-columns:minmax(0,1fr) 330px}.ref-security-site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ref-security-site-card{border:1px solid var(--up-line);border-radius:11px;padding:13px;background:#fff}.ref-security-site-top{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px}.ref-round-icon{width:34px;height:34px;border-radius:11px;background:var(--up-red-soft);color:var(--up-red);display:grid;place-items:center}.ref-round-icon .gp-icon{width:16px;height:16px}.ref-security-site-top>div{display:grid;min-width:0}.ref-security-site-top strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-security-site-top small{font-size:9px;color:#939dad;margin-top:2px}.ref-security-flags{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.ref-security-flags span{font-size:9px;padding:5px 7px;border-radius:7px;background:#f5f7fa;color:#7b8798}.ref-security-flags span.ok{background:var(--up-green-soft);color:#138257}.ref-security-flags span.warn{background:var(--up-amber-soft);color:#b87100}.ref-security-actions{display:flex;gap:6px;flex-wrap:wrap}.ref-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:#fbfcfe;border:1px solid var(--up-line-2);border-radius:9px}.ref-setting-row>div{display:grid}.ref-setting-row strong{font-size:10.5px}.ref-setting-row small{font-size:9px;color:#8c97a7;margin-top:2px}.ref-text-link{display:inline-block;margin-top:10px;font-size:10px;font-weight:700;color:var(--up-red)!important}.ref-advice-list{display:grid;gap:7px}.ref-advice-list>div{display:grid;grid-template-columns:25px 1fr;gap:8px;padding:8px;border:1px solid var(--up-line-2);border-radius:9px;background:#fbfcfe}.ref-advice-list>div>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800}.ref-advice-list .ok{background:var(--up-green-soft);color:var(--up-green)}.ref-advice-list .warn{background:var(--up-amber-soft);color:#c57900}.ref-advice-list strong{font-size:10px}.ref-advice-list small{display:block;font-size:8.8px;color:#929cab;margin-top:2px;line-height:1.4}

/* Account */
.ref-account-grid{display:grid;grid-template-columns:1.1fr 1fr .85fr;gap:12px;align-items:start}.ref-account-card{min-height:100%}.ref-password-section{grid-column:1/3}.ref-profile-row{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;margin-bottom:12px}.ref-avatar-lg{width:48px;height:48px;border-radius:50%;background:var(--up-red);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:800;text-transform:uppercase}.ref-profile-row>div{display:grid}.ref-profile-row strong{font-size:13px}.ref-profile-row small{font-size:9.5px;color:#8a96a7;margin-top:2px}.ref-account-kv-list{display:grid}.ref-account-kv-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--up-line-2);font-size:10.5px}.ref-account-kv-list>div:last-child{border-bottom:0}.ref-account-kv-list span{color:#7f8a9b}.ref-account-kv-list strong{text-align:right;color:#29354a}.ref-package-title{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;margin-bottom:10px}.ref-crown{width:36px;height:36px;border-radius:12px;background:var(--up-amber-soft);color:var(--up-amber);display:grid;place-items:center}.ref-package-title>div{display:grid}.ref-package-title strong{font-size:12.5px}.ref-package-title small{font-size:9px;color:#8b96a7}.ref-mini-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ref-mini-kpis>div{padding:10px;border:1px solid var(--up-line-2);border-radius:9px;background:#fbfcfe;display:grid}.ref-mini-kpis small{font-size:9px;color:#8a96a7}.ref-mini-kpis strong{font-size:18px;margin-top:3px}.ref-success-box,.ref-warning-box{padding:10px 11px;border-radius:9px;font-size:9.5px;line-height:1.5;margin-bottom:11px}.ref-success-box{background:var(--up-green-soft);color:#157a54}.ref-warning-box{background:var(--up-amber-soft);color:#986100}

/* Statistics */
.ref-measure-time{font-size:9px;color:#929cac;text-align:right;margin-top:-6px}.ref-usage-line{height:6px;background:#edf1f5;border-radius:999px;overflow:hidden;margin:5px 0}.ref-usage-line span{display:block;height:100%;background:linear-gradient(90deg,#ff5863,var(--up-red));border-radius:999px}.ref-site-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ref-site-metric-card{border:1px solid var(--up-line);border-radius:11px;padding:13px;background:#fff}.ref-site-metric-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ref-site-metric-head>div{display:grid;min-width:0}.ref-site-metric-head strong{font-size:12px}.ref-site-metric-head small{font-size:9px;color:#909baa;margin-top:2px}.ref-site-metric-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}.ref-site-metric-kpis>div{padding:8px;border:1px solid var(--up-line-2);border-radius:8px;background:#fbfcfe;display:grid}.ref-site-metric-kpis small{font-size:8.5px;color:#8995a6}.ref-site-metric-kpis strong{font-size:12px;margin-top:2px}.ref-quota-block{margin:10px 0}.ref-quota-block>div:first-child{display:flex;justify-content:space-between;font-size:9px;color:#7e8999}.ref-http-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.ref-http-status-grid span{padding:6px;border-radius:7px;background:#f5f7fa;color:#697688;font-size:9px;text-align:center}.ref-http-status-grid .ok{background:var(--up-green-soft);color:#118053}.ref-http-status-grid .warn{background:var(--up-amber-soft);color:#ad6c00}.ref-http-status-grid .bad{background:var(--up-red-soft);color:#c52a35}.ref-risk-row{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.ref-site-metric-actions{display:flex;gap:6px;flex-wrap:wrap}

/* Backup and mail */
.backup-ref-kpis,.mail-ref-kpis{margin-bottom:0}.gp-page-backups .backup-plan-card,.gp-page-backups .backup-local-card,.gp-page-backups .backup-history-card,.gp-page-mail .mail-domain-ref-card{border-radius:12px!important}.gp-page-backups .table-wrap,.gp-page-mail .table-wrap{border:0!important;box-shadow:none!important}.gp-page-backups .backup-hero-actions{gap:7px}.gp-page-backups .backup-modal-card{border-radius:14px!important}.gp-page-backups .backup-progress-track{height:8px!important;background:#edf1f5!important}.gp-page-backups .backup-progress-bar{background:linear-gradient(90deg,#ff5863,var(--up-red))!important}.gp-page-mail .mail-page-actions{gap:7px}.gp-page-mail .mail-domain-table thead th{font-size:9.5px!important}.gp-page-mail .mail-domain-table td{font-size:10.5px!important}.gp-page-mail .mail-domain-table-name{font-family:var(--gp-font)!important;font-size:11px!important;font-weight:700!important}

/* WordPress */
.gp-page-wordpress .wp-hero-ref{margin-bottom:0!important}.gp-page-wordpress .wp-stats-ref{margin:0!important}.gp-page-wordpress .wp-install-ref-card,.gp-page-wordpress .wp-list-ref-card{margin:0!important}.gp-page-wordpress .gp-brand-wordpress{background:var(--up-red-soft)!important;color:var(--up-red)!important;width:42px!important;height:42px!important;border-radius:13px!important;display:grid!important;place-items:center!important}.gp-page-wordpress .gp-brand-wordpress svg{width:23px!important;height:23px!important;fill:currentColor!important}.gp-page-wordpress .wp-site-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.gp-page-wordpress .wp-site-card{border:1px solid var(--up-line)!important;border-radius:11px!important;box-shadow:none!important;padding:0!important;overflow:hidden}.gp-page-wordpress .wp-site-card>.card-head{padding:13px 14px!important;border-bottom:1px solid var(--up-line-2)!important}.gp-page-wordpress .wp-site-card>.card-body{padding:14px!important}.gp-page-wordpress .wp-inner-stats .stat-card{min-height:72px!important}.gp-page-wordpress .wp-plugin-theme-lists>div{background:#fbfcfe!important;border-color:var(--up-line)!important}

/* File manager exact application layout */
.ref-fm-shell{display:grid;gap:12px}.ref-fm-page-head{margin-bottom:0}.ref-fm-commandbar{display:flex;align-items:center;gap:8px;min-height:58px;background:#fff;border:1px solid var(--up-line);border-radius:11px;padding:9px 10px;box-shadow:var(--up-shadow);flex-wrap:wrap}.ref-fm-commandbar .gp-icon{width:16px;height:16px}.ref-toolbar-sep{width:1px;height:28px;background:var(--up-line);margin:0 3px}.ref-fm-commandbar-spacer{flex:1}.ref-fm-createbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#fff;border:1px solid var(--up-line);border-radius:11px;padding:10px;box-shadow:var(--up-shadow)}.ref-fm-create-form{display:grid;grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:8px}.ref-fm-create-form strong{font-size:10.5px}.ref-fm-upload-drawer{display:grid!important;grid-template-columns:minmax(220px,1fr) auto 160px auto auto;align-items:center;gap:8px;background:#fff;border:1px solid var(--up-line);border-radius:11px;padding:10px;box-shadow:var(--up-shadow)}.ref-fm-upload-drawer[hidden]{display:none!important}.ref-fm-upload-drawer>div{display:grid}.ref-fm-upload-drawer strong{font-size:10.5px}.ref-fm-upload-drawer [data-fm-selected-text]{font-size:9px;color:#8b96a7;margin-top:2px}.ref-fm-progress{background:#fff;border:1px solid var(--up-line);border-radius:11px;padding:10px}.ref-fm-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 245px;gap:10px;align-items:stretch;min-height:620px}.ref-fm-tree,.ref-fm-browser,.ref-fm-details{padding:0!important;overflow:hidden;box-shadow:var(--up-shadow)!important}.ref-fm-pane-head{min-height:48px;display:flex;align-items:center;padding:0 13px;border-bottom:1px solid var(--up-line)}.ref-fm-pane-head h2{font-size:12px!important}.ref-fm-root{display:flex;align-items:center;gap:8px;padding:9px 12px;margin:8px;border-radius:8px;color:#304057!important;font-size:10.5px}.ref-fm-root.active{background:var(--up-red-soft);color:var(--up-red)!important}.ref-fm-dir-list{display:grid;padding:0 8px;max-height:430px;overflow:auto}.ref-fm-dir-list>a{display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;padding:7px 6px;border-radius:7px;color:#334155!important}.ref-fm-dir-list>a:hover{background:#f7f9fb}.ref-fm-dir-list>a>span{font-size:15px}.ref-fm-dir-list>a>div{display:grid;min-width:0}.ref-fm-dir-list strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-fm-dir-list small{font-size:8.5px;color:#9aa3b0;margin-top:1px}.ref-fm-tree-drop{margin:10px!important;min-height:70px!important;padding:10px!important;border:1px dashed #d7dee8!important;border-radius:9px!important;display:grid!important;place-items:center!important;align-content:center!important;background:#fbfcfe!important}.ref-fm-tree-drop strong{font-size:9.5px!important;color:#667386!important}.ref-fm-tree-drop small{font-size:8.5px!important;color:#9aa4b3!important}.ref-fm-browser{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.ref-fm-browser-head{min-height:54px;padding:8px 11px;border-bottom:1px solid var(--up-line);display:flex;align-items:center;justify-content:space-between;gap:10px}.ref-fm-browser-head .fm-breadcrumb{border:0!important;background:transparent!important;padding:0!important;margin:0!important;font-size:10px!important;display:flex;gap:6px}.ref-fm-browser-head .fm-breadcrumb a{color:#334155!important;font-weight:650}.ref-fm-browser-head .fm-search{width:230px!important}.ref-fm-table-wrap{padding:0!important;overflow:auto}.ref-fm-table-wrap .fm-table{min-width:760px}.ref-fm-table-wrap .fm-table thead th{position:sticky;top:0;z-index:2;background:#fbfcfe!important}.ref-fm-table-wrap .fm-table td{padding:9px 10px!important}.ref-fm-table-wrap .fm-name{display:flex!important;align-items:center;gap:7px;color:#263247!important;font-size:10.5px!important}.ref-fm-table-wrap .gp-file-icon{width:25px!important;height:25px!important;border-radius:8px!important;background:#f3f6fa!important;color:#64748b!important;display:grid!important;place-items:center!important}.ref-fm-table-wrap .gp-file-icon-folder{background:#fff4e6!important;color:#ee9800!important}.ref-fm-table-wrap .gp-file-icon svg{width:14px!important;height:14px!important;fill:currentColor!important}.ref-fm-table-wrap .fm-row.is-ref-selected{background:#fff0f2!important}.ref-fm-table-wrap .fm-actions{opacity:.65;transition:.15s}.ref-fm-table-wrap tr:hover .fm-actions,.ref-fm-table-wrap tr.is-ref-selected .fm-actions{opacity:1}.ref-fm-browser-foot{min-height:40px;border-top:1px solid var(--up-line);display:flex;justify-content:space-between;align-items:center;padding:0 11px;font-size:9px;color:#8b96a6}.ref-fm-details{display:grid;grid-template-rows:auto 1fr}.ref-fm-detail-empty,.ref-fm-detail-body{padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center}.ref-fm-detail-empty strong,.ref-fm-detail-body>strong{font-size:12px;margin-top:8px}.ref-fm-detail-empty small,.ref-fm-detail-body>small{font-size:9px;color:#909baa;margin-top:2px}.ref-file-preview{width:80px;height:80px;border-radius:14px;background:#fbfcfe;border:1px solid var(--up-line);display:grid;place-items:center;font-size:36px}.ref-fm-detail-kv{width:100%;display:grid;margin-top:16px}.ref-fm-detail-kv>div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--up-line-2);text-align:left;font-size:9.5px}.ref-fm-detail-kv span{color:#8490a2}.ref-fm-detail-kv b{font-weight:650;color:#334155;word-break:break-all}.ref-fm-quick-actions{width:100%;display:grid;gap:6px;margin-top:15px;text-align:left}.ref-fm-quick-actions h3{margin-bottom:2px}.ref-fm-quick-actions .btn{justify-content:flex-start!important}.ref-fm-commandbar [data-fm-rename-selected]:disabled{opacity:.45}.ref-fm-commandbar .fm-selected-count{font-size:9.5px;color:#8792a3}

/* Old pages brought into same system */
.gp-page-users,.gp-page-packages,.gp-page-system,.gp-page-maintenance,.gp-page-migration,.gp-page-audit,.gp-page-notifications,.gp-page-cache,.gp-page-cron,.gp-page-advanced,.gp-page-edge,.gp-page-system-proxies,.gp-page-site-detail,.gp-page-site-health,.gp-page-security-scan{max-width:1500px;margin:0 auto}.gp-app .event-card,.gp-app .site-card,.gp-app .resource-card,.gp-app .action-start-card,.gp-app .maintenance-card,.gp-app .migration-stage-card{background:#fff!important;border:1px solid var(--up-line)!important;border-radius:11px!important;box-shadow:var(--up-shadow)!important}.gp-app .tabs,.gp-app .tab-bar{background:#fff!important;border:1px solid var(--up-line)!important;border-radius:10px!important}.gp-app .tabs .active,.gp-app .tab-bar .active{background:var(--up-red-soft)!important;color:var(--up-red)!important;border-color:#ffd5da!important}.gp-app pre,.gp-app .code-area,.gp-app .site-log-box{background:#f8fafc!important;border:1px solid var(--up-line)!important;color:#334155!important;border-radius:9px!important}

/* Auth brand */
.gp-auth .brand-mark.gp-brand-upnet{background:transparent!important;color:var(--up-red)!important;box-shadow:none!important;border-radius:0!important}.gp-auth .brand-mark.gp-brand-upnet svg{width:52px;height:52px}.gp-auth .auth-card,.gp-auth .auth-promo{border-color:var(--up-line)!important;box-shadow:0 24px 70px -34px rgba(15,23,42,.28)!important}.gp-auth .btn-primary{background:linear-gradient(180deg,#ff4956,var(--up-red))!important;color:#fff!important;border-color:var(--up-red)!important}

@media(max-width:1280px){.ref-kpi-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-account-grid{grid-template-columns:1fr 1fr}.ref-account-grid .ref-password-section{grid-column:1/-1}.ref-fm-layout{grid-template-columns:190px minmax(0,1fr)}.ref-fm-details{grid-column:1/-1;min-height:260px}.ref-fm-detail-body{display:grid!important;grid-template-columns:90px 1fr 1fr;column-gap:14px;align-items:start;text-align:left}.ref-fm-detail-body>.ref-file-preview{grid-row:1/4}.ref-fm-detail-kv{margin-top:0}.ref-fm-quick-actions{margin-top:0}}
@media(max-width:1050px){.ref-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-dns-layout,.ref-two-col,.ref-security-layout{grid-template-columns:1fr}.ref-dns-add-card{position:static}.ref-security-site-grid{grid-template-columns:1fr}.ref-site-metric-grid{grid-template-columns:1fr}.ref-fm-upload-drawer{grid-template-columns:1fr 1fr}.ref-fm-upload-drawer>div{grid-column:1/-1}.ref-action-grid-3{grid-template-columns:1fr}.ref-fm-layout{grid-template-columns:1fr}.ref-fm-tree{display:none}.ref-fm-details{grid-column:auto}}
@media(max-width:920px){.gp-app .gp-content{padding:16px 14px 88px}.gp-app .gp-search-trigger{width:320px!important;min-width:220px!important}.ref-page-head{align-items:flex-start;flex-direction:column}.ref-page-actions{justify-content:flex-start}.ref-kpi-grid-3,.ref-kpi-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-dns-zone-bar{grid-template-columns:1fr 1fr}.ref-dns-zone-bar>div{border-bottom:1px solid var(--up-line)}.ref-account-grid{grid-template-columns:1fr}.ref-account-grid .ref-password-section{grid-column:auto}.ref-fm-createbar{grid-template-columns:1fr}.ref-fm-commandbar-spacer{display:none}.ref-fm-browser-head{align-items:stretch;flex-direction:column}.ref-fm-browser-head .fm-search{width:100%!important}.ref-fm-detail-body{display:flex!important;text-align:center;align-items:center}.ref-fm-detail-kv,.ref-fm-quick-actions{margin-top:15px}}
@media(max-width:600px){.ref-kpi-grid-3,.ref-kpi-grid-4,.ref-kpi-grid-5{grid-template-columns:1fr}.ref-tabs-toolbar{align-items:stretch;flex-direction:column;padding:0 10px 10px}.ref-tabs{overflow:auto}.ref-toolbar-actions{width:100%;flex-wrap:wrap}.ref-search-input{width:100%!important;max-width:none!important}.ref-site-metric-kpis{grid-template-columns:repeat(2,1fr)}.ref-http-status-grid{grid-template-columns:repeat(2,1fr)}.ref-fm-upload-drawer{grid-template-columns:1fr}.ref-fm-upload-drawer>div{grid-column:auto}.ref-fm-commandbar{gap:6px}.ref-toolbar-sep{display:none}.ref-fm-layout{min-height:500px}}
.gp-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:0 22px;border-top:1px solid var(--up-line);background:#fff;color:#8d98a7;font-size:9.5px}.gp-footer strong{color:#5c687a}.gp-footer em{font-style:normal;color:#a1aab7}@media(max-width:920px){.gp-footer{display:none}}

/* ======================================================================
   Upnet Panel v2.135 — Unified page headers + invisible sidebar scrollbar
   ====================================================================== */

/* Sidebar: scroll works with mouse wheel / trackpad, scrollbar never appears. */
.gp-app .gp-sidebar{
  overflow:hidden!important;
  height:100dvh!important;
}
.gp-app .gp-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-width:none!important;       /* Firefox */
  -ms-overflow-style:none!important;    /* Legacy Edge */
}
.gp-app .gp-nav::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;               /* Chromium / Safari */
}
.gp-app .gp-nav::-webkit-scrollbar-thumb,
.gp-app .gp-nav::-webkit-scrollbar-track{
  background:transparent!important;
  display:none!important;
}

/* One consistent page-title system for old + new templates. */
.gp-app .page-hero,
.gp-app .ref-page-head,
.gp-app .gp-site-hero{
  min-height:70px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:2px 2px 10px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.gp-app .page-hero>div:first-child,
.gp-app .ref-page-head>div:first-child,
.gp-app .gp-site-hero>div:first-child{
  min-width:0!important;
}

/* All top-level page H1s use the exact same scale. */
.gp-app .page-hero h1,
.gp-app .ref-page-head h1,
.gp-app .gp-site-hero h1,
.gp-app .gp-ref-dashboard-head h1{
  margin:0!important;
  font-family:var(--gp-font)!important;
  font-size:25px!important;
  line-height:1.16!important;
  font-weight:790!important;
  letter-spacing:-.032em!important;
  color:#111827!important;
}
.gp-app .page-hero h1 .mono,
.gp-app .ref-page-head h1 .mono,
.gp-app .gp-site-hero h1 .mono{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
}

/* Consistent subtitles. */
.gp-app .page-hero p,
.gp-app .ref-page-head p,
.gp-app .gp-site-hero p{
  max-width:920px!important;
  margin:5px 0 0!important;
  color:#6b7789!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  font-weight:450!important;
}

/* Eyebrows are now quiet labels instead of different pill styles. */
.gp-app .page-hero .eyebrow,
.gp-app .ref-page-head .eyebrow,
.gp-app .gp-site-hero .eyebrow,
.gp-app .gp-page-brand .eyebrow{
  display:block!important;
  width:auto!important;
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#98a2b3!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:780!important;
  letter-spacing:.105em!important;
  text-transform:uppercase!important;
}

/* Icon/title rows use one size everywhere. */
.gp-app .ref-title-row,
.gp-app .gp-page-brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.gp-app .ref-title-icon,
.gp-app .gp-page-brand-mark{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  border:0!important;
  background:var(--up-red-soft)!important;
  color:var(--up-red)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.gp-app .ref-title-icon .gp-icon,
.gp-app .gp-page-brand-mark .gp-icon,
.gp-app .gp-page-brand-mark svg{
  width:19px!important;
  height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  fill:currentColor!important;
}
.gp-app .gp-page-brand-mark img{
  width:20px!important;
  height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  object-fit:contain!important;
}

/* Domain / secondary line below a title. */
.gp-app .ref-domain-line,
.gp-app .page-hero .ref-domain-line,
.gp-app .gp-site-hero .ref-domain-line{
  margin:3px 0 0!important;
  color:#8591a2!important;
  font-family:var(--gp-mono)!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  font-weight:500!important;
}

/* Header action area is identical on all pages. */
.gp-app .hero-actions,
.gp-app .ref-page-actions,
.gp-app .page-hero>form,
.gp-app .gp-site-hero .hero-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}
.gp-app .page-hero .btn,
.gp-app .ref-page-head .btn,
.gp-app .gp-site-hero .btn{
  min-height:36px!important;
  border-radius:9px!important;
}

/* Prevent page-specific hero classes from reintroducing old card-like headers. */
.gp-app .mail-hero,
.gp-app .backup-hero,
.gp-app .maintenance-hero,
.gp-app .db-manage-hero,
.gp-app .mail-domain-detail-hero,
.gp-app .fm-hero,
.gp-app .wp-hero-ref,
.gp-app .gp-ref-page-title{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:2px 2px 10px!important;
  min-height:70px!important;
}

/* Keep first content section spacing uniform after every page header. */
.gp-app .gp-page,
.gp-app .ref-page{
  gap:14px!important;
}
.gp-app .gp-page>.page-hero:first-child,
.gp-app .gp-page>.ref-page-head:first-child,
.gp-app .gp-page>.gp-site-hero:first-child{
  margin-bottom:0!important;
}

@media(max-width:920px){
  .gp-app .page-hero,
  .gp-app .ref-page-head,
  .gp-app .gp-site-hero{
    min-height:0!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
    padding-bottom:8px!important;
  }
  .gp-app .hero-actions,
  .gp-app .ref-page-actions,
  .gp-app .page-hero>form{
    width:100%!important;
    justify-content:flex-start!important;
  }
}

@media(max-width:560px){
  .gp-app .page-hero h1,
  .gp-app .ref-page-head h1,
  .gp-app .gp-site-hero h1,
  .gp-app .gp-ref-dashboard-head h1{
    font-size:22px!important;
  }
  .gp-app .ref-title-icon,
  .gp-app .gp-page-brand-mark{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
}

/* ======================================================================
   Upnet Panel v2.136 — Structural UI system
   ====================================================================== */
:root{--up-red:#ef2f3b;--up-red-strong:#dc2532;--up-red-soft:#fff0f2;--up-text:#111827;--up-text-2:#475569;--up-muted:#8591a3;--up-line:#e7ebf1;--up-line-soft:#eff2f6;--up-surface:#fff;--up-canvas:#f7f9fc;--up-green:#12a76a;--up-green-soft:#eaf9f2;--up-amber:#e99a12;--up-shadow:0 1px 2px rgba(16,24,40,.03),0 12px 30px -22px rgba(16,24,40,.18);--up-radius:12px}
body.gp-app{background:var(--up-canvas)!important;color:var(--up-text)!important}.gp-app .gp-main{background:var(--up-canvas)!important}.gp-app .gp-content{width:100%;max-width:none!important;padding:20px 24px 88px!important;box-sizing:border-box}.gp-app .gp-breadcrumb{max-width:1460px;margin:0 auto 16px!important;font-size:11px!important;color:#8b96a8!important;display:flex;gap:7px;align-items:center}.gp-app .gp-breadcrumb a{color:#8490a2!important}.gp-app .gp-breadcrumb strong{color:#526075!important;font-weight:650}
.gp-app .gp-sidebar{overflow:hidden!important}.gp-app .gp-nav{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important;overscroll-behavior:contain}.gp-app .gp-nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.gp-app .gp-nav::-webkit-scrollbar-thumb,.gp-app .gp-nav::-webkit-scrollbar-track{background:transparent!important}
.up-page{width:100%;max-width:1460px;margin:0 auto;display:flex;flex-direction:column;gap:14px;min-width:0}.up-page>section,.up-page>form,.up-page>div{min-width:0}
.up-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:0 2px 14px;border-bottom:1px solid var(--up-line);margin:0 0 2px;background:transparent!important;box-shadow:none!important;border-radius:0!important}.up-page-heading{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.up-page-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:var(--up-red-soft);color:var(--up-red);display:grid;place-items:center;margin-top:1px}.up-page-icon .gp-icon{width:20px;height:20px;fill:currentColor}.up-page-copy{min-width:0;padding-top:1px}.up-page-copy h1{margin:0!important;color:var(--up-text)!important;font-size:25px!important;line-height:1.18!important;font-weight:780!important;letter-spacing:-.026em!important;font-family:var(--gp-font)!important}.up-page-copy p{margin:6px 0 0!important;color:#657287!important;font-size:12.5px!important;line-height:1.55!important;font-weight:450!important;max-width:820px}.up-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:48%;margin-left:auto}.up-page-actions:empty{display:none}.up-page-actions form{display:inline-flex;margin:0}.up-page-date{font-size:11px;color:#8490a2;white-space:nowrap}
.up-page .page-hero,.up-page .ref-page-head,.up-page .gp-site-hero,.up-page .gp-ref-dashboard-head{border-radius:0!important;box-shadow:none!important}.up-page .old-head-hidden{display:none!important}.up-page .eyebrow{font-size:10px!important;letter-spacing:.04em!important;text-transform:none!important;background:transparent!important;padding:0!important;border:0!important;color:#8b96a8!important}
.up-card,.up-form-card,.up-section{background:var(--up-surface)!important;border:1px solid var(--up-line)!important;border-radius:var(--up-radius)!important;box-shadow:var(--up-shadow)!important}.up-section{padding:16px!important;margin:0!important}.up-card{overflow:hidden}.up-form-card{padding:18px!important;cursor:default!important}.up-card-head,.up-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;min-height:30px;margin:0!important;padding:14px 16px!important;border-bottom:1px solid var(--up-line-soft)!important;background:#fff!important}.up-section>.up-section-head{margin:-16px -16px 14px!important}.up-card-head h2,.up-card-head h3,.up-section-head h2,.up-section-head h3{margin:0!important;font-size:14px!important;line-height:1.3!important;font-weight:730!important;color:#182235!important;letter-spacing:-.01em!important}.up-card-head p,.up-section-head p{margin:3px 0 0!important;font-size:10.5px!important;color:#8994a5!important;line-height:1.45!important}.up-card .card-body{padding:16px!important}
.up-table-shell{border:1px solid var(--up-line)!important;border-radius:10px!important;background:#fff!important;overflow:auto!important;box-shadow:none!important}.up-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important}.up-table thead th{position:relative;background:#fafbfd!important;color:#667388!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.035em!important;font-weight:720!important;padding:11px 12px!important;border-bottom:1px solid var(--up-line)!important;white-space:nowrap}.up-table tbody td{font-size:11.5px!important;color:#243047!important;padding:12px!important;border-bottom:1px solid var(--up-line-soft)!important;vertical-align:middle!important}.up-table tbody tr:last-child td{border-bottom:0!important}.up-table tbody tr:hover{background:#fcfdff!important}
.up-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.up-kpi-grid>.stat-card{min-height:86px!important;background:#fff!important;border:1px solid var(--up-line)!important;border-radius:11px!important;box-shadow:var(--up-shadow)!important;padding:14px!important}.up-kpi-grid .stat-val{font-size:22px!important;line-height:1.05!important;font-weight:780!important;color:#172033!important}.up-kpi-grid .stat-label{font-size:10px!important;color:#778397!important;font-weight:680!important;margin-top:7px!important}
.gp-app .input,.gp-app .inp,.gp-app select,.gp-app textarea{border:1px solid #dfe5ed!important;background:#fff!important;color:#172033!important;border-radius:9px!important;box-shadow:none!important;font-size:11.5px!important}.gp-app .input,.gp-app .inp,.gp-app select{min-height:38px!important}.gp-app textarea{padding:12px!important}.gp-app .input:focus,.gp-app .inp:focus,.gp-app select:focus,.gp-app textarea:focus{border-color:#f2a3aa!important;box-shadow:0 0 0 3px rgba(239,47,59,.08)!important;outline:none!important}.gp-app .btn{min-height:36px!important;border-radius:9px!important;font-size:11.5px!important;font-weight:680!important;padding:0 13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;white-space:nowrap}.gp-app .btn-primary{background:var(--up-red)!important;border-color:var(--up-red)!important;color:#fff!important}.gp-app .btn-primary:hover{background:var(--up-red-strong)!important;border-color:var(--up-red-strong)!important}.gp-app .btn-ghost{background:#fff!important;border-color:#dfe5ed!important;color:#3d4a5f!important}.gp-app .btn-ghost:hover{background:#f8fafc!important;border-color:#d4dce7!important;color:#172033!important}.gp-app .btn-danger{background:#fff3f4!important;border-color:#ffd1d6!important;color:#d82734!important}.gp-app .btn-sm{min-height:32px!important;padding:0 10px!important;font-size:10.5px!important}.gp-app .btn-xs{min-height:28px!important;padding:0 8px!important;font-size:10px!important}
.gp-app .list-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:13px 15px!important;background:#fff!important;border:1px solid var(--up-line)!important;border-radius:11px!important;box-shadow:var(--up-shadow)!important}.gp-app .list-search-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}.gp-app .empty{padding:34px 18px!important;text-align:center!important;background:#fff!important;border:1px solid var(--up-line)!important;border-radius:11px!important;color:#7a8799!important;box-shadow:var(--up-shadow)!important}.gp-app .event-list{display:grid;gap:8px}.gp-app .event-card{border-radius:10px!important;border:1px solid var(--up-line)!important;box-shadow:none!important;background:#fff!important}
.up-layout-grid,.settings-grid,.grid-2{gap:12px!important}.grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.up-page>p.lead{margin:0!important;color:#647187!important;font-size:12px!important}.up-page .block-head:not(.up-section-head){margin:0 0 10px!important}.up-footer{max-width:none!important;background:#fff!important;border-top:1px solid var(--up-line)!important;padding:13px 24px!important;color:#8a96a7!important;font-size:10px!important}
@media(max-width:1100px){.up-page-header{align-items:flex-start}.up-page-actions{max-width:52%}.up-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:920px){.gp-app .gp-content{padding:16px 14px 94px!important}.up-page-header{flex-direction:column;align-items:stretch;gap:12px}.up-page-actions{max-width:none;justify-content:flex-start;margin-left:54px}.grid-2,.grid-3{grid-template-columns:1fr!important}}
@media(max-width:620px){.up-page-heading{gap:10px}.up-page-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}.up-page-copy h1{font-size:22px!important}.up-page-copy p{font-size:11.5px!important}.up-page-actions{margin-left:48px}.up-kpi-grid{grid-template-columns:1fr!important}}

/* Suspended account uses the same Upnet Panel auth design system */
.up-suspended-auth{display:grid!important;place-items:center!important;padding:24px!important}
.up-suspended-card{width:min(720px,100%);padding:38px 40px;background:#fff;border:1px solid var(--up-line);border-radius:24px;box-shadow:var(--up-shadow-lg);color:var(--up-text)}
.up-suspended-brand{margin-bottom:24px!important}.up-suspended-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #ffd6da;border-radius:999px;background:var(--up-red-soft);color:var(--up-red);font-weight:800;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.up-suspended-badge span{width:7px;height:7px;border-radius:50%;background:var(--up-red)}
.up-suspended-card h1{margin:18px 0 10px;font-size:30px;line-height:1.1;letter-spacing:-.03em;color:var(--up-text)}.up-suspended-card p{margin:7px 0;color:#627084;font-size:14px;line-height:1.65}.up-suspended-actions{margin-top:24px}.up-suspended-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--up-line-soft);font-size:11px;color:#8b96a7}


/* v2.137 logo png integration */
.gp-app .gp-brand-upnet,
.gp-auth .gp-brand-upnet{
  display:grid;
  place-items:center;
  overflow:visible;
}
.gp-brand-logo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.gp-app .gp-brand-mark.gp-brand-upnet{
  width:40px!important;
  height:40px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.gp-app .gp-brand-mark.gp-brand-upnet .gp-brand-logo{
  width:40px!important;
  height:40px!important;
}
.gp-auth .brand-mark.gp-brand-upnet{
  width:54px!important;
  height:54px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.gp-auth .brand-mark.gp-brand-upnet .gp-brand-logo{
  width:54px!important;
  height:54px!important;
}


/* v2.138 simplified centered auth */
body.gp-auth.gp-auth-simple{
  min-height:100vh;
  padding:24px;
  background:
    radial-gradient(720px 360px at 50% -10%, rgba(239,47,59,.08), transparent 60%),
    linear-gradient(180deg,#fbfcfe 0%, #f4f7fb 100%);
  display:grid;
  place-items:center;
}
.gp-auth.gp-auth-simple .auth-wrap-simple{
  width:min(460px,100%);
  max-width:460px;
  display:grid;
  gap:16px;
}
.gp-auth.gp-auth-simple .auth-card-simple{
  background:rgba(255,255,255,.98)!important;
  border:1px solid var(--up-line)!important;
  border-radius:24px!important;
  box-shadow:0 26px 70px -40px rgba(15,23,42,.28)!important;
  padding:34px 32px!important;
}
.gp-auth.gp-auth-simple .auth-brand-simple{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:24px;
}
.gp-auth.gp-auth-simple .auth-brand-copy{display:grid;gap:4px}
.gp-auth.gp-auth-simple .auth-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--up-red);
}
.gp-auth.gp-auth-simple .auth-title{
  margin:0;
  font-size:34px!important;
  line-height:1.1;
  letter-spacing:-.035em!important;
  font-weight:800!important;
  color:var(--gp-text)!important;
}
.gp-auth.gp-auth-simple .auth-sub{
  margin:0;
  font-size:14px!important;
  line-height:1.6;
  color:var(--gp-text-2)!important;
}
.gp-auth.gp-auth-simple .auth-form-simple{
  display:grid;
  gap:16px;
}
.gp-auth.gp-auth-simple .field{gap:7px}
.gp-auth.gp-auth-simple .field-label{
  font-size:12.5px;
  font-weight:700;
  color:var(--gp-text);
}
.gp-auth.gp-auth-simple .input{
  min-height:48px!important;
  border-radius:14px!important;
  background:#fff!important;
}
.gp-auth.gp-auth-simple .auth-code-input{
  text-align:center;
  font-size:24px;
  letter-spacing:.28em;
}
.gp-auth.gp-auth-simple .auth-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:-2px;
}
.gp-auth.gp-auth-simple .auth-toolbar-secondary{
  justify-content:flex-start;
  margin-top:2px;
}
.gp-auth.gp-auth-simple .auth-check{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  color:var(--gp-text-2);
}
.gp-auth.gp-auth-simple .auth-submit{
  min-height:50px;
  border-radius:14px!important;
  font-size:15px;
  font-weight:760!important;
}
.gp-auth.gp-auth-simple .auth-note{
  margin-top:18px;
  border:1px solid var(--up-line);
  background:#f8fafc;
  border-radius:16px;
  padding:14px 15px;
  display:grid;
  gap:4px;
}
.gp-auth.gp-auth-simple .auth-note strong{
  font-size:12.5px;
  color:var(--gp-text);
}
.gp-auth.gp-auth-simple .auth-note span{
  font-size:12.5px;
  line-height:1.55;
  color:var(--gp-text-2);
}
.gp-auth.gp-auth-simple .auth-foot-simple{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--gp-muted);
  font-size:11.5px;
  padding:0 4px;
}
@media (max-width:560px){
  body.gp-auth.gp-auth-simple{padding:14px}
  .gp-auth.gp-auth-simple .auth-wrap-simple{width:100%}
  .gp-auth.gp-auth-simple .auth-card-simple{padding:24px 20px!important;border-radius:20px!important}
  .gp-auth.gp-auth-simple .auth-title{font-size:28px!important}
  .gp-auth.gp-auth-simple .auth-foot-simple{flex-direction:column;align-items:center;text-align:center}
  .gp-auth.gp-auth-simple .auth-toolbar{flex-direction:column;align-items:flex-start}
}


/* ======================================================================
   Upnet Panel v2.139 — File Manager no-horizontal-scroll layout
   ====================================================================== */
.gp-page-file-manager .ref-fm-browser{
  min-width:0!important;
  overflow:visible!important;
}
.gp-page-file-manager .ref-fm-table-wrap{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
.gp-page-file-manager .fm-table-fit{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
.gp-page-file-manager .fm-table-fit .fm-col-check{width:42px}
.gp-page-file-manager .fm-table-fit .fm-col-name{width:auto}
.gp-page-file-manager .fm-table-fit .fm-col-size{width:88px}
.gp-page-file-manager .fm-table-fit .fm-col-modified{width:138px}
.gp-page-file-manager .fm-table-fit .fm-col-perm{width:82px}
.gp-page-file-manager .fm-table-fit .fm-col-actions{width:124px}
.gp-page-file-manager .fm-table-fit th,
.gp-page-file-manager .fm-table-fit td{
  min-width:0!important;
  box-sizing:border-box!important;
}
.gp-page-file-manager .fm-table-fit .fm-name-cell{
  min-width:0!important;
  overflow:hidden!important;
}
.gp-page-file-manager .fm-table-fit .fm-name{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
}
.gp-page-file-manager .fm-table-fit .fm-file-name-text{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gp-page-file-manager .fm-table-fit td:nth-child(3),
.gp-page-file-manager .fm-table-fit td:nth-child(4),
.gp-page-file-manager .fm-table-fit td:nth-child(5){
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gp-page-file-manager .fm-actions-compact{
  overflow:visible!important;
  white-space:nowrap!important;
  position:relative;
}
.gp-page-file-manager .fm-action-cluster{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  min-width:0;
}
.gp-page-file-manager .fm-action-primary{
  min-width:0!important;
  padding:5px 8px!important;
  font-size:9.5px!important;
}
.gp-page-file-manager .fm-row-menu{
  position:relative;
  display:inline-block;
  z-index:3;
}
.gp-page-file-manager .fm-row-menu[open]{z-index:60}
.gp-page-file-manager .fm-row-menu>summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.gp-page-file-manager .fm-row-menu>summary::-webkit-details-marker{display:none}
.gp-page-file-manager .fm-row-menu-trigger{
  width:34px!important;
  min-width:34px!important;
  height:30px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:16px!important;
  line-height:1!important;
}
.gp-page-file-manager .fm-row-menu-popover{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  width:178px;
  padding:6px;
  background:#fff;
  border:1px solid var(--up-line);
  border-radius:11px;
  box-shadow:0 18px 42px -18px rgba(15,23,42,.32);
  display:grid;
  gap:2px;
  text-align:left;
  z-index:80;
}
.gp-page-file-manager .fm-menu-item{
  width:100%;
  min-height:32px;
  padding:7px 9px;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#344258!important;
  font:inherit;
  font-size:10.5px!important;
  font-weight:600!important;
  text-align:left;
  text-decoration:none!important;
  display:flex;
  align-items:center;
  cursor:pointer;
  box-shadow:none!important;
}
.gp-page-file-manager .fm-menu-item:hover{
  background:#f5f7fa!important;
  color:#111827!important;
}
.gp-page-file-manager .fm-menu-form{
  display:block!important;
  margin:2px 0 0!important;
  padding-top:2px;
  border-top:1px solid var(--up-line-2);
}
.gp-page-file-manager .fm-menu-danger{
  color:#d92d3a!important;
}
.gp-page-file-manager .fm-menu-danger:hover{
  background:#fff0f2!important;
  color:#c61f2d!important;
}
.gp-page-file-manager .ref-fm-commandbar{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
.gp-page-file-manager .ref-fm-commandbar .btn{
  flex:0 0 auto;
}
.gp-page-file-manager .ref-fm-browser-head{
  min-width:0!important;
}
.gp-page-file-manager .ref-fm-browser-head .fm-breadcrumb{
  min-width:0!important;
  overflow:hidden!important;
}
.gp-page-file-manager .ref-fm-browser-head .fm-breadcrumb a{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:180px;
}
@media(max-width:1380px){
  .gp-page-file-manager .fm-table-fit .fm-col-size{width:76px}
  .gp-page-file-manager .fm-table-fit .fm-col-modified{width:124px}
  .gp-page-file-manager .fm-table-fit .fm-col-perm{width:68px}
  .gp-page-file-manager .fm-table-fit .fm-col-actions{width:108px}
  .gp-page-file-manager .fm-action-primary{padding:5px 6px!important}
}
@media(max-width:1120px){
  .gp-page-file-manager .fm-table-fit .fm-col-modified{width:0}
  .gp-page-file-manager .fm-table-fit th:nth-child(4),
  .gp-page-file-manager .fm-table-fit td:nth-child(4){display:none!important}
  .gp-page-file-manager .fm-table-fit .fm-col-actions{width:104px}
}
@media(max-width:760px){
  .gp-page-file-manager .fm-table-fit .fm-col-size{width:0}
  .gp-page-file-manager .fm-table-fit .fm-col-perm{width:0}
  .gp-page-file-manager .fm-table-fit th:nth-child(3),
  .gp-page-file-manager .fm-table-fit td:nth-child(3),
  .gp-page-file-manager .fm-table-fit th:nth-child(5),
  .gp-page-file-manager .fm-table-fit td:nth-child(5){display:none!important}
  .gp-page-file-manager .fm-table-fit .fm-col-actions{width:88px}
  .gp-page-file-manager .fm-action-primary{display:none!important}
}

/* ============================================================
   v2.140 — Mail domain page rebuilt from scratch
   ============================================================ */
.gp-page-mail-domain.mail-domain-v2140{
  gap:14px;
}
.mail-domain-v2140 .mail-domain-header{
  margin-bottom:0!important;
}
.mail-domain-header-actions{gap:8px!important}

.mail-domain-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mail-domain-action-form{display:block;margin:0}
.mail-domain-action-tile{
  appearance:none;
  width:100%;
  min-height:92px;
  border:1px solid var(--up-line);
  border-radius:15px;
  background:#fff;
  color:var(--gp-text);
  padding:15px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  text-decoration:none!important;
  cursor:pointer;
  font:inherit;
  box-shadow:0 10px 28px -24px rgba(15,23,42,.28);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.mail-domain-action-tile:hover{
  border-color:#f6c5ca;
  box-shadow:0 16px 34px -25px rgba(239,47,59,.3);
  transform:translateY(-1px);
  color:var(--gp-text)!important;
}
.mail-domain-action-tile.is-disabled{opacity:.58;cursor:default;transform:none!important;box-shadow:none}
.mail-domain-action-icon{
  width:42px;height:42px;border-radius:13px;flex:none;
  display:grid;place-items:center;background:#fff0f2;color:var(--up-red);
}
.mail-domain-action-icon .gp-icon{width:20px;height:20px}
.mail-domain-action-tile strong{display:block;font-size:13.5px;font-weight:750;margin-bottom:3px}
.mail-domain-action-tile small{display:block;font-size:11.5px;line-height:1.4;color:var(--gp-muted)}

.mail-domain-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mail-domain-kpi{
  min-width:0;
  background:#fff;
  border:1px solid var(--up-line);
  border-radius:15px;
  padding:16px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  box-shadow:0 10px 28px -24px rgba(15,23,42,.28);
}
.mail-domain-kpi-icon{
  width:40px;height:40px;border-radius:13px;flex:none;
  display:grid;place-items:center;background:#fff0f2;color:var(--up-red);
}
.mail-domain-kpi-icon.is-ok{background:#eafaf3;color:#10a568}
.mail-domain-kpi-icon.is-off{background:#f1f4f8;color:#7b8798}
.mail-domain-kpi-icon .gp-icon{width:18px;height:18px}
.mail-domain-kpi div{min-width:0}
.mail-domain-kpi small{display:block;font-size:10.5px;color:var(--gp-muted);font-weight:700;margin-bottom:5px}
.mail-domain-kpi strong{display:block;font-size:20px;line-height:1.1;color:var(--gp-text);font-weight:780;white-space:nowrap}
.mail-domain-kpi strong em{font-size:12px;color:var(--gp-muted);font-style:normal;font-weight:650}
.mail-domain-kpi p{margin:5px 0 0;font-size:10.5px;color:var(--gp-muted);line-height:1.4}

.mail-domain-v2140 .up-card{
  background:#fff!important;
  border:1px solid var(--up-line)!important;
  border-radius:16px!important;
  box-shadow:0 10px 30px -26px rgba(15,23,42,.3)!important;
  overflow:visible;
}
.mail-domain-section-head,
.mail-domain-mailboxes-head{
  min-height:68px;
  padding:15px 17px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-bottom:1px solid var(--up-line)!important;
  background:#fff!important;
  margin:0!important;
}
.mail-domain-section-head h2,
.mail-domain-mailboxes-head h2,
.mail-domain-danger-copy h2{margin:0;font-size:15px!important;font-weight:760!important;color:var(--gp-text)}
.mail-domain-section-head p,
.mail-domain-mailboxes-head p,
.mail-domain-danger-copy p{margin:3px 0 0;font-size:11.5px;line-height:1.45;color:var(--gp-muted)}

.mail-domain-capacity-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:16px;
  gap:10px;
}
.mail-domain-capacity-grid>div{
  padding:13px 14px;
  border:1px solid #edf0f4;
  border-radius:12px;
  background:#fafbfd;
}
.mail-domain-capacity-grid span{display:block;color:var(--gp-muted);font-size:10.5px;margin-bottom:5px}
.mail-domain-capacity-grid strong{font-size:15px;color:var(--gp-text);font-weight:750}

.mail-domain-dns-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:16px;
}
.mail-domain-dns-item{
  min-width:0;
  padding:14px;
  border:1px solid #edf0f4;
  border-radius:13px;
  background:#fafbfd;
}
.mail-domain-dns-item.is-ok{border-color:#d8f2e5;background:#fbfffd}
.mail-domain-dns-item.is-warn{border-color:#ffe4b3;background:#fffdf8}
.mail-domain-dns-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.mail-domain-dns-name{font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--gp-muted)}
.mail-domain-dns-state{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:800}
.mail-domain-dns-item.is-ok .mail-domain-dns-state{background:#e4f8ee;color:#0a9e60}
.mail-domain-dns-item.is-warn .mail-domain-dns-state{background:#fff2d8;color:#d98a00}
.mail-domain-dns-item strong{display:block;font-size:14px;color:var(--gp-text);margin-bottom:5px}
.mail-domain-dns-item p{margin:0;color:var(--gp-muted);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}

.mail-domain-mailbox-tools{display:flex;align-items:center;gap:8px;min-width:min(430px,100%)}
.mail-domain-mailbox-tools .input{flex:1;min-width:180px;height:38px!important;min-height:38px!important}
.mail-domain-bulk-bar{
  margin:12px 16px 0;
  padding:9px 11px;
  border:1px solid #ffd7db;
  border-radius:11px;
  background:#fff6f7;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  color:#b42331;font-size:11.5px;
}
.mail-domain-table-wrap{width:100%;overflow:visible;padding:0 16px 16px}
.mail-domain-mailbox-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:11.5px}
.mail-domain-mailbox-table th{
  height:42px;padding:10px 9px;text-align:left;
  border-bottom:1px solid var(--up-line);color:#687588;background:#fafbfd;
  font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;
}
.mail-domain-mailbox-table td{
  padding:11px 9px;border-bottom:1px solid #eef1f5;vertical-align:middle;color:var(--gp-text);
}
.mail-domain-mailbox-table tbody tr:last-child td{border-bottom:0}
.mail-domain-mailbox-table tbody tr:hover td{background:#fcfdff}
.mail-domain-mailbox-table th:nth-child(1),.mail-domain-mailbox-table td:nth-child(1){width:38px}
.mail-domain-mailbox-table th:nth-child(2),.mail-domain-mailbox-table td:nth-child(2){width:27%}
.mail-domain-mailbox-table th:nth-child(3),.mail-domain-mailbox-table td:nth-child(3){width:17%}
.mail-domain-mailbox-table th:nth-child(4),.mail-domain-mailbox-table td:nth-child(4){width:27%}
.mail-domain-mailbox-table th:nth-child(5),.mail-domain-mailbox-table td:nth-child(5){width:10%}
.mail-domain-mailbox-table th:nth-child(6),.mail-domain-mailbox-table td:nth-child(6){width:14%}
.mail-domain-account{display:flex;align-items:center;gap:9px;min-width:0}
.mail-domain-account-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff0f2;color:var(--up-red);font-weight:800;flex:none}
.mail-domain-account>div{min-width:0}
.mail-domain-account strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.mail-domain-account small{display:block;margin-top:3px;color:var(--gp-muted);font-size:9.5px}
.mail-domain-quota-form{display:grid;gap:4px}
.mail-domain-quota-row{display:flex;align-items:center;gap:5px;min-width:0}
.mail-domain-quota-row .input{width:76px;height:32px!important;min-height:32px!important;padding:6px 8px!important}
.mail-domain-quota-row>span{font-size:9.5px;color:var(--gp-muted)}
.mail-domain-quota-form>small{font-size:9.5px;color:var(--gp-muted)}
.mail-col-actions{text-align:right!important}
.mail-domain-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;position:relative}
.mail-domain-more-menu{position:relative;display:inline-block}
.mail-domain-more-menu>summary{list-style:none;cursor:pointer;min-width:36px;text-align:center}
.mail-domain-more-menu>summary::-webkit-details-marker{display:none}
.mail-domain-more-popover{
  position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:210px;
  background:#fff;border:1px solid var(--up-line);border-radius:12px;
  box-shadow:0 18px 50px -24px rgba(15,23,42,.4);padding:6px;
}
.mail-domain-menu-action,.mail-domain-password-item>summary{
  display:block;width:100%;border:0;background:transparent;text-align:left;
  padding:9px 10px;border-radius:8px;color:var(--gp-text);font:inherit;font-size:11.5px;cursor:pointer;list-style:none;
}
.mail-domain-menu-action:hover,.mail-domain-password-item>summary:hover{background:#f6f8fb}
.mail-domain-menu-action.is-danger{color:#d92e3c}
.mail-domain-password-item>summary::-webkit-details-marker{display:none}
.mail-domain-password-item form{display:grid;gap:7px;padding:8px 8px 10px}
.mail-domain-password-item .input{height:34px!important;min-height:34px!important}

.mail-domain-empty{padding:44px 20px;text-align:center;display:grid;place-items:center;gap:8px}
.mail-domain-empty-icon{width:50px;height:50px;border-radius:16px;background:#fff0f2;color:var(--up-red);display:grid;place-items:center}
.mail-domain-empty-icon .gp-icon{width:22px;height:22px}
.mail-domain-empty h3{margin:3px 0 0;font-size:15px}.mail-domain-empty p{margin:0 0 7px;font-size:11.5px;color:var(--gp-muted)}

.mail-domain-danger-card{
  padding:16px!important;display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-color:#ffd8dc!important;background:#fffafb!important;
}
.mail-domain-danger-copy{display:flex;align-items:flex-start;gap:12px}
.mail-domain-danger-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#fff0f2;color:var(--up-red);flex:none}
.mail-domain-danger-icon .gp-icon{width:18px;height:18px}
.mail-domain-danger-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.mail-domain-modal-v2140 .mail-modal-card{width:min(720px,calc(100vw - 32px))!important;overflow:hidden}
.mail-domain-modal-v2140 .mail-modal-head{padding:18px 20px!important}
.mail-domain-modal-v2140 form{padding:18px 20px 20px}
.mail-domain-modal-v2140 .mail-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mail-domain-modal-v2140 .mail-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.mail-domain-modal-note{margin-top:14px;padding:11px 12px;border:1px solid #e7ebf0;border-radius:10px;background:#f8fafc;color:var(--gp-muted);font-size:10.5px;line-height:1.5}

@media(max-width:1180px){
  .mail-domain-quick-actions,.mail-domain-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-domain-capacity-grid,.mail-domain-dns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-domain-mailbox-table th:nth-child(3),.mail-domain-mailbox-table td:nth-child(3){display:none}
  .mail-domain-mailbox-table th:nth-child(2),.mail-domain-mailbox-table td:nth-child(2){width:31%}
  .mail-domain-mailbox-table th:nth-child(4),.mail-domain-mailbox-table td:nth-child(4){width:31%}
}
@media(max-width:900px){
  .mail-domain-mailboxes-head{align-items:stretch!important;flex-direction:column}
  .mail-domain-mailbox-tools{min-width:0;width:100%}
  .mail-domain-mailbox-table th:nth-child(4),.mail-domain-mailbox-table td:nth-child(4){display:none}
  .mail-domain-mailbox-table th:nth-child(2),.mail-domain-mailbox-table td:nth-child(2){width:auto}
  .mail-domain-mailbox-table th:nth-child(5),.mail-domain-mailbox-table td:nth-child(5){width:90px}
  .mail-domain-mailbox-table th:nth-child(6),.mail-domain-mailbox-table td:nth-child(6){width:128px}
  .mail-domain-danger-card{align-items:flex-start;flex-direction:column}
  .mail-domain-danger-actions{justify-content:flex-start}
}
@media(max-width:680px){
  .mail-domain-quick-actions,.mail-domain-kpis,.mail-domain-capacity-grid,.mail-domain-dns-grid{grid-template-columns:1fr}
  .mail-domain-action-tile{min-height:76px}
  .mail-domain-modal-v2140 .mail-modal-grid{grid-template-columns:1fr}
  .mail-domain-table-wrap{padding:0 10px 12px}
  .mail-domain-mailbox-table th:nth-child(5),.mail-domain-mailbox-table td:nth-child(5){display:none}
  .mail-domain-mailbox-table th:nth-child(6),.mail-domain-mailbox-table td:nth-child(6){width:86px}
  .mail-domain-mailbox-tools{flex-direction:column;align-items:stretch}
}

/* ==============================================================
   v2.141 — Mail domain user-first layout
   ============================================================= */
.mail-domain-v2141{gap:14px!important}
.mail-domain-header-v2141{padding-bottom:16px!important}
.mail-domain-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mail-domain-title-line h1{margin:0!important}
.mail-domain-sync-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:7px;color:var(--gp-muted);font-size:10.5px}
.mail-domain-sync-meta strong{color:var(--gp-text-2);font-weight:700}

.mail-domain-kpis-v2141{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important}
.mail-domain-kpis-v2141 .mail-domain-kpi{min-height:104px!important;padding:16px!important}
.mail-domain-kpi.is-service-ok{border-color:#cdeedf!important;background:linear-gradient(180deg,#fbfffd,#f6fdf9)!important}
.mail-domain-usage-kpi{width:100%}
.mail-domain-progress,.mail-domain-row-progress{appearance:none;-webkit-appearance:none;width:100%;border:0;overflow:hidden;background:#edf1f5;border-radius:999px}
.mail-domain-progress{height:7px;margin-top:8px}
.mail-domain-row-progress{height:5px;margin-top:4px}
.mail-domain-progress::-webkit-progress-bar,.mail-domain-row-progress::-webkit-progress-bar{background:#edf1f5;border-radius:999px}
.mail-domain-progress::-webkit-progress-value,.mail-domain-row-progress::-webkit-progress-value{background:linear-gradient(90deg,#36c879,#10a568);border-radius:999px}
.mail-domain-progress::-moz-progress-bar,.mail-domain-row-progress::-moz-progress-bar{background:#10a568;border-radius:999px}

.mail-domain-mailboxes-primary{order:0!important;margin:0!important}
.mail-domain-mailboxes-head-v2141{padding:16px 18px!important}
.mail-domain-heading-inline{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mail-domain-count{font-size:11px;color:var(--gp-muted);font-weight:600}
.mail-domain-sync-form .gp-icon,.mail-domain-row-actions-v2141 .gp-icon{width:13px;height:13px;vertical-align:-2px;margin-right:4px}

.mail-domain-account-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:10px;padding:12px 18px;border-bottom:1px solid var(--gp-line-2);background:#fbfcfe}
.mail-domain-account-search{position:relative}
.mail-domain-account-search>.gp-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--gp-muted);z-index:2}
.mail-domain-account-search .input{width:100%;padding-left:38px!important}
.mail-domain-status-filter{width:100%!important}

.mail-domain-table-wrap-v2141{padding:0 18px 12px!important;overflow:visible!important}
.mail-domain-mailbox-table-v2141{font-size:11.5px!important}
.mail-domain-mailbox-table-v2141 th{padding:11px 10px!important}
.mail-domain-mailbox-table-v2141 td{padding:10px!important}
.mail-domain-mailbox-table-v2141 th:nth-child(1),.mail-domain-mailbox-table-v2141 td:nth-child(1){width:42px}
.mail-domain-mailbox-table-v2141 th:nth-child(2),.mail-domain-mailbox-table-v2141 td:nth-child(2){width:27%}
.mail-domain-mailbox-table-v2141 th:nth-child(3),.mail-domain-mailbox-table-v2141 td:nth-child(3){width:15%}
.mail-domain-mailbox-table-v2141 th:nth-child(4),.mail-domain-mailbox-table-v2141 td:nth-child(4){width:25%}
.mail-domain-mailbox-table-v2141 th:nth-child(5),.mail-domain-mailbox-table-v2141 td:nth-child(5){width:9%}
.mail-domain-mailbox-table-v2141 th:nth-child(6),.mail-domain-mailbox-table-v2141 td:nth-child(6){width:24%}
.mail-domain-account-icon{text-transform:uppercase;border-radius:999px!important}
.mail-domain-quota-form-v2141{min-width:0}
.mail-domain-quota-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mail-domain-quota-head>small{white-space:nowrap}
.mail-domain-row-actions-v2141{gap:5px!important;white-space:nowrap}
.mail-inline-action-form{margin:0}

.mail-inline-password{position:relative;display:inline-block}
.mail-inline-password>summary{list-style:none;cursor:pointer}
.mail-inline-password>summary::-webkit-details-marker{display:none}
.mail-inline-password-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:260px;padding:12px;background:#fff;border:1px solid var(--gp-line);border-radius:12px;box-shadow:var(--gp-shadow-lg)}
.mail-inline-password-popover>strong{display:block;font-size:12px;margin-bottom:8px;color:var(--gp-text)}
.mail-inline-password-popover form{display:grid;gap:8px}

.mail-domain-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mail-domain-secondary-card{padding:0!important;overflow:visible!important;box-shadow:var(--gp-shadow)!important}
.mail-domain-secondary-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 20px;gap:12px;align-items:center;padding:14px 16px}
.mail-domain-secondary-card>summary::-webkit-details-marker{display:none}
.mail-domain-secondary-card[open]>summary{border-bottom:1px solid var(--gp-line-2)}
.mail-domain-secondary-icon{width:40px;height:40px;border-radius:13px;background:#fff0f2;color:var(--up-red);display:grid;place-items:center}
.mail-domain-secondary-icon.is-green{background:#eafaf3;color:#10a568}
.mail-domain-secondary-icon .gp-icon{width:18px;height:18px}
.mail-domain-secondary-card summary strong{display:block;font-size:13px;color:var(--gp-text);margin-bottom:3px}
.mail-domain-secondary-card summary small{display:block;color:var(--gp-muted);font-size:10.5px;line-height:1.4}
.mail-domain-secondary-arrow{font-size:22px;color:var(--gp-muted);transition:transform .18s ease}
.mail-domain-secondary-card[open] .mail-domain-secondary-arrow{transform:rotate(90deg)}
.mail-domain-secondary-body{padding:14px 16px 16px}
.mail-domain-secondary-grid .mail-domain-capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mail-domain-secondary-grid .mail-domain-dns-grid{grid-template-columns:1fr}
.mail-domain-secondary-actions{display:flex;justify-content:flex-end;margin-top:12px}
.mail-domain-domain-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.mail-domain-modal-v2141 .mail-modal-card{width:min(720px,calc(100vw - 32px))!important;overflow:hidden}
.mail-domain-modal-v2141 .mail-modal-head{padding:18px 20px!important}
.mail-domain-modal-v2141 form{padding:18px 20px 20px}
.mail-domain-modal-v2141 .mail-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mail-domain-modal-v2141 .mail-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

@media(max-width:1320px){
  .mail-domain-mailbox-table-v2141 th:nth-child(3),.mail-domain-mailbox-table-v2141 td:nth-child(3){display:none}
  .mail-domain-mailbox-table-v2141 th:nth-child(2),.mail-domain-mailbox-table-v2141 td:nth-child(2){width:29%}
  .mail-domain-mailbox-table-v2141 th:nth-child(4),.mail-domain-mailbox-table-v2141 td:nth-child(4){width:25%}
  .mail-domain-mailbox-table-v2141 th:nth-child(6),.mail-domain-mailbox-table-v2141 td:nth-child(6){width:29%}
}
@media(max-width:1100px){
  .mail-domain-kpis-v2141{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-domain-secondary-grid{grid-template-columns:1fr}
  .mail-domain-account-toolbar{grid-template-columns:1fr 170px}
  .mail-domain-account-toolbar>.btn{grid-column:2}
  .mail-domain-mailboxes-head-v2141{align-items:flex-start!important}
}
@media(max-width:900px){
  .mail-domain-account-toolbar{grid-template-columns:1fr}
  .mail-domain-account-toolbar>.btn{grid-column:auto}
  .mail-domain-mailbox-table-v2141 th:nth-child(4),.mail-domain-mailbox-table-v2141 td:nth-child(4){display:none}
  .mail-domain-mailbox-table-v2141 th:nth-child(2),.mail-domain-mailbox-table-v2141 td:nth-child(2){width:auto}
  .mail-domain-mailbox-table-v2141 th:nth-child(5),.mail-domain-mailbox-table-v2141 td:nth-child(5){width:84px}
  .mail-domain-mailbox-table-v2141 th:nth-child(6),.mail-domain-mailbox-table-v2141 td:nth-child(6){width:210px}
  .mail-domain-row-actions-v2141 .mail-inline-action-form{display:none}
}
@media(max-width:680px){
  .mail-domain-kpis-v2141{grid-template-columns:1fr}
  .mail-domain-sync-meta{display:grid;gap:4px}
  .mail-domain-mailbox-table-v2141 th:nth-child(5),.mail-domain-mailbox-table-v2141 td:nth-child(5){display:none}
  .mail-domain-mailbox-table-v2141 th:nth-child(6),.mail-domain-mailbox-table-v2141 td:nth-child(6){width:112px}
  .mail-domain-row-actions-v2141 .mail-inline-password{display:none}
  .mail-domain-modal-v2141 .mail-modal-grid{grid-template-columns:1fr}
}

/* =====================================================================
   Cron redesign v2.142 — user-friendly single-column management layout
   ===================================================================== */
.gp-page-cron.cron-redesign-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cron-hero {
  align-items: center;
}

.cron-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cron-summary-card {
  background: #fff;
  border: 1px solid var(--up-line);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: var(--up-shadow);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cron-summary-label {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a94a6;
}

.cron-summary-card strong {
  font-size: 32px;
  line-height: 1;
  color: #0f172a;
}

.cron-summary-card small {
  color: #64748b;
  font-size: 13px;
}

.cron-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
  gap: 18px;
  align-items: start;
}

.cron-create-card,
.cron-help-card,
.cron-list-card {
  background: #fff;
  border: 1px solid var(--up-line);
  border-radius: 18px;
  box-shadow: var(--up-shadow);
}

.cron-create-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.field-span-2 {
  grid-column: 1 / -1;
}

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

.cron-schedule-grid-redesign {
  grid-template-columns: repeat(5, minmax(88px, 1fr));
  gap: 10px;
}

.cron-schedule-grid-redesign label {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 10px;
}

.cron-schedule-grid-redesign label span {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.cron-schedule-grid-redesign .input {
  background: #fff;
  border-color: #dbe1ea;
  min-height: 42px;
}

.cron-pattern-help {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 12px;
  color: #64748b;
  font-size: 13px;
}

.cron-pattern-help code,
.cron-cheat-item code {
  background: #fff5f6;
  color: var(--up-red);
  border: 1px solid #ffd9de;
  border-radius: 10px;
  padding: 3px 8px;
  font-size: 12px;
}

.cron-create-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.cron-help-card .card-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cron-help-block h3,
.cron-list-toolbar h2 {
  margin: 0;
  font-size: 24px;
  color: #0f172a;
}

.cron-cheat-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cron-cheat-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  color: #334155;
  font-size: 13px;
}

.cron-cheat-item span {
  color: #64748b;
  text-align: right;
}

.cron-help-note {
  border-top: 1px solid #edf1f6;
  padding-top: 16px;
}

.cron-help-note h4 {
  margin: 0 0 10px;
  font-size: 15px;
  color: #0f172a;
}

.cron-help-note ul {
  margin: 0;
  padding-left: 18px;
  color: #64748b;
  display: grid;
  gap: 8px;
}

.cron-list-card {
  padding: 0;
  overflow: hidden;
}

.cron-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border-bottom: 1px solid #edf1f6;
}

.cron-list-toolbar p {
  margin: 4px 0 0;
}

.cron-list-search {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cron-list-search .input {
  min-width: 320px;
}

.cron-job-list {
  display: flex;
  flex-direction: column;
}

.cron-job-card {
  padding: 20px 22px;
  border-bottom: 1px solid #edf1f6;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cron-job-card:last-child {
  border-bottom: 0;
}

.cron-job-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.cron-job-ident {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.cron-job-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff5f6;
  border: 1px solid #ffd9de;
  font-size: 20px;
}

.cron-job-site {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}

.cron-job-user {
  font-size: 13px;
  color: #64748b;
  margin-top: 3px;
}

.cron-job-head-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.cron-schedule-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.cron-pill {
  min-width: 42px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  color: #0f172a;
  text-align: center;
  font-size: 13px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.cron-full-schedule {
  color: #64748b;
  font-size: 12px;
}

.cron-job-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.cron-command-block,
.cron-job-status {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cron-command-box {
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.cron-job-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.cron-edit-box-redesign {
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
}

.cron-edit-box-redesign[open] {
  width: 100%;
}

.cron-edit-form-redesign {
  margin-top: 14px;
  padding: 18px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cron-edit-grid {
  margin-bottom: 0;
}

.cron-list-card .empty {
  margin: 22px;
}

@media (max-width: 1280px) {
  .cron-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cron-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .cron-create-form {
    grid-template-columns: 1fr;
  }

  .field-span-2 {
    grid-column: auto;
  }

  .cron-list-toolbar,
  .cron-job-head,
  .cron-job-body,
  .cron-job-actions,
  .field-label-row {
    flex-direction: column;
    align-items: stretch;
  }

  .cron-job-body {
    grid-template-columns: 1fr;
  }

  .cron-job-head-right {
    align-items: flex-start;
  }

  .cron-schedule-pills {
    justify-content: flex-start;
  }

  .cron-list-search .input {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .cron-summary-strip {
    grid-template-columns: 1fr;
  }

  .cron-schedule-grid-redesign,
  .cron-edit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cron-cheat-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .cron-cheat-item span {
    text-align: left;
  }
}

/* ===== v2.143 Cron visual-match redesign ===== */
.gp-page-cron.cron-reference-page {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.cron-reference-page .breadcrumbs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
}

.cron-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.cron-kpi-card {
  background: #fff;
  border: 1px solid #e8edf5;
  border-radius: 22px;
  padding: 20px 22px;
  display: flex;
  align-items: center;
  gap: 18px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.cron-kpi-icon {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
}

.cron-kpi-icon .gp-icon {
  width: 28px;
  height: 28px;
}

.cron-kpi-red { background: #fff1f2; color: #ef4444; }
.cron-kpi-green { background: #ecfdf3; color: #16a34a; }
.cron-kpi-slate { background: #f3f4f6; color: #475569; }
.cron-kpi-blue { background: #eff6ff; color: #2563eb; }

.cron-kpi-card strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.1;
}

.cron-kpi-label,
.cron-kpi-card small {
  display: block;
}

.cron-kpi-label {
  color: #475569;
  font-weight: 700;
  font-size: 14px;
}

.cron-kpi-card small {
  margin-top: 5px;
  color: #94a3b8;
  font-size: 13px;
}

.cron-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(360px, .9fr);
  gap: 18px;
  align-items: start;
}

.cron-list-shell,
.cron-create-shell,
.cron-guide-shell {
  border-radius: 24px;
  overflow: hidden;
}

.cron-list-shell-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px 12px;
}

.cron-list-shell-head h2,
.cron-create-shell-head h2,
.cron-guide-shell h3 {
  margin: 0;
  color: #0f172a;
}

.cron-top-filters {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cron-search-box {
  min-width: 320px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 16px;
  padding: 0 14px;
}

.cron-search-box .gp-icon {
  width: 18px;
  height: 18px;
  color: #94a3b8;
}

.cron-search-box .input {
  border: 0;
  box-shadow: none;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

.cron-filter-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 22px 14px;
}

.cron-filter-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #eceff4;
  background: #f8fafc;
  color: #475569;
  font-weight: 700;
  text-decoration: none;
}

.cron-filter-tab.active {
  background: #fff1f2;
  color: #ef4444;
  border-color: #fecdd3;
}

.cron-table-wrap {
  padding: 0 14px;
  overflow-x: auto;
}

.cron-job-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.cron-job-table thead th {
  text-align: left;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
  padding: 14px 14px;
  border-top: 1px solid #edf2f7;
  border-bottom: 1px solid #edf2f7;
  background: #fafbfd;
}

.cron-job-table thead th:first-child {
  border-top-left-radius: 16px;
}

.cron-job-table thead th:last-child {
  border-top-right-radius: 16px;
}

.cron-job-table tbody td {
  padding: 14px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
  background: #fff;
}

.cron-site-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cron-site-cell strong {
  color: #0f172a;
  font-size: 15px;
}

.cron-site-cell small {
  color: #64748b;
  font-size: 12px;
}

.cron-schedule-mini {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.cron-schedule-mini span {
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border: 1px solid #e7ebf3;
  color: #334155;
  font-weight: 700;
  font-size: 13px;
}

.cron-schedule-full {
  color: #64748b;
  font-size: 12px;
}

.cron-command-line {
  max-width: 320px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid #e9eef6;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12px;
}

.cron-state-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
}

.cron-state-badge i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
}

.cron-state-badge.is-active {
  background: #eafbf0;
  color: #15803d;
}

.cron-state-badge.is-active i { background: #16a34a; }

.cron-state-badge.is-passive {
  background: #fef2f2;
  color: #dc2626;
}

.cron-state-badge.is-passive i { background: #ef4444; }

.cron-date-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e7ebf3;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
}

.cron-actions-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.cron-inline-editor {
  position: relative;
}

.cron-inline-editor summary {
  list-style: none;
}

.cron-inline-editor summary::-webkit-details-marker {
  display: none;
}

.cron-inline-editor-box {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20;
  width: min(540px, 72vw);
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
}

.cron-edit-form-inline {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cron-schedule-grid-inline {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cron-schedule-grid-inline label,
.cron-schedule-grid-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cron-schedule-grid-inline label span,
.cron-schedule-grid-form label span,
.cron-schedule-grid-form .field-label,
.cron-schedule-grid-inline .field-label {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.cron-table-footer {
  padding: 16px 22px 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cron-table-footer .pagination-card {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.cron-side-column {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cron-create-shell-head {
  padding: 18px 22px 0;
}

.cron-create-form-reference {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cron-schedule-grid-form {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.cron-quick-chips {
  margin-top: 10px;
}

.cron-quick-chips > span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}

.cron-quick-chips > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cron-quick-chips code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff1f2;
  color: #ef4444;
  border: 1px solid #fecdd3;
  font-size: 12px;
  font-family: inherit;
}

.cron-command-textarea {
  min-height: 82px;
  resize: vertical;
}

.cron-toggle-line {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #475569;
  font-size: 14px;
  font-weight: 600;
}

.cron-toggle-line input {
  width: 18px;
  height: 18px;
  accent-color: #ef4444;
}

.cron-submit-btn {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
}

.cron-guide-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}

.cron-guide-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #2563eb;
}

.cron-guide-visual {
  background: #f8fafc;
  border: 1px solid #e9eef6;
  border-radius: 18px;
  padding: 16px;
}

.cron-guide-expression {
  text-align: center;
  font-size: 21px;
  color: #0f172a;
  letter-spacing: .08em;
  margin-bottom: 10px;
}

.cron-guide-labels {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.cron-guide-labels span {
  text-align: center;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.cron-guide-examples {
  margin-top: 14px;
  color: #475569;
  font-size: 13px;
}

.cron-guide-examples code {
  color: #0f172a;
  background: #f1f5f9;
  border-radius: 8px;
  padding: 3px 6px;
}

.cron-empty {
  margin: 18px 0;
}

@media (max-width: 1360px) {
  .cron-main-grid {
    grid-template-columns: 1fr;
  }

  .cron-side-column {
    order: -1;
  }
}

@media (max-width: 1080px) {
  .cron-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cron-list-shell-head {
    flex-direction: column;
    align-items: stretch;
  }

  .cron-top-filters,
  .cron-search-box {
    width: 100%;
  }
}

@media (max-width: 840px) {
  .cron-kpi-grid {
    grid-template-columns: 1fr;
  }

  .cron-schedule-grid-form,
  .cron-schedule-grid-inline,
  .cron-guide-labels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cron-inline-editor-box {
    position: fixed;
    inset: 8vh 16px auto 16px;
    width: auto;
    max-height: 80vh;
    overflow: auto;
  }
}


/* ===== v2.144 Cron fit/align hotfix ===== */
.cron-reference-page .cron-main-grid {
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 16px;
}

.cron-reference-page .cron-table-wrap {
  overflow-x: hidden;
}

.cron-reference-page .cron-job-table {
  table-layout: fixed;
}

.cron-reference-page .cron-job-table th:nth-child(1),
.cron-reference-page .cron-job-table td:nth-child(1) { width: 18%; }
.cron-reference-page .cron-job-table th:nth-child(2),
.cron-reference-page .cron-job-table td:nth-child(2) { width: 14%; }
.cron-reference-page .cron-job-table th:nth-child(3),
.cron-reference-page .cron-job-table td:nth-child(3) { width: 28%; }
.cron-reference-page .cron-job-table th:nth-child(4),
.cron-reference-page .cron-job-table td:nth-child(4) { width: 11%; }
.cron-reference-page .cron-job-table th:nth-child(5),
.cron-reference-page .cron-job-table td:nth-child(5) { width: 14%; }
.cron-reference-page .cron-job-table th:nth-child(6),
.cron-reference-page .cron-job-table td:nth-child(6) { width: 15%; }

.cron-reference-page .cron-job-table tbody td {
  padding: 12px 10px;
}

.cron-reference-page .cron-schedule-mini {
  gap: 6px;
  flex-wrap: nowrap;
}

.cron-reference-page .cron-schedule-mini span {
  min-width: 30px;
  width: 30px;
  height: 30px;
  font-size: 12px;
}

.cron-reference-page .cron-schedule-full {
  margin-top: 2px;
  line-height: 1.35;
  word-break: break-word;
}

.cron-reference-page .cron-command-line {
  max-width: 100%;
  padding: 9px 10px;
  font-size: 11.5px;
}

.cron-reference-page .cron-state-badge {
  padding: 8px 10px;
  font-size: 12px;
}

.cron-reference-page .cron-date-chip {
  padding: 8px 10px;
  font-size: 11.5px;
  line-height: 1.35;
}

.cron-reference-page .cron-actions-row {
  gap: 6px;
  flex-wrap: wrap;
}

.cron-reference-page .btn-xs {
  padding-left: 10px;
  padding-right: 10px;
}

.cron-reference-page .cron-schedule-grid-form {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.cron-reference-page .cron-schedule-grid-form label span,
.cron-reference-page .cron-schedule-grid-inline label span {
  min-height: 26px;
  display: flex;
  align-items: flex-end;
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: .01em;
}

.cron-reference-page .cron-schedule-grid-form .input,
.cron-reference-page .cron-schedule-grid-inline .input {
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}

.cron-reference-page .cron-search-box {
  min-width: 260px;
}

@media (max-width: 1540px) {
  .cron-reference-page .cron-main-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
  }

  .cron-reference-page .cron-job-table th:nth-child(1),
  .cron-reference-page .cron-job-table td:nth-child(1) { width: 17%; }
  .cron-reference-page .cron-job-table th:nth-child(2),
  .cron-reference-page .cron-job-table td:nth-child(2) { width: 13%; }
  .cron-reference-page .cron-job-table th:nth-child(3),
  .cron-reference-page .cron-job-table td:nth-child(3) { width: 27%; }
  .cron-reference-page .cron-job-table th:nth-child(4),
  .cron-reference-page .cron-job-table td:nth-child(4) { width: 11%; }
  .cron-reference-page .cron-job-table th:nth-child(5),
  .cron-reference-page .cron-job-table td:nth-child(5) { width: 14%; }
  .cron-reference-page .cron-job-table th:nth-child(6),
  .cron-reference-page .cron-job-table td:nth-child(6) { width: 18%; }

  .cron-reference-page .cron-schedule-mini span {
    min-width: 28px;
    width: 28px;
    height: 28px;
    font-size: 11px;
  }
}

@media (max-width: 1360px) {
  .cron-reference-page .cron-main-grid {
    grid-template-columns: 1fr;
  }

  .cron-reference-page .cron-table-wrap {
    overflow-x: auto;
  }
}

/* ===== v2.145 Cron functional + visual cleanup ===== */
.cron-reference-page .cron-search-box {
  min-width: 280px;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #e4e9f1;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

.cron-reference-page .cron-search-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  color: #0f172a;
  font: inherit;
}

.cron-reference-page .cron-search-input::placeholder {
  color: #94a3b8;
}

.cron-reference-page .cron-schedule-text {
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.cron-reference-page .cron-preset-btn {
  appearance: none;
  border: 1px solid #fecdd3;
  background: #fff1f2;
  color: #ef4444;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: .15s ease;
}

.cron-reference-page .cron-preset-btn:hover,
.cron-reference-page .cron-preset-btn.active {
  background: #ef3340;
  border-color: #ef3340;
  color: #fff;
  transform: translateY(-1px);
}

.cron-reference-page .cron-switch-line {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.cron-reference-page .cron-switch-line > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cron-reference-page .cron-switch-ui {
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  transition: .18s ease;
}

.cron-reference-page .cron-switch-ui::after {
  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, .18);
  transition: .18s ease;
}

.cron-reference-page .cron-switch-line > input:checked + .cron-switch-ui {
  background: #ef3340;
}

.cron-reference-page .cron-switch-line > input:checked + .cron-switch-ui::after {
  transform: translateX(20px);
}

.cron-reference-page .cron-switch-line > input:focus-visible + .cron-switch-ui {
  outline: 3px solid rgba(239, 51, 64, .18);
  outline-offset: 2px;
}

.cron-reference-page .cron-switch-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cron-reference-page .cron-switch-copy strong {
  color: #0f172a;
  font-size: 14px;
}

.cron-reference-page .cron-switch-copy small {
  color: #64748b;
  font-size: 12px;
}

.cron-reference-page .cron-create-is-passive .cron-switch-copy strong {
  color: #dc2626;
}

/* Old circular schedule visual is intentionally disabled in v2.145. */
.cron-reference-page .cron-schedule-mini { display: none !important; }

/* ===== v2.146 Cache + SSL manager ===== */
.cache-manager-page{display:flex;flex-direction:column;gap:18px}
.cache-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cache-summary-card{background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:18px 20px;box-shadow:0 10px 30px rgba(15,23,42,.04)}
.cache-summary-card span,.cache-summary-card small{display:block}.cache-summary-card span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.cache-summary-card strong{display:block;margin-top:6px;font-size:24px;color:#0f172a}.cache-summary-card small{margin-top:4px;color:#64748b;font-size:12.5px}
.cache-domain-card{overflow:hidden;padding:0!important}.cache-domain-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #edf1f6}.cache-domain-head h2{margin:0;color:#0f172a}.cache-domain-head p{margin:4px 0 0}.cache-search-wrap{display:flex;align-items:center;gap:8px;width:300px;border:1px solid #e5e7eb;border-radius:14px;padding:0 12px;background:#fff}.cache-search-wrap .gp-icon{width:17px;height:17px;color:#94a3b8}.cache-search-wrap .input{border:0;box-shadow:none;background:transparent;padding-left:0;padding-right:0}
.cache-table-wrap{overflow-x:auto;padding:0 14px 14px}.cache-domain-table{width:100%;border-collapse:separate;border-spacing:0}.cache-domain-table th{padding:13px 12px;text-align:left;font-size:12px;font-weight:800;color:#64748b;background:#fafbfd;border-bottom:1px solid #e8edf5}.cache-domain-table td{padding:14px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.cache-domain-table tbody tr:last-child td{border-bottom:0}.cache-domain-name{display:flex;align-items:center;gap:9px;min-width:180px}.cache-domain-name strong{color:#0f172a}.cache-domain-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 5px #fff1f2}.cache-state-stack{display:flex;align-items:center;gap:8px;white-space:nowrap}.cache-ttl-chip{display:inline-flex;padding:7px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e7ebf3;color:#475569}.cache-ssl-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.cache-ssl-badge i{width:9px;height:9px;border-radius:50%;display:block}.cache-ssl-badge.is-ok{background:#eafbf0;color:#15803d}.cache-ssl-badge.is-ok i{background:#16a34a}.cache-ssl-badge.is-warn{background:#fff7e8;color:#b45309}.cache-ssl-badge.is-warn i{background:#f59e0b}.cache-ssl-badge.is-danger{background:#fff1f2;color:#dc2626}.cache-ssl-badge.is-danger i{background:#ef4444}.cache-ssl-badge.is-none{background:#f3f4f6;color:#475569}.cache-ssl-badge.is-none i{background:#94a3b8}.cache-ssl-badge.is-unknown{background:#eff6ff;color:#1d4ed8}.cache-ssl-badge.is-unknown i{background:#3b82f6}.cache-ssl-days{display:flex;flex-direction:column;gap:2px}.cache-ssl-days strong{color:#0f172a;font-size:13px}.cache-ssl-days small{color:#94a3b8;font-size:11px}.cache-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:250px}
.cache-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cache-info-card h3{margin-top:0}.cache-info-card p{margin:8px 0;color:#64748b;line-height:1.55}
.cache-modal-backdrop{position:fixed;inset:0;z-index:500;background:rgba(15,23,42,.38);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.cache-modal-backdrop[hidden]{display:none}.cache-modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.22)}.cache-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid #edf1f6}.cache-modal-head h3{margin:4px 0 0;font-size:22px;color:#0f172a}.cache-modal-close{width:34px;height:34px;border-radius:11px;border:1px solid #e5e7eb;background:#fff;font-size:22px;line-height:1;cursor:pointer;color:#64748b}.cache-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.cache-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid #edf1f6}
.cache-purge-types{display:flex;gap:10px;flex-wrap:wrap}.cache-purge-types label{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc;color:#475569;font-weight:700;font-size:13px}.cache-purge-types input{accent-color:#ef4444}.cache-node-list{display:flex;flex-direction:column;gap:10px}.cache-node-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,1.2fr) 110px;gap:12px;align-items:center;padding:13px 14px;border:1px solid #e9eef5;border-radius:15px;background:#fafbfd}.cache-node-main{display:flex;align-items:center;gap:10px}.cache-node-main strong,.cache-node-main small{display:block}.cache-node-main small{color:#94a3b8;margin-top:2px}.cache-node-status-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8}.cache-node-status-dot.is-up{background:#16a34a}.cache-node-status-dot.is-down{background:#ef4444}.cache-node-progress,.cache-total-progress{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden}.cache-node-progress span,.cache-total-progress span{display:block;width:0;height:100%;background:#ef3340;border-radius:999px;transition:width .3s ease}.cache-node-result{text-align:right;color:#64748b;font-size:12px}.cache-node-row.is-success .cache-node-progress span{background:#16a34a}.cache-node-row.is-error .cache-node-progress span{background:#ef4444}.cache-modal-summary{color:#475569;font-size:13px}
.cache-setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e9eef5;border-radius:15px;background:#fafbfd}.cache-setting-row strong,.cache-setting-row small{display:block}.cache-setting-row small{margin-top:4px;color:#94a3b8}.cache-switch{position:relative;display:inline-flex}.cache-switch input{position:absolute;opacity:0;pointer-events:none}.cache-switch span{width:46px;height:26px;border-radius:999px;background:#cbd5e1;display:block;position:relative;transition:.2s}.cache-switch span:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.18);transition:.2s}.cache-switch input:checked+span{background:#ef3340}.cache-switch input:checked+span:after{transform:translateX(20px)}
.cache-ssl-renew-state{display:grid;grid-template-columns:42px 1fr;gap:4px 12px;align-items:center;padding:16px;border:1px solid #e9eef5;border-radius:16px;background:#fafbfd}.cache-ssl-renew-state strong{color:#0f172a}.cache-ssl-renew-state span{grid-column:2}.cache-spinner{width:36px;height:36px;border-radius:50%;border:3px solid #fee2e2;border-top-color:#ef3340;animation:cacheSpin 1s linear infinite;grid-row:1/3}.cache-ssl-renew-state.is-done .cache-spinner{animation:none;border-color:#bbf7d0;background:#ecfdf3;position:relative}.cache-ssl-renew-state.is-error .cache-spinner{animation:none;border-color:#fecaca;background:#fef2f2}@keyframes cacheSpin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.cache-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cache-info-grid{grid-template-columns:1fr}.cache-domain-head{flex-direction:column;align-items:stretch}.cache-search-wrap{width:100%}}
@media(max-width:720px){.cache-summary-grid{grid-template-columns:1fr}.cache-node-row{grid-template-columns:1fr}.cache-node-result{text-align:left}.cache-actions{min-width:0}.cache-modal-backdrop{padding:8px}.cache-modal{border-radius:18px}}

/* ===== v2.147 Separate Cache / SSL pages ===== */
.cache-only-table th:nth-child(1),.cache-only-table td:nth-child(1){width:34%}
.cache-only-table th:nth-child(2),.cache-only-table td:nth-child(2){width:16%}
.cache-only-table th:nth-child(3),.cache-only-table td:nth-child(3){width:16%}
.cache-only-table th:nth-child(4),.cache-only-table td:nth-child(4){width:14%}
.cache-only-table th:nth-child(5),.cache-only-table td:nth-child(5){width:20%}
.cache-info-grid-single{grid-template-columns:1fr}.cache-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cache-layer-grid>div{padding:16px;border:1px solid #e9eef5;border-radius:15px;background:#fafbfd}.cache-layer-grid strong,.cache-layer-grid span{display:block}.cache-layer-grid strong{color:#0f172a;margin-bottom:6px}.cache-layer-grid span{color:#64748b;line-height:1.5;font-size:13px}

.ssl-manager-page{display:flex;flex-direction:column;gap:18px}.ssl-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ssl-summary-card{background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:18px 20px;box-shadow:0 10px 30px rgba(15,23,42,.04);position:relative;overflow:hidden}.ssl-summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}.ssl-summary-card.is-good:before{background:#16a34a}.ssl-summary-card.is-warn:before{background:#f59e0b}.ssl-summary-card.is-danger:before{background:#ef4444}.ssl-summary-card span,.ssl-summary-card small{display:block}.ssl-summary-card span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.ssl-summary-card strong{display:block;margin-top:6px;font-size:25px;color:#0f172a}.ssl-summary-card small{margin-top:4px;color:#64748b;font-size:12.5px}
.ssl-node-strip{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px}.ssl-master-card{background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:13px;box-shadow:0 10px 30px rgba(15,23,42,.035)}.ssl-master-icon{width:46px;height:46px;border-radius:14px;background:#fff1f2;color:#ef3340;display:flex;align-items:center;justify-content:center}.ssl-master-icon .gp-icon{width:23px;height:23px}.ssl-master-card span,.ssl-master-card strong,.ssl-master-card small{display:block}.ssl-master-card span{font-size:11px;font-weight:800;letter-spacing:.07em;color:#94a3b8}.ssl-master-card strong{margin-top:2px;color:#0f172a}.ssl-master-card small{margin-top:3px;color:#64748b}.ssl-edge-node-list{display:flex;align-items:stretch;gap:10px;overflow-x:auto}.ssl-edge-node{min-width:170px;background:#fff;border:1px solid #e8edf5;border-radius:16px;padding:13px 15px;display:grid;grid-template-columns:10px 1fr;gap:3px 8px;align-items:center}.ssl-edge-node i{width:9px;height:9px;border-radius:50%;background:#94a3b8;grid-row:1/3}.ssl-edge-node.is-up i{background:#16a34a}.ssl-edge-node.is-down i{background:#ef4444}.ssl-edge-node span{font-weight:800;color:#0f172a;font-size:13px}.ssl-edge-node small{color:#94a3b8;font-size:11px}
.ssl-domain-card{overflow:hidden;padding:0!important}.ssl-domain-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #edf1f6}.ssl-domain-head h2{margin:0;color:#0f172a}.ssl-domain-head p{margin:4px 0 0}.ssl-search-wrap{display:flex;align-items:center;gap:8px;width:300px;border:1px solid #e5e7eb;border-radius:14px;padding:0 12px;background:#fff}.ssl-search-wrap .gp-icon{width:17px;height:17px;color:#94a3b8}.ssl-search-wrap .input{border:0;box-shadow:none;background:transparent;padding-left:0;padding-right:0}.ssl-table-wrap{overflow-x:auto;padding:0 14px 14px}.ssl-domain-table{width:100%;border-collapse:separate;border-spacing:0}.ssl-domain-table th{padding:13px 12px;text-align:left;font-size:12px;font-weight:800;color:#64748b;background:#fafbfd;border-bottom:1px solid #e8edf5;white-space:nowrap}.ssl-domain-table td{padding:14px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.ssl-domain-table tbody tr:last-child td{border-bottom:0}.ssl-domain-name{display:flex;align-items:center;gap:10px;min-width:210px}.ssl-domain-icon{width:34px;height:34px;border-radius:11px;background:#fff1f2;color:#ef3340;display:flex;align-items:center;justify-content:center}.ssl-domain-icon .gp-icon{width:17px;height:17px}.ssl-domain-name strong,.ssl-domain-name small{display:block}.ssl-domain-name strong{color:#0f172a}.ssl-domain-name small{margin-top:2px;color:#94a3b8;font-size:11px}.ssl-days-left{color:#15803d;white-space:nowrap}.ssl-days-left.is-warn{color:#b45309}.ssl-days-left.is-danger{color:#dc2626}.ssl-date{color:#475569;font-size:12px;white-space:nowrap}.ssl-action-note{color:#94a3b8;font-size:12px}.ssl-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ssl-info-grid h3{margin-top:0}
@media(max-width:1200px){.ssl-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ssl-node-strip{grid-template-columns:1fr}.ssl-domain-head{flex-direction:column;align-items:stretch}.ssl-search-wrap{width:100%}.cache-layer-grid{grid-template-columns:1fr}.ssl-info-grid{grid-template-columns:1fr}}
@media(max-width:720px){.ssl-summary-grid{grid-template-columns:1fr}.ssl-edge-node-list{flex-direction:column}.ssl-edge-node{min-width:0}.ssl-domain-table{min-width:980px}}

/* v2.149 — müşteri yedek görünümü */
.backup-customer-kpis {
  grid-template-columns: minmax(320px, 520px);
}
.backup-customer-last {
  min-height: 98px;
}
.backup-customer-last .ref-kpi-date {
  font-size: 22px;
}
@media (max-width: 720px) {
  .backup-customer-kpis { grid-template-columns: 1fr; }
}

/* ===== v2.150 — Site sistem kullanıcısı zorunlu DB prefix ===== */
.db-prefix-form {
  max-width: none;
}

.db-ident-input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.db-ident-prefix {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #dfe5ee;
  border-right: 0;
  border-radius: 12px 0 0 12px;
  background: #f7f9fc;
  color: #475569;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  user-select: none;
}

.db-ident-input-group .input {
  min-width: 0;
  border-radius: 0 12px 12px 0;
}

.db-prefix-info {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e5eaf2;
  border-radius: 14px;
  background: #f8fafc;
  color: #475569;
}

.db-prefix-info-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  background: #fff1f2;
  color: #ef3340;
}

.db-prefix-info-icon .gp-icon {
  width: 18px;
  height: 18px;
}

.db-prefix-info strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
}

.db-prefix-info p {
  margin: 0;
  line-height: 1.55;
  font-size: 13px;
}

.db-prefix-info code {
  padding: 2px 6px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #e5e7eb;
  color: #0f172a;
}

@media (max-width: 720px) {
  .db-ident-input-group {
    align-items: stretch;
  }

  .db-ident-prefix {
    max-width: 45%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ===== v2.151 Site package assignment ===== */
.site-package-summary-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  margin-bottom:18px;
}
.site-package-summary-main{display:flex;align-items:center;gap:12px;min-width:0}
.site-package-summary-main>div{display:grid;gap:3px;min-width:0}
.site-package-summary-main strong{font-size:16px;color:var(--up-text,#0f172a)}
.site-package-summary-main small{font-size:12px;color:var(--up-muted,#64748b)}
.site-package-kicker{font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--up-red,#ef3340)}
.site-package-assign-form{display:flex;align-items:center;gap:10px;min-width:min(100%,520px);justify-content:flex-end}
.site-package-assign-form .input{min-width:300px}
@media(max-width:900px){
  .site-package-summary-card{align-items:stretch;flex-direction:column}
  .site-package-assign-form{min-width:0;width:100%;flex-direction:column;align-items:stretch}
  .site-package-assign-form .input{min-width:0;width:100%}
}

/* ======================================================================
   Upnet Panel v2.153 — WebFTP usability fixes
   ====================================================================== */
.gp-page-file-manager .fm-row-menu.open-up .fm-row-menu-popover{
  top:auto!important;
  bottom:calc(100% + 6px)!important;
}

/* ======================================================================
   Upnet Panel v2.153.1 — WebFTP row menu clipping hotfix
   ----------------------------------------------------------------------
   overflow-x:hidden causes overflow-y:visible to compute as auto. That
   turned the file table wrapper into a clipping/scroll container and the
   row action popover was cut off for several rows above the bottom. The
   table already uses fixed layout and constrained columns, so the wrapper
   can safely be visible on both axes and the popover can escape the table.
   ====================================================================== */
.gp-page-file-manager .ref-fm-table-wrap{
  overflow:visible!important;
}
.gp-page-file-manager .fm-row-menu[open]{
  z-index:500!important;
}
.gp-page-file-manager .fm-row-menu-popover{
  z-index:510!important;
}
.gp-page-file-edit .fm-editor-textarea{
  height:600px!important;
  min-height:600px!important;
  resize:vertical!important;
  line-height:1.5!important;
  overflow:auto!important;
}
@media(max-width:820px){
  .gp-page-file-edit .fm-editor-textarea{
    height:65vh!important;
    min-height:420px!important;
  }
}

/* ======================================================================
   Upnet Panel v2.153.2 — WebFTP short-directory row menu clipping fix
   ----------------------------------------------------------------------
   The generic .table rule sets overflow:hidden. In directories with only
   a few rows, the action popover extends beyond the physical <table> box
   and was therefore clipped even though the outer browser/wrapper allowed
   overflow. Large directories hid this because the table was tall enough.
   Keep clipping behavior everywhere else, but let only the WebFTP table
   paint action popovers outside its own box.
   ====================================================================== */
.gp-page-file-manager .ref-fm-table-wrap > .fm-table-fit,
.gp-page-file-manager .ref-fm-table-wrap > table.fm-table-fit{
  overflow:visible!important;
}
.gp-page-file-manager .fm-table-fit .fm-actions-compact,
.gp-page-file-manager .fm-table-fit .fm-action-cluster,
.gp-page-file-manager .fm-table-fit .fm-row-menu{
  overflow:visible!important;
}
.gp-page-file-manager .fm-table-fit .fm-row-menu[open]{
  z-index:700!important;
}
.gp-page-file-manager .fm-table-fit .fm-row-menu-popover{
  z-index:710!important;
}

/* v2.155 — uzak backup retention canlı sayımı */
.gp-page-backups .backup-plan-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gp-page-backups .backup-remote-count{display:grid;gap:2px;min-width:150px;max-width:235px}
.gp-page-backups .backup-remote-count strong{font-size:11px;color:var(--gp-text);font-weight:750;white-space:nowrap}
.gp-page-backups .backup-remote-count small{font-size:9px;color:var(--gp-muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-page-backups .backup-remote-count.is-ok strong{color:var(--ok)}
.gp-page-backups .backup-remote-count.is-warning strong{color:#b7791f}
.gp-page-backups .backup-remote-count.is-warning small{color:#9a6700}
.gp-page-backups .backup-remote-count.is-error strong{color:var(--danger)}
.gp-page-backups .backup-remote-count.is-error small{color:#9f4a53}
@media(max-width:900px){.gp-page-backups .backup-plan-actions{width:100%;justify-content:flex-start}.gp-page-backups .backup-remote-count{min-width:130px}}

/* v2.155.1 — backup plan table layout */
.gp-page-backups .backup-plan-card .up-table th:last-child,.gp-page-backups .backup-plan-card .up-table td:last-child{white-space:nowrap}
.gp-page-backups .backup-plan-card .backup-remote-count{min-width:135px;max-width:220px}

/* ======================================================================
   Upnet Panel v2.157 — WebFTP mobile rebuild
   ----------------------------------------------------------------------
   Desktop keeps the table experience. On phones the WebFTP browser becomes
   a touch-friendly file list: name + type/size/permission + a single action
   button. Non-essential desktop columns and the side detail pane are removed
   from the mobile flow. Row actions open as a fixed bottom sheet so they can
   never be clipped by the table/card viewport.
   ====================================================================== */
.gp-page-file-manager .fm-mobile-meta{display:none}
.gp-page-file-manager .fm-file-copy{display:block;min-width:0;overflow:hidden}

@media(max-width:760px){
  .gp-page-file-manager{
    gap:10px!important;
  }
  .gp-page-file-manager .up-page-header{
    min-height:0!important;
    padding-bottom:10px!important;
    gap:9px!important;
  }
  .gp-page-file-manager .up-page-heading{
    align-items:center!important;
  }
  .gp-page-file-manager .up-page-copy h1{
    font-size:20px!important;
  }
  .gp-page-file-manager .up-page-copy p{
    display:none!important;
  }
  .gp-page-file-manager .up-page-actions{
    margin-left:0!important;
    display:none!important;
  }

  /* Primary WebFTP actions remain easy to reach and horizontally swipeable. */
  .gp-page-file-manager .ref-fm-commandbar{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:7px!important;
    padding:8px!important;
    min-height:54px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .gp-page-file-manager .ref-fm-commandbar::-webkit-scrollbar{display:none}
  .gp-page-file-manager .ref-fm-commandbar .btn{
    flex:0 0 auto!important;
    min-height:38px!important;
    white-space:nowrap!important;
  }
  .gp-page-file-manager .ref-fm-commandbar .ref-toolbar-sep,
  .gp-page-file-manager .ref-fm-commandbar-spacer{
    display:none!important;
  }
  .gp-page-file-manager .fm-selected-count{
    flex:0 0 auto;
    min-height:38px;
    display:flex;
    align-items:center;
    padding:0 8px;
    white-space:nowrap;
  }

  .gp-page-file-manager .ref-fm-createbar,
  .gp-page-file-manager .ref-fm-upload-drawer{
    border-radius:12px!important;
  }
  .gp-page-file-manager .ref-fm-create-form{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }

  /* On mobile the directory tree/detail sidebars waste valuable width. */
  .gp-page-file-manager .ref-fm-layout{
    display:block!important;
    min-height:0!important;
  }
  .gp-page-file-manager .ref-fm-tree,
  .gp-page-file-manager .ref-fm-details{
    display:none!important;
  }
  .gp-page-file-manager .ref-fm-browser{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    border-radius:14px!important;
  }
  .gp-page-file-manager .ref-fm-browser-head{
    min-height:0!important;
    padding:11px!important;
    gap:9px!important;
    border-bottom:1px solid var(--up-line)!important;
  }
  .gp-page-file-manager .ref-fm-browser-head .fm-breadcrumb{
    width:100%!important;
    min-height:24px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none;
  }
  .gp-page-file-manager .ref-fm-browser-head .fm-breadcrumb::-webkit-scrollbar{display:none}
  .gp-page-file-manager .ref-fm-browser-head .fm-breadcrumb a{
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:11px!important;
  }
  .gp-page-file-manager .ref-fm-browser-head .fm-search{
    width:100%!important;
    height:42px!important;
    font-size:13px!important;
  }

  /* Convert the desktop table into a native-feeling mobile file list. */
  .gp-page-file-manager .ref-fm-table-wrap{
    width:100%!important;
    overflow:visible!important;
    padding:9px!important;
  }
  .gp-page-file-manager .fm-table-fit,
  .gp-page-file-manager .ref-fm-table-wrap>.fm-table-fit,
  .gp-page-file-manager .ref-fm-table-wrap>table.fm-table-fit{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    table-layout:auto!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    background:transparent!important;
  }
  .gp-page-file-manager .fm-table-fit colgroup,
  .gp-page-file-manager .fm-table-fit thead{
    display:none!important;
  }
  .gp-page-file-manager .fm-table-fit tbody{
    display:grid!important;
    gap:7px!important;
    width:100%!important;
    overflow:visible!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 44px!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-height:60px!important;
    padding:7px 8px!important;
    border:1px solid var(--up-line)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(15,23,42,.025)!important;
    overflow:visible!important;
    position:relative!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row.is-ref-selected{
    background:#fff6f7!important;
    border-color:#ffcbd0!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    border:0!important;
    overflow:visible!important;
    background:transparent!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td:nth-child(1){
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td:nth-child(2){
    grid-column:2!important;
    overflow:hidden!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td:nth-child(3),
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td:nth-child(4),
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td:nth-child(5){
    display:none!important;
  }
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row>td:nth-child(6){
    grid-column:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }
  .gp-page-file-manager .fm-table-fit .fm-check input{
    width:20px!important;
    height:20px!important;
    margin:0!important;
  }
  .gp-page-file-manager .ref-fm-table-wrap .fm-name{
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    font-size:13px!important;
    text-decoration:none!important;
  }
  .gp-page-file-manager .ref-fm-table-wrap .gp-file-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:10px!important;
  }
  .gp-page-file-manager .ref-fm-table-wrap .gp-file-icon svg{
    width:18px!important;
    height:18px!important;
  }
  .gp-page-file-manager .fm-file-copy{
    display:grid!important;
    gap:3px!important;
    min-width:0!important;
  }
  .gp-page-file-manager .fm-file-name-text{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:650!important;
    color:#233047!important;
  }
  .gp-page-file-manager .fm-mobile-meta{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1.2!important;
    color:#8b96a7!important;
    font-weight:500!important;
  }
  .gp-page-file-manager .fm-action-primary{
    display:none!important;
  }
  .gp-page-file-manager .fm-action-cluster{
    width:44px!important;
    min-width:44px!important;
    justify-content:center!important;
  }
  .gp-page-file-manager .fm-row-menu-trigger{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    border-radius:10px!important;
    font-size:18px!important;
    background:#fff!important;
  }

  /* Mobile row menu = fixed bottom action sheet. No table/card clipping. */
  .gp-page-file-manager .fm-row-menu[open]{
    z-index:5000!important;
  }
  .gp-page-file-manager .fm-row-menu-popover,
  .gp-page-file-manager .fm-row-menu.open-up .fm-row-menu-popover{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(62vh,520px)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
    padding:9px!important;
    border-radius:16px!important;
    border:1px solid #e2e8f0!important;
    box-shadow:0 24px 80px rgba(15,23,42,.28)!important;
    z-index:5010!important;
    background:#fff!important;
  }
  .gp-page-file-manager .fm-menu-item{
    min-height:46px!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    font-size:13px!important;
  }
  .gp-page-file-manager .fm-menu-form{
    margin-top:4px!important;
    padding-top:5px!important;
  }

  .gp-page-file-manager .ref-fm-browser-foot{
    min-height:38px!important;
    padding:0 11px!important;
    font-size:10px!important;
  }

  /* Transfer/search/archive dialogs fit inside small phone viewports. */
  .gp-page-file-manager .fm-move-modal{
    padding:8px!important;
  }
  .gp-page-file-manager .fm-move-card{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 28px)!important;
    border-radius:16px!important;
  }
  .gp-page-file-manager .fm-move-head,
  .gp-page-file-manager .fm-move-current,
  .gp-page-file-manager .fm-move-search-wrap,
  .gp-page-file-manager .fm-transfer-options,
  .gp-page-file-manager .fm-move-note,
  .gp-page-file-manager .fm-move-actions{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .gp-page-file-manager .fm-move-actions{
    position:sticky!important;
    bottom:0!important;
    background:#fff!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
  }
}

@media(max-width:420px){
  .gp-page-file-manager .ref-fm-table-wrap{padding:7px!important}
  .gp-page-file-manager .fm-table-fit tbody tr.fm-row{
    grid-template-columns:34px minmax(0,1fr) 42px!important;
    gap:5px!important;
    padding:7px 6px!important;
  }
  .gp-page-file-manager .ref-fm-table-wrap .gp-file-icon{
    width:34px!important;height:34px!important;min-width:34px!important
  }
  .gp-page-file-manager .fm-file-name-text{font-size:12.5px!important}
  .gp-page-file-manager .fm-row-menu-trigger{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}
}
@media(max-width:760px){
  .gp-page-file-manager .fm-table-fit tbody>tr:not(.fm-row){display:block!important;width:100%!important}
  .gp-page-file-manager .fm-table-fit tbody>tr:not(.fm-row)>td{display:block!important;width:100%!important;box-sizing:border-box!important;border:1px dashed var(--up-line)!important;border-radius:12px!important;padding:30px 16px!important;background:#fbfcfe!important}
}
.gp-page-file-manager .fm-menu-edit-mobile{display:none!important}
@media(max-width:760px){.gp-page-file-manager .fm-menu-edit-mobile{display:flex!important}}
@media(max-width:760px){
  .gp-page-file-manager .ref-fm-commandbar [data-fm-download-selected]:disabled,
  .gp-page-file-manager .ref-fm-commandbar [data-fm-delete-selected]:disabled,
  .gp-page-file-manager .ref-fm-commandbar [data-fm-rename-selected]:disabled,
  .gp-page-file-manager .ref-fm-commandbar [data-fm-chmod-selected]:disabled{display:none!important}
}

/* =====================================================================
   Upnet Panel v2.158 — Mobile Mail + Cron usability rebuild
   ===================================================================== */
.cron-mobile-editor-backdrop,
.cron-inline-editor-head{display:none}

@media(max-width:760px){
  /* ---------- Shared mobile modal shell ---------- */
  .gp-app .mail-modal{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  .gp-app .mail-modal-card,
  .gp-app .mail-sync-modal-card,
  .gp-app .mail-server-modal-card,
  .gp-app .mail-domain-add-modal-card,
  .gp-app .mail-domain-modal-v2141 .mail-modal-card{
    width:100%!important;
    max-width:none!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    border-radius:18px!important;
    padding:16px!important;
  }
  .gp-app .mail-modal-head,
  .gp-app .mail-domain-modal-v2141 .mail-modal-head{
    position:sticky!important;
    top:-16px!important;
    z-index:30!important;
    margin:-16px -16px 16px!important;
    padding:16px!important;
    background:#fff!important;
    border-bottom:1px solid var(--gp-line-2)!important;
    align-items:flex-start!important;
  }
  .gp-app .mail-modal-head>div{min-width:0}
  .gp-app .mail-modal-head h2{font-size:20px!important;line-height:1.2!important}
  .gp-app .mail-modal-head p{font-size:13px!important;line-height:1.55!important}
  .gp-app .mail-modal-head [data-modal-close]{flex:none;min-height:42px}
  .gp-app .mail-modal-grid,
  .gp-app .mail-domain-add-grid,
  .gp-app .mail-admin-form-grid,
  .gp-app .mail-server-form-grid,
  .gp-app .mail-domain-modal-v2141 .mail-modal-grid{
    grid-template-columns:1fr!important;
  }
  .gp-app .mail-domain-modal-v2141 form{padding:0!important}
  .gp-app .mail-domain-add-modal-card .panel-block{
    padding:14px!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }
  .gp-app .mail-modal-actions,
  .gp-app .mail-domain-modal-v2141 .mail-modal-actions{
    position:sticky;
    bottom:-16px;
    z-index:25;
    margin:18px -16px -16px!important;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.97)!important;
    border-top:1px solid var(--gp-line-2)!important;
    backdrop-filter:blur(10px);
  }
  .gp-app .mail-modal-actions .btn{min-height:44px}

  /* ---------- Mail server modal: table -> cards ---------- */
  .gp-app .mail-server-list-block{overflow:visible!important;border:0!important;margin-top:16px!important}
  .gp-app .mail-server-table,
  .gp-app .mail-server-table tbody,
  .gp-app .mail-server-table tr,
  .gp-app .mail-server-table td{display:block!important;width:100%!important;min-width:0!important}
  .gp-app .mail-server-table thead{display:none!important}
  .gp-app .mail-server-table tr{
    margin:0 0 10px!important;
    padding:13px 14px!important;
    border:1px solid var(--gp-line)!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  .gp-app .mail-server-table td{
    position:relative!important;
    padding:7px 0 7px 104px!important;
    border:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
    min-height:32px!important;
  }
  .gp-app .mail-server-table td::before{
    position:absolute;
    left:0;
    top:8px;
    width:92px;
    color:var(--gp-muted);
    font-size:11px;
    font-weight:750;
  }
  .gp-app .mail-server-table td:nth-child(1)::before{content:"Ad"}
  .gp-app .mail-server-table td:nth-child(2)::before{content:"API URL"}
  .gp-app .mail-server-table td:nth-child(3)::before{content:"TLS"}
  .gp-app .mail-server-table td:nth-child(4)::before{content:"Durum"}
  .gp-app .mail-server-table td:nth-child(5)::before{content:"İşlem"}
  .gp-app .mail-server-table td:nth-child(5){padding-top:10px!important}
  .gp-app .mail-server-table td:nth-child(5) .btn{width:100%;min-height:42px}

  /* ---------- Mail sync modal ---------- */
  .gp-app .mail-sync-progress{min-width:0!important}
  .gp-app .mail-sync-overview{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important}
  .gp-app .mail-sync-server-list{max-height:none!important;overflow:visible!important}
  .gp-app .mail-sync-server-row{grid-template-columns:1fr!important;padding:12px!important}
  .gp-app .mail-sync-server-main span{white-space:normal!important;overflow-wrap:anywhere!important}
  .gp-app .mail-sync-server-status{justify-self:start!important}

  /* ---------- Mail domain mailbox management: table -> cards ---------- */
  .gp-page-mail-domain .mail-domain-table-wrap-v2141{
    padding:8px 10px 12px!important;
    overflow:visible!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141,
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody{
    display:block!important;
    width:100%!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 thead{display:none!important}
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody tr{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:6px 10px!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:13px!important;
    border:1px solid var(--gp-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(15,23,42,.035)!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    text-align:left!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td:nth-child(1){
    grid-column:1!important;
    grid-row:1 / span 2!important;
    padding-top:8px!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td:nth-child(2){grid-column:2!important;grid-row:1!important}
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td:nth-child(3){
    grid-column:2!important;
    grid-row:2!important;
    color:var(--gp-muted)!important;
    font-size:12px!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td:nth-child(4){
    grid-column:1 / -1!important;
    grid-row:auto!important;
    display:block!important;
    margin-top:8px!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td:nth-child(5){
    grid-column:1 / -1!important;
    display:block!important;
    margin-top:6px!important;
  }
  .gp-page-mail-domain .mail-domain-mailbox-table-v2141 tbody td:nth-child(6){
    grid-column:1 / -1!important;
    width:auto!important;
    display:block!important;
    margin-top:7px!important;
  }
  .gp-page-mail-domain .mail-domain-account{align-items:flex-start!important}
  .gp-page-mail-domain .mail-domain-account-icon{width:38px!important;height:38px!important}
  .gp-page-mail-domain .mail-domain-account strong{
    font-size:14px!important;
    line-height:1.4!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .gp-page-mail-domain .mail-domain-account small{font-size:11.5px!important}
  .gp-page-mail-domain .mail-domain-quota-form-v2141{
    display:block!important;
    padding:11px 12px!important;
    border:1px solid var(--gp-line-2)!important;
    border-radius:12px!important;
    background:#fafbfd!important;
  }
  .gp-page-mail-domain .mail-domain-quota-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .gp-page-mail-domain .mail-domain-quota-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:7px!important;
  }
  .gp-page-mail-domain .mail-domain-quota-row .input{width:100%!important;height:40px!important;min-height:40px!important}
  .gp-page-mail-domain .mail-domain-quota-row .btn{min-height:40px!important}
  .gp-page-mail-domain .mail-domain-quota-head>small{white-space:normal!important;font-size:11.5px!important}
  .gp-page-mail-domain .mail-domain-row-progress{height:7px!important;margin-top:8px!important}
  .gp-page-mail-domain .mail-domain-row-actions-v2141{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    white-space:normal!important;
  }
  .gp-page-mail-domain .mail-domain-row-actions-v2141>a,
  .gp-page-mail-domain .mail-domain-row-actions-v2141>.mail-inline-password,
  .gp-page-mail-domain .mail-domain-row-actions-v2141>.mail-inline-action-form,
  .gp-page-mail-domain .mail-domain-row-actions-v2141>.mail-domain-more-menu{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .gp-page-mail-domain .mail-domain-row-actions-v2141 .btn,
  .gp-page-mail-domain .mail-domain-row-actions-v2141 summary,
  .gp-page-mail-domain .mail-domain-row-actions-v2141 form>button{
    width:100%!important;
    min-height:44px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .gp-page-mail-domain .mail-inline-password-popover{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    z-index:10060!important;
    width:auto!important;
    padding:16px!important;
    border-radius:17px!important;
    box-shadow:0 25px 80px rgba(15,23,42,.25)!important;
  }
  .gp-page-mail-domain .mail-inline-password-popover>strong{font-size:15px!important}
  .gp-page-mail-domain .mail-inline-password-popover .input{min-height:44px!important}
  .gp-page-mail-domain .mail-domain-more-popover{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    z-index:10060!important;
    width:auto!important;
    padding:8px!important;
    border-radius:17px!important;
    box-shadow:0 25px 80px rgba(15,23,42,.25)!important;
  }
  .gp-page-mail-domain .mail-domain-menu-action{min-height:48px!important;font-size:14px!important}
  .gp-page-mail-domain .mail-domain-account-toolbar{padding:10px!important;grid-template-columns:1fr!important}
  .gp-page-mail-domain .mail-domain-account-toolbar>.btn{grid-column:auto!important;width:100%!important;min-height:44px}
  .gp-page-mail-domain .mail-domain-mailboxes-head-v2141{padding:14px!important}

  /* ---------- Mail domain list on /mail ---------- */
  .gp-page-mail .mail-domain-table-wrap{overflow:visible!important;border:0!important;padding:0!important}
  .gp-page-mail .mail-domain-table,
  .gp-page-mail .mail-domain-table tbody{display:block!important;width:100%!important;min-width:0!important}
  .gp-page-mail .mail-domain-table thead{display:none!important}
  .gp-page-mail .mail-domain-table tbody tr{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:7px 12px!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:13px 14px!important;
    border:1px solid var(--gp-line)!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  .gp-page-mail .mail-domain-table tbody td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    white-space:normal!important;
  }
  .gp-page-mail .mail-domain-table tbody td:first-child{grid-column:1 / -1!important;min-width:0!important}
  .gp-page-mail .mail-domain-table tbody td:nth-child(2),
  .gp-page-mail .mail-domain-table tbody td:nth-child(3),
  .gp-page-mail .mail-domain-table tbody td:nth-child(4),
  .gp-page-mail .mail-domain-table tbody td:nth-child(5),
  .gp-page-mail .mail-domain-table tbody td:nth-child(6),
  .gp-page-mail .mail-domain-table tbody td:nth-child(7),
  .gp-page-mail .mail-domain-table tbody td:nth-child(9){font-size:11.5px;color:var(--gp-muted)}
  .gp-page-mail .mail-domain-table tbody td:nth-child(8){grid-column:1!important}
  .gp-page-mail .mail-domain-table tbody td:nth-child(10){grid-column:2!important;grid-row:2 / span 2!important;align-self:center!important}
  .gp-page-mail .mail-domain-table tbody td:nth-child(10) .btn{min-height:42px}

  /* ---------- Cron list: table -> cards ---------- */
  body.cron-editor-open{overflow:hidden!important}
  .cron-reference-page .cron-main-grid{display:flex!important;flex-direction:column!important;gap:12px!important}
  .cron-reference-page .cron-side-column{order:0!important}
  .cron-reference-page .cron-table-wrap{padding:0 10px!important;overflow:visible!important}
  .cron-reference-page .cron-job-table,
  .cron-reference-page .cron-job-table tbody{display:block!important;width:100%!important}
  .cron-reference-page .cron-job-table thead{display:none!important}
  .cron-reference-page .cron-job-table tbody tr{
    display:block!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:14px!important;
    border:1px solid var(--gp-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(15,23,42,.035)!important;
  }
  .cron-reference-page .cron-job-table tbody td{
    display:block!important;
    width:100%!important;
    padding:0!important;
    margin:0 0 10px!important;
    border:0!important;
    background:transparent!important;
  }
  .cron-reference-page .cron-job-table tbody td:last-child{margin-bottom:0!important}
  .cron-reference-page .cron-site-cell strong{font-size:17px!important}
  .cron-reference-page .cron-site-cell small{font-size:12px!important}
  .cron-reference-page .cron-schedule-text{
    display:inline-flex!important;
    max-width:100%!important;
    padding:7px 10px!important;
    border:1px solid var(--gp-line-2)!important;
    border-radius:10px!important;
    background:#f8fafc!important;
    font-size:13px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .cron-reference-page .cron-command-line{
    max-width:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    line-height:1.55!important;
    font-size:12px!important;
  }
  .cron-reference-page .cron-state-badge,.cron-reference-page .cron-date-chip{font-size:12px!important}
  .cron-reference-page .cron-actions-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .cron-reference-page .cron-actions-row>.cron-inline-editor,
  .cron-reference-page .cron-actions-row>form{width:100%!important}
  .cron-reference-page .cron-actions-row summary,
  .cron-reference-page .cron-actions-row form>button{width:100%!important;min-height:44px!important;justify-content:center!important}
  .cron-reference-page .cron-table-footer{padding:12px 10px 16px!important}

  /* ---------- Cron edit becomes a real mobile modal ---------- */
  .cron-reference-page .cron-inline-editor{position:static!important}
  .cron-reference-page .cron-inline-editor[open]{z-index:10000!important}
  .cron-reference-page .cron-mobile-editor-backdrop{
    display:none;
  }
  .cron-reference-page .cron-inline-editor[open]>.cron-mobile-editor-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:10040!important;
    background:rgba(15,23,42,.48)!important;
    backdrop-filter:blur(3px)!important;
  }
  .cron-reference-page .cron-inline-editor-box{
    display:none;
  }
  .cron-reference-page .cron-inline-editor[open]>.cron-inline-editor-box{
    display:block!important;
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:max(8px,env(safe-area-inset-top))!important;
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    z-index:10050!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:0 16px 18px!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(15,23,42,.28)!important;
  }
  .cron-reference-page .cron-inline-editor-head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:0 -16px 16px!important;
    padding:15px 16px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid var(--gp-line-2)!important;
    backdrop-filter:blur(10px)!important;
  }
  .cron-reference-page .cron-inline-editor-head strong{display:block;margin-top:6px;font-size:16px;color:var(--gp-text)}
  .cron-reference-page .cron-edit-form-inline{gap:14px!important}
  .cron-reference-page .cron-schedule-grid-inline{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .cron-reference-page .cron-schedule-grid-inline label:last-child{grid-column:1 / -1!important}
  .cron-reference-page .cron-schedule-grid-inline .input{text-align:center!important;width:100%!important;min-height:46px!important}
  .cron-reference-page .cron-edit-form-inline>.field .input{width:100%!important;min-height:48px!important}
  .cron-reference-page .cron-edit-form-inline .form-actions{
    position:sticky!important;
    bottom:-18px!important;
    margin:4px -16px -18px!important;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid var(--gp-line-2)!important;
  }
  .cron-reference-page .cron-edit-form-inline .form-actions .btn{width:100%!important;min-height:46px!important}

  /* ---------- Cron create form / page sizing ---------- */
  .cron-reference-page .cron-schedule-grid-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .cron-reference-page .cron-schedule-grid-form label:last-child{grid-column:1 / -1!important}
  .cron-reference-page .cron-create-shell,.cron-reference-page .cron-list-shell{border-radius:16px!important}
  .cron-reference-page .cron-create-shell-head{padding:15px 15px 0!important}
  .cron-reference-page .cron-create-shell .card-body{padding:15px!important}
  .cron-reference-page .cron-top-filters{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}
  .cron-reference-page .cron-search-box{min-width:0!important;width:100%!important}
  .cron-reference-page .cron-filter-tabs{overflow-x:auto!important;white-space:nowrap!important;padding-bottom:2px!important}
}

@media(max-width:420px){
  .gp-page-mail-domain .mail-domain-row-actions-v2141{grid-template-columns:1fr!important}
  .gp-page-mail-domain .mail-domain-quota-row{grid-template-columns:1fr auto!important}
  .gp-page-mail-domain .mail-domain-quota-row>span{display:none!important}
  .cron-reference-page .cron-schedule-grid-inline,
  .cron-reference-page .cron-schedule-grid-form{grid-template-columns:1fr 1fr!important}
}

/* v2.158 mobile mailbox action sheet additions */
.mail-domain-mobile-menu-only{display:none}
@media(max-width:760px){
  .gp-page-mail-domain .mail-domain-mobile-menu-only{display:block!important}
  .gp-page-mail-domain .mail-domain-mobile-menu-title{
    padding:8px 10px 10px;font-size:12px;font-weight:750;color:var(--gp-text);
    overflow-wrap:anywhere;border-bottom:1px solid var(--gp-line-2);margin-bottom:5px
  }
  .gp-page-mail-domain .mail-domain-mobile-password-form{padding:6px 4px 4px!important;display:grid!important;gap:7px!important}
  .gp-page-mail-domain .mail-domain-mobile-password-form .field{gap:5px!important}
  .gp-page-mail-domain .mail-domain-mobile-password-form .field-label{font-size:11px!important}
  .gp-page-mail-domain .mail-domain-mobile-password-form .input{min-height:44px!important;width:100%!important}
  .gp-page-mail-domain .mail-domain-more-menu[open]::before{
    content:"";position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.34);backdrop-filter:blur(2px)
  }
  .gp-page-mail-domain .mail-domain-more-popover{z-index:10060!important}
}


/* ============================================================
   Upnet Panel v2.158.2 — Backup progress modal light-theme fix
   Scheduled backup stage history must follow the panel's white/red UI.
   ============================================================ */
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log {
  gap: 9px;
  margin-top: 14px;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row {
  padding: 12px 14px;
  border: 1px solid #f0d8dc !important;
  border-radius: 12px !important;
  background: #fff8f9 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .025);
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-dot {
  width: 25px;
  height: 25px;
  background: #ffe9ec !important;
  color: #ef3340 !important;
  box-shadow: inset 0 0 0 1px rgba(239, 51, 64, .08);
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row strong {
  color: #26354a !important;
  font-size: 13px;
  font-weight: 700;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row p {
  color: #718096 !important;
  font-size: 12.5px;
  line-height: 1.55;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row.is-done {
  border-color: #ccebdc !important;
  background: #f4fbf7 !important;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row.is-done .backup-stage-log-dot {
  background: #e5f7ee !important;
  color: #16a163 !important;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row.is-error {
  border-color: #f4c9ce !important;
  background: #fff5f6 !important;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-stage-log-row.is-error .backup-stage-log-dot {
  background: #ffe2e6 !important;
  color: #dc2638 !important;
}
.backup-modal[data-backup-modal="scheduled-run"] .backup-running-note {
  background: #f8fafc !important;
  border-color: #e3e9f1 !important;
  color: #64748b !important;
}

/* =====================================================================
   Upnet Panel v2.158.2 — Mobile mail modal hidden-state hotfix
   Mobile v2.158 layout uses display:flex !important for the modal shell.
   Preserve the HTML hidden attribute so unopened mail modals never render.
   ===================================================================== */
@media(max-width:760px){
  .gp-app .mail-modal[hidden]{
    display:none!important;
  }
}

/* Upnet Panel v2.159 — Daily ownership guard */
.gp-page-maintenance .maintenance-ownership-section{padding-bottom:18px}
.gp-page-maintenance .maintenance-ownership-section>.block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.gp-page-maintenance .maintenance-ownership-info{margin:0 20px 16px;padding:14px 16px;border:1px solid var(--up-line,#e5e7eb);border-radius:11px;background:#f8fafc;color:#334155}
.gp-page-maintenance .maintenance-ownership-info p{margin:0;line-height:1.55}
.gp-page-maintenance .maintenance-ownership-info p+p{margin-top:6px}
.gp-page-maintenance .maintenance-ownership-section>form{margin:0 20px}
.gp-page-maintenance .maintenance-settings-grid input[type="time"]{min-height:42px}
@media(max-width:760px){
  .gp-page-maintenance .maintenance-ownership-section>.block-head{align-items:flex-start;flex-direction:column}
  .gp-page-maintenance .maintenance-ownership-info{margin:0 14px 14px;padding:12px 13px}
  .gp-page-maintenance .maintenance-ownership-section>form{margin:0 14px}
  .gp-page-maintenance .maintenance-ownership-section>form .btn{width:100%}
}
