:root{--purple-950:#1d1033;--purple-900:#2a1847;--purple-800:#3b2364;--purple-700:#4d2f80;--purple-100:#e9e2f5;--purple-50:#f6f3fb;--gold:#c9a227;--gold-soft:#f3e9c8;--gold-deep:#8a6d1b;--ink:#221a33;--ink-soft:#4c4460;--muted:#6e6584;--bg:#faf8fd;--card:#fff;--border:#ddd5ec;--danger:#9b2226;--danger-bg:#fdecea;--ok:#2e6b34;--radius:16px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg);margin:0;font-size:16px;line-height:1.55}#app{min-height:100vh}h1,h2,h3,h4{color:var(--purple-950);line-height:1.25}h2{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.55rem}h3{margin:1.4rem 0 .6rem;font-size:1.15rem}.sub-title{margin-top:1.6rem;font-size:1.05rem}.lead{color:var(--ink-soft);max-width:62ch;margin:0 0 1.1rem}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}.tabs{background:var(--purple-950);z-index:10;flex-wrap:wrap;align-items:center;gap:4px;padding:12px 16px;display:flex;position:sticky;top:0}.nav-brand{color:var(--gold);letter-spacing:.01em;white-space:nowrap;margin-right:12px;font-size:1.25rem;font-weight:800}.tab{color:#d9d2ea;background:0 0;border:1px solid #0000;border-radius:999px;min-height:44px;padding:8px 14px;font-weight:600}.tab:hover{color:#fff;background:#ffffff14}.tab.active{background:var(--gold);color:var(--purple-950)}.role-bar{flex-wrap:wrap;align-items:center;gap:10px;max-width:960px;margin:0 auto;padding:14px 16px 0;display:flex}.role-label{color:var(--ink-soft);font-size:.95rem}.role-switch{border:1px solid var(--border);background:var(--card);border-radius:999px;display:inline-flex;overflow:hidden}.role-btn{min-height:44px;color:var(--purple-800);background:0 0;border:0;padding:8px 18px;font-weight:700}.role-btn.active{background:var(--purple-900);color:#fff}.ai-badge{color:var(--muted);background:var(--purple-100);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:.85rem;font-weight:600}.ai-badge.live{color:var(--ok);background:#e3f2e4}.view{max-width:960px;margin:0 auto;padding:20px 16px 64px}.empty{color:var(--muted);background:var(--purple-50);border:1px dashed var(--border);border-radius:var(--radius);padding:16px}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:12px 14px}.btn{text-align:center;border:1px solid #0000;border-radius:12px;min-height:48px;padding:11px 20px;font-weight:700;text-decoration:none;display:inline-block}.btn-sm{min-height:44px;padding:9px 14px;font-size:.95rem}.btn-primary{background:var(--purple-900);color:#fff}.btn-primary:hover{background:var(--purple-800)}.btn-ghost{background:var(--card);color:var(--purple-900);border-color:var(--border)}.btn-ghost:hover{border-color:var(--purple-700)}.field{margin-bottom:16px;display:block}.field>span{color:var(--purple-950);margin-bottom:6px;font-weight:700;display:block}.field input[type=text],.field select,.field textarea{border:1.5px solid var(--border);background:var(--card);width:100%;color:var(--ink);border-radius:12px;padding:12px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple-700);outline:3px solid var(--gold);outline-offset:1px}.field.check{align-items:center;gap:10px;display:flex}.field.check input{width:22px;height:22px;accent-color:var(--purple-800)}.field.check span{margin:0;font-weight:600}.form-note{color:var(--muted);font-size:.92rem}.result{background:var(--purple-50);border:1px solid var(--border);border-radius:var(--radius);margin-top:18px;padding:16px}.result h4{margin-top:0}.prayer-list{gap:14px;display:grid}.prayer-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 1px 3px #1d10330f}.prayer-card.crisis{border-color:var(--danger);background:snow}.prayer-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.prayer-date{color:var(--muted);margin-left:auto;font-size:.85rem}.chip{background:var(--purple-100);color:var(--purple-900);border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:700;display:inline-block}.chip.urg-rendah{color:var(--ok);background:#e3f2e4}.chip.urg-sedang{color:#7a5b00;background:#fdf0d3}.chip.urg-mendesak{background:var(--danger-bg);color:var(--danger)}.chip.priv{background:var(--gold-soft);color:var(--gold-deep)}.prayer-name{margin:10px 0 4px;font-weight:800}.owner{color:var(--muted);font-size:.9rem;font-weight:600}.prayer-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px}.crisis-note{color:var(--danger);margin:0 0 10px;font-weight:700}.prayer-foot{color:var(--ink-soft);flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;font-size:.92rem;display:flex}.due.overdue,.overdue{color:var(--danger);font-weight:700}.prayer-actions{flex-wrap:wrap;gap:8px;display:flex}.devotional-card{background:linear-gradient(160deg, var(--purple-900), var(--purple-700));color:#fff;border-radius:var(--radius);padding:22px;box-shadow:0 8px 24px #1d103340}.devotional-card h3{color:var(--gold);margin-top:0;font-size:1.35rem}.devotional-card .verse{color:var(--gold-soft);font-weight:700}.devotional-card p{color:#f2eefb}.prayer-line{border-top:1px solid #ffffff40;padding-top:12px}.verse{color:var(--purple-700);font-weight:700}.source-note{color:var(--muted);margin-top:10px;font-size:.85rem}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.cat-card{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;min-height:88px;padding:14px;display:flex}.cat-card strong{color:var(--purple-900)}.cat-card span{color:var(--ink-soft);font-size:.95rem}.cat-card em{color:var(--muted);font-size:.85rem;font-style:normal}.cat-card:hover{border-color:var(--gold)}.chat-log{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:10px;max-height:55vh;margin-bottom:14px;padding:16px;display:flex;overflow-y:auto}.chat-msg{border-radius:14px;max-width:85%;padding:12px 14px}.chat-msg p{margin:0 0 6px}.chat-msg p:last-child{margin-bottom:0}.chat-msg.user{background:var(--purple-900);color:#fff;align-self:flex-end}.chat-msg.ai{background:var(--purple-50);border:1px solid var(--border);align-self:flex-start}.chat-msg.ai .verse{color:var(--purple-700)}.ask-form{flex-direction:column;gap:10px;display:flex}.ask-form .btn{align-self:flex-end}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:8px;display:grid}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:16px;display:flex}.summary-card strong{color:var(--purple-900);font-size:1.9rem;line-height:1.1}.summary-card span{color:var(--ink-soft);font-size:.95rem}.summary-card.alert{border-color:var(--danger);background:snow}.summary-card.alert strong{color:var(--danger)}.brief-line{color:var(--ink-soft)}.ai-summary{background:var(--purple-50);border:1px solid var(--border);border-radius:var(--radius);margin:14px 0;padding:16px}.ai-summary h3{margin-top:0}.ai-summary ul{margin:8px 0;padding-left:20px}.filters{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.filters label{color:var(--purple-950);font-size:.92rem;font-weight:700}.filters select{border:1.5px solid var(--border);background:var(--card);border-radius:10px;min-height:44px;margin-top:4px;padding:9px 10px;display:block}.filters .check{align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.filters .check input{width:20px;height:20px;accent-color:var(--purple-800)}.detail-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:18px}.detail-actions{background:var(--purple-50);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px;padding:16px;display:flex}.detail-actions label{font-size:.92rem;font-weight:700}.detail-actions select{border:1.5px solid var(--border);background:var(--card);border-radius:10px;min-height:44px;margin-top:4px;padding:9px 10px;display:block}.detail-actions .check{align-items:center;gap:8px;min-height:44px;display:flex}.detail-actions .check input{width:20px;height:20px;accent-color:var(--purple-800)}.tool-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:16px}.tool-box h3{margin-top:0}.draft-text{white-space:pre-wrap}.history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history li{border-left:3px solid var(--gold);color:var(--ink-soft);padding-left:12px}.reminder-list,.member-list{gap:10px;margin:0 0 8px;padding:0;list-style:none;display:grid}.reminder-list li,.member-list li{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.member-link{color:var(--purple-800);background:0 0;border:0;min-height:44px;padding:0;font-weight:700;text-decoration:underline}@media (width>=700px){.summary-grid{grid-template-columns:repeat(4,1fr)}.ask-form{flex-direction:row;align-items:end}.ask-form .field{flex:1;margin-bottom:0}}@media (width<=420px){.tabs{gap:2px;padding:10px}.nav-brand{margin-right:6px;font-size:1.1rem}.tab{padding:8px 10px;font-size:.92rem}.role-bar{padding:12px 10px 0}.view{padding:16px 10px 56px}h2{font-size:1.35rem}}
