/* GMB SEO Dashboard — report + portal styles (shared by admin preview & client portal) */
:root { --gmb-accent: #35B8FF; }

.gmb-report, .gmb-portal {
	--ink: #363636; --muted: #6b7280; --line: #e6e4e5; --bg: #f6f5f6; --card: #fff;
	--gmb-yellow: #FFCC24; --gmb-plum: #423740; --gmb-pink: #FF3DA1; --gmb-blue: #35B8FF;
	color: var(--ink);
	font-family: "Open Sauce Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
.gmb-report * , .gmb-portal * { box-sizing: border-box; }

/* Portal wrapper — transparent; the Bricks section (page 6054) provides the
   light-grey background + nav-aware spacing via .section-top + .gmb-dash-section. */
.gmb-portal-section { background: transparent; }
/* Applied to the Bricks section on the dashboard page (custom class). */
.gmb-dash-section { background: var(--color-light-grey, #F3F0F2); }

/* Portal chrome */
.gmb-portal { max-width: 1080px; margin: 0 auto; }
.gmb-portal-top { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-bottom:18px; margin-bottom:22px; border-bottom:2px solid var(--line); }
.gmb-portal-agency { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gmb-accent); font-weight:700; }
.gmb-portal-client { margin:.2em 0 0; font-size:28px; line-height:1.1; }
.gmb-range-form select, .gmb-portal select { padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:14px; }
.gmb-portal-empty { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:40px; max-width:480px; margin:48px auto; box-shadow:0 2px 26px rgba(66,55,64,.07); }

/* ── Brand: login + empty-state card (client-facing portal) ─────────── */
.gmb-portal-empty h2 { font-size:34px; line-height:1.12; font-weight:700; margin:0 0 8px; color:var(--ink); }
.gmb-portal-empty > p { font-size:16px; color:var(--muted); margin:0 0 24px; line-height:1.5; }
.gmb-portal-empty #loginform p { margin:0 0 15px; }
.gmb-portal-empty #loginform label { display:block; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.gmb-portal-empty #loginform input[type=text],
.gmb-portal-empty #loginform input[type=password] {
	width:100%; font-family:inherit; font-size:15px; line-height:1.4; color:var(--ink);
	background:#fff; border:1.5px solid var(--line); border-radius:10px;
	padding:10px 14px; transition:border-color .15s, box-shadow .15s;
}
.gmb-portal-empty #loginform input[type=text]:focus,
.gmb-portal-empty #loginform input[type=password]:focus {
	outline:none; border-color:var(--gmb-blue); box-shadow:0 0 0 3px rgba(53,184,255,.18);
}
.gmb-portal-empty #loginform .login-remember,
.gmb-portal-empty #loginform .forgetmenot { display:flex; align-items:center; }
.gmb-portal-empty #loginform .login-remember label,
.gmb-portal-empty #loginform .forgetmenot label { display:flex; align-items:center; gap:8px; font-weight:400; margin:0; color:var(--muted); font-size:14px; }
.gmb-portal-empty #loginform .login-remember input,
.gmb-portal-empty #loginform .forgetmenot input { width:16px; height:16px; margin:0; accent-color:var(--gmb-blue); }
.gmb-portal-empty .login-submit { margin-top:22px; }
.gmb-portal-empty #wp-submit {
	font-family:inherit; font-size:16px; font-weight:500; cursor:pointer;
	color:var(--gmb-plum); background:var(--gmb-yellow);
	border:2px solid var(--gmb-plum); border-radius:1000px;
	padding:11px 34px; box-shadow:2px 4px 0 0 var(--gmb-plum);
	transition:transform .08s ease, box-shadow .08s ease;
}
.gmb-portal-empty #wp-submit:hover { transform:translate(1px,2px); box-shadow:1px 2px 0 0 var(--gmb-plum); }
.gmb-portal-empty #wp-submit:active { transform:translate(2px,4px); box-shadow:0 0 0 0 var(--gmb-plum); }

/* Report head */
.gmb-report-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:8px; }
.gmb-report-period { color:var(--muted); font-size:13px; margin-left:8px; }
.gmb-report-vs { color:var(--muted); font-size:12px; }

/* KPI cards */
.gmb-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.gmb-kpi { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:4px; }
.gmb-kpi:first-child { border-color:var(--gmb-accent); box-shadow:0 0 0 1px var(--gmb-accent) inset; }
.gmb-kpi-lab { font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-weight:600; }
.gmb-kpi-num { font-size:30px; font-weight:750; line-height:1.05; }
.gmb-kpi-prior { font-size:12px; color:var(--muted); }

/* Delta pills */
.gmb-delta { display:inline-flex; align-items:center; gap:3px; font-size:12px; font-weight:700; border-radius:999px; padding:2px 8px; width:fit-content; }
.gmb-delta--good { color:#15803d; background:#dcfce7; }
.gmb-delta--bad  { color:#b91c1c; background:#fee2e2; }
.gmb-delta--flat { color:#475569; background:#f1f5f9; }

/* Panels */
.gmb-panel { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin-bottom:18px; }
.gmb-panel-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.gmb-panel-head h3 { margin:0; font-size:15px; }
.gmb-two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.gmb-two .gmb-panel { margin-bottom:0; }
.gmb-two + .gmb-panel, .gmb-two + .gmb-two { margin-top:18px; }

/* Charts */
.gmb-area { width:100%; height:200px; display:block; }
.gmb-legend { font-size:11px; color:var(--muted); display:inline-flex; align-items:center; gap:6px; }
.gmb-legend i { display:inline-block; width:14px; height:0; border-top:2px solid; vertical-align:middle; }
.gmb-legend i.cur { border-color:var(--gmb-accent); }
.gmb-legend i.prev { border-top-style:dashed; border-color:#9aa3af; margin-left:6px; }

.gmb-bars { display:flex; flex-direction:column; gap:9px; }
.gmb-bar-row { display:grid; grid-template-columns:130px 1fr 50px; align-items:center; gap:10px; font-size:13px; }
.gmb-bar-label { color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gmb-bar-track { background:#eef2f6; border-radius:6px; height:10px; overflow:hidden; }
.gmb-bar-fill { display:block; height:100%; border-radius:6px; }
.gmb-bar-val { text-align:right; color:var(--muted); font-variant-numeric:tabular-nums; }

/* Mini KPIs (search) */
.gmb-mini-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:12px; }
.gmb-mini-kpis > div { background:var(--bg); border-radius:10px; padding:10px; text-align:center; }
.gmb-mini-kpis .n { display:block; font-size:20px; font-weight:700; }
.gmb-mini-kpis .l { display:block; font-size:11px; color:var(--muted); margin-bottom:4px; }
.gmb-mini-kpis .gmb-delta { margin:0 auto; }

/* Tables */
.gmb-table { width:100%; border-collapse:collapse; font-size:13px; }
.gmb-table th { text-align:left; color:var(--muted); font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.04em; padding:6px 8px; border-bottom:1px solid var(--line); }
.gmb-table td { padding:7px 8px; border-bottom:1px solid #f1f5f9; }
.gmb-table th:not(:first-child), .gmb-table td:not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.gmb-path { max-width:340px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Narrative + audit */
.gmb-narrative p, .gmb-audit-body p { margin:.4em 0; line-height:1.6; font-size:14px; }
.gmb-narrative ul, .gmb-audit-body ul { margin:.4em 0; padding-left:1.2em; }
.gmb-narrative li, .gmb-audit-body li { margin:.25em 0; line-height:1.5; font-size:14px; }
.gmb-audit-body { font-size:14px; line-height:1.6; }
.gmb-audit-body h2, .gmb-audit-body h3, .gmb-audit-body h4 { margin:1em 0 .4em; }

/* Tier badges */
.gmb-tier { display:inline-block; font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; background:#f1f5f9; color:#334155; }
.gmb-tier--foundations { background:#fef9c3; color:#854d0e; }
.gmb-tier--local { background:#dbeafe; color:#1e40af; }
.gmb-tier--growth { background:#dcfce7; color:#166534; }
.gmb-tier--performance { background:#ede9fe; color:#5b21b6; }

.gmb-muted { color:var(--muted); }
.gmb-alert { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; padding:14px 16px; border-radius:12px; font-size:14px; }
.gmb-generated { color:var(--muted); font-size:11px; text-align:right; margin-top:6px; }

@media (max-width:880px){
	.gmb-kpis { grid-template-columns:repeat(2,1fr); }
	.gmb-two { grid-template-columns:1fr; }
	.gmb-mini-kpis { grid-template-columns:repeat(2,1fr); }
}
