:root{
  --bg:#f4f1ea;
  --card:#ffffff;
  --ink:#28313a;
  --muted:#77808a;
  --accent:#3f6d9e;
  --accent-dk:#345b84;
  --accent2:#c8a86b;
  --line:#e5ded1;
  --warn:#b05038;
  --ok:#3f7d57;
  --shadow:0 2px 10px rgba(40,60,80,.06);
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.topbar{display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dk) 100%);
  color:#fff;padding:14px 22px;border-bottom:3px solid var(--accent2)}
.topbar a{color:#fff}
.brand{font-weight:700;font-size:1.25rem;letter-spacing:.2px}
.topbar nav{display:flex;gap:18px;align-items:center}
.who{opacity:.85;font-size:.82rem}
.wrap{max-width:940px;margin:26px auto;padding:0 16px}
.foot{text-align:center;color:var(--muted);padding:34px;font-size:.84rem;
  border-top:1px solid var(--line);margin-top:30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.card h3{margin:.1rem 0 .5rem;color:var(--accent-dk)}
h2{color:var(--accent-dk)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;
  text-align:center;display:block;box-shadow:var(--shadow);transition:.15s}
.tile:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}
.tile .big{font-size:1.2rem;font-weight:600;color:var(--ink)}
.pill{display:inline-block;font-size:.72rem;padding:3px 10px;border-radius:20px;background:#eee;color:#555}
.pill.prayer{background:#e3ecf7;color:#2f5480}
.pill.praise{background:#f6ecd6;color:#8a6a2a}
.pill.bible_study{background:#e3efe7;color:#2f6b48}
.pill.help{background:#f7e2da;color:var(--warn)}
.muted{color:var(--muted);font-size:.86rem}
.notice{border-left:4px solid var(--accent2);padding-left:14px}
.notice.pinned{border-color:var(--warn)}
label{display:block;margin:11px 0 4px;font-weight:600;font-size:.9rem}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(63,109,158,.12)}
textarea{min-height:110px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;
  padding:10px 18px;font:inherit;cursor:pointer;transition:.15s}
.btn:hover{background:var(--accent-dk);text-decoration:none}
.btn.secondary{background:#e8e1d3;color:var(--ink)}
.btn.secondary:hover{background:#ddd4c2}
.btn.small{padding:5px 12px;font-size:.85rem}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.check{display:flex;align-items:center;gap:8px}.check input{width:auto}
.resp{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px;font-size:.92rem}
.flash{background:#e3efe7;border:1px solid #bcd7c2;padding:11px 15px;border-radius:9px;margin-bottom:14px}
.flash.err{background:#f7e2da;border-color:#eab8a8;color:var(--warn)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line);font-size:.9rem}
th{color:var(--accent-dk)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tabs a,.tabs .tab{display:inline-block;padding:7px 16px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);font-weight:500;font-size:.92rem;transition:.15s;box-shadow:0 1px 2px rgba(40,60,80,.04)}
.tabs a:hover,.tabs .tab:hover{text-decoration:none;border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.tabs a.active,.tabs .tab.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 6px rgba(40,60,80,.15)}
.tabs a.active:hover,.tabs .tab.active:hover{color:#fff}
.foot .verse{color:var(--accent2);font-style:italic;margin-bottom:8px;font-size:.9rem}

/* ============================================================================
   FULL PAGE THEMES — set on <html data-theme="..."> per church (Settings page).
   Each reshapes the whole palette (bg, card, ink, accents, lines) for a
   cohesive seasonal or professional look. Default (no attribute) = warm sand.
   ============================================================================ */

/* Ocean — calm blue, clean and bright */
html[data-theme="ocean"]{
  --bg:#eef4f9; --card:#ffffff; --ink:#16283a; --muted:#5a6f83;
  --accent:#2b6ca3; --accent-dk:#1f527d; --accent2:#5aa0cf;
  --line:#cfe0ee; --warn:#b05038; --ok:#2f8a63;
}

/* Evergreen — SDA classic forest green + gold */
html[data-theme="evergreen"]{
  --bg:#eef3ee; --card:#ffffff; --ink:#1a2a1f; --muted:#5a6b5e;
  --accent:#1f6b3a; --accent-dk:#14532b; --accent2:#c2954a;
  --line:#cfe0d3; --warn:#9a5b2f; --ok:#1f7a4d;
}

/* Royal — deep purple + soft gold, dignified */
html[data-theme="royal"]{
  --bg:#f2eff7; --card:#ffffff; --ink:#241a33; --muted:#5f5670;
  --accent:#5a3d8a; --accent-dk:#432c6b; --accent2:#c8a86b;
  --line:#ded3ec; --warn:#9a3b5b; --ok:#4a7a5a;
}

/* Professional — cool corporate neutral + confident blue */
html[data-theme="professional"]{
  --bg:#f4f6f9; --card:#ffffff; --ink:#1b2430; --muted:#5b667d;
  --accent:#20496e; --accent-dk:#1b3f60; --accent2:#3f7cae;
  --line:#d5dee8; --warn:#b0503b; --ok:#3f7d57;
}

/* Fall Harvest — pumpkin, amber, barn red on cream */
html[data-theme="harvest"]{
  --bg:#f7efe2; --card:#fffaf2; --ink:#3a2a1a; --muted:#7a5f44;
  --accent:#9a4515; --accent-dk:#7e3a12; --accent2:#c8892b;
  --line:#e0cfb4; --warn:#9a5b00; --ok:#5f7a24;
}

/* Christmas — evergreen + cranberry + gold, snowy surfaces */
html[data-theme="christmas"]{
  --bg:#f2f6f2; --card:#ffffff; --ink:#1c2a1f; --muted:#5a6b5e;
  --accent:#1f6b3a; --accent-dk:#14532b; --accent2:#c0392b;
  --line:#cfe0d3; --warn:#8a2f3b; --ok:#1f7a4d;
}

/* Winter — icy blues and silver */
html[data-theme="winter"]{
  --bg:#eef4f9; --card:#ffffff; --ink:#1a2836; --muted:#566a80;
  --accent:#2b6ca3; --accent-dk:#245c8c; --accent2:#5aa0cf;
  --line:#cddeec; --warn:#a2545a; --ok:#3f7d76;
}

/* Spring — fresh green + blossom pink, light and cheerful */
html[data-theme="spring"]{
  --bg:#f1f7ee; --card:#ffffff; --ink:#22301f; --muted:#5f6f57;
  --accent:#5a9a3a; --accent-dk:#457a2b; --accent2:#e08aa8;
  --line:#d8e8cd; --warn:#b0603b; --ok:#4a9a5a;
}

/* Summer — bright sky + sunflower, warm and open */
html[data-theme="summer"]{
  --bg:#fefaf0; --card:#ffffff; --ink:#2a2a1a; --muted:#726b50;
  --accent:#2b8ca3; --accent-dk:#1f6f82; --accent2:#e0a83a;
  --line:#eae2c8; --warn:#c86a2b; --ok:#4a9a7a;
}

/* Thanksgiving — deep harvest browns + gold */
html[data-theme="thanksgiving"]{
  --bg:#f5eee2; --card:#fffaf2; --ink:#33241a; --muted:#7a5f44;
  --accent:#8a4a1a; --accent-dk:#6b3712; --accent2:#c8922b;
  --line:#e0cdb4; --warn:#9a4b00; --ok:#6f7a24;
}

/* Patriotic — red, white & blue for Independence Day */
html[data-theme="patriotic"]{
  --bg:#f4f6fa; --card:#ffffff; --ink:#1a2436; --muted:#5b6478;
  --accent:#1f3f7a; --accent-dk:#16305c; --accent2:#c0392b;
  --line:#d3dcea; --warn:#b0503b; --ok:#3f7d57;
}

/* Midnight — dark mode: easy-on-the-eyes deep slate */
html[data-theme="midnight"]{
  --bg:#12161c; --card:#1b212a; --ink:#e6ebf2; --muted:#93a0b0;
  --accent:#5aa0cf; --accent-dk:#3f7cae; --accent2:#c8a86b;
  --line:#2b333f; --warn:#e08a6a; --ok:#5fbf8a;
  --shadow:0 2px 10px rgba(0,0,0,.4);
}
html[data-theme="midnight"] input,
html[data-theme="midnight"] textarea,
html[data-theme="midnight"] select{ background:#232a34; color:var(--ink); }
html[data-theme="midnight"] .btn.secondary{ background:#2b333f; color:var(--ink); }
