﻿.remindmii-app-shell {
	padding: 24px;
	border: 1px solid #d1d5db;
	border-radius: 12px;
	background: #ffffff;
	max-width: 720px;
	margin: 24px auto;
	box-sizing: border-box;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.remindmii-app-shell__header h2 {
	margin: 0 0 12px;
}

.remindmii-app-shell__intro {
	margin: 0;
	color: #475569;
}

.remindmii-app-shell__body {
	display: grid;
	gap: 16px;
	margin-top: 20px;
}

.remindmii-app-shell__status {
	margin: 0;
	min-height: 24px;
	color: #475569;
}

.remindmii-app-shell__status.is-error {
	color: #b91c1c;
}

.remindmii-auth-message {
	padding: 16px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
}

.remindmii-auth-message p {
	margin: 0 0 12px;
}

.remindmii-profile-form {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #ffffff;
}

.remindmii-profile-form h3 {
	margin: 0;
	font-size: 1.05rem;
}

.remindmii-notifications-panel {
	display: grid;
	gap: 12px;
	padding: 18px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #f8fafc;
}

.remindmii-notifications-panel h3 {
	margin: 0;
	font-size: 1.05rem;
}

.remindmii-notifications-toolbar {
	display: flex;
	align-items: end;
	gap: 12px;
	flex-wrap: wrap;
}

.remindmii-field--compact {
	max-width: 220px;
}

.remindmii-notifications {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.remindmii-notification {
	padding: 14px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #ffffff;
}

.remindmii-notification--preview {
	border-left: 4px solid #0284c7;
}

.remindmii-notification--sent {
	border-left: 4px solid #059669;
}

.remindmii-notification--failed {
	border-left: 4px solid #dc2626;
}

.remindmii-notification--empty {
	text-align: center;
}

.remindmii-notification__content h4 {
	margin: 0 0 8px;
	font-size: 1rem;
}

.remindmii-notification__meta,
.remindmii-notification__message {
	margin: 0;
	color: #475569;
}

.remindmii-notification__message {
	margin-top: 8px;
}

.remindmii-notification__actions {
	margin-top: 10px;
}

.remindmii-notifications-footer {
	margin-top: 4px;
}

.remindmii-notifications-count {
	margin: 0 0 10px;
	font-size: 0.875rem;
	color: #64748b;
}

.remindmii-form {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #f8fafc;
}

.remindmii-field-group {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.remindmii-field {
	display: grid;
	gap: 8px;
	font-weight: 600;
	color: #0f172a;
}

.remindmii-field input,
.remindmii-field textarea,
.remindmii-field select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #ffffff;
	box-sizing: border-box;
	font: inherit;
}

.remindmii-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	color: #0f172a;
}

.remindmii-form__actions {
	display: flex;
	justify-content: flex-start;
}

.remindmii-inline-create {
	display: flex;
	gap: 8px;
	align-items: center;
}

.remindmii-field--category-create .remindmii-inline-create input {
	flex: 1 1 auto;
}

.remindmii-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border: 1px solid #047857;
	border-radius: 8px;
	background: #059669;
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

.remindmii-button:disabled {
	opacity: 0.7;
	cursor: wait;
}

.remindmii-button--secondary {
	border-color: #cbd5e1;
	background: #ffffff;
	color: #0f172a;
}

.remindmii-button--danger {
	border-color: #fca5a5;
	background: #fee2e2;
	color: #991b1b;
}

.remindmii-button--danger:hover {
	background: #fca5a5;
}

.remindmii-button--small {
	padding: 0.2rem 0.6rem;
	font-size: 0.8rem;
}
	padding: 6px 10px;
	font-size: 0.875rem;
}

.remindmii-reminders {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 12px;
}

.remindmii-categories {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
}

.remindmii-category {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #ffffff;
}

.remindmii-category__swatch {
	width: 12px;
	height: 12px;
	border-radius: 999px;
	flex: 0 0 12px;
}

.remindmii-category__name {
	flex: 1 1 auto;
	font-weight: 600;
	color: #0f172a;
}

.remindmii-reminder {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #ffffff;
}

.remindmii-reminder--completed {
	background: #f8fafc;
	opacity: 0.82;
}

.remindmii-reminder--completed h3 {
	text-decoration: line-through;
}

.remindmii-reminder--empty {
	justify-content: center;
}

.remindmii-reminder__content {
	flex: 1 1 auto;
}

.remindmii-reminder__content h3 {
	margin: 0 0 8px;
	font-size: 1.05rem;
}

.remindmii-reminder__meta,
.remindmii-reminder__description {
	margin: 0;
	color: #475569;
}

.remindmii-reminder__description {
	margin-top: 8px;
}

.remindmii-reminder__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

@media (max-width: 640px) {
	.remindmii-field-group {
		grid-template-columns: 1fr;
	}

	.remindmii-reminder {
		flex-direction: column;
	}

	.remindmii-reminder__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.remindmii-inline-create {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ==========================================================================
   Wishlists
   ========================================================================== */

.remindmii-wishlists-panel { margin-top: 1.5rem; }

.remindmii-wishlists-header,
.remindmii-wishlists-items-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.remindmii-wishlists-header h3,
.remindmii-wishlists-items-header h4 { margin: 0; }

.remindmii-wishlists-list,
.remindmii-items-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.remindmii-wishlist-row,
.remindmii-item-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: #f8faff;
	border: 1px solid #dde3f0;
	border-radius: 0.5rem;
	padding: 0.6rem 0.875rem;
	flex-wrap: wrap;
}

.remindmii-wishlist-row__title.remindmii-link {
	background: none;
	border: none;
	padding: 0;
	font-weight: 600;
	color: #2563eb;
	cursor: pointer;
	text-decoration: underline;
	flex: 1 1 0;
}

.remindmii-wishlist-row__title.remindmii-link:hover { color: #1d4ed8; }

.remindmii-wishlist-row__actions,
.remindmii-item-row__actions {
	display: flex;
	gap: 0.35rem;
	margin-left: auto;
}

.remindmii-item-row--purchased .remindmii-item-row__title {
	text-decoration: line-through;
	opacity: 0.55;
}

.remindmii-item-row__title { flex: 1 1 0; word-break: break-word; }

.remindmii-badge {
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.15em 0.5em;
	border-radius: 0.25rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.remindmii-badge--public  { background: #dcfce7; color: #166534; }
.remindmii-badge--private { background: #f1f5f9; color: #64748b; }

.remindmii-wishlist-detail { margin-top: 0.75rem; }

.remindmii-wishlist-detail-desc {
	color: #64748b;
	font-size: 0.9rem;
	margin: 0.25rem 0 0.75rem;
}

.remindmii-wishlist-share {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	flex-wrap: wrap;
	margin-bottom: 0.75rem;
}

.remindmii-wishlist-share a {
	word-break: break-all;
	color: #2563eb;
}

/* ==========================================================================
   Public Wishlist View
   ========================================================================== */

.remindmii-public-wishlist { max-width: 720px; margin: 0 auto; }

.remindmii-public-wishlist__title { margin-bottom: 0.25rem; }

.remindmii-public-wishlist__desc {
	color: #64748b;
	margin-bottom: 1.25rem;
}

.remindmii-public-wishlist__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.remindmii-public-item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	background: #f8faff;
	border: 1px solid #dde3f0;
	border-radius: 0.5rem;
	padding: 0.875rem 1rem;
}

.remindmii-public-item--purchased { opacity: 0.55; }

.remindmii-public-item--purchased .remindmii-public-item__title {
	text-decoration: line-through;
}

.remindmii-public-item__title { font-weight: 600; font-size: 1rem; }

.remindmii-public-item__price {
	font-size: 0.875rem;
	color: #475569;
}

.remindmii-public-item__desc {
	font-size: 0.875rem;
	color: #64748b;
	margin: 0;
}

/* ==========================================================================
   Modal
   ========================================================================== */

.remindmii-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.45);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 1rem;
}

.remindmii-modal {
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 8px 32px rgba(0,0,0,.18);
	width: 100%;
	max-width: 560px;
	max-height: 85vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.remindmii-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid #e2e8f0;
}

.remindmii-modal__header h3 { margin: 0; }

.remindmii-modal__close {
	background: none;
	border: none;
	font-size: 1.1rem;
	cursor: pointer;
	color: #64748b;
	padding: 0.25rem 0.5rem;
	border-radius: 0.25rem;
}

.remindmii-modal__close:hover { background: #f1f5f9; }

/* ==========================================================================
   Templates
   ========================================================================== */

.remindmii-form__template-bar {
	margin-bottom: 0.75rem;
}

.remindmii-templates-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid #e2e8f0;
}

.remindmii-template-cat-btn.is-active {
	background: #2563eb;
	color: #fff;
	border-color: #2563eb;
}

.remindmii-templates-list {
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	overflow-y: auto;
	flex: 1;
}

.remindmii-template-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.6rem 1.25rem;
	cursor: pointer;
	transition: background 0.1s;
}

.remindmii-template-row:hover { background: #f8faff; }

.remindmii-template-row__icon { font-size: 1.5rem; flex-shrink: 0; }

.remindmii-template-row__body { flex: 1; }

.remindmii-template-row__body strong { display: block; margin-bottom: 0.1rem; }

.remindmii-template-row__body p {
	margin: 0;
	font-size: 0.8rem;
	color: #64748b;
}

/* ==========================================================================
   Preferences
   ========================================================================== */

.remindmii-preferences-panel { margin-top: 1.5rem; }

.remindmii-pref-section { margin-bottom: 1.5rem; }

.remindmii-pref-section h4 { margin-bottom: 0.75rem; }

.remindmii-theme-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem;
}

@media (min-width: 480px) {
	.remindmii-theme-grid { grid-template-columns: repeat(4, 1fr); }
}

.remindmii-theme-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	padding: 0.75rem 0.5rem;
	border: 2px solid #e2e8f0;
	border-radius: 0.5rem;
	background: #f8faff;
	cursor: pointer;
	font-size: 0.875rem;
	transition: border-color 0.15s, background 0.15s;
}

.remindmii-theme-btn__icon { font-size: 1.5rem; }

.remindmii-theme-btn:hover { border-color: #93c5fd; background: #eff6ff; }

.remindmii-theme-btn.is-active {
	border-color: #2563eb;
	background: #eff6ff;
	font-weight: 600;
}

.remindmii-toggle-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.remindmii-toggle-row:last-child { border-bottom: none; }

.remindmii-toggle-row > div > p {
	margin: 0;
	font-size: 0.8rem;
	color: #64748b;
}

.remindmii-toggle {
	flex-shrink: 0;
	width: 3rem;
	height: 1.6rem;
	border-radius: 999px;
	border: none;
	background: #cbd5e1;
	position: relative;
	cursor: pointer;
	transition: background 0.2s;
}

.remindmii-toggle::after {
	content: '';
	position: absolute;
	top: 0.2rem;
	left: 0.2rem;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.2s;
}

.remindmii-toggle.is-on {
	background: #2563eb;
}

.remindmii-toggle.is-on::after {
	transform: translateX(1.4rem);
}

.remindmii-pref-status {
	font-size: 0.875rem;
	color: #16a34a;
	margin-top: 0.5rem;
}

/* Theme data-attribute overrides */
[data-remindmii-theme="dark"] { filter: invert(1) hue-rotate(180deg); }
[data-remindmii-theme="romantic"] { --remindmii-accent: #e11d48; }

/* ==========================================================================
   Shared lists
   ========================================================================== */

.remindmii-shared-items { list-style: none; padding: 0; margin: 0 0 1rem; }

.remindmii-shared-items li {
	padding: 0.6rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.remindmii-shared-items li:last-child { border-bottom: none; }

.remindmii-wishlist-shares { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e2e8f0; }

.remindmii-shares-list { list-style: none; padding: 0; margin: 0 0 1rem; }

.remindmii-share-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0;
	border-bottom: 1px solid #f1f5f9;
}

.remindmii-share-item:last-child { border-bottom: none; }

.remindmii-badge {
	display: inline-block;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	background: #e0f2fe;
	color: #0369a1;
	font-size: 0.75rem;
}

.remindmii-button--sm { padding: 0.2rem 0.6rem; font-size: 0.8rem; }

.remindmii-muted { color: #64748b; font-size: 0.875rem; margin: 0 0 0.5rem; }

/* ==========================================================================
   Gamification
   ========================================================================== */

.remindmii-stats-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

@media (min-width: 480px) {
	.remindmii-stats-grid { grid-template-columns: repeat(4, 1fr); }
}

.remindmii-stat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1rem 0.5rem;
	background: #f0f9ff;
	border-radius: 0.5rem;
	border: 1px solid #bae6fd;
}

.remindmii-stat-card__value {
	font-size: 1.75rem;
	font-weight: 700;
	color: #0369a1;
	line-height: 1;
}

.remindmii-stat-card__label {
	font-size: 0.75rem;
	color: #64748b;
	margin-top: 0.25rem;
	text-align: center;
}

.remindmii-badges-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	margin-top: 0.75rem;
}

@media (min-width: 480px) {
	.remindmii-badges-grid { grid-template-columns: repeat(3, 1fr); }
}

.remindmii-badge-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 1rem 0.5rem;
	border-radius: 0.5rem;
	border: 2px solid #e2e8f0;
	text-align: center;
}

.remindmii-badge-card.is-earned {
	border-color: #fbbf24;
	background: #fffbeb;
}

.remindmii-badge-card.is-locked {
	opacity: 0.55;
	filter: grayscale(0.6);
}

.remindmii-badge-card__icon { font-size: 2rem; line-height: 1; }

.remindmii-badge-card strong { font-size: 0.85rem; }

.remindmii-badge-card small { font-size: 0.75rem; color: #64748b; }

.remindmii-badge-earned-tag { font-size: 0.7rem; color: #d97706; font-weight: 600; }

.remindmii-badge-locked-tag { font-size: 0.7rem; color: #94a3b8; }

/* ==========================================================================
   Location reminder fields
   ========================================================================== */

.remindmii-location-details {
	margin-bottom: 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.375rem;
	padding: 0.5rem 0.75rem;
}

.remindmii-location-details > summary {
	cursor: pointer;
	font-weight: 600;
	color: #475569;
	user-select: none;
	padding: 0.25rem 0;
}

.remindmii-location-fields { margin-top: 0.75rem; }
/* ------------------------------------------------------------------ */
/* Voice Input                                                          */
/* ------------------------------------------------------------------ */

/* Title field with inline mic button */
.remindmii-field--with-action .remindmii-field__input-row {
display: flex;
gap: 0.5rem;
align-items: stretch;
}

.remindmii-field--with-action .remindmii-field__input-row input {
flex: 1 1 0%;
min-width: 0;
}

.remindmii-voice-trigger {
flex: 0 0 auto;
background: #f1f5f9;
border: 1px solid #cbd5e1;
border-radius: 0.5rem;
padding: 0 0.75rem;
font-size: 1.125rem;
cursor: pointer;
transition: background 0.15s, border-color 0.15s;
line-height: 1;
}

.remindmii-voice-trigger:hover {
background: #e2e8f0;
border-color: #94a3b8;
}

/* Voice modal */
.remindmii-voice-modal__inner {
max-width: 520px;
}

.remindmii-voice-modal__hint {
font-size: 0.875rem;
color: #64748b;
margin: 0 0 1rem;
}

.remindmii-voice-transcript {
background: #f8fafc;
border: 2px dashed #cbd5e1;
border-radius: 0.75rem;
min-height: 100px;
padding: 1rem;
font-size: 1rem;
color: #1e293b;
margin-bottom: 1rem;
word-break: break-word;
transition: border-color 0.2s;
}

.remindmii-voice-transcript__interim {
color: #94a3b8;
}

.remindmii-voice-transcript__cursor {
animation: remindmii-blink 0.8s step-start infinite;
color: #6366f1;
font-weight: bold;
}

@keyframes remindmii-blink {
50% { opacity: 0; }
}

.remindmii-voice-error {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 0.5rem;
padding: 0.75rem 1rem;
color: #b91c1c;
font-size: 0.875rem;
margin-bottom: 1rem;
}

.remindmii-voice-actions {
display: flex;
align-items: center;
gap: 1rem;
}

/* Mic button */
.remindmii-voice-mic {
display: flex;
align-items: center;
gap: 0.5rem;
background: #f1f5f9;
border: 2px solid #cbd5e1;
border-radius: 9999px;
padding: 0.5rem 1.25rem;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.remindmii-voice-mic:hover {
background: #e2e8f0;
}

.remindmii-voice-mic.is-listening {
background: #fef2f2;
border-color: #f87171;
color: #b91c1c;
animation: remindmii-pulse-ring 1.2s ease-out infinite;
}

@keyframes remindmii-pulse-ring {
0%   { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
70%  { box-shadow: 0 0 0 10px rgba(239,68,68,0); }
100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}

/* ------------------------------------------------------------------ */
/* Header title row + lang selector + legal trigger                    */
/* ------------------------------------------------------------------ */

.remindmii-app-shell__title-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
flex-wrap: wrap;
}

.remindmii-app-shell__title-row h2 {
margin: 0;
}

.remindmii-header-actions {
display: flex;
align-items: center;
gap: 0.5rem;
}

/* Language selector */
.remindmii-lang-selector {
position: relative;
}

.remindmii-lang-selector__trigger {
background: #f1f5f9;
border: 1px solid #cbd5e1;
border-radius: 0.5rem;
padding: 0.4rem 0.75rem;
font-size: 0.8125rem;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: 0.25rem;
transition: background 0.15s, border-color 0.15s;
}

.remindmii-lang-selector__trigger:hover {
background: #e2e8f0;
}

.remindmii-lang-selector__dropdown {
position: absolute;
top: calc(100% + 6px);
right: 0;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 0.5rem;
box-shadow: 0 4px 16px rgba(0,0,0,.12);
min-width: 160px;
list-style: none;
margin: 0;
padding: 0.25rem 0;
z-index: 200;
}

.remindmii-lang-selector__dropdown li button {
width: 100%;
text-align: left;
background: none;
border: none;
padding: 0.5rem 1rem;
font-size: 0.875rem;
cursor: pointer;
color: #374151;
transition: background 0.1s;
}

.remindmii-lang-selector__dropdown li button:hover {
background: #f1f5f9;
}

/* Legal trigger button */
.remindmii-legal-trigger {
background: #f1f5f9;
border: 1px solid #cbd5e1;
border-radius: 0.5rem;
padding: 0.4rem 0.6rem;
font-size: 1rem;
cursor: pointer;
transition: background 0.15s;
}

.remindmii-legal-trigger:hover {
background: #e2e8f0;
}

/* ------------------------------------------------------------------ */
/* Legal modal                                                          */
/* ------------------------------------------------------------------ */

.remindmii-legal-modal__inner {
max-width: 640px;
max-height: 80vh;
display: flex;
flex-direction: column;
}

.remindmii-legal-tabs {
display: flex;
gap: 0.5rem;
}

.remindmii-legal-tab {
background: #f1f5f9;
border: 1px solid #cbd5e1;
border-radius: 0.5rem;
padding: 0.375rem 0.875rem;
font-size: 0.8125rem;
font-weight: 600;
cursor: pointer;
color: #374151;
transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.remindmii-legal-tab.is-active,
.remindmii-legal-tab:hover {
background: #6366f1;
color: #fff;
border-color: #6366f1;
}

.remindmii-legal-content {
overflow-y: auto;
padding: 1.25rem 1.5rem;
flex: 1 1 auto;
}

.remindmii-legal-doc__title {
font-size: 1.125rem;
font-weight: 700;
margin: 0 0 0.25rem;
color: #111827;
}

.remindmii-legal-doc__updated {
font-size: 0.8125rem;
color: #9ca3af;
margin: 0 0 1rem;
}

.remindmii-legal-doc__body {
font-size: 0.9375rem;
line-height: 1.75;
color: #374151;
white-space: pre-line;
}

/* ------------------------------------------------------------------ */
/* Cookie banner                                                        */
/* ------------------------------------------------------------------ */

.remindmii-cookie-banner {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1000;
padding: 1rem;
pointer-events: none;
}

.remindmii-cookie-banner__inner {
max-width: 600px;
margin: 0 auto;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 1rem;
padding: 1.25rem;
box-shadow: 0 -2px 24px rgba(0,0,0,.12);
pointer-events: all;
}

.remindmii-cookie-banner__top {
display: flex;
gap: 0.875rem;
align-items: flex-start;
margin-bottom: 1rem;
}

.remindmii-cookie-banner__top > span {
font-size: 1.5rem;
flex-shrink: 0;
margin-top: 0.1rem;
}

.remindmii-cookie-banner__title {
font-size: 0.9375rem;
font-weight: 700;
color: #111827;
margin: 0 0 0.25rem;
}

.remindmii-cookie-banner__desc {
font-size: 0.875rem;
color: #4b5563;
margin: 0;
line-height: 1.5;
}

.remindmii-cookie-banner__dismiss {
margin-left: auto;
flex-shrink: 0;
background: none;
border: none;
color: #9ca3af;
cursor: pointer;
font-size: 1rem;
padding: 0.25rem;
border-radius: 0.25rem;
}

.remindmii-cookie-banner__dismiss:hover {
color: #374151;
background: #f1f5f9;
}

.remindmii-cookie-banner__details {
margin: 0 0 1rem;
font-size: 0.8125rem;
}

.remindmii-cookie-banner__details summary {
cursor: pointer;
color: #6b7280;
user-select: none;
}

.remindmii-cookie-banner__detail-body {
margin-top: 0.75rem;
background: #f8fafc;
border-radius: 0.5rem;
padding: 0.875rem 1rem;
color: #374151;
display: flex;
flex-direction: column;
gap: 0.5rem;
}

.remindmii-cookie-banner__detail-body p {
margin: 0;
font-size: 0.8125rem;
line-height: 1.5;
}

.remindmii-cookie-banner__buttons {
display: flex;
gap: 0.75rem;
}

.remindmii-cookie-banner__buttons .remindmii-button {
flex: 1;
justify-content: center;
}

/* Generic text link button */
.remindmii-link {
background: none;
border: none;
color: #6366f1;
cursor: pointer;
padding: 0;
font-size: inherit;
text-decoration: underline;
}

.remindmii-link:hover {
color: #4f46e5;
}

 * Slice 10 — Barcode / QR scanner
 * ============================================================ */
.remindmii-field--with-action .remindmii-field__input-row {
    display: flex;
    gap: 6px;
    align-items: center;
}
.remindmii-field--with-action .remindmii-field__input-row input {
    flex: 1 1 auto;
}
.remindmii-barcode-trigger,
.remindmii-ocr-trigger {
    flex: 0 0 auto;
    background: transparent;
    border: 1px solid var(--remindmii-border, #d1d5db);
    border-radius: 6px;
    padding: 0 8px;
    height: 38px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: var(--remindmii-text, #1f2937);
    transition: background 0.15s;
}
.remindmii-barcode-trigger:hover,
.remindmii-ocr-trigger:hover {
    background: var(--remindmii-surface-hover, #f3f4f6);
}

/* Barcode modal */
.remindmii-barcode-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.remindmii-barcode-modal[hidden],
.remindmii-ocr-modal[hidden] { display: none; }

.remindmii-barcode-modal__inner,
.remindmii-ocr-modal__inner {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 12px;
    padding: 24px;
    width: 90%;
    max-width: 480px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.remindmii-barcode-modal__header,
.remindmii-ocr-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.remindmii-barcode-modal__title,
.remindmii-ocr-modal__title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--remindmii-text, #1f2937);
}
.remindmii-barcode-modal__close,
.remindmii-ocr-modal__close {
    background: transparent;
    border: none;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
    color: var(--remindmii-text-muted, #6b7280);
    padding: 4px;
}

/* Barcode reader container */
#remindmii-barcode-reader {
    width: 100%;
    min-height: 260px;
    border-radius: 8px;
    overflow: hidden;
}

.remindmii-barcode-error,
.remindmii-ocr-error {
    margin-top: 12px;
    padding: 10px 14px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    color: #dc2626;
    font-size: 0.875rem;
}
.remindmii-barcode-error[hidden],
.remindmii-ocr-error[hidden] { display: none; }

/* OCR modal */
.remindmii-ocr-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.remindmii-ocr-preview {
    width: 100%;
    max-height: 260px;
    object-fit: contain;
    border-radius: 8px;
    margin-bottom: 12px;
}
.remindmii-ocr-preview[hidden] { display: none; }

.remindmii-ocr-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 12px;
}
.remindmii-ocr-progress {
    margin-top: 12px;
}
.remindmii-ocr-progress[hidden] { display: none; }
.remindmii-ocr-progress__track {
    width: 100%;
    height: 8px;
    background: var(--remindmii-border, #e5e7eb);
    border-radius: 99px;
    overflow: hidden;
}
.remindmii-ocr-progress__bar {
    height: 100%;
    width: 0%;
    background: var(--remindmii-primary, #3b82f6);
    transition: width 0.2s;
    border-radius: 99px;
}
.remindmii-ocr-progress__label {
    display: block;
    text-align: right;
    font-size: 0.75rem;
    color: var(--remindmii-text-muted, #6b7280);
    margin-top: 4px;
}

/* ============================================================
 * Slice 11 — Targeted ads panel
 * ============================================================ */
.remindmii-ads-panel {
    padding: 16px 0 0;
}
.remindmii-ads-panel[hidden] { display: none; }

.remindmii-ad-card {
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    overflow: hidden;
    margin-bottom: 14px;
}
.remindmii-ad-card__top {
    display: flex;
    align-items: center;
    padding: 10px 12px 6px;
    gap: 10px;
}
.remindmii-ad-card__logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 4px;
    flex: 0 0 auto;
}
.remindmii-ad-card__meta {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.remindmii-ad-card__sponsored {
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.7;
}
.remindmii-ad-card__merchant {
    font-size: 0.82rem;
    font-weight: 600;
}
.remindmii-ad-card__dismiss {
    flex: 0 0 auto;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 14px;
    opacity: 0.6;
    padding: 4px;
    line-height: 1;
}
.remindmii-ad-card__dismiss:hover { opacity: 1; }

.remindmii-ad-card__image {
    width: 100%;
    display: block;
}
.remindmii-ad-card__body {
    padding: 12px 14px 14px;
}
.remindmii-ad-card__title {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 6px;
}
.remindmii-ad-card__desc {
    font-size: 0.85rem;
    margin: 0 0 10px;
    opacity: 0.85;
}
.remindmii-ad-card__cta {
    display: inline-block;
    padding: 7px 16px;
    border-radius: 6px;
    background: rgba(255,255,255,0.25);
    border: 1px solid rgba(255,255,255,0.5);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}
.remindmii-ad-card__cta:hover {
    background: rgba(255,255,255,0.4);
}

/* ============================================================
 * Slice 11 — Merchant portal
 * ============================================================ */
.remindmii-merchant-portal {
    max-width: 860px;
    margin: 0 auto;
    padding: 24px 0;
    font-family: inherit;
}
.remindmii-merchant-loading,
.remindmii-merchant-no-access {
    text-align: center;
    padding: 48px 24px;
    color: var(--remindmii-text-muted, #6b7280);
}
.remindmii-merchant-no-access {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Header */
.remindmii-merchant-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.remindmii-merchant-header__logo-img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--remindmii-border, #e5e7eb);
}
.remindmii-merchant-header__logo-icon {
    font-size: 40px;
    line-height: 1;
}
.remindmii-merchant-header__name {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: var(--remindmii-text, #1f2937);
}

/* Stats grid */
.remindmii-merchant-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}
@media (max-width: 600px) {
    .remindmii-merchant-stats { grid-template-columns: repeat(2, 1fr); }
}
.remindmii-merchant-stat {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 10px;
    padding: 16px 12px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.remindmii-merchant-stat__value {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--remindmii-primary, #3b82f6);
    line-height: 1;
    margin-bottom: 4px;
}
.remindmii-merchant-stat__label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--remindmii-text-muted, #6b7280);
}

/* Ads panel */
.remindmii-merchant-ads-panel { }
.remindmii-merchant-ads-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.remindmii-merchant-ads-panel__header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--remindmii-text, #1f2937);
}

/* Individual ad row */
.remindmii-merchant-ad {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    margin-bottom: 12px;
    overflow: hidden;
    border-left: 4px solid transparent;
}
.remindmii-merchant-ad--active  { border-left-color: #22c55e; }
.remindmii-merchant-ad--inactive { border-left-color: #d1d5db; }
.remindmii-merchant-ad__body {
    padding: 14px 16px;
}
.remindmii-merchant-ad__title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}
.remindmii-merchant-ad__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--remindmii-text, #1f2937);
    margin: 0;
}
.remindmii-merchant-ad__desc {
    font-size: 0.83rem;
    color: var(--remindmii-text-muted, #6b7280);
    margin: 0 0 10px;
}
.remindmii-merchant-ad__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.78rem;
    color: var(--remindmii-text-muted, #6b7280);
    margin-bottom: 12px;
}
.remindmii-merchant-ad__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Ad modal */
.remindmii-merchant-ad-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9990;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.remindmii-merchant-ad-modal[hidden] { display: none; }
.remindmii-merchant-ad-modal__inner {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 12px;
    padding: 28px;
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.remindmii-merchant-form-status {
    padding: 10px 14px;
    border-radius: 6px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    color: #15803d;
    font-size: 0.875rem;
    margin-top: 10px;
}
.remindmii-merchant-form-status--error {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #dc2626;
}
.remindmii-merchant-form-status[hidden] { display: none; }

/* Shared bits */
.remindmii-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 99px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.remindmii-badge--success { background: #dcfce7; color: #166534; }
.remindmii-badge--muted   { background: #f3f4f6; color: #6b7280; }

.remindmii-button--danger {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #dc2626;
}
.remindmii-button--danger:hover {
    background: #fee2e2;
}

/* Spinner */
.remindmii-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--remindmii-border, #e5e7eb);
    border-top-color: var(--remindmii-primary, #3b82f6);
    border-radius: 50%;
    animation: remindmii-spin 0.7s linear infinite;
}
@keyframes remindmii-spin {
    to { transform: rotate(360deg); }
}
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.7;
}
.remindmii-ad-card__merchant {
    font-size: 0.82rem;
    font-weight: 600;
}
.remindmii-ad-card__dismiss {
    flex: 0 0 auto;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 14px;
    opacity: 0.6;
    padding: 4px;
    line-height: 1;
}
.remindmii-ad-card__dismiss:hover { opacity: 1; }

.remindmii-ad-card__image {
    width: 100%;
    display: block;
}
.remindmii-ad-card__body {
    padding: 12px 14px 14px;
}
.remindmii-ad-card__title {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 6px;
}
.remindmii-ad-card__desc {
    font-size: 0.85rem;
    margin: 0 0 10px;
    opacity: 0.85;
}
.remindmii-ad-card__cta {
    display: inline-block;
    padding: 7px 16px;
    border-radius: 6px;
    background: rgba(255,255,255,0.25);
    border: 1px solid rgba(255,255,255,0.5);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}
.remindmii-ad-card__cta:hover {
    background: rgba(255,255,255,0.4);
}

/* ============================================================
 * Slice 11 - Merchant portal
 * ============================================================ */
.remindmii-merchant-portal {
    max-width: 860px;
    margin: 0 auto;
    padding: 24px 0;
    font-family: inherit;
}
.remindmii-merchant-loading,
.remindmii-merchant-no-access {
    text-align: center;
    padding: 48px 24px;
    color: var(--remindmii-text-muted, #6b7280);
}
.remindmii-merchant-no-access {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.remindmii-merchant-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.remindmii-merchant-header__logo-img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--remindmii-border, #e5e7eb);
}
.remindmii-merchant-header__logo-icon {
    font-size: 40px;
    line-height: 1;
}
.remindmii-merchant-header__name {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: var(--remindmii-text, #1f2937);
}
.remindmii-merchant-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}
@media (max-width: 600px) {
    .remindmii-merchant-stats { grid-template-columns: repeat(2, 1fr); }
}
.remindmii-merchant-stat {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 10px;
    padding: 16px 12px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.remindmii-merchant-stat__value {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--remindmii-primary, #3b82f6);
    line-height: 1;
    margin-bottom: 4px;
}
.remindmii-merchant-stat__label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--remindmii-text-muted, #6b7280);
}
.remindmii-merchant-ads-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.remindmii-merchant-ads-panel__header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--remindmii-text, #1f2937);
}
.remindmii-merchant-ad {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    margin-bottom: 12px;
    overflow: hidden;
    border-left: 4px solid transparent;
}
.remindmii-merchant-ad--active  { border-left-color: #22c55e; }
.remindmii-merchant-ad--inactive { border-left-color: #d1d5db; }
.remindmii-merchant-ad__body {
    padding: 14px 16px;
}
.remindmii-merchant-ad__title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}
.remindmii-merchant-ad__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--remindmii-text, #1f2937);
    margin: 0;
}
.remindmii-merchant-ad__desc {
    font-size: 0.83rem;
    color: var(--remindmii-text-muted, #6b7280);
    margin: 0 0 10px;
}
.remindmii-merchant-ad__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.78rem;
    color: var(--remindmii-text-muted, #6b7280);
    margin-bottom: 12px;
}
.remindmii-merchant-ad__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.remindmii-merchant-ad-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9990;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.remindmii-merchant-ad-modal[hidden] { display: none; }
.remindmii-merchant-ad-modal__inner {
    background: var(--remindmii-card-bg, #fff);
    border-radius: 12px;
    padding: 28px;
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.remindmii-merchant-form-status {
    padding: 10px 14px;
    border-radius: 6px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    color: #15803d;
    font-size: 0.875rem;
    margin-top: 10px;
}
.remindmii-merchant-form-status--error {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #dc2626;
}
.remindmii-merchant-form-status[hidden] { display: none; }
.remindmii-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 99px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.remindmii-badge--success { background: #dcfce7; color: #166534; }
.remindmii-badge--muted   { background: #f3f4f6; color: #6b7280; }
.remindmii-button--danger {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #dc2626;
}
.remindmii-button--danger:hover {
    background: #fee2e2;
}
.remindmii-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--remindmii-border, #e5e7eb);
    border-top-color: var(--remindmii-primary, #3b82f6);
    border-radius: 50%;
    animation: remindmii-spin 0.7s linear infinite;
}
@keyframes remindmii-spin {
    to { transform: rotate(360deg); }
}

/* ── Custom login page ─────────────────────────────────────────── */
.remindmii-login-wrap {
	max-width: 440px;
	margin: 48px auto;
	padding: 0 16px;
	font-family: inherit;
}
.remindmii-login-logo {
	text-align: center;
	margin-bottom: 28px;
}
.remindmii-login-logo img {
	max-height: 60px;
	width: auto;
}
.remindmii-login-site-name {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0f172a;
}
.remindmii-login-tabs {
	display: flex;
	background: #f1f5f9;
	border-radius: 10px;
	padding: 4px;
	margin-bottom: 0;
	gap: 4px;
}
.remindmii-login-tab {
	flex: 1;
	text-align: center;
	padding: 8px 12px;
	border-radius: 7px;
	font-size: 0.9rem;
	font-weight: 500;
	color: #64748b;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.remindmii-login-tab.is-active,
.remindmii-login-tab:hover {
	background: #ffffff;
	color: #0f172a;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.remindmii-login-box {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 28px 28px 24px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
	margin-top: 6px;
}
.remindmii-login-heading {
	margin: 0 0 6px;
	font-size: 1.15rem;
	color: #0f172a;
}
.remindmii-login-desc {
	margin: 0 0 20px;
	color: #64748b;
	font-size: 0.9rem;
}
.remindmii-login-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.remindmii-login-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.remindmii-login-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: #374151;
}
.remindmii-login-input {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 0.95rem;
	color: #0f172a;
	background: #f8fafc;
	box-sizing: border-box;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.remindmii-login-input:focus {
	outline: none;
	border-color: #10b981;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
	background: #ffffff;
}
.remindmii-login-remember {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
	color: #475569;
	cursor: pointer;
}
.remindmii-login-btn {
	width: 100%;
	padding: 11px 16px;
	background: linear-gradient(135deg, #10b981, #059669);
	color: #ffffff;
	border: none;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s;
}
.remindmii-login-btn:hover {
	opacity: 0.9;
}
.remindmii-login-link {
	text-align: center;
	font-size: 0.85rem;
	color: #10b981;
	text-decoration: none;
}
.remindmii-login-link:hover {
	text-decoration: underline;
}
.remindmii-login-notice {
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 0.875rem;
	margin: 0 0 4px;
}
.remindmii-login-notice--error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #b91c1c;
}
.remindmii-login-notice--success {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}
