@font-face{font-family:Xipan Sans;src:local("Noto Sans CJK SC"),local("Noto Sans SC"),local("PingFang SC")}@font-face{font-family:"Xipan Serif";src:local("Noto Serif CJK SC"),local("Noto Serif SC"),local("Songti SC")}:root{--cream: #faf8f2;--cream-2: #f5f1e7;--paper: #fffdfa;--oak: #e8ddc6;--oak-2: #f1e8d6;--olive: #53643a;--olive-dark: #33411f;--olive-soft: #e7ebdd;--terracotta: #c98262;--terracotta-soft: #f2ddd0;--sand: #d7c2a0;--ink: #25291e;--muted: #74756c;--line: rgba(72, 76, 58, .14);--shadow: 0 16px 48px rgba(67, 55, 32, .08);font-family:Xipan Sans,Noto Sans CJK SC,PingFang SC,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-width:320px;min-height:100%}body{min-height:100vh;-webkit-font-smoothing:antialiased;background:var(--cream)}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;display:flex;background:var(--cream)}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;z-index:20;display:flex;flex-direction:column;padding:28px 20px 22px;border-right:1px solid var(--line)}.user-sidebar{background:#ebe0c9d1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-sidebar{background:#f0e7d5}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 26px;color:var(--olive-dark)}.brand-home{width:100%;border:0;background:transparent;cursor:pointer;text-align:left}.nav-label{margin:14px 14px 4px;color:var(--muted);font-size:11px;letter-spacing:.14em}.brand img{width:38px;height:38px;object-fit:cover;border-radius:10px;mix-blend-mode:multiply}.brand span{font:700 19px/1.18 "Xipan Serif",serif;letter-spacing:.015em}.side-nav{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}.side-nav button,.contact-pastor,.admin-entry{border:0;background:transparent;cursor:pointer;display:flex;align-items:center;gap:13px;width:100%;min-height:50px;padding:0 14px;border-radius:12px;color:#4b4b40;transition:.18s ease}.side-nav button:hover,.admin-entry:hover{background:#ffffff80;color:var(--olive-dark)}.side-nav button.active{color:#fff;background:var(--olive);box-shadow:0 8px 20px #4a5b2f2e}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:5px}.sidebar-footer .theme-picker{margin:8px -4px 0;padding:8px 4px 0;border-top:1px solid var(--line)}.theme-picker{display:grid;gap:8px;padding:10px 8px 4px}.theme-picker-label{margin:0 6px;color:var(--muted);font-size:11px;letter-spacing:.14em}.theme-picker-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.theme-picker-options button{min-height:44px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#ffffff8c;color:var(--muted);cursor:pointer;display:grid;gap:2px;text-align:left}.theme-picker-options button strong,.theme-picker-options button small{display:block}.theme-picker-options button strong{font-size:13px;color:var(--ink)}.theme-picker-options button small{font-size:10px;letter-spacing:.04em}.theme-picker-options button:hover{background:#ffffffd9}.theme-picker-options button.active{background:var(--olive);border-color:transparent;color:#f7f3ea}.theme-picker-options button.active strong,.theme-picker-options button.active small{color:inherit}.theme-picker--float,.theme-picker--dock{position:fixed;z-index:40;left:16px;bottom:16px;width:196px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#faf8f2f5;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.theme-picker--dock{display:none}@media(max-width:680px){.theme-picker--dock{display:grid;left:10px;bottom:82px;width:168px;padding:10px}.user-app:has(.chat-layout) .theme-picker--dock{bottom:148px}}.contact-pastor{color:#3e4631}.contact-pastor.active{color:var(--olive-dark);background:#ffffff8c}.admin-entry{color:var(--muted);font-size:13px}.admin-entry svg:last-child{margin-left:auto}.admin-label{margin:-13px 8px 25px;color:var(--muted);font-size:12px;letter-spacing:.12em}.app-main,.admin-main{margin-left:224px;min-width:0;flex:1;min-height:100vh}.chat-layout{height:100vh;max-height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(520px,1fr) 300px}.chat-shell{height:100%;min-height:0;position:relative;display:flex;flex-direction:column;background:var(--cream) url(/assets/olive-branches-bg.png) left top / 730px auto no-repeat;overflow:hidden}.church-date{position:absolute;top:34px;right:38px;z-index:2;color:#596048;display:flex;align-items:center;gap:7px;font-size:13px}.chat-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;width:min(750px,calc(100% - 76px));margin:0 auto;padding:98px 0 132px;position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:rgba(83,100,58,.28) transparent}.chapel-mark{display:flex;justify-content:center;color:var(--terracotta);margin-bottom:14px;opacity:.9}.ss-identity{text-align:center;margin:0 0 48px}.ss-slogan-en{margin:0 0 12px;color:var(--olive);font:500 16px/1.55 "Xipan Serif",serif;letter-spacing:.03em}.ss-identity h1,.chat-content>h1{margin:0;text-align:center;color:#30411f;font:600 clamp(26px,2.7vw,40px)/1.35 "Xipan Serif",serif;letter-spacing:.01em}.chat-subtitle{text-align:center;margin:16px 0 55px;color:#66685d;font-size:15px}.message-list{display:flex;flex-direction:column;gap:24px;overflow:visible}.message-row{display:flex;align-items:flex-start;gap:14px;overflow:visible}.message-row.user{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;margin-top:8px;position:relative;z-index:1}.assistant-avatar{color:#fff;background:var(--olive);box-shadow:0 8px 20px #48592d38}.user-avatar{color:#fff;background:var(--terracotta)}.message-row.is-waiting{min-height:48px;align-items:center}.message-row.is-waiting .message-avatar{margin-top:0}.assistant-waiting-state{min-width:226px;min-height:40px;padding:0 4px;display:flex;align-items:center;gap:10px;color:#727669;font-size:13px}.assistant-waiting-state>span:first-child{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--olive);opacity:.72}.message-card{max-width:610px;padding:23px 26px;border-radius:17px;background:#f6f4ebf0;border:1px solid rgba(100,94,72,.08);box-shadow:0 10px 30px #463a220b}.message-row.user .message-card{max-width:520px;background:#f3dccc}.message-card>p{margin:0;font-size:16px;line-height:1.85;color:#303128;white-space:pre-wrap}.md-body{font-size:16px;line-height:1.85;color:#303128;overflow-wrap:anywhere}.md-body>*:first-child{margin-top:0}.md-body>*:last-child{margin-bottom:0}.md-body p{margin:0 0 12px}.md-body h1,.md-body h2,.md-body h3,.md-body h4{margin:18px 0 8px;color:var(--olive-dark);font-family:"Xipan Serif",serif;font-weight:600;line-height:1.35}.md-body h1{font-size:22px}.md-body h2{font-size:19px}.md-body h3,.md-body h4{font-size:16px}.md-body ul,.md-body ol{margin:0 0 12px;padding-left:1.3em}.md-body li{margin:4px 0}.md-body li>p{margin:0}.md-body strong{font-weight:650;color:#2a3120}.md-body em{font-style:italic}.md-body blockquote{margin:12px 0;padding:8px 0 8px 14px;border-left:3px solid var(--olive);color:#4b5240;background:linear-gradient(90deg,rgba(83,100,58,.06),transparent 72%)}.md-body blockquote p{margin:0}.md-body a{color:var(--olive);text-decoration:underline;text-underline-offset:3px}.md-body hr{border:0;border-top:1px solid var(--line);margin:16px 0}.md-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;padding:1px 6px;border-radius:6px;background:#53643a14}.md-body pre{margin:12px 0;padding:12px 14px;overflow-x:auto;border-radius:12px;background:#f3f0e6;border:1px solid var(--line)}.md-body pre code{padding:0;background:transparent;font-size:13px;line-height:1.65}.md-body table{width:100%;margin:12px 0;border-collapse:collapse;font-size:14px}.md-body th,.md-body td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.md-body th{color:var(--olive-dark);font-weight:600}.citations{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;display:grid;gap:10px}.citation-heading,.citation{display:flex;align-items:center;gap:8px;color:#5b6249;font-size:13px}.citation-heading svg:last-child{margin-left:auto}.citation{width:100%;color:#55584e;padding:8px 10px;border:0;border-radius:10px;background:transparent;cursor:pointer;text-align:left}.citation:hover{background:var(--olive-soft);color:var(--olive-dark)}.citation svg:last-child{margin-left:auto;color:var(--olive)}.continue-button{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:24px 54px 0;width:275px;min-height:50px;padding:0 18px;border:0;border-radius:9px;background:var(--olive);color:#fff;cursor:pointer}.mobile-pastor-card{display:none}.chat-composer{position:absolute;z-index:5;left:50%;bottom:32px;transform:translate(-50%);width:min(790px,calc(100% - 58px));min-height:72px;padding:9px 10px 9px 19px;display:flex;align-items:center;gap:8px;background:#fffdf9f2;border:1px solid rgba(100,91,65,.18);border-radius:24px;box-shadow:0 18px 45px #3f341c1c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-composer>button{border:0;background:transparent;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#5b6250;cursor:pointer}.chat-composer input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:15px}.chat-composer input::placeholder{color:#a09e94}.chat-composer .send-button{background:var(--olive);color:#fff}.chat-composer .send-button:disabled{opacity:.45;cursor:default}.companion-rail{height:100%;min-height:0;overflow-y:auto;padding:145px 28px 36px;background:#faf7eed6;border-left:1px solid var(--line)}.rail-title{display:flex;align-items:center;justify-content:space-between;font:500 20px "Xipan Serif",serif;padding-bottom:20px;border-bottom:1px solid var(--line)}.rail-new{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--olive);display:grid;place-items:center;cursor:pointer}.conversation-list{padding:16px 0 8px;display:grid;gap:6px}.conversation-row{display:grid;grid-template-columns:1fr 32px 32px;align-items:center;border-radius:12px}.conversation-row.active{background:var(--olive-soft)}.conversation-open{min-width:0;border:0;background:transparent;display:flex;align-items:flex-start;gap:10px;padding:10px 8px;text-align:left;cursor:pointer;color:inherit}.conversation-open svg{color:var(--olive);margin-top:3px;flex:0 0 auto}.conversation-open strong,.conversation-open small{display:block}.conversation-open strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-open small{margin-top:4px;color:var(--muted);font-size:11px}.conversation-action{width:32px;height:32px;border:0;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;display:grid;place-items:center}.conversation-action:hover{background:#fff;color:var(--olive)}.conversation-empty{margin:18px 4px;color:var(--muted);font-size:13px}.pastor-booking{display:flex;align-items:center;gap:12px;padding:25px 0;cursor:pointer;border-top:1px solid var(--line);margin-top:8px}.pastor-booking>svg:first-child{color:var(--olive)}.pastor-booking h3{font-size:14px;margin:0 0 4px}.pastor-booking p{margin:0;font-size:13px;color:var(--muted)}.citation{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.citation-edition,.citation-warning{font-size:11px;color:var(--muted)}.citation-warning,.status-dot.pending{color:#a65f43}.mobile-topbar,.mobile-nav,.admin-mobile-nav{display:none}.feature-page{min-height:100vh;padding:65px max(5vw,56px);background:var(--cream) url(/assets/olive-branches-bg.png) left top / 650px auto no-repeat}.feature-heading{max-width:780px;margin:20px auto 44px;text-align:center}.feature-heading>svg{color:var(--olive)}.feature-heading h1{margin:13px 0 9px;color:var(--olive-dark);font:600 36px/1.2 "Xipan Serif",serif}.feature-heading p{margin:0;color:var(--muted)}.library-list,.settings-list{max-width:860px;margin:0 auto;background:#ffffffa6;border:1px solid var(--line);border-radius:20px;overflow:hidden}.library-row{width:100%;min-height:86px;padding:14px 20px;display:grid;grid-template-columns:48px 1fr auto 24px;gap:14px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}.library-row:last-child{border:0}.library-row:hover{background:#ffffffb8}.library-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--olive);background:var(--olive-soft)}.library-icon.uploaded,.document-icon.asset{color:#a65f43;background:var(--terracotta-soft)}.uploaded-library-row{text-decoration:none;color:inherit}.library-row strong,.library-row small{display:block}.library-row strong{margin-bottom:7px}.library-row small{color:var(--muted)}.status-dot{color:var(--olive);font-size:12px}.doctrine-search{max-width:860px;margin:0 auto 18px}.library-back{display:inline-flex;align-items:center;gap:6px;margin:0 auto 22px;border:0;background:transparent;color:var(--olive);cursor:pointer}.doctrine-reader{max-width:860px;margin:0 auto;display:grid;gap:22px}.doctrine-reader section{display:grid;gap:16px}.doctrine-reader h2{margin:8px 0 0;color:var(--olive-dark);font:600 22px/1.35 "Xipan Serif",serif}.doctrine-reader article{padding:22px 24px;background:#fffdf9d1;border:1px solid var(--line);border-radius:16px}.doctrine-reader h3{margin:0 0 10px;color:var(--olive-dark);font:600 16px "Xipan Serif",serif}.doctrine-reader p{margin:0;white-space:pre-wrap;line-height:1.85}.search-hits{margin-bottom:18px}.prayer-form{max-width:860px;margin:0 auto 22px;display:grid;gap:12px}.prayer-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fffdf9e6;outline:0;resize:vertical}.prayer-form textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px #53643a17}.prayer-list{max-width:860px;margin:0 auto;display:grid;gap:12px}.prayer-list article{padding:18px 20px;background:#fffdf9d1;border:1px solid var(--line);border-radius:16px}.prayer-list p{margin:0 0 12px;line-height:1.8;white-space:pre-wrap}.prayer-list footer{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.prayer-list footer button{border:0;background:transparent;color:var(--muted);cursor:pointer}.settings-list button:disabled{color:var(--muted);cursor:default}.prayer-grid{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.prayer-grid article{min-height:220px;padding:24px;background:#fffdf9c7;border:1px solid var(--line);border-radius:19px;display:flex;flex-direction:column}.prayer-grid article>span{color:var(--terracotta);font-size:12px}.prayer-grid p{font:500 17px/1.8 "Xipan Serif",serif}.prayer-grid button{margin-top:auto;align-self:flex-start;display:flex;gap:7px;align-items:center;border:0;background:transparent;color:var(--olive);cursor:pointer}.group-panel,.profile-panel{max-width:860px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:28px;border:1px solid var(--line);background:#fffdf9bf;border-radius:20px}.group-emblem,.profile-avatar{width:68px;height:68px;flex:0 0 68px;display:grid;place-items:center;border-radius:20px;color:#fff;background:var(--olive)}.group-panel h2,.profile-panel h2{margin:0 0 6px;font:600 24px "Xipan Serif",serif}.group-panel p,.profile-panel p{margin:0 0 7px;color:var(--muted)}.group-panel span,.profile-panel span{font-size:13px;color:var(--olive)}.group-panel>button,.profile-panel>button{margin-left:auto;display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:11px 15px;background:#fff;border-radius:10px;cursor:pointer}.profile-avatar{border-radius:50%;font:600 24px "Xipan Serif",serif}.settings-list{margin-top:18px}.settings-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}.settings-list button:last-child{border:0}.admin-main{background:#f8f6f0}.admin-page{min-height:100vh;padding:34px clamp(28px,4vw,62px) 60px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:34px}.admin-header h1{margin:0 0 7px;color:var(--olive-dark);font:600 31px/1.25 "Xipan Serif",serif}.admin-header p{margin:0;color:var(--muted);font-size:14px}.admin-header-actions{display:flex;align-items:center;gap:18px}.admin-profile{display:flex;align-items:center;gap:10px;padding:6px 0 6px 10px;border:0;background:transparent;cursor:pointer;text-align:left}.admin-profile>span{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--terracotta-soft);color:#9b5639;font-weight:700}.admin-profile strong,.admin-profile small{display:block}.admin-profile strong{font-size:13px}.admin-profile small{font-size:11px;color:var(--muted);margin-top:2px}.primary-action,.secondary-action{min-height:43px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--olive);color:#fff;cursor:pointer;box-shadow:0 8px 18px #49592f26}.secondary-action{color:var(--ink);background:#fff;border:1px solid var(--line);box-shadow:none}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.stat-card{min-height:168px;padding:21px;border:1px solid var(--line);border-radius:17px;background:#fff;position:relative}.stat-card>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;margin-bottom:20px}.stat-card.olive>span{background:var(--olive-soft);color:var(--olive)}.stat-card.sand>span{background:#efe4d1;color:#8a704b}.stat-card.terracotta>span{background:var(--terracotta-soft);color:#a65f43}.stat-card.blue>span{background:#dfe9e8;color:#406d6b}.stat-card small{color:var(--muted)}.stat-card strong{display:block;margin:5px 0 6px;font:600 29px "Xipan Serif",serif}.stat-card p{margin:0;font-size:12px;color:var(--muted)}.overview-sections{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.overview-panel,.table-panel,.settings-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.panel-title{display:flex;justify-content:space-between;padding:22px 24px 17px;border-bottom:1px solid var(--line)}.panel-title h2{margin:0 0 4px;font:600 18px "Xipan Serif",serif}.panel-title p{margin:0;color:var(--muted);font-size:12px}.health-row,.quick-link{display:flex;align-items:center;gap:10px;min-height:60px;padding:0 24px;border:0;border-bottom:1px solid var(--line);width:100%;background:transparent}.health-row:last-child,.quick-link:last-child{border:0}.health-row svg{color:var(--olive)}.health-row b{margin-left:auto;font-size:12px;color:var(--olive);font-weight:500}.health-row.pending svg,.health-row.pending b{color:var(--terracotta)}.quick-link{justify-content:space-between;cursor:pointer}.quick-link:hover{background:var(--cream)}.quick-link span{display:flex;align-items:center;gap:11px}.quick-link span svg{color:var(--olive)}.table-toolbar{min-height:70px;padding:13px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.search-box{min-width:260px;max-width:410px;flex:1;display:flex;align-items:center;gap:9px;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7}.search-box svg{color:var(--muted)}.search-box input{width:100%;border:0;outline:0;background:transparent}.table-toolbar select,.form-grid select{height:42px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:10px;color:#4d5046;background:#fbfaf7}.result-count{margin-left:auto;color:var(--muted);font-size:12px}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.05em;background:#faf9f5}th,td{padding:15px 18px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:last-child td{border-bottom:0}td{font-size:13px}.member-cell{display:flex;align-items:center;gap:11px}.member-cell>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--olive-soft);color:var(--olive);font-weight:700}.member-cell strong,.member-cell small{display:block}.member-cell small{color:var(--muted);margin-top:3px;font-size:11px}.role-badge,.default-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;font-size:11px;background:#eceee7;color:#52603e}.role-badge.admin{background:var(--terracotta-soft);color:#9a563d}.role-badge.pastor{background:#e3e9ee;color:#4e6878}.status-button{border:0;background:transparent;display:flex;align-items:center;gap:7px;cursor:pointer;color:var(--muted)}.status-button i{width:7px;height:7px;border-radius:50%;background:#9c9c94}.status-button.active{color:var(--olive)}.status-button.active i{background:#6c8248;box-shadow:0 0 0 4px #6a81461f}.row-actions{display:flex;justify-content:flex-end;gap:3px}.row-actions button,.icon-action,.knowledge-row>button{width:34px;height:34px;border:0;border-radius:8px;display:grid;place-items:center;background:transparent;cursor:pointer;color:var(--muted)}.row-actions button:hover{background:var(--cream-2);color:var(--olive)}.llm-notice{display:flex;gap:13px;align-items:flex-start;padding:17px 19px;margin-bottom:18px;border:1px solid #d8dcca;border-radius:14px;background:#f2f4eb;color:var(--olive)}.llm-notice p{margin:4px 0 0;color:#68705b;font-size:12px}.model-list{display:grid;gap:12px}.model-row{min-height:100px;display:grid;grid-template-columns:50px minmax(180px,1.3fr) minmax(190px,.8fr) 90px auto;gap:15px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.provider-mark{width:46px;height:46px;border-radius:13px;display:grid;place-items:center}.provider-mark.blue{color:#446d83;background:#e3edf2}.provider-mark.green{color:var(--olive);background:var(--olive-soft)}.provider-mark.orange{color:#a85b3f;background:var(--terracotta-soft)}.provider-mark.gray{color:#646760;background:#edece7}.model-identity>div{display:flex;align-items:center;gap:8px}.model-identity h3{margin:0;font-size:15px}.model-identity p{margin:6px 0 0;color:var(--muted);font-size:12px}.default-badge{color:var(--olive);background:var(--olive-soft)}.model-meta{display:flex;gap:20px}.model-meta span{display:grid;gap:4px;color:var(--muted);font-size:11px}.model-meta b{color:var(--ink);font-size:13px}.model-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.switch{position:relative;width:36px;height:21px;padding:0;border:0;border-radius:20px;background:#d5d5cf;cursor:pointer}.switch i{display:block;width:15px;height:15px;border-radius:50%;background:#fff;transform:translate(3px);transition:.2s}.switch.on{background:var(--olive)}.switch.on i{transform:translate(18px)}.model-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.model-actions>button:not(.icon-action){border:0;background:transparent;color:var(--olive);font-size:12px;cursor:pointer;padding:8px}.prompt-panel{margin-top:18px;padding:19px 21px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;justify-content:space-between;align-items:center}.prompt-panel>div{display:flex;gap:13px;align-items:center}.prompt-panel svg{color:var(--olive)}.prompt-panel h3{margin:0 0 4px;font-size:14px}.prompt-panel p{margin:0;color:var(--muted);font-size:12px}.prompt-panel button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;cursor:pointer}.knowledge-row{display:grid;grid-template-columns:50px minmax(220px,1fr) 120px 90px 34px;align-items:center;gap:12px;min-height:80px;padding:11px 18px;border-bottom:1px solid var(--line)}.knowledge-row:last-child{border:0}.document-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--olive);background:var(--olive-soft)}.knowledge-row strong,.knowledge-row small{display:block}.knowledge-row small{color:var(--muted);margin-top:4px;font-size:11px}.knowledge-row .ready{display:flex;align-items:center;gap:6px;color:var(--olive);font-size:11px}.knowledge-row .ready.pending{color:#a65f43}.asset-open{color:var(--olive);font-size:12px;text-decoration:none}.asset-open:hover{text-decoration:underline}.settings-panel{max-width:760px;padding:25px;display:grid;gap:18px}.settings-panel h2{margin:0 0 3px;font:600 19px "Xipan Serif",serif}.settings-panel label,.form-grid label{display:grid;gap:7px}.settings-panel label span,.form-grid label span{font-size:12px;color:#5c6053}.settings-panel input,.settings-panel textarea,.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;padding:11px 12px;outline:0;color:var(--ink)}.settings-panel input:focus,.settings-panel textarea:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--olive);box-shadow:0 0 0 3px #53643a17}.settings-save{display:flex;justify-content:flex-end}.asset-permission{width:auto!important;min-width:72px;padding:0 10px;display:inline-flex!important;gap:5px;color:var(--olive)!important;background:var(--olive-soft)!important}.permission-checks{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8f7f2}.permission-checks label{display:flex;align-items:center;gap:8px;cursor:pointer}.permission-checks input{width:17px;height:17px;margin:0;accent-color:var(--olive)}.permission-checks label span{font-size:12px}.settings-panel select{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:#4d5046;background:#fbfaf7}.weekly-admin{display:grid;grid-template-columns:minmax(260px,32%) minmax(0,1fr);gap:22px;align-items:start}.weekly-catalog,.weekly-editor{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0}.weekly-catalog-list{max-height:min(72vh,860px);overflow-y:auto}.weekly-issue{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:8px;align-items:center;padding:6px 10px 6px 6px;border-bottom:1px solid var(--line)}.weekly-issue:last-child{border-bottom:0}.weekly-issue.active{background:var(--olive-soft)}.weekly-issue-open{min-width:0;min-height:64px;padding:10px 12px;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:12px}.weekly-issue-open:hover{background:var(--cream)}.weekly-issue.active .weekly-issue-open:hover{background:transparent}.weekly-issue-open strong,.weekly-issue-open small{display:block}.weekly-issue-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.weekly-issue-open small{margin-top:5px;color:var(--muted);font-size:12px}.weekly-editor-form{padding:22px 24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.weekly-editor-form .full{grid-column:1 / -1}.weekly-editor-form h4{grid-column:1 / -1;margin:6px 0 0;padding-top:12px;border-top:1px solid var(--line);font:600 13px "Xipan Serif",serif;color:var(--olive)}.weekly-editor-form h4:first-of-type{margin-top:0;padding-top:2px;border-top:0}.weekly-editor-form label{display:grid;gap:7px;min-width:0}.weekly-editor-form label span{font-size:12px;color:#5c6053}.weekly-editor-form input,.weekly-editor-form textarea,.weekly-editor-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;padding:11px 12px;outline:0;color:var(--ink)}.weekly-editor-form select{height:44px;padding:0 12px;color:#4d5046}.weekly-editor-form textarea{min-height:92px;resize:vertical;line-height:1.65}.weekly-editor-form input:focus,.weekly-editor-form textarea:focus,.weekly-editor-form select:focus{border-color:var(--olive);box-shadow:0 0 0 3px #53643a17}.weekly-editor-form .settings-save{grid-column:1 / -1;gap:10px}.settings-note{display:flex;gap:12px;padding:15px;color:var(--olive);background:var(--olive-soft);border-radius:12px}.settings-note p{margin:0;color:#626b54;font-size:12px;line-height:1.7}.settings-note strong{color:var(--olive-dark)}.file-drop{position:relative;padding:20px;border:1px dashed #b3bba2;border-radius:13px;background:#f5f7ef;cursor:pointer}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop strong,.file-drop small{display:block}.file-drop strong{margin-top:9px;color:var(--olive-dark)}.file-drop small{margin-top:5px;color:var(--muted);font-size:11px}.upload-note{display:flex;align-items:flex-start;gap:8px;color:#6b705d;font-size:11px;line-height:1.6;padding:10px 12px;border-radius:9px;background:#f4f2e8}.upload-note svg{flex:0 0 auto;color:var(--terracotta)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:22px;background:#23261d6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(620px,100%);max-height:calc(100vh - 44px);overflow-y:auto;background:var(--paper);border-radius:20px;box-shadow:0 24px 70px #20211940}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 25px 18px;border-bottom:1px solid var(--line)}.modal header h2{margin:0 0 5px;font:600 21px "Xipan Serif",serif}.modal header p{margin:0;color:var(--muted);font-size:12px}.modal header>button{border:0;width:34px;height:34px;display:grid;place-items:center;background:transparent;border-radius:9px;cursor:pointer}.form-grid{padding:22px 25px 25px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1 / -1}.form-grid input[type=range]{padding:0;accent-color:var(--olive)}.modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px;padding-top:6px}.modal-actions button{min-height:42px;padding:0 17px;border-radius:9px;cursor:pointer}.modal-actions .secondary{border:1px solid var(--line);background:#fff}.modal-actions .primary{border:0;background:var(--olive);color:#fff}.toast{position:fixed;z-index:100;top:22px;right:22px;min-height:48px;max-width:380px;padding:0 16px;display:flex;align-items:center;gap:9px;border-radius:12px;color:var(--olive-dark);background:#eef2e5;border:1px solid #d6dfc6;box-shadow:var(--shadow);animation:toast-in .25s ease}.toast--error{color:#8b4632;background:#f8e8e1;border-color:#eccfc2}.toast--info{color:#725738;background:#f6eddf;border-color:#e5d6bd}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--cream) url(/assets/olive-branches-bg.png) left top / 720px auto no-repeat}.login-card{width:min(440px,100%);padding:30px;border:1px solid var(--line);border-radius:22px;background:#fffdf9f2;box-shadow:0 24px 65px #3c372724}.login-card .brand{padding:0 0 24px;border-bottom:1px solid var(--line)}.login-heading{padding:28px 0 20px;text-align:center}.login-heading svg{color:var(--olive)}.login-heading h1{margin:10px 0 7px;color:var(--olive-dark);font:600 28px "Xipan Serif",serif}.login-heading p{margin:0;color:var(--muted);font-size:13px}.login-card form{display:grid;gap:17px}.login-card label{display:grid;gap:7px}.login-card label span{color:#5c6053;font-size:12px}.login-card input{width:100%;min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;outline:0}.login-card input:focus{border-color:var(--olive);box-shadow:0 0 0 3px #53643a17}.login-back{width:100%;margin-top:16px;padding:10px;display:flex;justify-content:center;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);cursor:pointer}.empty-chat{max-width:520px;margin:22px auto;padding:20px;display:flex;align-items:center;justify-content:center;gap:10px;color:#68705b;border:1px dashed #cdd3bf;border-radius:15px;background:#f5f7eeb8;font-size:13px}.empty-chat svg{color:var(--olive);flex:0 0 auto}.empty-list{min-height:190px;padding:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--olive)}.empty-list strong{color:var(--ink)}.empty-list span{color:var(--muted);font-size:13px}.model-picker{padding:20px 24px 24px}.model-picker .search-box{max-width:none;margin-bottom:14px}.picker-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px;text-align:center}.picker-state svg{color:var(--olive)}.picker-list{max-height:390px;overflow-y:auto;display:grid;gap:7px;padding-right:4px}.picker-list>button{width:100%;min-height:58px;padding:10px 13px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fbfaf7;cursor:pointer}.picker-list>button:hover,.picker-list>button.selected{border-color:#b9c3a5;background:var(--olive-soft)}.picker-list>button span{min-width:0}.picker-list strong{display:block;overflow-wrap:anywhere;font-size:13px}.picker-list small{margin-top:5px;display:flex;align-items:center;gap:4px;color:var(--olive)}.picker-list b{flex:0 0 auto;color:var(--olive);font-size:12px;font-weight:500}.picker-footer{margin-top:16px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.picker-footer>span{color:var(--muted);font-size:12px}.group-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.group-admin-card{min-height:285px;padding:20px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:#fff}.group-card-head{display:flex;align-items:center;justify-content:space-between}.group-card-head>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;color:var(--olive);background:var(--olive-soft)}.group-card-head i{padding:5px 9px;border-radius:999px;color:var(--olive);background:var(--olive-soft);font-size:11px;font-style:normal}.group-card-head i.inactive{color:var(--muted);background:#ecece8}.group-admin-card h3{margin:18px 0 7px;font:600 19px "Xipan Serif",serif}.group-admin-card>p{min-height:38px;margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.6}.group-admin-card dl{margin:0;display:grid;gap:8px}.group-admin-card dl div{display:flex;justify-content:space-between;gap:15px}.group-admin-card dt{color:var(--muted);font-size:12px}.group-admin-card dd{margin:0;font-size:12px;text-align:right}.group-admin-card footer{margin-top:auto;padding-top:17px;display:flex;gap:7px;border-top:1px solid var(--line)}.group-admin-card footer button{flex:1;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;cursor:pointer}.group-empty{grid-column:1/-1;min-height:320px;border:1px dashed var(--line);border-radius:17px;background:#fff}.message-actions{display:flex;align-items:center;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.message-actions button{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.message-actions button.active,.message-actions button:hover{color:var(--olive);background:var(--olive-soft)}.crisis-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;margin:0 0 24px;padding:16px 18px;border:1px solid #e4c4b4;border-radius:16px;background:#f8eee8;color:#6d3f2e}.crisis-banner svg{color:var(--terracotta);flex:0 0 auto;margin-top:2px}.crisis-banner strong,.crisis-banner p{display:block;margin:0}.crisis-banner p{margin-top:6px;font-size:13px;line-height:1.6}.crisis-banner button{min-height:36px;padding:0 12px;border:0;border-radius:9px;background:var(--terracotta);color:#fff;cursor:pointer;white-space:nowrap}.pastor-modal{width:min(640px,100%)}.pastor-modal-body{padding:20px 24px 8px;display:grid;gap:16px}.pastor-modal .form-grid{padding:0 0 18px}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.care-tile{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--olive-soft)}.care-tile svg{flex:0 0 auto;margin-top:1px;color:var(--olive)}.care-tile.urgent{background:var(--terracotta-soft);border-color:#e4c4b4}.care-tile.urgent svg{color:var(--terracotta)}.care-tile span,.care-tile strong{display:block}.care-tile span{font-size:11px;color:#6b705d}.care-tile strong{margin-top:5px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.care-channel{margin:0;padding:13px 15px;border-radius:12px;background:#f4f2e8;color:#5c6053;font-size:13px;line-height:1.7}.pastor-reason{white-space:normal;min-width:180px;max-width:360px;line-height:1.55}.pastor-actions{display:flex;justify-content:flex-end;gap:8px}.pastor-actions button{width:auto;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--olive);font-size:12px;cursor:pointer}.pastor-actions button:hover{background:var(--olive-soft)}.settings-panel+.settings-panel{margin-top:18px}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reader-toolbar{max-width:860px;margin:0 auto 16px;display:flex;align-items:center;gap:10px}.reader-toolbar button,.reader-toolbar a{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--olive);cursor:pointer;text-decoration:none}.reader-toolbar button.active{background:var(--olive-soft)}.progress-line{max-width:860px;margin:0 auto 18px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.progress-line .bar{flex:1;height:6px;border-radius:99px;background:#e6e2d6;overflow:hidden;display:block}.progress-line .bar i{display:block;height:100%;background:var(--olive)}.library-group{max-width:860px;margin:0 auto 22px}.library-group h2{margin:0 0 10px;color:var(--olive-dark);font:600 18px "Xipan Serif",serif}.course-paths{max-width:980px;margin:0 auto 42px}.section-intro{max-width:620px;margin:32px 0 20px}.section-intro>span,.section-row>div>span{color:var(--terracotta);font-size:11px;font-weight:700;letter-spacing:.12em}.section-intro h2{margin:7px 0;color:var(--olive-dark);font:600 25px/1.25 "Xipan Serif",serif}.section-intro p{margin:0;color:var(--muted);line-height:1.7}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.course-card{min-height:272px;padding:24px;position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:#fffdf9e0;box-shadow:0 14px 35px #474c370f}.course-card:after{content:"";position:absolute;width:138px;height:190px;right:-46px;top:-56px;border:1px solid rgba(255,255,255,.48);border-radius:69px 69px 16px 16px;transform:rotate(12deg)}.course-tone-1{background:linear-gradient(145deg,#f5f3e8,#ecebd9)}.course-tone-2{background:linear-gradient(145deg,#f8efe8,#f2dfd2)}.course-tone-3{background:linear-gradient(145deg,#eef2e6,#dfe8d0)}.course-tone-4{background:linear-gradient(145deg,#f4eee4,#e8ddcc)}.course-number{position:absolute;right:20px;top:15px;color:#4a523729;font:600 48px/1 "Xipan Serif",serif}.course-card>div{position:relative;z-index:1}.course-card>div>small{color:var(--terracotta);font-size:11px;font-weight:700;letter-spacing:.08em}.course-card h3{max-width:80%;margin:8px 0 9px;color:var(--olive-dark);font:600 23px/1.25 "Xipan Serif",serif}.course-card p{margin:0;color:#65675d;font-size:13px;line-height:1.75}.course-progress{margin-top:auto;padding-top:18px;display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:center}.course-progress>span{height:5px;overflow:hidden;border-radius:99px;background:#ffffffb3}.course-progress>span i{display:block;height:100%;background:var(--olive)}.course-progress small{color:var(--muted);font-size:10px}.course-card>button{position:relative;z-index:1;width:100%;min-height:42px;margin-top:14px;padding:0 13px;display:flex;align-items:center;gap:8px;border:0;border-radius:11px;background:#fffdf9cc;color:var(--olive-dark);font-weight:600;cursor:pointer}.course-card>button svg:last-child{margin-left:auto}.course-card>button:hover{background:#fff}.course-card.is-selected{border-color:#53643a7a;box-shadow:0 16px 38px #474c371f,inset 0 0 0 1px #53643a14}.course-catalog{max-width:980px;margin:0 auto 46px;scroll-margin-top:28px}.catalog-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:7px;border:1px solid var(--line);border-radius:16px 16px 0 0;background:#efebdcb8}.catalog-tabs button{min-width:0;min-height:48px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;background:transparent;color:var(--muted);cursor:pointer;font-weight:600}.catalog-tabs button span{color:#a4a494;font:600 11px "Xipan Serif",serif}.catalog-tabs button.active{background:#fffdf9;color:var(--olive-dark);box-shadow:0 5px 16px #3d442c14}.catalog-tabs button.active span{color:var(--terracotta)}.catalog-panel{padding:30px;border:1px solid var(--line);border-top:0;border-radius:0 0 22px 22px;background:#fffdf9d1;box-shadow:0 18px 42px #474c370f}.catalog-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--line)}.catalog-header>div:first-child>span,.curriculum-heading>div>span,.course-materials>div>span{color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.12em}.catalog-header h2{margin:7px 0 9px;color:var(--olive-dark);font:600 28px/1.2 "Xipan Serif",serif}.catalog-header p{max-width:610px;margin:0;color:var(--muted);line-height:1.7}.catalog-summary{display:grid;grid-template-columns:repeat(3,80px);gap:8px}.catalog-summary>div{min-height:74px;padding:12px 8px;display:grid;place-content:center;text-align:center;border:1px solid var(--line);border-radius:13px;background:#f8f6eee6}.catalog-summary strong,.catalog-summary small{display:block}.catalog-summary strong{color:var(--olive-dark);font:600 20px "Xipan Serif",serif}.catalog-summary small{margin-top:5px;color:var(--muted);font-size:10px}.catalog-actions{padding:18px 0 26px;display:flex;align-items:center;gap:10px}.catalog-actions button,.catalog-actions>a{min-height:42px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--olive);text-decoration:none;cursor:pointer;font-weight:600}.catalog-actions .catalog-primary{border-color:var(--olive);background:var(--olive);color:#fff}.catalog-actions .catalog-primary svg:last-child{margin-left:3px}.curriculum-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:11px}.curriculum-heading h3{margin:5px 0 0;color:var(--olive-dark);font:600 19px "Xipan Serif",serif}.curriculum-heading>small{color:var(--muted)}.curriculum-list{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#ffffff8c}.curriculum-row{width:100%;min-height:82px;padding:12px 15px;display:grid;grid-template-columns:42px minmax(0,1fr) 110px 68px;gap:13px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.curriculum-row:last-child{border-bottom:0}.curriculum-row:hover{background:#f5f5ebb8}.unit-index{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d8ddca;border-radius:50%;background:var(--olive-soft);color:var(--olive);font:600 11px "Xipan Serif",serif}.unit-index.complete{background:var(--olive);color:#fff}.unit-copy{min-width:0}.unit-copy>small,.unit-copy>strong,.unit-copy>span{display:block}.unit-copy>small{margin-bottom:4px;color:var(--terracotta);font-size:9px;font-weight:700;letter-spacing:.08em}.unit-copy>strong{overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.unit-copy>span{margin-top:5px;color:var(--muted);font-size:11px}.unit-status{justify-self:start;padding:5px 8px;border-radius:999px;background:var(--olive-soft);color:var(--olive);font-size:10px;white-space:nowrap}.unit-status.pending{background:var(--terracotta-soft);color:#a65f43}.unit-action{display:flex;align-items:center;justify-content:flex-end;gap:3px;color:var(--olive);font-size:12px;font-weight:600}.course-materials{margin-top:18px;padding:15px;display:grid;grid-template-columns:140px repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;border-radius:15px;background:#f4f0e5}.course-materials>div{padding:4px 7px;align-self:center}.course-materials>div>strong{display:block;margin-top:5px;color:var(--olive-dark);font:600 15px "Xipan Serif",serif}.course-materials>a{min-width:0;padding:12px;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:9px;align-items:center;border:1px solid rgba(83,100,58,.11);border-radius:11px;background:#fffdf9e0;color:var(--olive);text-decoration:none}.course-materials>a>span{min-width:0}.course-materials>a strong,.course-materials>a small{display:block}.course-materials>a strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.course-materials>a small{margin-top:4px;color:var(--muted);font-size:10px}.reference-shelf{max-width:980px;margin:0 auto 30px}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reference-grid>button{min-width:0;min-height:96px;padding:15px;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;background:#fffdf9b8;color:inherit;text-align:left;cursor:pointer}.reference-grid>button:hover{background:#fff}.reference-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--terracotta-soft);color:var(--terracotta)}.reference-grid>button>span:nth-child(2){min-width:0}.reference-grid small,.reference-grid strong,.reference-grid>button>span:nth-child(2)>span{display:block}.reference-grid small{margin-bottom:4px;color:var(--terracotta);font-size:9px}.reference-grid strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.reference-grid>button>span:nth-child(2)>span{margin-top:5px;color:var(--muted);font-size:10px}.originals-group{margin-top:36px}.section-row{margin:0 0 12px;display:flex;align-items:end;justify-content:space-between;gap:20px}.section-row h2{margin:5px 0 0}.section-row>small{color:var(--muted)}.weekly-stack{max-width:860px;margin:0 auto;display:grid;gap:14px}.weekly-stack article{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#fffdf9d1}.weekly-stack span{color:var(--terracotta);font-size:12px}.weekly-stack p{margin:8px 0 0;white-space:pre-wrap;line-height:1.8}.weekly-archive{max-width:860px;margin:0 auto 16px;display:flex;flex-wrap:wrap;gap:8px}.weekly-archive button{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;font-size:12px}.weekly-archive button.active{background:var(--olive-soft);color:var(--olive-dark);border-color:#c5d0b0}.doctrine-reader article.is-cited{outline:2px solid rgba(83,100,58,.35);background:#f4f6ec}.testament-label{margin:16px 0 10px;color:var(--muted);font:600 13px/1.4 "Xipan Serif",serif;letter-spacing:.04em}.book-grid,.chapter-grid{display:grid;gap:10px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.chapter-grid{max-width:860px;margin:0 auto;grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.book-grid button,.chapter-grid button{min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fffdf9e0;color:var(--olive-dark);text-align:left;cursor:pointer}.chapter-grid button{min-height:48px;display:grid;place-items:center;text-align:center;font:600 15px "Xipan Serif",serif;border-radius:12px}.book-grid button:hover,.chapter-grid button:hover{background:var(--olive-soft)}.book-grid strong,.book-grid small{display:block}.book-grid small{margin-top:6px;color:var(--muted);font-size:12px}.notes-form input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf9e6;outline:0}.notes-form input:focus{border-color:var(--olive);box-shadow:0 0 0 3px #53643a17}.notes-embed{margin-top:28px}.notes-actions{display:flex;justify-content:flex-end;gap:10px}.note-links{display:flex;gap:10px}.prayer-list article strong{display:block;margin-bottom:8px;color:var(--olive-dark);font:600 16px "Xipan Serif",serif}.feedback-filter{margin-bottom:16px}.danger-panel{border-color:#eccfc2;background:#fbf4ef}.danger-action{min-height:43px;padding:0 17px;border:0;border-radius:10px;background:#a65f43;color:#fff;cursor:pointer}.profile-split{max-width:860px;margin:18px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-split section{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fffdf9d1}.profile-split h3{margin:0 0 10px;font:600 16px "Xipan Serif",serif;color:var(--olive-dark)}.profile-split p{margin:0 0 8px;font-size:13px}.profile-split .muted{color:var(--muted)}.password-panel{max-width:860px;margin:18px auto 0;padding:22px 24px;display:grid;gap:14px;border:1px solid var(--line);border-radius:16px;background:#fffdf9d1}.password-panel h3{margin:0;display:flex;align-items:center;gap:8px;font:600 16px "Xipan Serif",serif;color:var(--olive-dark)}.password-panel p{margin:0;color:var(--muted);font-size:13px}.password-panel label{display:grid;gap:7px}.password-panel label span{font-size:12px;color:#5c6053}.password-panel input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7;outline:0;color:var(--ink)}.password-panel input:focus{border-color:var(--olive);box-shadow:0 0 0 3px #53643a17}@media(max-width:1120px){.chat-layout{grid-template-columns:1fr 250px}.companion-rail{padding-inline:21px}.chat-content{width:calc(100% - 48px)}.overview-grid{grid-template-columns:repeat(2,1fr)}.model-row{grid-template-columns:46px 1fr 160px 90px}.model-actions{grid-column:2 / -1;justify-content:flex-start;border-top:1px solid var(--line);padding-top:9px}.group-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:880px){.sidebar{width:190px;padding-inline:14px}.app-main,.admin-main{margin-left:190px}.chat-layout{display:block;height:100vh}.companion-rail{display:none}.chat-content{padding-top:95px}.admin-page{padding-inline:24px}.admin-header{align-items:flex-start}.admin-profile{display:none}.overview-sections,.prayer-grid{grid-template-columns:1fr}.model-row{grid-template-columns:46px 1fr 90px}.model-meta{display:none}.knowledge-row{grid-template-columns:50px 1fr 100px 78px 34px}.knowledge-row>small{display:none}}@media(max-width:680px){.app-shell{display:block}.sidebar{display:none}.app-main,.admin-main{margin-left:0}.user-app{padding-bottom:72px}.user-app:has(.chat-layout){padding-bottom:0}.mobile-topbar{height:66px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;background:#faf8f2ed;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-topbar .brand{padding:0}.mobile-topbar .brand img{width:31px;height:31px;border-radius:8px}.mobile-topbar .brand span{font-size:16px}.mobile-topbar>button{border:0;background:transparent;color:var(--olive)}.mobile-nav,.admin-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;z-index:30;height:70px;background:#fffdf9f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.mobile-nav button,.admin-mobile-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#7a796f;font-size:11px}.mobile-nav button.active,.admin-mobile-nav button.active{color:var(--olive)}.chat-layout{height:calc(100vh - 70px);max-height:calc(100vh - 70px)}.chat-shell{height:100%;min-height:0;background-size:420px auto;overflow:hidden}.church-date{display:none}.chat-content{width:100%;padding:22px 18px 135px}.chapel-mark{margin-bottom:5px}.ss-identity{margin-bottom:28px;padding:0 8px}.ss-slogan-en{font-size:14px}.ss-identity h1,.chat-content>h1{padding:0 8px;font-size:24px;text-align:center}.chat-subtitle{margin:8px 14px 25px;text-align:left;line-height:1.7}.message-list{gap:17px}.message-avatar{width:34px;height:34px;flex-basis:34px;margin-top:5px}.message-row{gap:8px}.message-card{padding:17px;border-radius:15px;max-width:calc(100vw - 78px)}.message-card>p{font-size:14px;line-height:1.8}.continue-button{display:none}.mobile-pastor-card{display:flex;align-items:center;gap:12px;margin:16px 42px 0;width:calc(100% - 84px);min-height:68px;padding:10px 14px;border:1px solid var(--line);border-radius:13px;background:#fffdf9eb;color:var(--olive);text-align:left}.mobile-pastor-card span{flex:1}.mobile-pastor-card strong,.mobile-pastor-card small{display:block}.mobile-pastor-card strong{font-size:13px}.mobile-pastor-card small{margin-top:4px;color:var(--muted);font-size:11px}.chat-composer{position:fixed;bottom:78px;width:calc(100% - 24px);min-height:58px;padding:7px 7px 7px 9px;border-radius:18px}.chat-composer>button{width:36px;height:36px}.feature-page{min-height:calc(100vh - 70px);padding:0 15px 95px;background-size:400px auto}.feature-heading{margin:40px auto 30px;padding:0 12px}.feature-heading h1{font-size:29px}.library-row{min-height:78px;grid-template-columns:42px 1fr 18px;padding:12px}.library-row .status-dot{display:none}.prayer-grid{grid-template-columns:1fr}.prayer-grid article{min-height:180px}.group-panel,.profile-panel{align-items:flex-start;flex-wrap:wrap;gap:15px;padding:20px}.group-panel>button,.profile-panel>button{width:100%;margin-left:0;justify-content:center}.profile-copy{min-width:0}.profile-copy p{overflow:hidden;text-overflow:ellipsis}.admin-main{min-height:100vh;padding-bottom:72px}.admin-page{padding:20px 14px 50px}.admin-header{margin-bottom:22px;flex-direction:column}.admin-header h1{font-size:26px}.admin-header-actions,.primary-action{width:100%}.overview-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:145px;padding:16px}.stat-card>span{margin-bottom:13px}.overview-sections{gap:12px}.table-toolbar{align-items:stretch;flex-wrap:wrap}.search-box{min-width:100%;max-width:none}.result-count{align-self:center}.table-panel{border-radius:14px}.responsive-table table{min-width:720px}.llm-notice{font-size:13px}.model-row{grid-template-columns:42px 1fr 72px;gap:10px;padding:14px}.provider-mark{width:40px;height:40px}.model-state{justify-content:flex-end}.model-actions{grid-column:1 / -1;overflow-x:auto}.prompt-panel{align-items:flex-start;flex-direction:column;gap:14px}.prompt-panel button{width:100%;justify-content:center}.knowledge-row{grid-template-columns:42px 1fr 78px 34px;padding:12px}.knowledge-row .ready{display:none}.permission-checks,.group-admin-grid{grid-template-columns:1fr}.settings-panel{padding:18px}.modal-backdrop{padding:10px;align-items:end}.modal{max-height:92vh;border-radius:19px 19px 0 0}.form-grid{grid-template-columns:1fr;padding:18px}.form-grid .full,.modal-actions{grid-column:1}.toast{top:12px;right:12px;left:12px;max-width:none}}@media(max-width:1040px){.weekly-admin{grid-template-columns:1fr}.weekly-catalog-list{max-height:260px}}@media(max-width:680px){.profile-split,.password-panel{max-width:none}.course-paths{margin-bottom:34px}.section-intro{margin-top:26px}.course-grid{grid-template-columns:1fr}.course-card{min-height:254px;padding:21px;border-radius:18px}.course-catalog{margin-bottom:36px}.catalog-tabs{grid-template-columns:1fr 1fr;border-radius:14px 14px 0 0}.catalog-tabs button{min-height:44px;padding:0 8px;font-size:11px}.catalog-panel{padding:18px 14px;border-radius:0 0 17px 17px}.catalog-header{grid-template-columns:1fr;gap:17px;align-items:start;padding-bottom:18px}.catalog-header h2{font-size:24px}.catalog-header p{font-size:13px}.catalog-summary{width:100%;grid-template-columns:repeat(3,1fr)}.catalog-summary>div{min-height:65px}.catalog-actions{padding:14px 0 22px;flex-wrap:wrap}.catalog-actions button,.catalog-actions>a{flex:1;justify-content:center}.curriculum-heading{align-items:flex-start}.curriculum-heading>small{display:none}.curriculum-row{min-height:88px;grid-template-columns:38px minmax(0,1fr) 18px;gap:10px;padding:12px 10px}.curriculum-row .unit-status{grid-column:2;justify-self:start}.curriculum-row .unit-action{grid-column:3;grid-row:1;font-size:0}.curriculum-row .unit-action svg{width:18px;height:18px}.unit-copy>strong{white-space:normal;line-height:1.45}.unit-copy>span{line-height:1.45}.course-materials{grid-template-columns:1fr}.course-materials>div{padding-bottom:2px}.reference-grid{grid-template-columns:1fr}.section-row{align-items:flex-start}.section-row>small{display:none}.reader-toolbar{flex-wrap:wrap}.profile-split{grid-template-columns:1fr}.weekly-editor-form{grid-template-columns:1fr;padding:18px}.weekly-editor-form .full,.weekly-editor-form .settings-save{grid-column:1}.weekly-editor-form .settings-save{flex-wrap:wrap}.weekly-editor-form .settings-save .secondary-action,.weekly-editor-form .settings-save .primary-action{width:100%}.care-grid,.settings-pair{grid-template-columns:1fr}.crisis-banner{grid-template-columns:auto minmax(0,1fr)}.crisis-banner button{grid-column:1 / -1;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}html[data-theme=washi]{--cream: #f4f2ec;--cream-2: #ebe8e0;--paper: #fffcf6;--oak: #e6e2d8;--oak-2: #f0ece4;--olive: #7a2e2b;--olive-dark: #1a1916;--olive-soft: #efe4e0;--terracotta: #7a2e2b;--terracotta-soft: #efe4e0;--sand: #8a857c;--ink: #1a1916;--muted: #6d6962;--line: rgba(26, 25, 22, .14);--shadow: 0 16px 40px rgba(26, 25, 22, .08);color:var(--ink);background:var(--cream)}html[data-theme=washi] body,html[data-theme=washi] .app-shell{background:var(--cream)}html[data-theme=washi] .user-sidebar,html[data-theme=washi] .admin-sidebar{background:#f4f2ec;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=washi] .brand{color:var(--ink)}html[data-theme=washi] .brand img{mix-blend-mode:multiply}html[data-theme=washi] .brand span{font-weight:600;letter-spacing:.04em}html[data-theme=washi] .side-nav button,html[data-theme=washi] .contact-pastor,html[data-theme=washi] .admin-entry{color:#3f3c37;border-radius:8px}html[data-theme=washi] .side-nav button:hover,html[data-theme=washi] .admin-entry:hover{background:#1a19160d;color:var(--ink)}html[data-theme=washi] .side-nav button.active{color:#f7f3ea;background:var(--ink);box-shadow:none}html[data-theme=washi] .contact-pastor.active{color:var(--ink);background:#1a19160f}html[data-theme=washi] .chat-shell,html[data-theme=washi] .feature-page,html[data-theme=washi] .login-page{background:var(--cream)}html[data-theme=washi] .church-date,html[data-theme=washi] .ss-slogan-en,html[data-theme=washi] .chapel-mark{color:var(--olive)}html[data-theme=washi] .ss-identity h1,html[data-theme=washi] .chat-content>h1,html[data-theme=washi] .feature-heading h1,html[data-theme=washi] .admin-header h1{color:var(--ink)}html[data-theme=washi] .message-card{background:#fffcf6f0;border-color:var(--line);box-shadow:none}html[data-theme=washi] .message-row.user .message-card{background:#efe4e0}html[data-theme=washi] .message-card>p,html[data-theme=washi] .md-body{color:var(--ink)}html[data-theme=washi] .md-body strong,html[data-theme=washi] .md-body h1,html[data-theme=washi] .md-body h2,html[data-theme=washi] .md-body h3,html[data-theme=washi] .md-body h4{color:var(--ink)}html[data-theme=washi] .md-body blockquote{color:#4a4741;background:linear-gradient(90deg,rgba(122,46,43,.06),transparent 72%)}html[data-theme=washi] .chat-composer{background:#fffcf6f5;border-color:#1a191629;box-shadow:0 12px 32px #1a191614}html[data-theme=washi] .chat-composer input::placeholder{color:#8f8a82}html[data-theme=washi] .chat-composer .send-button{background:var(--ink);color:#f7f3ea}html[data-theme=washi] .companion-rail{background:#f4f2eceb}html[data-theme=washi] .rail-new,html[data-theme=washi] .conversation-action:hover,html[data-theme=washi] .reader-toolbar button,html[data-theme=washi] .weekly-archive button,html[data-theme=washi] .group-panel>button,html[data-theme=washi] .profile-panel>button,html[data-theme=washi] .secondary-action,html[data-theme=washi] .modal-actions .secondary{background:var(--paper);color:var(--ink)}html[data-theme=washi] .conversation-row.active{background:var(--olive-soft)}html[data-theme=washi] .library-list,html[data-theme=washi] .settings-list,html[data-theme=washi] .doctrine-reader article,html[data-theme=washi] .prayer-list article,html[data-theme=washi] .prayer-grid article,html[data-theme=washi] .group-panel,html[data-theme=washi] .profile-panel,html[data-theme=washi] .weekly-stack article,html[data-theme=washi] .profile-split section,html[data-theme=washi] .password-panel,html[data-theme=washi] .login-card,html[data-theme=washi] .stat-card,html[data-theme=washi] .overview-panel,html[data-theme=washi] .table-panel,html[data-theme=washi] .settings-panel,html[data-theme=washi] .model-row,html[data-theme=washi] .prompt-panel,html[data-theme=washi] .weekly-catalog,html[data-theme=washi] .weekly-editor,html[data-theme=washi] .group-admin-card{background:var(--paper)}html[data-theme=washi] .prayer-form textarea,html[data-theme=washi] .notes-form input,html[data-theme=washi] .book-grid button,html[data-theme=washi] .chapter-grid button,html[data-theme=washi] .search-box,html[data-theme=washi] .table-toolbar select,html[data-theme=washi] .form-grid select,html[data-theme=washi] .settings-panel input,html[data-theme=washi] .settings-panel textarea,html[data-theme=washi] .form-grid input,html[data-theme=washi] .form-grid textarea,html[data-theme=washi] .settings-panel select,html[data-theme=washi] .weekly-editor-form input,html[data-theme=washi] .weekly-editor-form textarea,html[data-theme=washi] .weekly-editor-form select,html[data-theme=washi] .login-card input,html[data-theme=washi] .password-panel input,html[data-theme=washi] .picker-list>button{background:#fffcf6;color:var(--ink);border:1px solid var(--line)}html[data-theme=washi] .login-card{border:1px solid var(--line);box-shadow:var(--shadow)}html[data-theme=washi] .login-heading svg,html[data-theme=washi] .login-heading h1{color:var(--ink)}html[data-theme=washi] .admin-main{background:#efece5}html[data-theme=washi] th{background:#f4f2ec}html[data-theme=washi] .primary-action,html[data-theme=washi] .continue-button,html[data-theme=washi] .modal-actions .primary{background:var(--ink);color:#f7f3ea;box-shadow:none}html[data-theme=washi] .empty-chat{color:var(--muted);border-color:var(--line);background:#fffcf6b3}html[data-theme=washi] .modal{background:var(--paper)}html[data-theme=washi] .toast{color:#f7f3ea;background:var(--ink);border-color:var(--ink)}html[data-theme=washi] .crisis-banner{border-color:#7a2e2b47;background:#f6eceb;color:#6a2424}html[data-theme=washi] .theme-picker-options button{background:#fffcf6}html[data-theme=washi] .theme-picker-options button.active{background:var(--ink);color:#f7f3ea}html[data-theme=washi] .theme-picker--float,html[data-theme=washi] .theme-picker--dock{background:#f4f2ec}html[data-theme=washi] .mobile-topbar,html[data-theme=washi] .mobile-nav,html[data-theme=washi] .admin-mobile-nav{background:#f4f2ecf5}html[data-theme=washi] .mobile-nav button,html[data-theme=washi] .admin-mobile-nav button{color:#7a756c}html[data-theme=washi] .mobile-nav button.active,html[data-theme=washi] .admin-mobile-nav button.active{color:var(--olive)}
