/* Scoped overview presentation. Permissions, client actions and accounting remain unchanged.
   Tokenizovano (tokens.css): lokalne --overview-* vezane na globalne tokene, akcenti na
   semantičke (--ok/--bad/--primary), sjene na var(--shadow*). Sidebar mobilni nav blok
   namjerno netaknut (tempiran za tamnu traku). Selektori i raspored nepromijenjeni. */
.admin-overview-design { --overview-ink: var(--text); --overview-muted: var(--text-muted); --overview-line: var(--border); color: var(--overview-ink); min-width: 0; }
.admin-overview-design .page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; margin: 0 0 18px; border: 1px solid var(--overview-line); border-radius: 16px; background: linear-gradient(110deg, var(--surface), var(--surface-2)); box-shadow: var(--shadow); }
.admin-overview-design .page-heading > div:first-child { min-width: 0; }
.admin-overview-design .overview-eyebrow { color: var(--primary); font-size:var(--text-2xs); font-weight: 750; letter-spacing: .12em; }
.admin-overview-design .page-heading h1 { margin: 7px 0 0; font-size:var(--text-3xl); line-height: 1.2; letter-spacing: -.035em; color: var(--overview-ink); }
.admin-overview-design .page-heading p { margin: 9px 0 0; font-size:var(--text-sm); line-height: 1.6; color: var(--overview-muted); }
.admin-overview-design .page-heading > .portal-state { flex: 0 0 auto; padding: 10px 13px; border: 1px solid var(--border); border-radius: 9px; background: var(--primary-weak); color: var(--primary-700); font-size:var(--text-xs); }
.admin-overview-design .metric-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 12px; margin: 0 0 18px; }
.admin-overview-design .metric { grid-column: span 3; min-width: 0; min-height: 118px; padding: 19px; border: 1px solid var(--overview-line); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow-sm); }
.admin-overview-design .metric:nth-child(n+5) { grid-column: span 4; min-height: 92px; background: var(--surface-2); }
.admin-overview-design .metric span { display: block; font-size:var(--text-sm); color: var(--overview-muted); }
.admin-overview-design .metric strong { display: block; margin-top: 13px; font-size:var(--text-4xl); line-height: 1.1; font-variant-numeric: tabular-nums; letter-spacing: -.045em; color: var(--overview-ink); }
.admin-overview-design .metric:nth-child(n+5) strong { font-size:var(--text-2xl); margin-top: 9px; }
.admin-overview-design .metric:nth-child(2) strong { color: var(--ok-fg); }
.admin-overview-design .metric:nth-child(3) strong { color: var(--primary); }
.admin-overview-design .metric:nth-child(4) strong { color: var(--bad-fg); }
.admin-overview-design .status-health-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 12px 0; }
.admin-overview-design .status-health-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 14px; padding: 16px 18px; min-width: 0; border-radius: 12px; box-shadow: none; text-decoration: none; }
.admin-overview-design .status-health-card span { font-size:var(--text-sm); font-weight: 700; }
.admin-overview-design .status-health-card small { font-size:var(--text-xs); line-height: 1.5; overflow-wrap: anywhere; }
.admin-overview-design .status-health-card strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size:var(--text-2xl); font-variant-numeric: tabular-nums; }
.admin-overview-design .status-health-card[href="reliability.php"] strong { font-size:var(--text-base); max-width: 100px; line-height: 1.5; text-align: right; }
.admin-overview-design .status-health-card:hover { filter: brightness(.98); }
.admin-overview-design a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.admin-overview-design .dashboard-primary-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,1fr); align-items: start; gap: 18px; margin: 18px 0; }
.admin-overview-design .panel { min-width: 0; margin: 0 0 18px; border: 1px solid var(--overview-line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); background: var(--surface); }
.admin-overview-design .dashboard-primary-grid > .panel { margin: 0; }
.admin-overview-design .panel-heading { display: block; padding: 18px 20px; background: var(--surface); border-bottom: 1px solid var(--overview-line); }
.admin-overview-design .panel-heading h2 { margin: 0; color: var(--overview-ink); font-size:var(--text-lg); line-height: 1.35; letter-spacing: -.02em; }
.admin-overview-design .panel-heading span { display: block; margin-top: 5px; color: var(--overview-muted); font-size:var(--text-xs); line-height: 1.5; }
.admin-overview-design .country-widget-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 16px; }
.admin-overview-design .country-widget { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--border-soft); border-radius: 10px; background: var(--surface-2); }
.admin-overview-design .country-widget > div { min-width: 0; }
.admin-overview-design .country-flag-image { flex: 0 0 28px; width: 28px; height: 21px; border-radius: 3px; object-fit: cover; }
.admin-overview-design .country-widget strong { display: block; font-size:var(--text-xl); color: var(--overview-ink); font-variant-numeric: tabular-nums; }
.admin-overview-design .country-widget span { display: block; font-size:var(--text-2xs); color: var(--overview-muted); overflow-wrap: anywhere; }
.admin-overview-design .country-widget small { display: block; margin-top: 3px; color: var(--text-muted); font-size:var(--text-2xs); }
.admin-overview-design .country-widget-empty { grid-column: 1 / -1; color: var(--overview-muted); font-size:var(--text-sm); line-height: 1.6; }
.admin-overview-design .geoip-attribution { padding: 0 16px 14px; font-size:var(--text-2xs); }
.admin-overview-design .portal-status-list { display: grid; gap: 0; padding: 0 18px; }
.admin-overview-design .portal-status-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 66px; padding: 13px 0; border-bottom: 1px solid var(--border-soft); }
.admin-overview-design .portal-status-row:last-child { border-bottom: 0; }
.admin-overview-design .portal-status-row > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.admin-overview-design .portal-status-row strong { color: var(--overview-ink); font-size:var(--text-sm); overflow-wrap: anywhere; }
.admin-overview-design .status-dot { flex: 0 0 8px; width: 8px; height: 8px; }
.admin-overview-design .portal-status-row .portal-state { flex: 0 0 auto; padding: 5px 8px; border-radius: 6px; font-size:var(--text-2xs); font-variant-numeric: tabular-nums; }
.admin-overview-design .integrity-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 16px; }
.admin-overview-design .integrity-item { min-width: 0; padding: 13px; border-radius: 9px; }
.admin-overview-design .integrity-item strong { font-size:var(--text-2xl); font-variant-numeric: tabular-nums; }
.admin-overview-design .integrity-item span { font-size:var(--text-xs); line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 1200px) {
  .admin-overview-design .dashboard-primary-grid { grid-template-columns: minmax(0,1fr); }
  .admin-overview-design .country-widget-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .admin-overview-design .page-heading { flex-direction: column; align-items: flex-start; padding: 18px; gap: 14px; }
  .admin-overview-design .page-heading h1 { font-size:var(--text-2xl); }
  .admin-overview-design .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .admin-overview-design .metric, .admin-overview-design .metric:nth-child(n+5) { grid-column: span 1; min-height: 100px; padding: 16px; }
  .admin-overview-design .metric:last-child { grid-column: 1 / -1; }
  .admin-overview-design .metric strong { font-size:var(--text-3xl); }
  .admin-overview-design .status-health-grid { grid-template-columns: minmax(0,1fr); }
  .admin-overview-design .country-widget-grid, .admin-overview-design .integrity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-overview-design .country-widget { padding: 10px; gap: 8px; }
  .admin-overview-design .panel-heading { padding: 16px; }
}

/* Dashboard V2 polish: scoped presentation, no data or permission changes. */
.admin-overview-design { font-family: var(--font-sans); --overview-ink: var(--text); --overview-muted: var(--text-muted); --overview-line: var(--border); }
.admin-overview-design .page-heading { padding:20px 22px; border-radius:12px; background:var(--surface); border-left:4px solid var(--primary); box-shadow:var(--shadow-sm); }
.admin-overview-design .page-heading h1 { font-size:var(--text-3xl); letter-spacing:-.025em; }
.admin-overview-design .metric-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
.admin-overview-design .metric,
.admin-overview-design .metric:nth-child(n+5) { grid-column:auto; min-height:108px; padding:16px 14px; background:var(--surface); border-radius:10px; border-top:3px solid var(--border); box-shadow:var(--shadow-sm); }
.admin-overview-design .metric:nth-child(2) { border-top-color:var(--ok-fg); }
.admin-overview-design .metric:nth-child(3) { border-top-color:var(--primary); }
.admin-overview-design .metric:nth-child(4) { border-top-color:var(--bad-fg); }
.admin-overview-design .metric strong,
.admin-overview-design .metric:nth-child(n+5) strong { font-size:clamp(23px,2vw,31px); margin-top:14px; letter-spacing:-.035em; }
.admin-overview-design .metric span { font-size:var(--text-sm); line-height:1.4; overflow-wrap:anywhere; }
.admin-overview-design .status-health-grid { gap:10px; margin:10px 0; }
.admin-overview-design .status-health-card { padding:12px 16px; border-radius:10px; min-height:70px; }
.admin-overview-design .dashboard-primary-grid { grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:16px; margin:16px 0; }
.admin-overview-design .panel { border-radius:12px; box-shadow:var(--shadow-sm); }
.admin-overview-design .panel-heading { padding:15px 18px; background:var(--surface-2); }
.admin-overview-design .panel-heading h2 { font-size:var(--text-md); }
.admin-overview-design .country-widget-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:14px; }
.admin-overview-design .country-widget { padding:10px 12px; background:var(--surface); border-radius:8px; min-height:68px; }
.admin-overview-design .country-widget strong { font-size:var(--text-2xl); }
.admin-overview-design .country-widget span { font-size:var(--text-xs); }
.admin-overview-design .country-widget small { font-size:var(--text-2xs); }
.admin-overview-design .portal-status-list { padding:4px 16px; }
.admin-overview-design .portal-status-row { min-height:56px; padding:10px 0; }
.admin-overview-design .portal-status-row strong { font-size:var(--text-base); }
.admin-overview-design .portal-status-row .portal-state { padding:6px 9px; font-size:var(--text-xs); }
.admin-overview-design .integrity-grid { padding:14px; }
@media(max-width:1300px) {
 .admin-overview-design .metric-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .admin-overview-design .metric,.admin-overview-design .metric:nth-child(n+5) { min-height:96px; }
 .admin-overview-design .country-widget-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .admin-overview-design .dashboard-primary-grid { grid-template-columns:minmax(0,1fr); }
 .admin-overview-design .portal-status-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
}
@media(max-width:700px) {
 .admin-overview-design .page-heading { padding:17px; }
 .admin-overview-design .page-heading h1 { font-size:var(--text-2xl); }
 .admin-overview-design .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .admin-overview-design .metric,.admin-overview-design .metric:nth-child(n+5) { grid-column:auto; min-height:100px; padding:14px; }
 .admin-overview-design .metric:last-child { grid-column:1 / -1; }
 .admin-overview-design .metric strong,.admin-overview-design .metric:nth-child(n+5) strong { font-size:var(--text-3xl); }
 .admin-overview-design .status-health-grid { grid-template-columns:minmax(0,1fr); }
 .admin-overview-design .portal-status-list { grid-template-columns:minmax(0,1fr); }
 .admin-overview-design .country-widget-grid { padding:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .admin-overview-design * { scroll-behavior:auto; transition:none; }
}

/* Admin mobile navigation and in-flow client action; no reseller selectors. */
@media(max-width:700px) {
 .admin-shell > .admin-sidebar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; overflow:visible; padding:8px; }
 .admin-shell > .admin-sidebar nav a { display:flex; align-items:center; min-width:0; min-height:44px; padding:9px 11px; border:1px solid rgba(255,255,255,.12); border-radius:7px; font-size:var(--text-sm); line-height:1.35; overflow-wrap:anywhere; }
 .admin-shell > .admin-sidebar nav a:focus-visible { outline:2px solid #67e8f9; outline-offset:1px; }
 .admin-shell > .admin-content .add-client-button { position:static; inset:auto; z-index:auto; display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:11px 16px; box-shadow:none; white-space:normal; }
}
