/* ============================================================
   MyMobileApp Admin — Premium theme (newadmin only)
   Hand-built Tabler-style shell. Overrides BS3 + Kendo 2015.
   ============================================================ */
:root{
  --mma-bg:#f1f5f9;
  --mma-surface:#ffffff;
  --mma-ink:#0f172a;
  --mma-ink-2:#334155;
  --mma-muted:#64748b;
  --mma-line:#e6eaf0;
  --mma-line-2:#eef2f7;
  --mma-primary:#0ea5e9;     /* sky/cyan — matches logo */
  --mma-primary-d:#0284c7;
  --mma-primary-2:#2563eb;   /* blue */
  --mma-sidebar:#0b1220;     /* deep slate */
  --mma-sidebar-2:#111a2e;
  --mma-sidebar-ink:#9fb0c9;
  --mma-radius:14px;
  --mma-radius-sm:10px;
  --mma-shadow:0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(16,24,40,.18);
  --mma-shadow-sm:0 1px 2px rgba(16,24,40,.06);
  --mma-sb-w:250px;
  --mma-tb-h:66px;
  --mma-font:'Inter','Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- base ---------- */
body{
  background:var(--mma-bg)!important;
  color:var(--mma-ink-2);
  font-family:var(--mma-font);
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  letter-spacing:.1px;
}
a{ color:var(--mma-primary-d); }
::selection{ background:#bae6fd; }
*{ scrollbar-width:thin; scrollbar-color:#cbd5e1 transparent; }
*::-webkit-scrollbar{ width:9px; height:9px; }
*::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:8px; }

/* ---------- shell ---------- */
.mma-app{ min-height:100vh; }
.mma-sidebar{
  position:fixed; inset:0 auto 0 0; width:var(--mma-sb-w);
  background:linear-gradient(180deg,var(--mma-sidebar-2),var(--mma-sidebar));
  color:var(--mma-sidebar-ink); z-index:1000; display:flex; flex-direction:column;
  border-right:1px solid rgba(255,255,255,.04);
}
.mma-brand{ display:flex; align-items:center; gap:11px; padding:20px 20px 18px; }
.mma-brand-mark{
  width:38px; height:38px; border-radius:11px; flex:0 0 auto;
  background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px;
  box-shadow:0 6px 16px -4px rgba(14,165,233,.6);
}
.mma-brand-text{ font-weight:700; font-size:18px; color:#fff; letter-spacing:.2px; line-height:1; }
.mma-brand-text b{ color:var(--mma-primary); font-weight:700; }
.mma-brand-text small{ display:block; font-size:10.5px; font-weight:500; color:#5b6b86; letter-spacing:1.5px; margin-top:4px; text-transform:uppercase; }
.mma-nav{ padding:8px 12px; overflow-y:auto; flex:1; }
.mma-nav-label{ font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:#56688a; padding:14px 12px 6px; font-weight:600; }
.mma-nav a, .mma-nav .mma-nav-btn{
  display:flex; align-items:center; gap:12px; padding:10px 12px; margin:3px 0;
  border-radius:10px; color:var(--mma-sidebar-ink); text-decoration:none; font-weight:500;
  font-size:14px; cursor:pointer; border:0; background:transparent; width:100%; text-align:left;
  transition:background .15s,color .15s;
}
.mma-nav a i, .mma-nav .mma-nav-btn i{ font-size:18px; width:20px; text-align:center; color:#7d8eae; transition:color .15s; }
.mma-nav a:hover, .mma-nav .mma-nav-btn:hover{ background:rgba(255,255,255,.05); color:#fff; }
.mma-nav a:hover i, .mma-nav .mma-nav-btn:hover i{ color:#cbd5e1; }
.mma-nav a.active{ background:linear-gradient(90deg,rgba(14,165,233,.18),rgba(14,165,233,.02)); color:#fff; box-shadow:inset 3px 0 0 var(--mma-primary); }
.mma-nav a.active i{ color:var(--mma-primary); }
.mma-sidebar-foot{ padding:14px 16px; border-top:1px solid rgba(255,255,255,.05); font-size:11.5px; color:#52647f; }
.mma-sidebar-foot b{ color:#8aa0c0; }

.mma-main{ margin-left:var(--mma-sb-w); min-height:100vh; display:flex; flex-direction:column; }
.mma-topbar{
  position:sticky; top:0; z-index:900; height:var(--mma-tb-h);
  background:rgba(255,255,255,.85); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--mma-line); display:flex; align-items:center; gap:18px;
  padding:0 26px;
}
.mma-page-title{ font-size:18px; font-weight:700; color:var(--mma-ink); margin:0; line-height:1.1; }
.mma-page-sub{ font-size:12px; color:var(--mma-muted); margin-top:2px; }
.mma-topbar-spacer{ flex:1; }
.mma-content{ padding:26px; flex:1; }
.mma-sb-toggle{ display:none; }

/* user chip */
.mma-userchip{ display:flex; align-items:center; gap:10px; padding:5px 12px 5px 6px; border:1px solid var(--mma-line); border-radius:999px; background:#fff; box-shadow:var(--mma-shadow-sm); }
.mma-avatar{ width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; }
.mma-userchip .nm{ font-weight:600; color:var(--mma-ink); font-size:13px; line-height:1; }
.mma-userchip .rl{ font-size:11px; color:var(--mma-muted); }

/* ---------- topbar widgets (search / upload) — keep original ids/handlers ---------- */
.header-nav{ all:unset; }                  /* neutralize old header */
.header__logo{ display:none!important; }
.header_menu{ position:static!important; display:flex; align-items:center; gap:14px; flex-wrap:nowrap; }
.header_menu > a{ display:none!important; } /* Apps/Reports links now live in sidebar */
.upload-container{ width:auto!important; }
.upload-button{
  all:unset; display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  padding:9px 15px; border-radius:10px; font-size:13px; font-weight:600;
  color:var(--mma-primary-d); background:#eef7fe; border:1px solid #cde8fb; transition:.15s;
}
.upload-button:hover{ background:#dcefff; }
.upload-button::before{ content:"\F4D6"; font-family:"bootstrap-icons"; font-size:15px; }
#uploadAPN{ position:absolute!important; width:1px; height:1px; opacity:0; z-index:-1; pointer-events:none; }

.search-container{ position:relative; display:flex; align-items:center; }
.search-box{
  all:unset; box-sizing:border-box; width:280px!important; height:40px;
  background:#f8fafc; border:1px solid var(--mma-line); border-radius:11px;
  padding:0 14px 0 38px!important; font-size:13.5px; color:var(--mma-ink); margin:0!important;
  transition:.15s; background-image:none;
}
.search-box:focus{ background:#fff; border-color:var(--mma-primary); box-shadow:0 0 0 4px rgba(14,165,233,.12); }
.search-container::before{ content:"\F52A"; font-family:"bootstrap-icons"; position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:16px; pointer-events:none; z-index:2; }
.search-button{
  all:unset; box-sizing:border-box; height:40px; padding:0 16px!important; margin:0 0 0 8px!important;
  border-radius:11px!important; background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2))!important;
  color:#fff!important; font-weight:600; font-size:13px; cursor:pointer; border:0!important;
  box-shadow:0 6px 16px -6px rgba(14,165,233,.7); transition:.15s;
}
.search-button:hover{ filter:brightness(1.05); }
.search-option{ display:flex; align-items:center; gap:2px; padding:0!important; }
.search-options{ font-size:12px!important; color:var(--mma-muted); padding:0 9px 0 3px!important; font-weight:500; }
.search-message-container{ position:static!important; width:auto!important; }
.search-message{ font-size:12px; color:var(--mma-muted); }
.search-result{
  position:absolute!important; top:52px!important; right:0!important; left:auto!important;
  width:560px!important; height:auto!important; max-height:360px; overflow:auto;
  background:#fff!important; border:1px solid var(--mma-line)!important; border-radius:14px!important;
  box-shadow:var(--mma-shadow); padding:8px!important; z-index:1200;
}
.search-table{ width:100%; border-collapse:collapse; }
.search-table thead{ font-weight:600; }
.search-table th{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--mma-muted); padding:8px 10px; text-align:left; border-bottom:1px solid var(--mma-line); }
.search-table td{ padding:8px 10px!important; border-bottom:1px solid var(--mma-line-2); font-size:13px; white-space:nowrap; }
.search-link{ font-size:12px; color:var(--mma-primary-d); font-weight:600; }

/* ---------- cards ---------- */
.mma-card{ background:var(--mma-surface); border:1px solid var(--mma-line); border-radius:var(--mma-radius); box-shadow:var(--mma-shadow); }
.mma-section-title{ font-size:13px; font-weight:700; color:var(--mma-ink); text-transform:uppercase; letter-spacing:.6px; margin:2px 0 14px; display:flex; align-items:center; gap:8px; }
.mma-section-title i{ color:var(--mma-primary); }

/* ---------- notification banner (#messaging-panel / .task-summary / .alert-*) ---------- */
.task-summary, #messaging-panel{
  all:unset; box-sizing:border-box; display:flex!important; align-items:center; gap:14px;
  width:100%!important; height:auto!important; min-height:60px; margin:0 0 22px!important; padding:16px 20px!important;
  background:var(--mma-surface); border:1px solid var(--mma-line)!important; border-left:5px solid var(--mma-primary)!important;
  border-radius:var(--mma-radius); box-shadow:var(--mma-shadow); color:var(--mma-ink-2);
}
#messaging-panel .glyphicon{ font-size:22px!important; margin:0!important; color:var(--mma-primary); }
#messaging-panel.alert-success{ border-left-color:#16a34a!important; } #messaging-panel.alert-success .glyphicon{ color:#16a34a; }
#messaging-panel.alert-warning{ border-left-color:#d97706!important; } #messaging-panel.alert-warning .glyphicon{ color:#d97706; }
#messaging-panel.alert-danger{ border-left-color:#dc2626!important; } #messaging-panel.alert-danger .glyphicon{ color:#dc2626; }
#messaging-panel.alert-info{ border-left-color:var(--mma-primary)!important; }
.task-summary p, .task-message{ font-size:14px!important; font-weight:600!important; color:var(--mma-ink)!important; margin:0!important; }

/* ---------- filter / summary cards (the task-buttons, re-skinned) ---------- */
.task-command{ all:unset; display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin:0 0 24px; }
#taskCommand{ display:contents; }
@media(max-width:1400px){ .task-command{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:860px){ .task-command{ grid-template-columns:repeat(2,1fr); } }
.task-button{
  all:unset; box-sizing:border-box; cursor:pointer; position:relative; overflow:hidden;
  background:var(--mma-surface); border:1px solid var(--mma-line); border-radius:var(--mma-radius);
  box-shadow:var(--mma-shadow); padding:16px 16px 15px; min-height:104px;
  display:flex; flex-direction:column; justify-content:space-between; transition:transform .16s, box-shadow .16s, border-color .16s;
}
.task-button:hover{ transform:translateY(-3px); box-shadow:0 14px 30px -14px rgba(16,24,40,.35); border-color:#cbd9ea; }
.task-button::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,var(--mma-primary),var(--mma-primary-2)); opacity:0; transition:.16s;
}
.task-button .tc-top{ display:flex; align-items:center; justify-content:space-between; }
.task-button .tc-ico{ width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:20px; background:#eef7fe; color:var(--mma-primary-d); }
.task-button .tc-count{ font-size:26px; font-weight:800; color:var(--mma-ink); line-height:1; letter-spacing:-.5px; }
.task-button .tc-label{ font-size:12.5px; font-weight:600; color:var(--mma-muted); margin-top:9px; }
.task-button.task-button-active{
  border-color:transparent;
  background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2))!important; color:#fff!important;
  box-shadow:0 16px 32px -14px rgba(14,165,233,.75);
}
.task-button-active::before{ opacity:0; }
.task-button-active .tc-ico{ background:rgba(255,255,255,.2); color:#fff; }
.task-button-active .tc-count, .task-button-active .tc-label{ color:#fff!important; }
/* icon palette per card */
#showNewApps .tc-ico{ background:#eafaf1; color:#16a34a; }
#showCustomerToFollowUp .tc-ico{ background:#fff4e5; color:#d97706; }
#showAppsInAmaps .tc-ico{ background:#eef2ff; color:#4f46e5; }
#showSubmittedAndroid .tc-ico{ background:#e9f9ee; color:#15803d; }
#showSubmittediOS .tc-ico{ background:#eef7fe; color:#0284c7; }
#showRejectedApp .tc-ico{ background:#fdecec; color:#dc2626; }
.task-button-active .tc-ico{ background:rgba(255,255,255,.2)!important; color:#fff!important; }

/* ---------- grid card wrapper + toolbar ---------- */
.mma-grid-card{ background:var(--mma-surface); border:1px solid var(--mma-line); border-radius:var(--mma-radius); box-shadow:var(--mma-shadow); overflow:hidden; }
#gridToolbar{ font-size:15px!important; font-weight:700!important; color:var(--mma-ink)!important; text-align:left!important; padding:18px 22px 4px!important; display:flex; align-items:center; gap:9px; }
#gridToolbar::before{ content:"\F1B3"; font-family:"bootstrap-icons"; color:var(--mma-primary); font-weight:400; }

/* ---------- Kendo grid heavy restyle ---------- */
.k-grid{ border:0!important; background:transparent!important; font-family:var(--mma-font)!important; color:var(--mma-ink-2); }
.k-grid .k-grid-header, .k-grid-header-wrap, .k-grid-header{ border:0!important; background:#f8fafc!important; }
.k-grid-header .k-header{ background:#f8fafc!important; border:0!important; border-bottom:1px solid var(--mma-line)!important; padding:13px 14px!important; }
.k-grid-header .k-header > .k-link, .k-grid-header .k-header{ color:#64748b!important; font-size:11px!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.6px; }
.k-grid td{ border-left:0!important; border-right:0!important; border-bottom:1px solid var(--mma-line-2)!important; padding:13px 14px!important; vertical-align:middle!important; font-size:13.5px; color:var(--mma-ink-2); }
.k-grid-content tr{ background:#fff!important; transition:background .12s; }
.k-grid-content tr.k-alt{ background:#fcfdfe!important; }
.k-grid tr:hover, .k-grid tr.k-alt:hover{ background:#f1f8ff!important; color:inherit!important; }
.k-grid td.k-state-focused, .k-grid th.k-state-focused{ box-shadow:none!important; }
/* selected / expanded master row — replace pale yellow */
.k-grid tr.k-state-selected td, .k-grid tr.k-state-selected{ background:#eff6ff!important; color:var(--mma-ink)!important; box-shadow:inset 3px 0 0 var(--mma-primary); }
.k-grid .k-master-row.k-state-selected > td{ background:#eff6ff!important; }
.k-detail-row, .k-detail-row td{ background:#f8fafc!important; }
.k-grid .k-grid-content{ overflow-y:auto; }
.k-grid .k-hierarchy-cell .k-icon{ color:#94a3b8; }
.k-grid .k-hierarchy-cell .k-i-expand, .k-grid .k-hierarchy-cell .k-i-collapse{ color:var(--mma-primary); }
.k-grid .k-grid-toolbar{ background:#fff!important; border:0!important; padding:8px 14px!important; }

/* App name / id emphasis */
.k-grid td:nth-child(4){ font-weight:600; color:var(--mma-ink); }

/* ---------- badges / chips ---------- */
.mma-badge{ display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; font-size:11.5px; font-weight:600; line-height:1.4; white-space:nowrap; border:1px solid transparent; }
.mma-badge i{ font-size:11px; }
.mma-badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.9; }
.mma-badge.mma-plain::before, .mma-chip::before{ display:none; }
.mma-ok{ background:#e7f8ef; color:#15803d; border-color:#c7eed7; }
.mma-warn{ background:#fff5e6; color:#b45309; border-color:#fde4bd; }
.mma-info{ background:#e8f4fe; color:#0369a1; border-color:#c7e6fb; }
.mma-indigo{ background:#eef0ff; color:#4338ca; border-color:#d9ddfb; }
.mma-danger{ background:#fdeaea; color:#b91c1c; border-color:#f7cccc; }
.mma-neutral{ background:#f1f5f9; color:#64748b; border-color:#e2e8f0; }
.mma-purple{ background:#f6edff; color:#7c3aed; border-color:#e7d6fb; }
/* building pulse */
.mma-indigo.mma-pulse::before{ animation:mmaPulse 1.2s infinite; }
@keyframes mmaPulse{ 0%,100%{opacity:.35} 50%{opacity:1} }
.mma-chip{ display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:8px; font-size:12px; font-weight:600; background:#f1f5f9; color:var(--mma-ink-2); border:1px solid var(--mma-line); }
.mma-chip.mma-brand{ background:#eef7fe; color:var(--mma-primary-d); border-color:#cfeafc; }

/* ---------- row action buttons (Dashboard / Site) ---------- */
.mma-actions{ display:flex; gap:7px; }
.k-button-grid, .mma-btn{ all:unset!important; box-sizing:border-box; display:inline-flex!important; align-items:center; gap:6px; cursor:pointer; padding:6px 12px!important; border-radius:9px!important; font-size:12px!important; font-weight:600!important; line-height:1!important; min-width:0!important; margin:0!important; transition:.14s; text-decoration:none!important; }
a.k-button.k-button-grid{ background:#eef7fe!important; color:var(--mma-primary-d)!important; border:1px solid #cfeafc!important; }
a.k-button.k-button-grid:hover{ background:var(--mma-primary)!important; color:#fff!important; border-color:var(--mma-primary)!important; }
a.k-button.k-button-grid:nth-child(2){ background:#f8fafc!important; color:var(--mma-ink-2)!important; border:1px solid var(--mma-line)!important; }
a.k-button.k-button-grid:nth-child(2):hover{ background:#0b1220!important; color:#fff!important; border-color:#0b1220!important; }
a.k-button.k-button-grid::before{ font-family:"bootstrap-icons"; }
a.k-button.k-button-grid:first-child::before{ content:"\F459"; }      /* speedometer */
a.k-button.k-button-grid:nth-child(2)::before{ content:"\F1C5"; }     /* box-arrow-up-right */

/* ---------- generic kendo buttons / inputs ---------- */
.k-button:not(.k-button-grid){ border-radius:10px!important; border:1px solid var(--mma-line)!important; background:#fff!important; color:var(--mma-ink-2)!important; font-weight:600!important; min-width:0!important; padding:8px 14px!important; box-shadow:none!important; }
.k-button.k-primary{ background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2))!important; color:#fff!important; border:0!important; }
.k-button:hover{ filter:brightness(.98); }
.k-textbox, .k-input, input.k-input, .k-dropdown-wrap, .k-numeric-wrap, .k-picker-wrap{ border-radius:9px!important; border-color:var(--mma-line)!important; }
.k-state-default{ border-color:var(--mma-line)!important; }

/* ---------- pager ---------- */
.k-pager-wrap{ background:#fff!important; border:0!important; border-top:1px solid var(--mma-line)!important; padding:12px 16px!important; color:var(--mma-muted)!important; font-size:13px; border-radius:0 0 var(--mma-radius) var(--mma-radius); }
.k-pager-numbers .k-link, .k-pager-nav{ border-radius:9px!important; min-width:34px; height:34px; line-height:32px!important; margin:0 2px; color:var(--mma-ink-2)!important; border:1px solid transparent!important; background:transparent!important; transition:.14s; }
.k-pager-numbers .k-link:hover, .k-pager-nav:hover{ background:#f1f5f9!important; border-color:var(--mma-line)!important; }
.k-pager-numbers .k-state-selected{ background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2))!important; color:#fff!important; border:0!important; box-shadow:0 6px 14px -6px rgba(14,165,233,.7); }
.k-pager-info{ color:var(--mma-muted)!important; }

/* ---------- detail / editor panel polish ---------- */
.k-detail-cell .config-group, .config-group{ padding:14px 18px; }
.config-appname{ margin-left:0!important; font-size:18px!important; color:var(--mma-ink); }
.config-appid{ color:var(--mma-muted)!important; font-weight:600!important; }
.config-label{ color:var(--mma-muted); font-weight:600; }
.grid-stores{ background:#f8fafc!important; border-radius:10px; }
.grid-stores-url{ color:var(--mma-primary-d)!important; }
.build-types,.build-platforms,.build-commands{ border:1px solid var(--mma-line)!important; border-radius:12px!important; background:#fff; }
.edit-input,.no-edit{ height:34px!important; border:1px solid var(--mma-line); border-radius:9px; padding:0 10px; background:#fff!important; }

/* ---------- loaders (modern, replaces Kendo 2015 GIF spinner) ---------- */
@keyframes mmaspin{ to{ transform:rotate(360deg); } }

/* full-screen action overlay used by $(".loading").show() */
.loading{ display:none; position:fixed!important; inset:0; z-index:5000;
  background:rgba(15,23,42,.30); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.loading .loader, .loader{ position:fixed; top:50%; left:50%; width:46px; height:46px; margin:-23px 0 0 -23px;
  border:4px solid rgba(14,165,233,.20)!important; border-top-color:var(--mma-primary)!important; border-bottom-color:rgba(14,165,233,.20)!important;
  border-radius:50%; animation:mmaspin .7s linear infinite; box-shadow:0 10px 30px -12px rgba(2,6,23,.45); }

/* slim top progress bar shown during real network activity */
.mma-progress{ position:fixed; top:0; left:0; height:3px; width:0; z-index:6000; opacity:0; pointer-events:none;
  background:linear-gradient(90deg,var(--mma-primary),var(--mma-primary-2));
  box-shadow:0 0 10px rgba(14,165,233,.7); transition:width .2s ease, opacity .25s ease; }
.mma-progress.on{ opacity:1; width:75%; transition:width 2.2s cubic-bezier(.1,.7,.3,1), opacity .2s ease; }
.mma-progress.done{ opacity:1; width:100%; transition:width .2s ease, opacity .35s ease .12s; }

/* modern Kendo grid loading mask — kill the old GIF, show a clean CSS spinner */
.k-loading-mask .k-loading-image, .k-loading-mask .k-loading-text{ background-image:none!important; }
.k-loading-mask .k-loading-image{ display:none!important; }
.k-loading-mask .k-loading-text{ position:absolute!important; left:-99999px!important; }
.k-loading-mask .k-loading-color{ background:rgba(255,255,255,.62)!important; opacity:1!important; }
.k-loading-mask::after{ content:""; position:absolute; top:50%; left:50%; width:38px; height:38px; margin:-19px 0 0 -19px;
  border:4px solid rgba(14,165,233,.20); border-top-color:var(--mma-primary); border-radius:50%;
  animation:mmaspin .7s linear infinite; }

/* queue cards lift slightly on hover (also the prefetch trigger) */
.task-button{ transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; }

/* ---------- reports page ---------- */
.report-title{ font-size:22px; font-weight:800; color:var(--mma-ink); margin:0 0 16px; }
.report-box.report-criteria{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; background:var(--mma-surface); border:1px solid var(--mma-line); border-radius:var(--mma-radius); box-shadow:var(--mma-shadow); padding:18px 20px; margin-bottom:20px; }
.report-criteria label{ font-weight:600; color:var(--mma-muted); margin:0 2px 0 6px; }
#reportUserJourney,#reportUserDetail,#reportCancelledApp{ background:var(--mma-surface); border:1px solid var(--mma-line); border-radius:var(--mma-radius); box-shadow:var(--mma-shadow); overflow:hidden; }

/* ---------- login ---------- */
.mma-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;
  background:radial-gradient(1100px 560px at 12% -10%,#0b3a63 0%,transparent 55%),radial-gradient(1000px 520px at 110% 110%,#0e7490 0%,transparent 50%),linear-gradient(135deg,#0b1220,#0f1f3a); }
.mma-login-card{ width:100%; max-width:420px; background:#fff; border-radius:20px; box-shadow:0 40px 80px -30px rgba(0,0,0,.6); padding:38px 36px; }
.mma-login-brand{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.mma-login-card h4{ font-size:22px; font-weight:800; color:var(--mma-ink); margin:18px 0 4px; }
.mma-login-card .sub{ color:var(--mma-muted); font-size:13.5px; margin-bottom:22px; }
.mma-login-card .form-group{ margin-bottom:16px; }
.mma-login-card label{ font-weight:600; color:var(--mma-ink-2); font-size:13px; margin-bottom:6px; display:block; text-align:left!important; width:auto!important; padding:0!important; }
.mma-login-card .edit-input, .mma-login-card input.form-control{ width:100%!important; height:46px; border:1px solid var(--mma-line); border-radius:11px; padding:0 14px; font-size:14px; background:#f8fafc; }
.mma-login-card .edit-input:focus, .mma-login-card input.form-control:focus{ background:#fff; border-color:var(--mma-primary); box-shadow:0 0 0 4px rgba(14,165,233,.12); outline:none; }
.mma-login-btn{ width:100%; height:48px; border:0; border-radius:12px; font-weight:700; font-size:15px; color:#fff; cursor:pointer; background:linear-gradient(135deg,var(--mma-primary),var(--mma-primary-2)); box-shadow:0 14px 28px -12px rgba(14,165,233,.8); transition:.15s; }
.mma-login-btn:hover{ filter:brightness(1.05); }
.mma-login-foot{ text-align:center; color:#94a3b8; font-size:12px; margin-top:18px; }
.timeout{ color:#dc2626; font-size:13px; font-weight:600; }

/* ---------- misc ---------- */
.user-name{ color:var(--mma-muted)!important; font-size:12px!important; margin:16px 4px 0!important; }
.container-fluid{ padding:0!important; }
.k-grid .k-grid-norecords{ color:var(--mma-muted); }

/* ---------- responsive ---------- */
@media(max-width:992px){
  .mma-sidebar{ transform:translateX(-100%); transition:transform .25s; box-shadow:0 0 60px rgba(0,0,0,.5); }
  .mma-app.sb-open .mma-sidebar{ transform:translateX(0); }
  .mma-main{ margin-left:0; }
  .mma-sb-toggle{ display:inline-flex; }
  .search-box{ width:170px!important; }
}
.mma-sb-toggle{ all:unset; cursor:pointer; width:42px; height:42px; border-radius:11px; align-items:center; justify-content:center; color:var(--mma-ink-2); border:1px solid var(--mma-line); background:#fff; }
.mma-sb-backdrop{ display:none; position:fixed; inset:0; background:rgba(2,6,23,.5); z-index:999; }
.mma-app.sb-open .mma-sb-backdrop{ display:block; }

/* ---------- compat: structural utilities carried over from the old site.css
   (so we can drop the old stylesheet and let the theme win cleanly) ---------- */
.hidden{ display:none!important; }
.size16{ font-size:15px; }
.col-1{ width:15%; } .col-2{ width:10%; } .col-3{ width:30%; margin-right:10px; }
.button-1{ min-width:180px!important; }
.item-logo{ margin-left:24px; margin-right:10px; width:52px; height:52px; border:1px solid var(--mma-line); border-radius:10px; object-fit:cover; }
.build-label{ font-size:13px; font-weight:500; padding-left:5px; padding-right:20px; }
.build-platform{ display:inline-block; }
.config-button{ margin:10px 6px; }
.config-group, .row{ padding-bottom:8px; }
.config-group{ padding-top:14px; padding-left:18px; }
.config-label-highlite{ display:block; padding-top:8px; font-weight:600; }
.k-content{ overflow:hidden!important; }
.k-window{ top:50px!important; border-radius:14px; }
.k-window-titlebar{ background:#fff!important; border-bottom:1px solid var(--mma-line)!important; }
