/* ============================================================
   Poso Reuma · Promoted.gr Public Beta UI v1.6
   Mobile-first, accessible, fully scoped below .pr-app.
   ============================================================ */

.pr-app {
	--pr-bg: #f4f7ff;
	--pr-bg-strong: #eaf0ff;
	--pr-surface: #ffffff;
	--pr-surface-soft: #f8faff;
	--pr-ink: #10162f;
	--pr-ink-soft: #343d62;
	--pr-muted: #6b7390;
	--pr-line: #dfe5f4;
	--pr-line-strong: #cbd5eb;
	--pr-blue: #246bfe;
	--pr-blue-dark: #1549cc;
	--pr-cyan: #22d3ee;
	--pr-lime: #c9ff4a;
	--pr-lime-ink: #172600;
	--pr-yellow: #ffd84a;
	--pr-purple: #8b5cf6;
	--pr-green: #10a66a;
	--pr-danger: #dc3f54;
	--pr-shadow: 0 18px 55px rgba(36, 52, 104, 0.12);
	--pr-shadow-soft: 0 8px 25px rgba(36, 52, 104, 0.08);
	--pr-radius-xl: 30px;
	--pr-radius-lg: 22px;
	--pr-radius-md: 16px;
	--pr-radius-sm: 12px;
	--pr-step-progress: 0%;

	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: 18px;
	color: var(--pr-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.pr-app *,
.pr-app *::before,
.pr-app *::after { box-sizing: border-box; }

.pr-app [hidden] { display: none !important; }
.pr-app > #pr-auth-gate,
.pr-app > #pr-main-app { position: relative; margin: 0; padding: 0; border: 0; background: transparent; z-index: 1; }

.pr-app button,
.pr-app input { font: inherit; }

.pr-app button { -webkit-tap-highlight-color: transparent; }
.pr-app button:focus-visible,
.pr-app input:focus-visible,
.pr-app summary:focus-visible,
.pr-app [role="button"]:focus-visible {
	outline: 3px solid rgba(36, 107, 254, 0.32);
	outline-offset: 3px;
}

.pr-app h1,
.pr-app h2,
.pr-app h3,
.pr-app h4,
.pr-app h5,
.pr-app p { margin-top: 0; }

.pr-app h1,
.pr-app h2,
.pr-app h3,
.pr-app h4,
.pr-app h5 {
	color: var(--pr-ink);
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.pr-app h1 { margin-bottom: 18px; font-size: clamp(2rem, 5vw, 4.6rem); font-weight: 900; }
.pr-app h2 { margin-bottom: 8px; font-size: clamp(1.75rem, 3.6vw, 2.35rem); font-weight: 900; }
.pr-app h3 { margin-bottom: 6px; font-size: clamp(1.42rem, 3vw, 2rem); font-weight: 900; }
.pr-app h4 { margin-bottom: 4px; font-size: 1.08rem; font-weight: 850; }
.pr-app h5 { margin-bottom: 8px; font-size: 1rem; font-weight: 850; }
.pr-app p { margin-bottom: 14px; }

.pr-muted { color: var(--pr-muted); }
.pr-small { font-size: .86rem; }
.pr-grow { flex: 1; min-width: 0; }

/* ---------- Ambient electric background ---------- */
.pr-ambient {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
	border-radius: 36px;
}

.pr-orb {
	position: absolute;
	border-radius: 999px;
	filter: blur(16px);
	opacity: .5;
}

.pr-orb-one {
	width: 260px;
	height: 260px;
	top: -70px;
	right: -65px;
	background: radial-gradient(circle, rgba(139, 92, 246, .38), rgba(139, 92, 246, 0) 70%);
}

.pr-orb-two {
	width: 320px;
	height: 320px;
	bottom: -120px;
	left: -100px;
	background: radial-gradient(circle, rgba(34, 211, 238, .34), rgba(34, 211, 238, 0) 72%);
}

.pr-grid-glow {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(36, 107, 254, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(36, 107, 254, .035) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 86%);
}

/* ---------- Shared brand ---------- */
.pr-logo-mark {
	position: relative;
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--pr-lime), var(--pr-yellow));
	color: var(--pr-lime-ink);
	box-shadow: 0 10px 22px rgba(201, 255, 74, .28), inset 0 0 0 1px rgba(255,255,255,.65);
	transform: rotate(-4deg);
}

.pr-logo-mark::after {
	content: "";
	position: absolute;
	inset: -5px;
	z-index: -1;
	border: 1px solid rgba(201, 255, 74, .32);
	border-radius: 19px;
}

.pr-logo-mark span { font-size: 1.45rem; transform: rotate(4deg); }

.pr-eyebrow {
	display: inline-block;
	margin-bottom: 6px;
	color: var(--pr-blue);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .12em;
}

/* ---------- Auth ---------- */
.pr-auth-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
	min-height: 690px;
	background: var(--pr-bg);
	border: 1px solid rgba(203, 213, 235, .9);
	border-radius: 34px;
	box-shadow: var(--pr-shadow);
	overflow: hidden;
}

.pr-auth-story {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(34px, 6vw, 76px);
	color: #fff;
	background:
		radial-gradient(90% 80% at 92% 5%, rgba(139, 92, 246, .48), transparent 58%),
		radial-gradient(70% 75% at 0% 95%, rgba(34, 211, 238, .28), transparent 62%),
		linear-gradient(145deg, #0c1433 0%, #101b47 52%, #172561 100%);
	overflow: hidden;
}

.pr-auth-story::before,
.pr-auth-story::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.pr-auth-story::before {
	width: 420px;
	height: 420px;
	right: -210px;
	top: 110px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 50%;
	box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 120px rgba(255,255,255,.018);
}

.pr-auth-story::after {
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(to bottom right, rgba(0,0,0,.8), transparent 70%);
}

.pr-auth-brand,
.pr-mobile-brand,
.pr-brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.pr-auth-brand { position: relative; z-index: 1; }
.pr-auth-brand strong,
.pr-mobile-brand strong,
.pr-brand strong { display: block; font-size: 1.08rem; font-weight: 900; letter-spacing: -.025em; }
.pr-auth-brand small,
.pr-mobile-brand small,
.pr-brand small { display: block; margin-top: 2px; color: rgba(255,255,255,.64); font-size: .78rem; }

.pr-auth-hero-copy { position: relative; z-index: 1; max-width: 650px; margin: 55px 0 45px; }
.pr-auth-hero-copy .pr-eyebrow { color: var(--pr-lime); }
.pr-auth-hero-copy h1 { color: #fff; }
.pr-auth-hero-copy p { max-width: 580px; margin: 0; color: rgba(255,255,255,.72); font-size: clamp(1rem, 1.8vw, 1.15rem); }

.pr-auth-benefits { position: relative; z-index: 1; display: grid; gap: 14px; }
.pr-benefit {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 470px;
	padding: 13px 15px;
	background: rgba(255,255,255,.075);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 17px;
	backdrop-filter: blur(12px);
}

.pr-benefit-icon {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: rgba(201, 255, 74, .14);
	color: var(--pr-lime);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .08em;
}

.pr-benefit strong { display: block; color: #fff; font-size: .94rem; }
.pr-benefit small { display: block; margin-top: 2px; color: rgba(255,255,255,.62); font-size: .78rem; }

.pr-card {
	position: relative;
	background: rgba(255,255,255,.94);
	border: 1px solid var(--pr-line);
	border-radius: var(--pr-radius-xl);
	box-shadow: var(--pr-shadow-soft);
	padding: clamp(22px, 4vw, 38px);
	margin-bottom: 18px;
}

.pr-gate {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 24px;
	padding: clamp(26px, 4vw, 44px);
	border: 1px solid rgba(255,255,255,.7);
	box-shadow: var(--pr-shadow);
}

.pr-mobile-brand { display: none; margin-bottom: 28px; }
.pr-mobile-brand small { color: var(--pr-muted); }
.pr-gate-heading { margin-bottom: 18px; }
.pr-gate-heading p { margin: 0; color: var(--pr-muted); font-size: .94rem; }

.pr-status-dot {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 14px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #effbf5;
	color: #087b4a;
	font-size: .72rem;
	font-weight: 850;
}

.pr-status-dot i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #10b981;
	box-shadow: 0 0 0 4px rgba(16,185,129,.12);
}

.pr-auth-form { margin-top: 18px; }
.pr-auth-link { margin: 3px 0 0; text-align: center; font-size: .86rem; }
.pr-auth-link a { color: var(--pr-blue); font-weight: 750; text-decoration: none; }
.pr-auth-link a:hover { text-decoration: underline; }

.pr-privacy-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-top: 22px;
	color: var(--pr-muted);
	font-size: .76rem;
	text-align: center;
}

.pr-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- Main app shell/header ---------- */
.pr-shell {
	position: relative;
	padding: 20px;
	background: linear-gradient(180deg, rgba(244,247,255,.95), rgba(250,251,255,.96));
	border: 1px solid var(--pr-line);
	border-radius: 34px;
	box-shadow: var(--pr-shadow);
}

.pr-header {
	position: relative;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto auto;
	align-items: center;
	gap: 18px;
	padding: 16px 18px;
	margin-bottom: 18px;
	background: rgba(255,255,255,.9);
	border: 1px solid rgba(223,229,244,.95);
	border-radius: 24px;
	box-shadow: 0 7px 24px rgba(36,52,104,.06);
	backdrop-filter: blur(15px);
}

.pr-brand-copy small { color: var(--pr-muted); }

.pr-mode {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px;
	background: #edf1fa;
	border: 1px solid #e0e6f3;
	border-radius: 15px;
}

.pr-mode-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 9px 13px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--pr-muted);
	font-size: .82rem;
	font-weight: 800;
	white-space: nowrap;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.pr-mode-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	flex: 0 0 19px;
}

.pr-mode-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pr-mode-label {
	min-width: 0;
	line-height: 1.15;
}

.pr-mode-btn:hover { color: var(--pr-ink); }
.pr-mode-btn.is-active {
	background: #fff;
	color: var(--pr-blue);
	box-shadow: 0 5px 14px rgba(36,52,104,.1);
}

.pr-logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 9px 12px;
	border: 1px solid var(--pr-line);
	border-radius: 12px;
	background: #fff;
	color: var(--pr-muted);
	font-size: .78rem;
	font-weight: 800;
	cursor: pointer;
	transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.pr-logout:hover { border-color: rgba(220,63,84,.35); background: #fff5f6; color: var(--pr-danger); }

/* ---------- Notices ---------- */
.pr-notice {
	position: relative;
	z-index: 4;
	padding: 13px 15px;
	margin: 0 0 16px;
	border-radius: 14px;
	font-size: .9rem;
	font-weight: 750;
	box-shadow: 0 8px 20px rgba(36,52,104,.06);
}

.pr-notice.is-error { background: #fff1f3; color: #b4233b; border: 1px solid #ffcbd3; }
.pr-notice.is-ok { background: #edfff6; color: #087a4a; border: 1px solid #bcebd5; }
.pr-notice.is-busy { background: #f0f6ff; color: #1849a9; border: 1px solid #c9dbff; }

/* ---------- Buttons ---------- */
.pr-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 18px;
	border: 0;
	border-radius: 14px;
	font-size: .95rem;
	font-weight: 850;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease, border-color .18s ease;
}

.pr-btn b { font-size: 1.08em; line-height: 1; }
.pr-btn:hover:not(:disabled) { transform: translateY(-1px); }
.pr-btn:active:not(:disabled) { transform: translateY(0) scale(.985); }
.pr-btn:disabled { opacity: .46; cursor: not-allowed; filter: grayscale(.15); }

.pr-btn-primary {
	background: linear-gradient(135deg, var(--pr-blue), #5a4df7);
	color: #fff;
	box-shadow: 0 11px 24px rgba(36,107,254,.24);
}
.pr-btn-primary:hover:not(:disabled) { box-shadow: 0 14px 30px rgba(36,107,254,.3); }

.pr-btn-dark {
	background: linear-gradient(145deg, #111934, #202d62);
	color: #fff;
	box-shadow: 0 10px 24px rgba(16,22,47,.2);
}

.pr-btn-ghost {
	background: #fff;
	color: var(--pr-ink-soft);
	border: 1px solid var(--pr-line-strong);
}

.pr-btn-danger { background: #fff1f3; color: var(--pr-danger); border: 1px solid #ffc8d0; }
.pr-btn-big { width: 100%; min-height: 56px; padding: 15px 20px; font-size: 1rem; }

.pr-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--pr-line);
}

/* ---------- Tab bars ---------- */
.pr-tabbar {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5px;
	padding: 5px;
	margin: 0;
	background: #eef2fa;
	border: 1px solid #e1e7f3;
	border-radius: 14px;
}

.pr-tab {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 43px;
	padding: 9px 12px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--pr-muted);
	font-size: .86rem;
	font-weight: 850;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.pr-tab.is-active {
	background: #fff;
	color: var(--pr-blue);
	box-shadow: 0 5px 14px rgba(36,52,104,.09);
}

.pr-entry-tabs { margin: 18px 0; }

/* ---------- Forms ---------- */
.pr-form { display: flex; flex-direction: column; gap: 15px; }
.pr-form-surface {
	padding: 20px;
	background: linear-gradient(180deg, #fbfcff, #f7f9ff);
	border: 1px solid var(--pr-line);
	border-radius: var(--pr-radius-lg);
}
.pr-compact-surface { margin-top: 18px; }
.pr-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pr-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.pr-field label { color: var(--pr-ink-soft); font-size: .84rem; font-weight: 850; }
.pr-field label small { color: var(--pr-muted); font-size: .72rem; font-weight: 650; }
.pr-field-help { color: var(--pr-muted); font-size: .75rem; line-height: 1.45; }

.pr-app input[type="text"],
.pr-app input[type="number"],
.pr-app input[type="email"],
.pr-app input[type="password"],
.pr-app select {
	appearance: none;
	width: 100%;
	min-width: 0;
	height: 52px;
	padding: 0 14px;
	border: 1.5px solid var(--pr-line-strong);
	border-radius: 13px;
	background: #fff;
	color: var(--pr-ink);
	font-size: 16px;
	font-weight: 650;
	box-shadow: 0 3px 9px rgba(36,52,104,.025);
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.pr-app input::placeholder { color: #a1a8bd; font-weight: 500; }
.pr-app select { padding: 0 42px 0 14px; background-image: linear-gradient(45deg,transparent 50%,#74809e 50%),linear-gradient(135deg,#74809e 50%,transparent 50%); background-position: calc(100% - 19px) 22px,calc(100% - 13px) 22px; background-size: 6px 6px,6px 6px; background-repeat: no-repeat; }
.pr-app input:hover:not(:disabled),
.pr-app select:hover:not(:disabled) { border-color: #b9c5df; }
.pr-app input:focus,
.pr-app select:focus { outline: none; border-color: var(--pr-blue); box-shadow: 0 0 0 4px rgba(36,107,254,.11); }
.pr-app input:disabled,
.pr-app select:disabled { background-color: #eef1f6; color: #7e879d; cursor: not-allowed; }

.pr-input-shell,
.pr-unit-input { position: relative; display: flex; align-items: center; }
.pr-input-shell input { padding-left: 43px !important; }
.pr-input-icon {
	position: absolute;
	left: 15px;
	z-index: 1;
	color: #7a84a3;
	font-size: .82rem;
	font-weight: 900;
	pointer-events: none;
}

.pr-password-shell input { padding-right: 70px !important; }
.pr-password-toggle {
	position: absolute;
	right: 8px;
	z-index: 2;
	min-width: 54px;
	height: 36px;
	padding: 0 8px;
	border: 0;
	border-radius: 9px;
	background: #eef2fa;
	color: var(--pr-blue);
	font-size: .72rem;
	font-weight: 850;
	cursor: pointer;
}

.pr-unit-input input { padding-right: 74px !important; }
.pr-unit-input > span {
	position: absolute;
	right: 13px;
	color: var(--pr-muted);
	font-size: .76rem;
	font-weight: 850;
	pointer-events: none;
}
.pr-unit-input-large input { height: 62px; font-size: 1.25rem; font-weight: 900; }

.pr-check { display: flex; align-items: flex-start; gap: 10px; }
.pr-check-card {
	position: relative;
	padding: 14px;
	border: 1px solid var(--pr-line);
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
}
.pr-check-card input { position: absolute; opacity: 0; pointer-events: none; }
.pr-check-ui {
	position: relative;
	flex: 0 0 auto;
	width: 42px;
	height: 24px;
	margin-top: 1px;
	border-radius: 999px;
	background: #cfd6e7;
	transition: background .18s ease;
}
.pr-check-ui::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 5px rgba(16,22,47,.2);
	transition: transform .18s ease;
}
.pr-check-card input:checked + .pr-check-ui { background: var(--pr-blue); }
.pr-check-card input:checked + .pr-check-ui::after { transform: translateX(18px); }
.pr-check-card > span:last-child { display: flex; flex-direction: column; }
.pr-check-card strong { color: var(--pr-ink); font-size: .87rem; }
.pr-check-card small { margin-top: 2px; color: var(--pr-muted); font-size: .74rem; line-height: 1.4; }

.pr-or {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0;
	color: var(--pr-muted);
	font-size: .78rem;
	font-weight: 750;
}
.pr-or::before,
.pr-or::after { content: ""; flex: 1; height: 1px; background: var(--pr-line); }

/* ---------- Section headers ---------- */
.pr-section-head {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-bottom: 22px;
}
.pr-section-head p { margin: 0; color: var(--pr-muted); font-size: .9rem; }
.pr-section-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 15px;
	font-size: 1.15rem;
	font-weight: 900;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}
.pr-section-icon.is-blue { background: #e7efff; color: var(--pr-blue); }
.pr-section-icon.is-purple { background: #f0eaff; color: var(--pr-purple); }
.pr-section-icon.is-lime { background: #efffd0; color: #537500; }
.pr-section-icon.is-yellow { background: #fff4c2; color: #8f6500; }

/* ---------- Progress / steps ---------- */
.pr-progress-card {
	position: sticky;
	top: 10px;
	z-index: 8;
	padding: 14px 18px 12px;
	margin-bottom: 16px;
	background: rgba(255,255,255,.94);
	border: 1px solid var(--pr-line);
	border-radius: 19px;
	box-shadow: 0 10px 28px rgba(36,52,104,.09);
	backdrop-filter: blur(15px);
}
.pr-progress-copy { display: none; }
.pr-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pr-step {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	padding: 8px;
	border-radius: 12px;
	color: var(--pr-muted);
	font-size: .78rem;
	font-weight: 850;
	text-align: center;
	transition: color .18s ease, background .18s ease;
}
.pr-step-n {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 25px;
	height: 25px;
	border: 1px solid var(--pr-line-strong);
	border-radius: 9px;
	background: #fff;
	font-size: .72rem;
	font-weight: 900;
}
.pr-step.is-active { background: #edf3ff; color: var(--pr-blue); }
.pr-step.is-active .pr-step-n { border-color: var(--pr-blue); background: var(--pr-blue); color: #fff; box-shadow: 0 5px 12px rgba(36,107,254,.22); }
.pr-step.is-done { color: #087a4a; }
.pr-step.is-done .pr-step-n { border-color: var(--pr-green); background: #ecfff6; color: var(--pr-green); }
.pr-step.is-done .pr-step-n::before { content: "✓"; }
.pr-step.is-done .pr-step-n { font-size: 0; }
.pr-step.is-done .pr-step-n::before { font-size: .8rem; }
.pr-progress-track { height: 4px; margin-top: 10px; overflow: hidden; background: #e9edf7; border-radius: 999px; }
.pr-progress-track span { display: block; width: var(--pr-step-progress); height: 100%; background: linear-gradient(90deg, var(--pr-blue), var(--pr-purple), var(--pr-lime)); border-radius: inherit; transition: width .35s ease; }

/* ---------- Profile choices ---------- */
.pr-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pr-choice {
	appearance: none;
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 110px;
	padding: 18px;
	border: 1.5px solid var(--pr-line);
	border-radius: 20px;
	background: linear-gradient(180deg, #fff, #f9faff);
	color: var(--pr-ink);
	text-align: left;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(36,52,104,.04);
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pr-choice:hover { transform: translateY(-2px); border-color: #b7c8f1; box-shadow: 0 12px 24px rgba(36,52,104,.08); }
.pr-choice-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 54px; height: 54px; border-radius: 17px; background: #eef3ff; font-size: 1.55rem; }
.pr-choice-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.pr-choice-copy strong { font-size: 1rem; font-weight: 900; }
.pr-choice-copy small { margin-top: 3px; color: var(--pr-muted); font-size: .77rem; }
.pr-choice-check { display: inline-grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--pr-line-strong); border-radius: 50%; color: transparent; font-size: .76rem; }
.pr-choice.is-selected { border-color: var(--pr-blue); background: linear-gradient(180deg, #f5f8ff, #edf3ff); box-shadow: 0 10px 25px rgba(36,107,254,.12); }
.pr-choice.is-selected .pr-choice-check { border-color: var(--pr-blue); background: var(--pr-blue); color: #fff; }

/* ---------- Business profile / equipment ---------- */
.pr-business-profile { margin-top: 16px; padding: 18px; border: 1px solid #b9cbff; border-radius: 20px; background: radial-gradient(circle at 100% 0,rgba(201,255,74,.22),transparent 34%),linear-gradient(135deg,#f6f9ff,#f4f0ff); box-shadow: 0 12px 30px rgba(36,107,254,.08); }
.pr-business-profile-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; }
.pr-business-profile-head > div { display: flex; flex-direction: column; gap: 3px; }
.pr-business-profile-head strong { color: var(--pr-ink); font-size: .95rem; font-weight: 900; }
.pr-business-profile-head small { color: var(--pr-muted); font-size: .76rem; line-height: 1.45; }
.pr-business-profile-mark { display: inline-grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg,var(--pr-blue),var(--pr-purple)); color: #fff; font-size: .68rem; font-weight: 950; letter-spacing: .04em; box-shadow: 0 8px 18px rgba(36,107,254,.2); }
.pr-business-type-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-bottom: 16px; }
.pr-business-type { appearance:none; display:flex; min-width:0; min-height:68px; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding:10px; border:1px solid var(--pr-line); border-radius:14px; background:#fff; color:var(--pr-ink-soft); text-align:left; cursor:pointer; transition:.17s ease; }
.pr-business-type:hover { transform:translateY(-1px); border-color:#9eb7f6; }
.pr-business-type > span { display:inline-flex; align-items:center; min-height:22px; padding:3px 6px; border-radius:7px; background:#eef3ff; color:var(--pr-blue); font-size:.58rem; font-weight:950; letter-spacing:.04em; }
.pr-business-type b { overflow:hidden; width:100%; font-size:.72rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pr-business-type.is-selected { border-color:var(--pr-blue); background:linear-gradient(180deg,#f5f8ff,#ebf2ff); box-shadow:0 7px 18px rgba(36,107,254,.12); color:var(--pr-blue); }
.pr-business-operations { margin-bottom:14px; }
.pr-business-equipment { margin: 0 0 18px; padding: 18px; border: 1px solid #b9c9f1; border-radius: 21px; background: radial-gradient(circle at 0 0,rgba(34,211,238,.14),transparent 28%),radial-gradient(circle at 100% 0,rgba(201,255,74,.22),transparent 30%),linear-gradient(145deg,#f8fbff,#f7f4ff); }
.pr-business-equipment-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:15px; }
.pr-business-equipment-hero h4 { margin:2px 0 3px; color:var(--pr-ink); font-size:1.08rem; font-weight:950; }
.pr-business-equipment-hero p { max-width:640px; margin:0; color:var(--pr-muted); font-size:.78rem; line-height:1.5; }
.pr-btn-electric { flex:0 0 auto; min-height:44px; border:1px solid #1b4dd2; background:linear-gradient(135deg,#163fb9,#6d3fe7); color:#fff; box-shadow:0 9px 20px rgba(63,63,199,.2); }
.pr-business-category-nav { display:flex; gap:7px; padding:4px 0 9px; overflow-x:auto; scrollbar-width:none; }
.pr-business-category-nav::-webkit-scrollbar { display:none; }
.pr-business-category { appearance:none; flex:0 0 auto; min-height:35px; padding:7px 10px; border:1px solid var(--pr-line); border-radius:999px; background:#fff; color:var(--pr-muted); font-size:.7rem; font-weight:850; cursor:pointer; }
.pr-business-category.is-active { border-color:var(--pr-blue); background:#eaf1ff; color:var(--pr-blue); box-shadow:0 4px 12px rgba(36,107,254,.1); }
.pr-business-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:5px; }
.pr-equipment-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-width:0; padding:12px; border:1px solid var(--pr-line); border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 5px 15px rgba(36,52,104,.04); }
.pr-equipment-code { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#edf3ff; color:var(--pr-blue); font-size:.62rem; font-weight:950; }
.pr-equipment-copy { display:flex; min-width:0; flex-direction:column; }
.pr-equipment-copy strong { overflow:hidden; color:var(--pr-ink); font-size:.78rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pr-equipment-copy small { margin-top:2px; color:var(--pr-muted); font-size:.65rem; }
.pr-equipment-copy span { margin-top:3px; color:#087a4a; font-size:.64rem; font-weight:800; }
.pr-equipment-use { appearance:none; display:inline-flex; align-items:center; gap:4px; min-height:34px; padding:7px 9px; border:0; border-radius:10px; background:#eff4ff; color:var(--pr-blue); font-size:.67rem; font-weight:900; cursor:pointer; }
.pr-equipment-use:hover { background:var(--pr-blue); color:#fff; }
.pr-business-disclaimer { margin:11px 2px 0; color:var(--pr-muted); font-size:.67rem; line-height:1.45; }
.pr-business-empty { grid-column:1/-1; min-height:100px; }

.pr-business-report-summary { margin:18px 0; padding:18px; border:1px solid #b9cbff; border-radius:20px; background:linear-gradient(145deg,#f7faff,#f7f3ff); }
.pr-category-summary-head { margin-bottom:12px; }
.pr-category-summary-head h4 { margin:3px 0 0; color:var(--pr-ink); font-size:1rem; font-weight:950; }
.pr-category-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.pr-category-summary-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; padding:11px; border:1px solid var(--pr-line); border-radius:14px; background:#fff; }
.pr-category-summary-code { display:inline-grid; place-items:center; width:37px; height:37px; border-radius:11px; background:#edf3ff; color:var(--pr-blue); font-size:.6rem; font-weight:950; }
.pr-category-summary-item > div { display:flex; min-width:0; flex-direction:column; }
.pr-category-summary-item strong { overflow:hidden; color:var(--pr-ink); font-size:.76rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.pr-category-summary-item small { margin-top:2px; color:var(--pr-muted); font-size:.64rem; }
.pr-category-summary-item > b { color:var(--pr-purple); font-size:.75rem; font-weight:950; }

/* ---------- Presets / chips ---------- */
.pr-presets { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pr-presets > span { color: var(--pr-muted); font-size: .74rem; font-weight: 800; }
.pr-chip {
	appearance: none;
	min-height: 34px;
	padding: 7px 10px;
	border: 1px solid var(--pr-line);
	border-radius: 999px;
	background: #fff;
	color: var(--pr-ink-soft);
	font-size: .73rem;
	font-weight: 800;
	cursor: pointer;
	transition: border-color .16s ease, color .16s ease, background .16s ease, transform .16s ease;
}
.pr-chip:hover { transform: translateY(-1px); border-color: #a9bcea; background: #f4f7ff; color: var(--pr-blue); }
.pr-chip.is-applied { border-color: #a6d7bf; background: #effcf5; color: #087a4a; }
.pr-device-presets { margin-bottom: 2px; }

/* ---------- Info strips ---------- */
.pr-info-strip {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 13px 14px;
	margin-bottom: 16px;
	border: 1px solid #dcd1ff;
	border-radius: 14px;
	background: #f7f3ff;
	color: #4c3b83;
}
.pr-info-strip > span { flex: 0 0 auto; }
.pr-info-strip p { margin: 0; font-size: .82rem; }
.pr-info-strip.is-soft { margin: 16px 0 0; border-color: var(--pr-line); background: #f7f9fd; color: var(--pr-muted); }

/* ---------- Photos ---------- */
.pr-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0 10px; }
.pr-photo-slot {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 165px;
	padding: 18px 10px;
	border: 1.5px dashed #aebadc;
	border-radius: 18px;
	background: #fff;
	background-position: center;
	background-size: cover;
	text-align: center;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.pr-photo-slot:hover { transform: translateY(-2px); border-color: var(--pr-blue); background-color: #f7f9ff; }
.pr-photo-slot.is-recommended { border-color: #b9a1ff; background: linear-gradient(180deg, #fff, #faf7ff); }
.pr-photo-plus { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: 3px; border-radius: 14px; background: #edf3ff; color: var(--pr-blue); font-size: 1.25rem; font-weight: 600; }
.pr-photo-label { color: var(--pr-ink); font-size: .86rem; font-weight: 900; }
.pr-photo-hint { max-width: 120px; color: var(--pr-muted); font-size: .7rem; line-height: 1.35; }
.pr-recommended-badge { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 14px); padding: 4px 7px; border-radius: 999px; background: #efe9ff; color: #6b45d8; font-size: .6rem; font-weight: 900; }
.pr-photo-slot.is-filled { border-style: solid; border-color: var(--pr-green); box-shadow: inset 0 0 0 2px rgba(16,166,106,.18); }
.pr-photo-slot.is-filled::after { content: "✓"; position: absolute; top: 8px; right: 8px; display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--pr-green); color: #fff; font-size: .7rem; font-weight: 900; box-shadow: 0 4px 10px rgba(16,166,106,.25); }
.pr-photo-slot.is-filled .pr-photo-plus,
.pr-photo-slot.is-filled .pr-photo-hint,
.pr-photo-slot.is-filled .pr-recommended-badge { display: none; }
.pr-photo-slot.is-filled .pr-photo-label { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); width: max-content; padding: 4px 9px; border-radius: 999px; background: rgba(16,22,47,.8); color: #fff; font-size: .68rem; backdrop-filter: blur(5px); }

/* ---------- Lists / devices ---------- */
.pr-devices,
.pr-history { margin-top: 26px; }
.pr-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pr-count { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 9px; border-radius: 11px; background: var(--pr-ink); color: #fff; font-size: .78rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.pr-device-list,
.pr-report-list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pr-device,
.pr-report-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 14px;
	border: 1px solid var(--pr-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 5px 15px rgba(36,52,104,.04);
}
.pr-device::before { content: "⚡"; display: inline-grid; place-items: center; flex: 0 0 auto; width: 37px; height: 37px; border-radius: 12px; background: #eff4ff; font-size: .9rem; }
.pr-device-info { flex: 1; min-width: 0; }
.pr-device-name { display: block; overflow: hidden; color: var(--pr-ink); font-size: .89rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.pr-device-meta { display: block; margin-top: 2px; color: var(--pr-muted); font-size: .71rem; line-height: 1.4; }
.pr-device-kwh { padding: 5px 8px; border-radius: 9px; background: #effbf5; color: #087a4a; font-size: .72rem; font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pr-icon-btn {
	appearance: none;
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: #a0a8bc;
	font-size: .95rem;
	cursor: pointer;
	transition: background .16s ease, color .16s ease;
}
.pr-icon-btn:hover { background: #fff0f2; color: var(--pr-danger); }
.pr-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 145px;
	padding: 22px;
	border: 1.5px dashed var(--pr-line-strong);
	border-radius: 18px;
	background: #fafbff;
	color: var(--pr-muted);
	text-align: center;
}
.pr-empty > span { margin-bottom: 7px; font-size: 1.7rem; filter: grayscale(.1); }
.pr-empty strong { color: var(--pr-ink-soft); font-size: .86rem; }
.pr-empty small { margin-top: 3px; font-size: .72rem; }

.pr-report-item .pr-view-report { min-height: 38px; padding: 9px 12px; border-radius: 11px; font-size: .75rem; }

/* ---------- Result boxes ---------- */
.pr-result-box {
	margin-top: 16px;
	padding: 18px;
	border: 1px solid var(--pr-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 7px 20px rgba(36,52,104,.05);
}
.pr-result-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px dashed var(--pr-line); font-size: .86rem; }
.pr-result-row:last-child { border-bottom: 0; }
.pr-result-row span { color: var(--pr-muted); }
.pr-result-row strong { max-width: 62%; color: var(--pr-ink); text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- Report launch ---------- */
.pr-report-launch {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 16px;
	margin-bottom: 14px;
	border: 1px solid #d9e4ff;
	border-radius: 18px;
	background: linear-gradient(135deg, #f1f6ff, #f8f5ff);
}
.pr-report-launch-visual { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 54px; height: 54px; border-radius: 17px; background: var(--pr-ink); color: var(--pr-lime); box-shadow: 0 9px 20px rgba(16,22,47,.18); overflow: hidden; }
.pr-report-launch-visual span { position: relative; z-index: 2; font-size: 1.25rem; }
.pr-report-launch-visual i { position: absolute; width: 3px; height: 28px; border-radius: 999px; background: rgba(201,255,74,.28); transform: rotate(45deg); }
.pr-report-launch-visual i:nth-child(2) { left: 10px; }
.pr-report-launch-visual i:nth-child(3) { left: 26px; }
.pr-report-launch-visual i:nth-child(4) { left: 42px; }
.pr-report-launch strong { display: block; font-size: .91rem; font-weight: 900; }
.pr-report-launch small { display: block; margin-top: 3px; color: var(--pr-muted); font-size: .74rem; }

/* ---------- Electricity meter ---------- */
.pr-meter {
	position: relative;
	isolation: isolate;
	margin: 22px 0 14px;
	padding: clamp(28px, 6vw, 46px) 20px;
	border-radius: 25px;
	background:
		radial-gradient(80% 130% at 50% -20%, rgba(36,107,254,.8), transparent 60%),
		radial-gradient(50% 100% at 100% 100%, rgba(139,92,246,.42), transparent 70%),
		linear-gradient(145deg, #0d1431, #14204c 58%, #18245c);
	color: #fff;
	text-align: center;
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(16,22,47,.22), inset 0 0 0 1px rgba(255,255,255,.08);
}
.pr-meter::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 25px 25px;
	mask-image: radial-gradient(circle at center, #000 20%, transparent 78%);
}
.pr-meter-sparks i { position: absolute; width: 70px; height: 2px; background: linear-gradient(90deg, transparent, rgba(201,255,74,.65), transparent); transform: rotate(-35deg); opacity: .45; }
.pr-meter-sparks i:nth-child(1) { top: 25%; left: -10px; }
.pr-meter-sparks i:nth-child(2) { top: 17%; right: 0; transform: rotate(35deg); }
.pr-meter-sparks i:nth-child(3) { bottom: 18%; right: 14%; width: 42px; }
.pr-meter-label { color: rgba(255,255,255,.63); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.pr-meter-value { margin: 8px 0 4px; color: var(--pr-lime); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: clamp(2.7rem, 9vw, 4.4rem); font-weight: 900; line-height: 1; letter-spacing: -.06em; font-variant-numeric: tabular-nums; text-shadow: 0 0 30px rgba(201,255,74,.35); }
.pr-meter-sub { color: rgba(255,255,255,.72); font-size: .85rem; font-weight: 650; font-variant-numeric: tabular-nums; }

/* ---------- Stats / charts ---------- */
.pr-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.pr-stat {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 10px;
	padding: 16px;
	border: 1px solid var(--pr-line);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(36,52,104,.04);
}
.pr-stat-icon { grid-row: 1 / 3; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #eef3ff; color: var(--pr-blue); font-weight: 900; }
.pr-stat-label { color: var(--pr-muted); font-size: .71rem; font-weight: 800; }
.pr-stat-value { overflow-wrap: anywhere; color: var(--pr-ink); font-size: .91rem; font-weight: 900; font-variant-numeric: tabular-nums; }

.pr-chart-wrap {
	position: relative;
	min-height: 300px;
	padding: 18px;
	margin: 14px 0;
	border: 1px solid var(--pr-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(36,52,104,.05);
}
.pr-chart-title { margin-bottom: 14px; }
.pr-chart-title span { display: block; color: var(--pr-ink); font-size: .91rem; font-weight: 900; }
.pr-chart-title small { display: block; margin-top: 2px; color: var(--pr-muted); font-size: .72rem; }
.pr-chart-wrap canvas { max-height: 260px; }

/* ---------- AI blocks ---------- */
.pr-ai-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.pr-ai-block {
	position: relative;
	padding: 17px;
	margin: 0;
	border: 1px solid var(--pr-line);
	border-radius: 18px;
	background: linear-gradient(180deg, #fff, #fafbff);
	box-shadow: 0 6px 18px rgba(36,52,104,.04);
	overflow: hidden;
}
.pr-ai-block::before { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(var(--pr-blue), var(--pr-purple)); }
.pr-ai-block h5 { padding-left: 4px; }
.pr-ai-block p { margin: 0; color: var(--pr-ink-soft); font-size: .86rem; line-height: 1.58; }
.pr-ai-block:last-child { grid-column: 1 / -1; }
.pr-tips { margin: 8px 0 0; padding-left: 20px; color: var(--pr-ink-soft); }
.pr-tips li { margin-bottom: 8px; font-size: .85rem; line-height: 1.55; }
.pr-savings-badge { display: inline-flex; align-items: center; margin-top: 8px; padding: 7px 11px; border-radius: 999px; background: #edfff6; color: #087a4a; font-size: .75rem; font-weight: 900; font-variant-numeric: tabular-nums; }


/* ---------- Bill analysis ---------- */
.pr-bill-card { overflow: hidden; }
.pr-bill-head { align-items: flex-start; }
.pr-bill-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 18px;
}
.pr-bill-benefits > div {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 10px;
	align-items: center;
	min-width: 0;
	padding: 13px;
	border: 1px solid var(--pr-line);
	border-radius: 16px;
	background: linear-gradient(145deg, #fff, #f8faff);
}
.pr-bill-benefits > div > span {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	background: #eef4ff;
	color: var(--pr-blue);
	font-weight: 900;
}
.pr-bill-benefits strong { font-size: .85rem; line-height: 1.2; }
.pr-bill-benefits small { color: var(--pr-muted); font-size: .69rem; line-height: 1.35; }

.pr-bill-upload-surface {
	padding: 18px;
	border: 1px solid var(--pr-line);
	border-radius: 22px;
	background:
		radial-gradient(circle at 100% 0%, rgba(139,92,246,.1), transparent 38%),
		linear-gradient(145deg, #fbfcff, #f3f7ff);
}
.pr-bill-dropzone {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 245px;
	padding: 28px 20px;
	border: 2px dashed #b8c6e9;
	border-radius: 20px;
	background: rgba(255,255,255,.83);
	text-align: center;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.pr-bill-dropzone:hover,
.pr-bill-dropzone.is-dragging {
	border-color: var(--pr-blue);
	background: #f8fbff;
	box-shadow: 0 14px 34px rgba(36,107,254,.1);
	transform: translateY(-2px);
}
.pr-bill-dropzone.is-filled { border-color: var(--pr-green); background: #f5fffa; }
.pr-bill-upload-icon {
	display: grid;
	place-items: center;
	width: 66px;
	height: 66px;
	margin-bottom: 13px;
	border-radius: 21px;
	background: linear-gradient(135deg, var(--pr-blue), var(--pr-purple));
	color: #fff;
	font-size: 2rem;
	font-weight: 900;
	box-shadow: 0 13px 30px rgba(36,107,254,.24);
}
.pr-bill-dropzone > strong { margin-bottom: 5px; font-size: 1.08rem; font-weight: 900; }
.pr-bill-dropzone > small { max-width: 420px; color: var(--pr-muted); font-size: .79rem; }
.pr-bill-pick { margin-top: 17px; pointer-events: none; }
.pr-bill-or { margin: 14px 0; }
.pr-bill-camera { width: 100%; cursor: pointer; }

.pr-bill-files-wrap { margin-top: 18px; }
.pr-bill-file-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pr-bill-file {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 12px;
	border: 1px solid var(--pr-line);
	border-radius: 14px;
	background: #fff;
}
.pr-bill-file-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #f0eaff;
	color: var(--pr-purple);
	font-size: .68rem;
	font-weight: 950;
	letter-spacing: .04em;
}
.pr-bill-file-copy { flex: 1; min-width: 0; }
.pr-bill-file-copy strong,
.pr-bill-file-copy small { display: block; }
.pr-bill-file-copy strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.pr-bill-file-copy small { color: var(--pr-muted); font-size: .69rem; }
.pr-bill-privacy { margin-bottom: 16px !important; }

.pr-bill-loader {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	padding: 18px;
	border: 1px solid rgba(139,92,246,.24);
	border-radius: 20px;
	background: linear-gradient(135deg, #101a43, #1a2761);
	color: #fff;
	box-shadow: 0 18px 38px rgba(16,26,67,.2);
}
.pr-bill-loader-orbit {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
}
.pr-bill-loader-orbit span { font-size: 1.5rem; }
.pr-bill-loader-orbit i {
	position: absolute;
	inset: -3px;
	border: 2px solid transparent;
	border-top-color: var(--pr-lime);
	border-radius: 50%;
	animation: pr-rotate 1.1s linear infinite;
}
.pr-bill-loader-orbit i:last-child { inset: 7px; border-top-color: var(--pr-cyan); animation-direction: reverse; animation-duration: .85s; }
.pr-bill-loader-copy { flex: 1; min-width: 0; }
.pr-bill-loader-copy strong,
.pr-bill-loader-copy small { display: block; }
.pr-bill-loader-copy strong { margin-bottom: 3px; color: #fff; font-size: .96rem; }
.pr-bill-loader-copy small { color: rgba(255,255,255,.7); font-size: .75rem; }
.pr-bill-loader-track { height: 7px; margin-top: 11px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.pr-bill-loader-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pr-cyan), var(--pr-lime)); transition: width .45s ease; }

.pr-bill-result { margin-top: 22px; }
.pr-bill-reveal {
	position: relative;
	overflow: hidden;
	padding: 20px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 90% 10%, rgba(201,255,74,.22), transparent 32%),
		radial-gradient(circle at 0% 100%, rgba(34,211,238,.18), transparent 42%),
		linear-gradient(145deg, #0c1433, #172561);
	color: #fff;
	box-shadow: 0 20px 46px rgba(16,26,67,.22);
}
.pr-bill-reveal::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 28px 28px;
}
.pr-bill-reveal-top,
.pr-bill-reveal-grid { position: relative; z-index: 1; }
.pr-bill-reveal-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; color: rgba(255,255,255,.7); font-size: .72rem; font-weight: 750; }
.pr-bill-reveal .pr-status-dot { border-color: rgba(201,255,74,.25); background: rgba(201,255,74,.1); color: #eaffb5; }
.pr-bill-reveal-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; }
.pr-bill-reveal-grid > div { padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.pr-bill-reveal-grid small,
.pr-bill-reveal-grid strong,
.pr-bill-reveal-grid span { display: block; }
.pr-bill-reveal-grid small { margin-bottom: 5px; color: rgba(255,255,255,.58); font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.pr-bill-reveal-grid strong { color: #fff; font-size: clamp(1.75rem, 4vw, 3.25rem); font-weight: 950; line-height: 1.05; letter-spacing: -.05em; }
.pr-bill-reveal-grid > div:last-child strong { color: var(--pr-lime); }
.pr-bill-reveal-grid span { margin-top: 7px; color: rgba(255,255,255,.66); font-size: .75rem; }

.pr-bill-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.pr-bill-kpis > div { padding: 13px; border: 1px solid var(--pr-line); border-radius: 15px; background: #fff; }
.pr-bill-kpis span,
.pr-bill-kpis strong { display: block; }
.pr-bill-kpis span { margin-bottom: 4px; color: var(--pr-muted); font-size: .68rem; font-weight: 750; }
.pr-bill-kpis strong { font-size: .92rem; font-weight: 900; }
.pr-bill-details-grid { align-items: stretch; margin-top: 12px; }
.pr-bill-details-grid > .pr-result-box { margin: 0; }
.pr-bill-break-row + .pr-bill-break-row { margin-top: 10px; }
.pr-bill-break-row > div:first-child { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; font-size: .72rem; }
.pr-bill-break-row span { color: var(--pr-muted); }
.pr-bill-break-row strong { font-size: .74rem; }
.pr-bill-break-track { height: 7px; overflow: hidden; border-radius: 999px; background: #edf1f8; }
.pr-bill-break-track i { display: block; height: 100%; border-radius: inherit; }
.pr-bill-break-track .is-blue { background: var(--pr-blue); }
.pr-bill-break-track .is-green { background: var(--pr-green); }
.pr-bill-break-track .is-purple { background: var(--pr-purple); }
.pr-bill-break-track .is-lime { background: #8ebf17; }
.pr-bill-break-track .is-yellow { background: #d9a900; }
.pr-bill-break-track .is-cyan { background: #00a9c7; }
.pr-bill-line-items { margin-top: 12px; }
.pr-bill-line-items ul { display: grid; margin: 10px 0 0; padding: 0; list-style: none; }
.pr-bill-line-items li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--pr-line); font-size: .78rem; }
.pr-bill-line-items li:last-child { border-bottom: 0; }
.pr-bill-line-items li span { color: var(--pr-muted); }
.pr-bill-line-items li strong { text-align: right; }
.pr-bill-ai { margin-bottom: 14px; }
.pr-bill-ai .pr-ai-block.is-warning { border-color: #f6d48a; background: #fffaf0; }
.pr-bill-result-actions { position: static; margin-bottom: 0; }

/* ---------- Danger zone ---------- */
.pr-danger-zone { margin-top: 18px; }
.pr-danger-zone details { border: 1px solid var(--pr-line); border-radius: 17px; background: rgba(255,255,255,.75); overflow: hidden; }
.pr-danger-zone summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; color: var(--pr-muted); font-size: .8rem; font-weight: 800; cursor: pointer; list-style: none; }
.pr-danger-zone summary::-webkit-details-marker { display: none; }
.pr-danger-zone summary span { display: flex; align-items: center; gap: 8px; }
.pr-danger-zone summary i { font-style: normal; transition: transform .18s ease; }
.pr-danger-zone details[open] summary i { transform: rotate(180deg); }
.pr-danger-content { padding: 0 16px 16px; }
.pr-danger-content p { color: var(--pr-muted); font-size: .78rem; }
.pr-danger-content .pr-btn { min-height: 42px; padding: 10px 13px; font-size: .76rem; }

/* ---------- Spinner ---------- */
.pr-spin {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2.5px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: pr-rotate .72s linear infinite;
	vertical-align: -3px;
	opacity: .8;
}
@keyframes pr-rotate { to { transform: rotate(360deg); } }

/* ---------- Tablet ---------- */
@media (max-width: 900px) {
	.pr-app { padding: 12px; }
	.pr-auth-shell { grid-template-columns: 1fr; min-height: auto; }
	.pr-auth-story { display: none; }
	.pr-gate { width: min(100% - 28px, 560px); margin: 14px auto; }
	.pr-mobile-brand { display: flex; }
	.pr-header { grid-template-columns: 1fr auto; }
	.pr-mode { grid-column: 1 / -1; grid-row: 2; }
	.pr-mode-btn { flex: 1; }
	.pr-ai-section { grid-template-columns: 1fr; }
	.pr-ai-block:last-child { grid-column: auto; }
}

/* ---------- Mobile ---------- */
@media (max-width: 620px) {
	.pr-app { padding: 6px; font-size: 15px; }
	.pr-ambient { border-radius: 24px; }
	.pr-auth-shell,
	.pr-shell { border-radius: 24px; }
	.pr-auth-shell { border: 0; box-shadow: none; background: transparent; }
	.pr-gate { width: 100%; margin: 0; padding: 22px 18px; border-radius: 24px; }
	.pr-mobile-brand { margin-bottom: 24px; }
	.pr-gate-heading h2 { font-size: 1.8rem; }
	.pr-gate-heading p { font-size: .87rem; }
	.pr-privacy-note { margin-top: 18px; }

	.pr-shell { padding: 9px; }
	.pr-header { grid-template-columns: 1fr auto; gap: 12px; padding: 12px; border-radius: 18px; }
	.pr-brand .pr-logo-mark { width: 42px; height: 42px; border-radius: 14px; }
	.pr-brand-copy strong { font-size: .93rem; }
	.pr-brand-copy small { max-width: 185px; overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
	.pr-logout { width: 42px; height: 42px; min-height: 42px; padding: 0; }
	.pr-logout span:last-child { display: none; }
	.pr-mode {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		gap: 6px;
		padding: 6px;
		border-radius: 17px;
	}
	.pr-mode-btn {
		width: 100%;
		min-width: 0;
		min-height: 48px;
		padding: 10px 9px;
		gap: 7px;
		border-radius: 12px;
		font-size: .78rem;
		line-height: 1.15;
		white-space: normal;
	}
	.pr-mode-btn:first-child { grid-column: 1 / -1; }
	.pr-mode-icon { width: 20px; height: 20px; flex-basis: 20px; }

	.pr-progress-card { top: 5px; padding: 11px 12px 10px; border-radius: 16px; }
	.pr-progress-copy { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
	.pr-progress-copy span { color: var(--pr-muted); font-size: .66rem; font-weight: 800; }
	.pr-progress-copy strong { color: var(--pr-blue); font-size: .7rem; font-weight: 900; text-align: right; }
	.pr-steps { gap: 4px; }
	.pr-step { padding: 4px; }
	.pr-step > span:last-child { display: none; }
	.pr-step-n { width: 29px; height: 29px; border-radius: 10px; }
	.pr-progress-track { margin-top: 8px; }

	.pr-card { padding: 21px 16px; border-radius: 22px; }
	.pr-section-head { gap: 12px; margin-bottom: 18px; }
	.pr-section-icon { width: 42px; height: 42px; border-radius: 14px; }
	.pr-section-head h3 { font-size: 1.42rem; }
	.pr-section-head p { font-size: .82rem; }
	.pr-eyebrow { font-size: .65rem; letter-spacing: .08em; }

	.pr-form-surface { padding: 15px; border-radius: 17px; }
	.pr-row { grid-template-columns: 1fr; gap: 13px; }
	.pr-app input[type="text"],
	.pr-app input[type="number"],
	.pr-app input[type="email"],
	.pr-app input[type="password"],
	.pr-app select { height: 54px; }

	.pr-choice-grid { grid-template-columns: 1fr; gap: 10px; }
	.pr-choice { min-height: 88px; padding: 14px; border-radius: 17px; }
	.pr-choice-icon { width: 48px; height: 48px; border-radius: 15px; }

	.pr-business-profile { padding:14px; border-radius:17px; }
	.pr-business-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
	.pr-business-type { min-height:58px; padding:9px; }
	.pr-business-type:last-child { grid-column:1/-1; }
	.pr-business-equipment { margin-left:-3px; margin-right:-3px; padding:14px; border-radius:18px; }
	.pr-business-equipment-hero { flex-direction:column; gap:12px; }
	.pr-business-equipment-hero .pr-btn { width:100%; }
	.pr-business-catalog { grid-template-columns:1fr; }
	.pr-category-summary-grid { grid-template-columns:1fr; }
	.pr-business-report-summary { padding:14px; border-radius:17px; }
	.pr-equipment-card { grid-template-columns:auto minmax(0,1fr); }
	.pr-equipment-use { grid-column:1/-1; justify-content:center; width:100%; min-height:39px; }

	.pr-entry-tabs .pr-tab { min-height: 48px; padding: 8px 7px; font-size: .73rem; }
	.pr-presets { gap: 6px; }
	.pr-presets > span { width: 100%; }
	.pr-chip { min-height: 36px; }

	.pr-photo-grid { grid-template-columns: 1fr; gap: 10px; }
	.pr-photo-slot { min-height: 132px; }
	.pr-photo-slot.is-recommended { order: -1; min-height: 150px; }

	.pr-device { display:grid; grid-template-columns:34px minmax(0,1fr) 36px; align-items:start; gap:10px; }
	.pr-device::before { grid-column:1; grid-row:1; width:34px; height:34px; }
	.pr-device-info { grid-column:2; grid-row:1; width:auto; min-width:0; }
	.pr-device-meta { overflow-wrap:anywhere; }
	.pr-device-kwh { grid-column:2; grid-row:2; justify-self:start; margin:0; }
	.pr-icon-btn { grid-column:3; grid-row:1; margin:0; }
	.pr-step-panel[data-panel="2"] > .pr-actions { position:static; margin-top:20px; }

	.pr-actions {
		position: sticky;
		bottom: 5px;
		z-index: 7;
		flex-direction: column-reverse;
		padding: 12px;
		margin: 20px -5px -7px;
		border: 1px solid rgba(223,229,244,.95);
		border-radius: 16px;
		background: rgba(255,255,255,.95);
		box-shadow: 0 -8px 25px rgba(36,52,104,.08);
		backdrop-filter: blur(16px);
	}
	.pr-actions .pr-btn { width: 100%; min-height: 50px; }

	.pr-report-launch { align-items: flex-start; }
	.pr-grid-2 { grid-template-columns: 1fr; }
	.pr-chart-wrap { min-height: 260px; padding: 14px; }
	.pr-chart-wrap canvas { max-height: 225px; }
	.pr-meter { border-radius: 21px; }
	.pr-meter-value { font-size: clamp(2.5rem, 15vw, 3.7rem); }
	.pr-result-row { gap: 10px; }
	.pr-result-row strong { max-width: 58%; }

	.pr-report-item { align-items: flex-start; flex-wrap: wrap; }
	.pr-report-item .pr-grow { width: calc(100% - 44px); }
	.pr-report-item .pr-view-report { flex: 1; margin-left: 0; }
}

@media (max-width: 380px) {
	.pr-app { padding: 0; }
	.pr-shell,
	.pr-gate { border-radius: 20px; }
	.pr-brand-copy small { max-width: 145px; }
	.pr-mode { gap: 5px; padding: 5px; }
	.pr-mode-btn { min-height: 47px; padding: 9px 6px; font-size: .73rem; gap: 5px; }
	.pr-mode-icon { width: 18px; height: 18px; flex-basis: 18px; }
	.pr-tab { font-size: .78rem; }
	.pr-card { padding-left: 14px; padding-right: 14px; }
}


@media (max-width: 760px) {
	.pr-bill-benefits { grid-template-columns: 1fr; }
	.pr-bill-reveal-grid,
	.pr-bill-kpis { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.pr-bill-upload-surface { padding: 11px; border-radius: 18px; }
	.pr-bill-dropzone { min-height: 215px; padding: 22px 14px; border-radius: 17px; }
	.pr-bill-upload-icon { width: 58px; height: 58px; border-radius: 18px; }
	.pr-bill-pick { width: 100%; }
	.pr-bill-loader { align-items: flex-start; gap: 12px; padding: 14px; }
	.pr-bill-loader-orbit { width: 52px; height: 52px; }
	.pr-bill-reveal { padding: 14px; border-radius: 20px; }
	.pr-bill-reveal-top { align-items: flex-start; flex-direction: column; margin-bottom: 13px; }
	.pr-bill-reveal-grid { gap: 8px; }
	.pr-bill-reveal-grid > div { padding: 13px; }
	.pr-bill-reveal-grid strong { font-size: 2rem; }
	.pr-bill-file { padding: 9px; }
	.pr-bill-file-copy strong { max-width: 190px; }
	.pr-bill-result-actions { flex-direction: column-reverse; }
}

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


/* ============================================================
   v1.5 Human-first accuracy, home profile & trustworthy reports
   ============================================================ */
.pr-home-profile { margin-top:16px; padding:18px; border:1px solid #b9cbff; border-radius:20px; background:radial-gradient(circle at 100% 0,rgba(34,211,238,.15),transparent 34%),linear-gradient(135deg,#f6f9ff,#f4f0ff); box-shadow:0 12px 30px rgba(36,107,254,.08); }
.pr-home-profile .pr-business-profile-mark { background:linear-gradient(135deg,#22d3ee,var(--pr-blue)); }
.pr-choice-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:13px; }
.pr-choice-checks .pr-check-card { margin:0; min-height:68px; }
.pr-home-equipment { margin:0 0 18px; padding:18px; border:1px solid #b9c9f1; border-radius:21px; background:radial-gradient(circle at 0 0,rgba(34,211,238,.14),transparent 28%),radial-gradient(circle at 100% 0,rgba(201,255,74,.2),transparent 30%),linear-gradient(145deg,#f8fbff,#f7f4ff); }
.pr-accuracy-details { margin-top:14px; border:1px solid var(--pr-line); border-radius:16px; background:#fbfcff; overflow:hidden; }
.pr-accuracy-details summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 15px; cursor:pointer; list-style:none; }
.pr-accuracy-details summary::-webkit-details-marker { display:none; }
.pr-accuracy-details summary span { color:var(--pr-ink); font-size:.82rem; font-weight:900; }
.pr-accuracy-details summary small { max-width:460px; color:var(--pr-muted); font-size:.7rem; line-height:1.45; text-align:right; }
.pr-accuracy-details[open] summary { border-bottom:1px solid var(--pr-line); background:#f3f7ff; }
.pr-accuracy-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:14px; }
.pr-form-submit-row { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
.pr-device-actions { display:flex; align-items:center; gap:6px; }
.pr-device-actions .pr-icon-btn { margin:0; }
.pr-report-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.pr-trust-card { min-width:0; padding:15px; border:1px solid var(--pr-line); border-radius:16px; background:#fff; box-shadow:0 6px 18px rgba(36,52,104,.04); }
.pr-trust-card span { display:block; color:var(--pr-muted); font-size:.62rem; font-weight:900; letter-spacing:.07em; }
.pr-trust-card strong { display:block; margin-top:6px; color:var(--pr-ink); font-size:.95rem; font-weight:950; }
.pr-trust-card small { display:block; margin-top:4px; color:var(--pr-muted); font-size:.68rem; line-height:1.45; }
.pr-report-completeness,.pr-report-scenarios,.pr-report-reconciliation,.pr-report-disclaimer { margin:14px 0; padding:16px; border:1px solid var(--pr-line); border-radius:18px; background:#fff; }
.pr-completeness-head { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.pr-completeness-head h4,.pr-report-reconciliation h4,.pr-report-scenarios h4 { margin:3px 0 0; color:var(--pr-ink); font-size:.95rem; font-weight:950; }
.pr-completeness-head > strong { color:var(--pr-blue); font-size:1.25rem; font-weight:950; }
.pr-completeness-track { height:9px; margin:12px 0 10px; border-radius:999px; background:#edf1f9; overflow:hidden; }
.pr-completeness-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--pr-blue),#22d3ee,var(--pr-lime)); }
.pr-report-completeness p,.pr-report-scenarios p,.pr-report-reconciliation p,.pr-report-reconciliation small,.pr-report-disclaimer p { margin:0; color:var(--pr-muted); font-size:.74rem; line-height:1.55; }
.pr-report-reconciliation { display:flex; align-items:center; justify-content:space-between; gap:20px; border-color:#a9d7ff; background:linear-gradient(135deg,#f4faff,#f8fbff); }
.pr-report-reconciliation > strong { flex:0 0 auto; color:var(--pr-blue); font-size:1.35rem; font-weight:950; }
.pr-scenario-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:12px 0 10px; }
.pr-scenario-grid > div { padding:12px; border-radius:13px; background:#f5f8ff; }
.pr-scenario-grid span { display:block; color:var(--pr-muted); font-size:.68rem; line-height:1.35; }
.pr-scenario-grid strong { display:block; margin-top:5px; color:var(--pr-ink); font-size:.78rem; font-weight:900; }
.pr-report-disclaimer { grid-column:1/-1; border-color:#ffe19a; background:#fffaf0; }
.pr-report-disclaimer strong { display:block; margin-bottom:4px; color:#7f5900; font-size:.78rem; font-weight:950; }

@media (max-width:760px) {
  .pr-report-trust-grid,.pr-scenario-grid { grid-template-columns:1fr; }
  .pr-accuracy-fields { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .pr-home-profile,.pr-home-equipment { margin-left:-3px; margin-right:-3px; padding:14px; border-radius:18px; }
  .pr-choice-checks { grid-template-columns:1fr; }
  .pr-accuracy-details summary { align-items:flex-start; flex-direction:column; gap:5px; }
  .pr-accuracy-details summary small { text-align:left; }
  .pr-form-submit-row { flex-direction:column-reverse; }
  .pr-form-submit-row .pr-btn { width:100%; }
  .pr-device { grid-template-columns:34px minmax(0,1fr) auto; }
  .pr-device-actions { grid-column:3; grid-row:1/3; flex-direction:column; }
  .pr-report-reconciliation { align-items:flex-start; flex-direction:column; gap:10px; }
}

/* ---------- Promoted.gr public-beta positioning ---------- */
.pr-account-why {
	margin: 12px 0 2px;
	border: 1px solid var(--pr-line);
	border-radius: 14px;
	background: var(--pr-surface-soft);
	overflow: hidden;
}
.pr-account-why summary {
	padding: 11px 13px;
	color: var(--pr-ink-soft);
	font-size: .78rem;
	font-weight: 850;
	cursor: pointer;
}
.pr-account-why p {
	margin: 0;
	padding: 0 13px 13px;
	color: var(--pr-muted);
	font-size: .74rem;
	line-height: 1.55;
}
.pr-public-beta {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 13px;
	margin: 0 0 18px;
	padding: 15px 17px;
	border: 1px solid rgba(36,107,254,.16);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(36,107,254,.075), rgba(139,92,246,.055));
}
.pr-public-beta-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 999px;
	background: var(--pr-ink);
	color: #fff;
	font-size: .62rem;
	font-weight: 950;
	letter-spacing: .12em;
}
.pr-public-beta strong { display:block; margin:0 0 3px; color:var(--pr-ink); font-size:.84rem; }
.pr-public-beta p { margin:0; color:var(--pr-muted); font-size:.75rem; line-height:1.5; }
.pr-project-about { margin: 18px 0; }
.pr-project-about details {
	border: 1px solid var(--pr-line);
	border-radius: 20px;
	background: rgba(255,255,255,.86);
	box-shadow: var(--pr-shadow-soft);
	overflow: hidden;
}
.pr-project-about summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 16px 18px;
	list-style: none;
	color: var(--pr-ink);
	font-size: .86rem;
	font-weight: 900;
	cursor: pointer;
}
.pr-project-about summary::-webkit-details-marker { display:none; }
.pr-project-about summary i { transition: transform .18s ease; }
.pr-project-about details[open] summary i { transform: rotate(180deg); }
.pr-project-about-content { padding: 0 18px 19px; }
.pr-project-kicker { display:inline-block; margin-bottom:8px; color:var(--pr-purple); font-size:.62rem; font-weight:950; letter-spacing:.11em; }
.pr-project-about-content h4 { margin-bottom:8px; }
.pr-project-about-content p { max-width:820px; margin-bottom:10px; color:var(--pr-muted); font-size:.79rem; line-height:1.6; }
.pr-project-about-content a { display:inline-flex; align-items:center; gap:6px; color:var(--pr-blue); font-size:.78rem; font-weight:850; text-decoration:none; }
.pr-project-about-content a:hover { text-decoration:underline; }

@media (max-width: 640px) {
	.pr-public-beta { grid-template-columns: 1fr; padding: 14px; }
	.pr-public-beta-badge { justify-self: start; }
	.pr-project-about summary { padding: 14px 15px; }
	.pr-project-about-content { padding: 0 15px 16px; }
}

