/* Sistema visual compartilhado exclusivamente pelo painel administrativo. */
#panel-content {
 --admin-navy:#10265f; --admin-blue:#173b9f; --admin-muted:#65738d;
 --admin-line:#e0e7f2; --admin-surface:#f6f8fc;
 width:min(1400px,calc(100% - 64px));padding:36px 0 64px;
 color:var(--admin-navy);font-size:.88rem;line-height:1.6;
}
#panel-content *,#panel-content *::before,#panel-content *::after { box-sizing:border-box; }
#panel-content .panel-welcome {
 display:flex;align-items:center;justify-content:space-between;gap:24px;
 padding:30px 32px;margin:0 0 28px;border:1px solid #dce5f4;border-radius:24px;
 background:radial-gradient(ellipse at 100% 0,#dce8ff80,transparent 65%),linear-gradient(120deg,#fff,#f1f5fc);
 box-shadow:0 8px 28px #162c5905;
}
#panel-content .panel-welcome h1 { font:650 clamp(1.8rem,3vw,2.5rem)/1.15 var(--display);letter-spacing:-.04em;color:#10265f;margin:0; }
#panel-content .panel-welcome p { max-width:72ch;font-size:.88rem;line-height:1.7;margin:10px 0 0;color:var(--admin-muted); }
#panel-content .panel-welcome>.btn { flex-shrink:0; }
#panel-content .panel-card {
 padding:28px;border:1px solid var(--admin-line);border-radius:22px;
 background:#fff;box-shadow:0 8px 32px #162c5906;backdrop-filter:none;
}
#panel-content>.panel-card+.panel-card,#panel-content>.panel-card+.media-admin-grid,
#panel-content .campaign-admin-grid,#panel-content .media-admin-grid { margin-top:24px; }
#panel-content .panel-card-heading { gap:18px;align-items:center;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #e9edf5; }
#panel-content .panel-card-heading h2,#panel-content .panel-card>h2 { font-size:1.05rem;line-height:1.4;font-weight:750;letter-spacing:-.02em;color:#142b64; }
#panel-content .panel-card>h2 { margin:0 0 12px; }
#panel-content .panel-card-heading>span { font-size:.72rem;color:#6c7d98;text-align:right; }
#panel-content .panel-card>p { color:var(--admin-muted);font-size:.84rem;line-height:1.75; }
#panel-content .btn { min-height:42px;padding:11px 18px;border-radius:12px;gap:9px;font-size:.78rem;font-weight:750;line-height:1.4;letter-spacing:0;transition:background .18s,box-shadow .18s,transform .18s;white-space:normal;text-align:center; }
#panel-content .btn-primary { color:#fff;border:1px solid #193888;background:linear-gradient(135deg,#173581,#2045af);box-shadow:0 5px 12px #17358120,inset 0 1px #ffffff20; }
#panel-content .btn-primary:hover:not(:disabled) { background:linear-gradient(135deg,#112862,#193b98);box-shadow:0 7px 18px #1735812b;transform:translateY(-1px); }
#panel-content .btn-light { color:#233f7d;background:#f7f9fe;border:1px solid #d9e3f4;box-shadow:none; }
#panel-content .btn-light:hover:not(:disabled) { background:#edf2fc;border-color:#bdcdea; }
#panel-content button:disabled { opacity:.5;cursor:not-allowed;transform:none; }
#panel-content :is(button,a,input,select,textarea):focus-visible { outline:3px solid #cba557;outline-offset:3px; }
#panel-content .btn .icon { width:17px;height:17px;flex-shrink:0; }
#panel-content .field { min-width:0;gap:8px;margin:0; }
#panel-content .field>span,#panel-content .field>label { font-size:.76rem;font-weight:700;line-height:1.5;color:#344766; }
#panel-content :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) {
 max-width:100%;font:400 .83rem/1.5 var(--sans);color:#233b63;border:1px solid #dce4f0;border-radius:11px;background:#fbfcff;padding:12px 13px;min-height:44px;box-shadow:inset 0 1px 2px #10265f03;
}
#panel-content :is(input,select,textarea):not([type=checkbox]):not([type=radio]):focus { border-color:#7995d1;background:#fff;box-shadow:0 0 0 3px #244db010; }
#panel-content textarea { min-height:116px;resize:vertical; }
#panel-content input::placeholder,#panel-content textarea::placeholder { color:#929eb0; }
#panel-content .field small { font-size:.72rem;line-height:1.65;color:#78869d; }
#panel-content input[type=file] { width:100%;font-size:.75rem;overflow:hidden; }
#panel-content input[type=file]::file-selector-button { border:1px solid #d7e1f3;border-radius:8px;padding:7px 11px;margin-right:12px;background:#edf2fc;color:#243f78;font:700 .72rem var(--sans);cursor:pointer; }
#panel-content input[type=checkbox],#panel-content input[type=radio] { accent-color:#2045a6; }
#panel-content :is(.agenda-form,.media-form,.campaign-form,.live-form) { gap:22px; }
#panel-content .agenda-form-pair { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
#panel-content :is(.agenda-admin-grid,.media-admin-grid,.modules-layout,.pastoral-admin-layout,.live-settings) { gap:24px;align-items:start; }
#panel-content .agenda-admin-grid>.panel-card,#panel-content .media-admin-grid>.panel-card { height:auto; }
#panel-content :is(.agenda-admin-form-actions,.campaign-form-actions,.module-actions) { display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:8px; }
#panel-content .panel-note { padding:14px 17px;border:1px solid #e3e9f4;border-left:3px solid #cda64f;border-radius:0 11px 11px 0;background:#fafbfe;color:#687b96;font-size:.75rem;line-height:1.75; }
#panel-content :is(.agenda-form-feedback,.campaign-form-feedback,.live-form-feedback):empty,
#panel-content #pastoral-admin-feedback:empty { display:none; }
#panel-content :is(.demo-label,.state-tag,.campaign-tag) { border:1px solid #e2e8f2;border-radius:999px;background:#f3f6fc;color:#627493;font-size:.65rem;font-weight:750;padding:7px 11px;line-height:1.3;letter-spacing:.025em; }
#panel-content :is(.module-empty,.agenda-empty,.campaign-empty) { padding:30px 24px;border:1px dashed #d7e1f2;border-radius:15px;background:#f8faff;color:#74839c;font-size:.83rem;line-height:1.7; }
#panel-content :is(.notice-admin-row,.media-album-row,.prayer-admin-row,.agenda-preview-row) { gap:16px;padding:18px;border:1px solid #e3e9f3;border-radius:15px;background:#fff;margin-top:10px; }
#panel-content :is(.notice-admin-row,.media-album-row,.prayer-admin-row,.agenda-preview-row) small { margin-top:5px;color:#7a89a0;line-height:1.6; }
#panel-content :is([data-remove-notice],.campaign-remove) { padding:8px 12px;border:1px solid #f0dce0;border-radius:9px;background:#fff8f9;color:#a13b51;font-weight:700;font-size:.73rem; }
#panel-content .prayer-report-toolbar { display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:20px;background:#f5f8fd;border:1px solid #e3eaf6;border-radius:16px;margin-bottom:20px; }
#panel-content .prayer-report-toolbar .field { min-width:220px;flex:1;max-width:340px; }
#panel-content .prayer-admin-body { margin:12px 0 0;line-height:1.8; }
#panel-content .news-board-toolbar { padding:18px;background:#f6f8fd;border:1px solid #e4eaf5;border-radius:14px;margin-bottom:22px; }
#panel-content .news-kanban-board { gap:16px;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:#c4d0e5 #f5f7fb; }
#panel-content .news-kanban-column { border:1px solid #e0e7f2;border-radius:17px;background:#f7f9fd;padding:14px; }
#panel-content .news-kanban-card { border-radius:13px;box-shadow:0 3px 9px #142b6405;padding:16px; }
#panel-content .news-kanban-next { border-radius:9px;padding:10px 12px;line-height:1.5;min-height:38px; }
#panel-content .news-kanban-tools { gap:12px;padding-top:9px; }
#panel-content .news-kanban-tools button { font-size:.7rem;min-height:30px; }
#panel-content .campaign-admin-grid { gap:22px;grid-template-columns:repeat(3,minmax(0,1fr)); }
#panel-content .campaign-card { border:1px solid var(--admin-line);border-radius:21px;background:#fff;padding:24px;box-shadow:0 6px 24px #10265f05; }
#panel-content .campaign-card h3 { font-size:1.15rem;line-height:1.4;letter-spacing:-.025em;margin-top:22px; }
#panel-content .campaign-card>p { font-size:.8rem;line-height:1.8;color:var(--admin-muted); }
#panel-content .campaign-card-bottom { flex-wrap:wrap;gap:12px;border-top:1px solid #e9eef6;padding-top:18px;margin-top:22px; }
#panel-content .campaign-card-bottom>span { flex:1 1 100%; }
#panel-content .live-preview-card { border-radius:22px;padding:30px;background:linear-gradient(145deg,#10265f,#25447c);box-shadow:0 14px 32px #162c5915; }
#panel-content .live-preview-card h2 { color:white;font:400 1.7rem/1.2 var(--serif); }
#panel-content .live-preview-card p { font-size:.83rem;line-height:1.8; }
#panel-content .live-platform-card { border:1px solid #e0e7f2;border-radius:16px;background:#f9fbff;padding:22px; }
#panel-content .live-switch-row { border:1px solid #dde7f6;border-radius:13px;background:#eef3fc;padding:16px; }
#panel-content .live-cover-preview { border-radius:14px;overflow:hidden; }
#panel-content .module-user-form { gap:14px;padding:22px;border:1px solid #e0e8f4;border-radius:16px;background:#f6f9fe; }
#panel-content .module-permission { border-radius:14px; }
#panel-content .metric-card { border:1px solid var(--admin-line);border-radius:21px;background:#fff;box-shadow:0 6px 24px #142b6405;padding:24px; }
#panel-content .shortcut-grid { gap:12px; }
#panel-content .shortcut { border:1px solid #e1e8f4;border-radius:14px;background:#f9fbfe;padding:20px 16px;min-height:100px;color:#294578;transition:border-color .18s,background .18s; }
#panel-content .shortcut:hover { background:#edf3ff;border-color:#b8c9e9; }
#panel-content .dashboard-hero { border:1px solid #dce5f3;box-shadow:0 10px 28px #12295d08;border-radius:24px; }
#panel-content #maintenance-settings { max-width:900px; }
#panel-content .pastoral-icon-picker>div { gap:9px; }
#panel-content .pastoral-icon-picker input[type=radio] { min-height:0; }
@media(max-width:1150px){
 #panel-content{width:calc(100% - 40px)}
 #panel-content .campaign-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #panel-content .live-settings,#panel-content .media-admin-grid { grid-template-columns:1fr; }
}
@media(max-width:760px){
 #panel-content { width:calc(100% - 28px);padding:22px 0 40px; }
 #panel-content .panel-welcome { padding:24px 20px;align-items:flex-start;flex-direction:column;gap:18px;border-radius:20px;margin-bottom:22px; }
 #panel-content .panel-welcome h1 { font-size:1.85rem; }
 #panel-content .panel-welcome p { font-size:.82rem; }
 #panel-content .panel-card { padding:21px 18px;border-radius:18px; }
 #panel-content .panel-card-heading { align-items:flex-start;flex-wrap:wrap;gap:8px;padding-bottom:15px;margin-bottom:18px; }
 #panel-content .panel-card-heading>span { text-align:left; }
 #panel-content :is(.agenda-admin-grid,.media-admin-grid,.modules-layout,.pastoral-admin-layout,.live-settings,.campaign-admin-grid) { grid-template-columns:1fr;gap:20px; }
 #panel-content .agenda-form-pair { grid-template-columns:1fr;gap:18px; }
 #panel-content .btn { min-height:44px;padding:12px 16px; }
 #panel-content .prayer-report-toolbar { padding:16px;align-items:stretch; }
 #panel-content .prayer-report-toolbar .field { min-width:0;max-width:none;flex-basis:100%; }
 #panel-content .prayer-report-toolbar>.btn { width:100%; }
 #panel-content .live-preview-card { padding:24px; }
 #panel-content .news-board-toolbar { padding:14px; }
 #panel-content .module-user-form { padding:16px; }
 #panel-content .campaign-card { padding:22px; }
 #panel-content .agenda-admin-form-actions>.btn,#panel-content .campaign-form-actions>.btn { flex:1 1 180px; }
}
@media(prefers-reduced-motion:reduce){#panel-content .btn{transition:none;transform:none!important}}

/* Reserva espaço para os ícones no cadastro de usuários. */
#panel-content #module-user-form .module-input-wrap input { padding-left:46px; }
#panel-content #module-user-form .module-input-wrap > .icon { left:15px;width:18px;height:18px; }

#panel-content .agenda-fixed-summary { margin-top:26px; }
#panel-content .agenda-fixed-summary .panel-card-heading p { margin:7px 0 0;color:#71819a;font-size:.8rem; }
.agenda-fixed-summary-grid { display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start; }
.agenda-fixed-summary-section { padding:22px;border:1px solid #e0e7f3;border-radius:17px;background:#f8faff;min-width:0; }
.agenda-fixed-summary-section>h3 { display:flex;align-items:center;gap:10px;margin:0 0 22px;font-size:.94rem;color:#1c3671; }
.agenda-fixed-summary-section>h3 .icon { color:#b58a35;width:19px;height:19px; }
.agenda-fixed-summary-day { margin-top:22px; }
.agenda-fixed-summary-day h4 { margin:0 0 9px;font-size:.7rem;text-transform:uppercase;letter-spacing:.055em;color:#6980a2; }
.agenda-fixed-summary-item { display:flex;align-items:start;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #e3e9f4; }
.agenda-fixed-summary-item>div { display:grid;gap:4px;min-width:0; }
.agenda-fixed-summary-item strong { font-size:.8rem;line-height:1.55;color:#233e72; }
.agenda-fixed-summary-item small { font-size:.7rem;color:#7b8aa2;line-height:1.55; }
.agenda-fixed-summary-item time { flex-shrink:0;font-size:.75rem;font-weight:750;color:#193a84;white-space:nowrap; }
.agenda-fixed-summary>.panel-note { margin-top:22px; }
.pastoral-workflow-nav { display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px; }
#panel-content .pastoral-workflow-nav button { display:flex;align-items:center;gap:9px;min-height:46px;padding:12px 16px; }
.pastoral-workflow-nav b { display:grid;place-items:center;width:23px;height:23px;border-radius:7px;color:#47639a;background:#e8eefb;font-size:.68rem; }
@media(max-width:850px){.agenda-fixed-summary-grid{grid-template-columns:1fr;gap:18px}}
@media(max-width:480px){.agenda-fixed-summary-section{padding:17px}.agenda-fixed-summary-item{gap:10px}.agenda-fixed-summary-item time{font-size:.7rem}.pastoral-workflow-nav{display:grid}.pastoral-workflow-nav .btn{justify-content:flex-start}}
