/* SRP Aniversariantes v4.2.0 — identidade SRP (verde/ouro/creme) */

.srp-aniv{
	--srp-verde:#1e5c30;
	--srp-verde-2:#2e7d32;
	--srp-ouro:#c8a84b;
	--srp-ouro-2:#d4ad5a;
	--srp-creme:#f5efe3;
	--srp-creme-2:#ede3d0;
	--srp-tinta:#22301f;
	--srp-erro:#a33a2a;

	box-sizing:border-box;
	min-width:auto;
	font-family:'DM Sans',system-ui,sans-serif;
	color:var(--srp-tinta);
	background:var(--srp-creme);
	border-radius:16px;
	padding:26px 24px 34px;
	margin:0 auto;
	max-width:1220px;
}
.srp-aniv *,.srp-aniv *::before,.srp-aniv *::after{box-sizing:border-box}

/* -------- cabeçalho / marca -------- */
.srp-aniv-header{
	display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
	margin-bottom:24px;
}
.srp-aniv-brand-kicker{
	display:block;font-size:11px;font-weight:700;letter-spacing:.14em;
	text-transform:uppercase;color:var(--srp-ouro);margin-bottom:4px;
}
.srp-aniv-brand-title{
	font-family:'Playfair Display',Georgia,serif;font-weight:700;
	font-size:clamp(22px,3.4vw,30px);line-height:1.15;color:var(--srp-verde);
	margin:0;
}
.srp-aniv-brand-rule{
	display:block;width:64px;height:3px;background:var(--srp-ouro);
	border-radius:2px;margin-top:10px;
}

/* -------- layout -------- */
.srp-aniv-layout{
	display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start;
}
.srp-aniv-panel{
	background:#fff;border:1px solid var(--srp-creme-2);border-radius:14px;
	padding:22px;box-shadow:0 8px 26px rgba(20,40,25,.08);
}
.srp-aniv-form{position:sticky;top:24px}
.srp-aniv-panel-title{
	font-family:'Playfair Display',Georgia,serif;font-weight:600;
	font-size:19px;color:var(--srp-verde);margin:0 0 16px;
	padding-bottom:10px;border-bottom:2px solid var(--srp-ouro);
}

/* -------- formulário -------- */
.srp-aniv label{
	display:block;font-weight:700;font-size:12px;letter-spacing:.07em;
	text-transform:uppercase;color:var(--srp-verde);margin:14px 0 6px;
}
.srp-aniv input[type=text],
.srp-aniv input[type=number],
.srp-aniv input[type=password],
.srp-aniv select,
.srp-aniv textarea{
	width:100%;padding:11px 12px;border:1.5px solid #d8cfb8;border-radius:9px;
	font:15px 'DM Sans',system-ui,sans-serif;background:#fffdf8;color:var(--srp-tinta);
	appearance:none;-webkit-appearance:none;
}
.srp-aniv select{
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231e5c30' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;
}
.srp-aniv input:focus,.srp-aniv select:focus,.srp-aniv textarea:focus{
	outline:none;border-color:var(--srp-verde-2);
	box-shadow:0 0 0 3px rgba(46,125,50,.14);
}
.srp-aniv textarea{min-height:180px;resize:vertical;line-height:1.5}
.srp-aniv-row{display:grid;grid-template-columns:1fr 1.7fr;gap:12px}
.srp-aniv-hint{font-size:12.5px;color:#6d7a63;line-height:1.5;margin:8px 0 0}
.srp-aniv-hint b{color:var(--srp-verde)}
.srp-aniv-hint--center{text-align:center;margin-top:12px}

/* -------- botões (blindados contra o tema) -------- */
.srp-aniv-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	width:100%;margin-top:16px;padding:13px 16px;
	appearance:none;-webkit-appearance:none;border:2px solid var(--srp-verde);
	border-radius:10px;background:var(--srp-verde);color:#fff;
	font:700 15px 'DM Sans',system-ui,sans-serif;letter-spacing:.02em;
	cursor:pointer;transition:background .15s,color .15s;text-transform:none;
}
.srp-aniv-btn:hover{background:var(--srp-verde-2);border-color:var(--srp-verde-2);color:#fff}
.srp-aniv-btn:disabled{opacity:.5;cursor:not-allowed}
.srp-aniv-btn--ghost{background:transparent;color:var(--srp-verde)}
.srp-aniv-btn--ghost:hover{background:var(--srp-verde);color:#fff}
.srp-aniv-btn--small{width:auto;margin-top:0;padding:8px 16px;font-size:13px}
.srp-aniv-status{
	font-size:13px;color:var(--srp-verde);margin:12px 0 0;text-align:center;min-height:18px;
}
.srp-aniv-status--erro{color:var(--srp-erro)}

/* -------- prévia -------- */
.srp-aniv-canvas-wrap{
	background:var(--srp-creme);border-radius:12px;padding:14px;
}
.srp-aniv-canvas-wrap canvas{
	display:block;width:100%;height:auto;border-radius:8px;
	box-shadow:0 12px 32px rgba(20,40,25,.22);
}

/* -------- login -------- */
.srp-aniv-login{display:flex;justify-content:center;padding:34px 0}
.srp-aniv-login-card{
	background:#fff;border:1px solid var(--srp-creme-2);border-radius:14px;
	padding:30px 28px;max-width:400px;width:100%;
	box-shadow:0 8px 26px rgba(20,40,25,.10);
	border-top:4px solid var(--srp-ouro);
}
.srp-aniv-login-card .srp-aniv-brand{margin-bottom:18px}
.srp-aniv-login-error{
	background:#fbeeea;border:1px solid #e5c4ba;color:var(--srp-erro);
	border-radius:9px;padding:10px 12px;font-size:13.5px;margin:0 0 6px;
}

/* -------- responsivo -------- */
@media (max-width:960px){
	.srp-aniv{padding:20px 14px 28px}
	.srp-aniv-layout{grid-template-columns:1fr}
	.srp-aniv-form{position:static}
	.srp-aniv-preview{order:-1}
}
@media (max-width:480px){
	.srp-aniv-row{grid-template-columns:1fr 1.4fr}
	.srp-aniv-header{flex-direction:column}
}

/* -------- geração em massa (v2.0.0) -------- */
.srp-aniv-layout--massa{margin-top:24px}
.srp-aniv input[type=file]{
	width:100%;padding:10px;border:1.5px dashed var(--srp-ouro);border-radius:9px;
	background:#fffdf8;font:14px 'DM Sans',system-ui,sans-serif;color:var(--srp-tinta);
}
.srp-aniv input[type=file]::file-selector-button{
	appearance:none;-webkit-appearance:none;border:0;border-radius:7px;
	background:var(--srp-verde);color:#fff;font:700 13px 'DM Sans',sans-serif;
	padding:8px 14px;margin-right:12px;cursor:pointer;
}
.srp-aniv input[type=file]::file-selector-button:hover{background:var(--srp-verde-2)}

/* -------- editor de registros (v2.1.0) -------- */
.srp-aniv-editor-wrap{margin-top:24px}
.srp-aniv-resumo{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.srp-aniv-chip{background:var(--srp-creme);border:1px solid var(--srp-creme-2);border-radius:10px;padding:9px 16px;font-size:12.5px;color:#4b5a41}
.srp-aniv-chip b{display:block;font-size:19px;color:var(--srp-verde);font-family:'Playfair Display',Georgia,serif}
.srp-aniv-chip--erro{background:#fbeeea;border-color:#e5c4ba}
.srp-aniv-chip--erro b{color:var(--srp-erro)}
.srp-aniv-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.srp-aniv-toolbar select,.srp-aniv-toolbar input[type=search]{width:auto;min-width:150px}
.srp-aniv-toolbar-spacer{flex:1}
.srp-aniv-btn--gold{background:var(--srp-ouro);border-color:var(--srp-ouro);color:#1a2a16}
.srp-aniv-btn--gold:hover{background:var(--srp-ouro-2);border-color:var(--srp-ouro-2);color:#1a2a16}
.srp-aniv-tabela-scroll{overflow-x:auto}
.srp-aniv-tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.srp-aniv-tabela th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--srp-verde);text-align:left;padding:8px 10px;border-bottom:2px solid var(--srp-ouro);white-space:nowrap}
.srp-aniv-tabela td{padding:4px 5px;border-bottom:1px solid var(--srp-creme-2);vertical-align:middle}
.srp-aniv-linha-invalida{background:#fbeeea}
.srp-aniv-linha-invalida td:first-child{border-left:3px solid var(--srp-erro)}
.srp-aniv-tabela td input,.srp-aniv-tabela td select{
	width:100%;padding:7px 9px;border:1.5px solid transparent;border-radius:7px;
	background:transparent;font:13.5px 'DM Sans',system-ui,sans-serif;color:var(--srp-tinta);
	appearance:none;-webkit-appearance:none;
}
.srp-aniv-tabela td input:hover,.srp-aniv-tabela td select:hover{border-color:#d8cfb8;background:#fffdf8}
.srp-aniv-tabela td input:focus,.srp-aniv-tabela td select:focus{border-color:var(--srp-verde-2);background:#fffdf8;outline:none}
.srp-aniv-col-dia{width:72px}
.srp-aniv-col-dia input{text-align:center}
.srp-aniv-col-mes{width:140px}
.srp-aniv-col-funcao{width:140px}
.srp-aniv-col-status{width:200px}
.srp-aniv-col-del{width:44px}
/* v4.5.0 — o motivo do erro NÃO usa mais white-space:nowrap: um erro
 * composto ("dia ausente · nome muito longo") estourava a caixa. */
.srp-aniv-motivo{font-size:11.5px;color:var(--srp-erro);font-weight:700;line-height:1.35}
.srp-aniv-ok{color:var(--srp-verde-2);font-weight:700;font-size:12px}
.srp-aniv-del{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#b08c8c;font-size:16px;cursor:pointer;padding:4px 9px;border-radius:6px}
.srp-aniv-del:hover{background:#fbeeea;color:var(--srp-erro)}

/* v4.5.0 — paginação do editor */
.srp-aniv-mais{
	display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
	padding:14px 0 2px;border-top:1px solid var(--srp-creme-2);margin-top:8px;
}
.srp-aniv-mais-info{font-size:12px;color:#6d7a6a;font-weight:500}

/* -------- persistência e wp-admin (v2.2.0) -------- */
.srp-aniv-salvo{font-size:12px;font-weight:700;color:var(--srp-verde-2);white-space:nowrap}
.srp-aniv-salvo--erro{color:var(--srp-erro)}
.srp-aniv-admin-wrap .srp-aniv{margin-top:12px;max-width:1280px}
body.wp-admin .srp-aniv input[type=text],
body.wp-admin .srp-aniv input[type=number],
body.wp-admin .srp-aniv input[type=search],
body.wp-admin .srp-aniv select,
body.wp-admin .srp-aniv textarea{
	max-width:none;box-shadow:none;min-height:0;line-height:normal;
}

/* ============================================================
 * v3.0.0 — Abas (padrão srp-swipe-tabs) + próximos aniversariantes
 * ========================================================== */
.srp-aniv-tabs{
	display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;
	-webkit-overflow-scrolling:touch;scrollbar-width:thin;
	border-bottom:2px solid var(--srp-ouro);
	margin:0 0 22px;padding-bottom:0;
}
.srp-aniv-tabs::-webkit-scrollbar{height:5px}
.srp-aniv-tabs::-webkit-scrollbar-thumb{background:var(--srp-creme-2);border-radius:4px}
.srp-aniv-tab{
	appearance:none;-webkit-appearance:none;
	flex:0 0 auto;white-space:nowrap;cursor:pointer;
	border:0;border-bottom:3px solid transparent;
	background:transparent;color:var(--srp-verde);
	font-family:'DM Sans',system-ui,sans-serif;
	font-size:13.5px;font-weight:700;letter-spacing:.02em;
	padding:11px 16px;border-radius:8px 8px 0 0;
	transition:background .15s,color .15s,border-color .15s;
	margin-bottom:-2px;
}
.srp-aniv-tab:hover{background:var(--srp-creme-2)}
.srp-aniv-tab:focus-visible{outline:2px solid var(--srp-verde-2);outline-offset:2px}
.srp-aniv-tab.is-active{
	background:var(--srp-creme-2);
	color:var(--srp-verde);
	border-bottom-color:var(--srp-ouro);
}
.srp-aniv-panel-tab[hidden]{display:none}

/* -------- próximos aniversariantes (chips) -------- */
.srp-aniv-proximos{
	display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;
}
.srp-aniv-prox{
	appearance:none;-webkit-appearance:none;cursor:pointer;text-align:left;
	border:1px solid var(--srp-creme-2);border-left:3px solid var(--srp-ouro);
	background:#fffdf8;border-radius:0 10px 10px 0;
	padding:8px 14px;display:flex;flex-direction:column;gap:1px;
	font-family:'DM Sans',system-ui,sans-serif;
	transition:border-color .15s,background .15s,transform .05s;
}
.srp-aniv-prox:hover{border-color:var(--srp-ouro);background:#fff}
.srp-aniv-prox:active{transform:translateY(1px)}
.srp-aniv-prox:focus-visible{outline:2px solid var(--srp-verde-2);outline-offset:2px}
.srp-aniv-prox b{color:var(--srp-verde);font-size:13.5px;font-weight:700}
.srp-aniv-prox span{color:#8c781e;font-size:11.5px;letter-spacing:.02em}

.srp-aniv-opt{color:#9a8f78;font-weight:400;font-size:.85em}
.srp-aniv-editor-vazio{margin:0 0 4px}

@media (max-width:640px){
	.srp-aniv-tab{font-size:12.5px;padding:10px 13px}
	.srp-aniv-proximos{gap:8px}
}

/* ============================================================
 * v4.0.0 — Níveis de acesso, exclusão em massa e responsividade
 * ========================================================== */

/* Cabeçalho: agrupa selo de papel + botão sair à direita */
.srp-aniv-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.srp-aniv-role-badge{
	display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;
	padding:5px 12px;border-radius:999px;white-space:nowrap;border:1px solid transparent;
}
.srp-aniv-role-badge--admin{background:#e7f0e8;color:#1a4a20;border-color:#bcd6bf}
.srp-aniv-role-badge--editor{background:#f6eccf;color:#7a5a10;border-color:#e4cf90}

/* Botões destrutivos (exclusão em massa — só admin) */
.srp-aniv-btn--danger{background:var(--srp-erro);border-color:var(--srp-erro);color:#fff}
.srp-aniv-btn--danger:hover{background:#8a2f22;border-color:#8a2f22;color:#fff}
.srp-aniv-btn--danger-ghost{background:transparent;color:var(--srp-erro);border-color:#e5c4ba}
.srp-aniv-btn--danger-ghost:hover{background:#fbeeea;color:var(--srp-erro);border-color:var(--srp-erro)}

/* Barra de exclusão em massa */
.srp-aniv-massa-barra{
	display:flex;align-items:center;gap:12px;flex-wrap:wrap;
	background:#fbf3f1;border:1px solid #ecd6cf;border-radius:10px;
	padding:8px 12px;margin:0 0 10px;
}
.srp-aniv-massa-cont{font-size:13px;color:var(--srp-tinta)}
.srp-aniv-massa-cont b{color:var(--srp-erro)}
.srp-aniv-col-sel{width:34px;text-align:center}
.srp-aniv-tabela td.srp-aniv-col-sel input,
.srp-aniv-tabela th.srp-aniv-col-sel input{width:18px;height:18px;cursor:pointer;accent-color:var(--srp-verde)}

/* Fluidez extra: gaps/padding acompanham a viewport */
.srp-aniv-layout{gap:clamp(16px,2.4vw,24px)}
.srp-aniv-tabela td input,.srp-aniv-tabela td select{min-height:40px}

/* ============================================================
 * v4.5.0 — Editor em CARD FLUIDO (≤900px)
 *
 * O ponto de quebra subiu de 560px para 900px. A faixa 561–900px era
 * onde a tabela sofria: as colunas fixas (72 + 140 + 140 + 200 + 44px)
 * somam 596px antes do nome, forçando scroll horizontal no tablet e no
 * celular deitado.
 *
 * O card usa CSS Grid com áreas nomeadas — a ordem visual muda sem
 * reordenar o DOM (a semântica de <table> é preservada para leitores
 * de tela e para o desktop).
 * ========================================================== */
@media (max-width:900px){
	.srp-aniv-tabela-scroll{overflow-x:visible}
	.srp-aniv-tabela{font-size:14px;display:block}
	.srp-aniv-tabela thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.srp-aniv-tabela tbody{display:block}

	.srp-aniv-tabela tr{
		display:grid;
		grid-template-columns:auto 1fr 1fr auto;
		grid-template-areas:
			"sel status status del"
			"dia nome   nome   nome"
			"mes mes    funcao funcao";
		gap:8px;
		background:#fff;border:1px solid var(--srp-creme-2);
		border-radius:12px;padding:12px;margin:0 0 10px;
		box-shadow:0 2px 8px rgba(20,40,25,.05);
	}
	.srp-aniv-tabela tr.srp-aniv-linha-invalida{border-color:#e5c4ba;background:#fdf7f5}
	.srp-aniv-linha-invalida td:first-child{border-left:0}

	.srp-aniv-tabela td{
		display:block;padding:0;border-bottom:0;position:relative;min-width:0;
	}
	.srp-aniv-tabela td.srp-aniv-col-sel{grid-area:sel;align-self:center}
	.srp-aniv-tabela td.srp-aniv-col-status{grid-area:status;align-self:center;display:block}
	.srp-aniv-tabela td.srp-aniv-col-del{grid-area:del;align-self:center;justify-self:end}
	.srp-aniv-tabela td.srp-aniv-col-dia{grid-area:dia;min-width:76px}
	.srp-aniv-tabela td.srp-aniv-col-nome{grid-area:nome}
	.srp-aniv-tabela td.srp-aniv-col-mes{grid-area:mes}
	.srp-aniv-tabela td.srp-aniv-col-funcao{grid-area:funcao}

	/* Rótulo FLUTUANTE dentro do campo. Antes ele era uma coluna de 76px
	 * fixos — quase 40% da largura útil de um celular de 375px. */
	.srp-aniv-tabela td[data-label]:not(.srp-aniv-col-status)::before{
		content:attr(data-label);
		position:absolute;top:5px;left:10px;z-index:1;pointer-events:none;
		font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
		color:var(--srp-verde);
	}
	.srp-aniv-tabela td input,.srp-aniv-tabela td select{
		width:100%;min-width:0;
		padding:18px 10px 6px;           /* espaço para o rótulo flutuante */
		min-height:46px;                  /* alvo de toque confortável */
		border:1.5px solid var(--srp-creme-2);background:#fff;border-radius:8px;
	}
	.srp-aniv-tabela td.srp-aniv-col-dia input{text-align:left}
	.srp-aniv-tabela td select{
		background-image:linear-gradient(45deg,transparent 50%,#9aa697 50%),linear-gradient(135deg,#9aa697 50%,transparent 50%);
		background-position:calc(100% - 15px) 21px,calc(100% - 10px) 21px;
		background-size:5px 5px,5px 5px;background-repeat:no-repeat;
	}

	/* Status: CHIP sempre visível. Na v4.4.0 ele recebia display:none em
	 * ≤760px — o motivo do erro sumia justamente no aparelho onde o
	 * usuário vai corrigir o registro. */
	.srp-aniv-tabela td.srp-aniv-col-status{width:auto}
	.srp-aniv-tabela td.srp-aniv-col-status .srp-aniv-ok,
	.srp-aniv-tabela td.srp-aniv-col-status .srp-aniv-motivo{
		display:inline-block;padding:4px 9px;border-radius:20px;
		font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;
	}
	.srp-aniv-tabela td.srp-aniv-col-status .srp-aniv-ok{background:#e2f0e4;color:var(--srp-verde-2)}
	.srp-aniv-tabela td.srp-aniv-col-status .srp-aniv-motivo{background:#f7e2dc;color:var(--srp-erro);text-transform:none;letter-spacing:0;font-size:11px}

	.srp-aniv-tabela td.srp-aniv-col-del .srp-aniv-del{
		font-size:15px;width:36px;height:36px;padding:0;
		border:1px solid #ecd6cf;border-radius:8px;background:#fff;
	}
	.srp-aniv-tabela td.srp-aniv-col-sel input{width:18px;height:18px}
	.srp-aniv-header-right{width:100%;justify-content:space-between}

	/* Toolbar do editor: grid fluido em vez de flex com min-width fixo. */
	.srp-aniv-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
	.srp-aniv-toolbar select,.srp-aniv-toolbar input[type=search]{width:100%;min-width:0;min-height:44px}
	.srp-aniv-toolbar input[type=search]{grid-column:1/-1}
	.srp-aniv-toolbar-spacer{display:none}
	.srp-aniv-toolbar .srp-aniv-btn{width:100%;min-height:44px}
	.srp-aniv-salvo{grid-column:1/-1;text-align:center;white-space:normal}
}

/* Abaixo de 430px o card vira uma coluna só: nenhum campo espremido. */
@media (max-width:430px){
	.srp-aniv-tabela tr{
		grid-template-columns:auto 1fr auto;
		grid-template-areas:
			"sel status del"
			"dia dia    dia"
			"nome nome  nome"
			"mes  mes   mes"
			"funcao funcao funcao";
	}
	.srp-aniv-toolbar{grid-template-columns:1fr}
}

/* O canvas de preview nunca estoura a viewport (nem em 320px). */
.srp-aniv-canvas,
.srp-aniv-preview canvas,
.srp-aniv-tabela-scroll + * canvas,
#srp-aniv-canvas,#srp-aniv-canvas-lista,
#srp-aniv-pesar-canvas,#srp-aniv-aviso-canvas{
	max-width:100%;height:auto;display:block;
}

/* ============================================================
 * v4.1.0 — Controle de tamanho de fonte (Pesar / Aviso)
 * ========================================================== */
.srp-aniv-fonte{
	display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 6px;
}
.srp-aniv-fonte-lbl{
	font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--srp-verde);
	text-transform:uppercase;margin-right:2px;
}
.srp-aniv-fonte-btn{
	appearance:none;-webkit-appearance:none;cursor:pointer;
	border:1px solid var(--srp-creme-2);background:#fffdf8;color:var(--srp-verde);
	font:600 13px 'DM Sans',system-ui,sans-serif;
	padding:7px 14px;border-radius:999px;min-height:36px;
	transition:background .15s,border-color .15s,color .15s;
}
.srp-aniv-fonte-btn:hover{border-color:var(--srp-ouro)}
.srp-aniv-fonte-btn:focus-visible{outline:2px solid var(--srp-verde-2);outline-offset:2px}
.srp-aniv-fonte-btn.is-active{background:var(--srp-verde);border-color:var(--srp-verde);color:#fff}

/* ============================================================
 * v4.2.0 — Cartão individual por seleção (Nome somente-leitura)
 * ========================================================== */
.srp-aniv input#srp-aniv-nome[readonly]{
	background:var(--srp-creme);border-color:var(--srp-creme-2);
	color:var(--srp-verde);font-weight:600;cursor:default;
}
.srp-aniv input#srp-aniv-nome[readonly]:focus{outline:none;box-shadow:none}

/* ============================================================
 * v4.3.0 — Login em tela cheia, sino, pop-up e WhatsApp
 * ========================================================== */

/* -------- Login: área creme ocupa 100% da tela -------- */
.srp-aniv--login{
	max-width:none;border-radius:0;margin:0;padding:0;
	/* breakout da largura do conteúdo do tema para a viewport inteira */
	width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
	min-height:100vh;min-height:100svh;
	display:flex;align-items:center;justify-content:center;
}
.srp-aniv--login .srp-aniv-login{padding:24px 16px;width:100%;justify-content:center}
.srp-aniv--login .srp-aniv-login-card{margin:auto}

/* -------- Sino do cabeçalho (reabre o aviso) -------- */
.srp-aniv-bell{
	position:relative;appearance:none;-webkit-appearance:none;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;
	width:40px;height:40px;border-radius:999px;
	border:1px solid var(--srp-creme-2);background:#fffdf8;color:var(--srp-verde);
	transition:background .15s,border-color .15s,color .15s;flex:0 0 auto;
}
.srp-aniv-bell:hover{border-color:var(--srp-ouro);background:#fff}
.srp-aniv-bell:focus-visible{outline:2px solid var(--srp-verde-2);outline-offset:2px}
.srp-aniv-bell-badge{
	position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--srp-ouro);color:#3a2f10;border-radius:999px;
	font:700 11px 'DM Sans',system-ui,sans-serif;line-height:1;
	border:2px solid var(--srp-creme);
}

/* -------- Botão WhatsApp -------- */
.srp-aniv-btn--wa{
	display:inline-flex;align-items:center;justify-content:center;gap:9px;
	background:#1e6b3a;border-color:#1e6b3a;
}
.srp-aniv-btn--wa:hover{background:#17542d;border-color:#17542d;color:#fff}
.srp-aniv-btn--wa svg{flex:0 0 auto}

/* -------- Pop-up / modal do aniversariante do dia -------- */
.srp-aniv-modal{
	position:fixed;inset:0;z-index:99999;
	display:flex;align-items:center;justify-content:center;padding:20px;
}
.srp-aniv-modal[hidden]{display:none}
.srp-aniv-modal-backdrop{
	position:absolute;inset:0;background:rgba(20,30,22,.55);
	animation:srp-aniv-fade .18s ease-out;
}
.srp-aniv-modal-card{
	position:relative;z-index:1;width:100%;max-width:440px;
	background:#fff;border:1px solid var(--srp-creme-2);border-top:6px solid var(--srp-ouro);
	border-radius:16px;padding:28px 26px 22px;text-align:center;
	box-shadow:0 18px 50px rgba(20,40,25,.28);
	animation:srp-aniv-pop .2s cubic-bezier(.2,.8,.3,1.1);
	max-height:calc(100vh - 40px);overflow:auto;
}
.srp-aniv-modal-x{
	position:absolute;top:12px;right:12px;appearance:none;-webkit-appearance:none;cursor:pointer;
	width:36px;height:36px;border-radius:999px;border:0;background:var(--srp-creme);color:#8a9580;
	display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s;
}
.srp-aniv-modal-x:hover{background:var(--srp-creme-2);color:var(--srp-tinta)}
.srp-aniv-modal-x:focus-visible{outline:2px solid var(--srp-verde-2);outline-offset:2px}
.srp-aniv-modal-icon{
	width:56px;height:56px;margin:2px auto 12px;border-radius:999px;
	display:flex;align-items:center;justify-content:center;
	background:#eaf3ea;color:var(--srp-verde);
}
.srp-aniv-modal-kicker{
	display:block;font:700 11px 'DM Sans',system-ui,sans-serif;
	letter-spacing:.12em;text-transform:uppercase;color:var(--srp-ouro);
}
.srp-aniv-modal-title{
	margin:6px 0 8px;font-family:'Fraunces','Libre Baskerville',Georgia,serif;
	font-size:22px;font-weight:700;color:var(--srp-verde);line-height:1.15;
}
.srp-aniv-modal-intro{margin:0 0 16px;font-size:13.5px;color:#4d5a45;line-height:1.5}
.srp-aniv-modal-list{display:flex;flex-direction:column;gap:10px;text-align:left;margin-bottom:16px}
.srp-aniv-modal-item{
	border:1px solid var(--srp-creme-2);border-radius:12px;padding:12px 14px;background:#fffdf8;
}
.srp-aniv-modal-item-nome{
	display:block;font-weight:700;font-size:15px;color:var(--srp-tinta);margin-bottom:2px;
}
.srp-aniv-modal-item-data{display:block;font-size:12px;color:#7c8a72;margin-bottom:10px}
.srp-aniv-modal-item-acoes{display:flex;gap:8px;flex-wrap:wrap}
.srp-aniv-modal-item-acoes .srp-aniv-btn{width:auto;margin-top:0;flex:1 1 auto;min-width:130px}
.srp-aniv-modal-foot{
	display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
	border-top:1px solid var(--srp-creme-2);padding-top:14px;
}
.srp-aniv-modal-dismiss{
	display:flex;align-items:center;gap:7px;margin:0;
	font-size:12.5px;color:#6d7a63;font-weight:400;cursor:pointer;text-transform:none;letter-spacing:0;
}
.srp-aniv-modal-dismiss input{width:auto;margin:0}
@keyframes srp-aniv-fade{from{opacity:0}to{opacity:1}}
@keyframes srp-aniv-pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:480px){
	.srp-aniv-modal-foot{flex-direction:column;align-items:stretch}
	.srp-aniv-modal-item-acoes .srp-aniv-btn{min-width:0}
}
