:root{color:#1f2a24;background:#f6f2e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}.app{min-height:100vh}.topbar{align-items:center;background:#193d31;box-shadow:0 2px 14px #00000026;color:#fff;display:flex;justify-content:space-between;padding:14px 28px;position:sticky;top:0;z-index:10}.brand{align-items:center;color:#f7d774;display:inline-flex;font-size:1.2rem;font-weight:800;gap:10px;text-decoration:none}nav{align-items:center;display:flex;gap:14px}nav a{align-items:center;color:#eef5ee;display:inline-flex;gap:6px;text-decoration:none;transition:color .15s ease}nav a:hover{color:#f7d774}nav a.active{color:#f7d774}.avatar-link{align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:999px;display:inline-flex;gap:6px;min-height:36px;padding:0 10px;transition:background-color .15s ease}.avatar-link:hover{background:#fff3}.avatar-link span{align-items:center;background:#f7d774;border-radius:999px;color:#193d31;display:inline-flex;font-size:.75rem;font-weight:900;height:22px;justify-content:center;width:22px}.icon-button{align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:6px;color:#fff;display:inline-flex;height:36px;justify-content:center;transition:background-color .15s ease;width:36px}.icon-button:hover{background:#fff3}main{padding:32px}.page,.auth-panel{margin:0 auto;max-width:1120px}.narrow,.auth-panel{max-width:480px}.page-heading{margin-bottom:24px}.compact-heading{margin-bottom:18px}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1}h2{font-size:1rem}.page-heading p,.join-copy{color:#667066}.page-heading .error{color:#a83232;margin-top:10px}.page-heading .status{color:#245844;font-weight:700;margin-top:10px}form{display:grid;gap:12px}input,textarea{background:#fff;border:1px solid #d8d0bd;border-radius:6px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}input:focus,textarea:focus,select:focus{border-color:#245844;box-shadow:0 0 0 3px #2458441f;outline:none}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a83232;box-shadow:0 0 0 2px #a832321a}select{background:#fff;border:1px solid #d8d0bd;border-radius:6px;padding:12px 14px}textarea{min-height:110px;resize:vertical}.field-group{display:grid;gap:4px}.field-error,.field-help,.field-success{font-size:.85rem;margin:-6px 0 0}.field-error{color:#a83232}.field-help{color:#667066}.field-success{color:#245844}.password-field{position:relative}.password-field input{padding-right:46px}.field-icon-button{background:transparent;color:#245844;height:36px;padding:0;position:absolute;right:6px;top:50%;transform:translateY(-50%);transition:background-color .15s ease;width:36px}.field-icon-button:hover{background:#24584414}button{align-items:center;background:#c9972e;border:0;border-radius:6px;color:#1f241f;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;padding:12px 16px;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease}button:not(:disabled):hover{background:#d9a53c;box-shadow:0 6px 16px #c9972e59}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #245844;outline-offset:2px}.auth-page{align-items:center;display:flex;flex-direction:column;gap:22px;justify-content:center;min-height:calc(100vh - 120px);padding:40px 0;position:relative}.auth-page:before{background:radial-gradient(closest-side,rgba(201,151,46,.18),transparent 72%);content:"";height:360px;inset:-60px 0 auto;pointer-events:none;position:absolute;z-index:-1}.auth-logo-link{display:inline-flex}.auth-page .auth-panel{width:100%}.auth-panel{background:#fffdf8;border:1px solid #e5ddc9;border-radius:10px;box-shadow:0 20px 50px #193d311a;padding:32px}.auth-panel h1{color:#193d31;font-size:1.9rem}.auth-subtitle{color:#667066;margin-bottom:18px}.auth-links{display:flex;flex-direction:column;gap:6px;margin-top:16px}.auth-panel a{color:#245844;display:inline-block}.error{color:#a83232}.status{color:#245844;font-weight:700}.landing{display:flex;flex-direction:column;gap:56px;justify-content:center;min-height:calc(100vh - 120px);padding:40px 0 64px;position:relative}.landing:before{background:radial-gradient(closest-side,rgba(201,151,46,.18),transparent 72%);content:"";height:420px;inset:-100px -10% auto;pointer-events:none;position:absolute;z-index:-1}.landing-hero{align-items:flex-start;display:flex;flex-direction:column;gap:20px}.landing-copy{max-width:680px}.landing-copy h1{color:#193d31;font-size:clamp(3rem,9vw,6rem);margin-bottom:14px}.landing-copy p{color:#5d685f;font-size:1.3rem}.landing-actions{display:flex;gap:12px;margin-top:24px}.landing-features{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.feature-card{background:#fffdf8;border:1px solid #e4dcc8;border-radius:10px;box-shadow:0 10px 26px #1f2a240f;padding:20px;transition:box-shadow .2s ease,transform .2s ease}.feature-card:hover{box-shadow:0 14px 32px #1f2a241a;transform:translateY(-2px)}.feature-card svg{color:#c9972e}.feature-card h2{color:#193d31;margin:12px 0 8px}.feature-card p{color:#5f695f;font-size:.92rem;margin:0}.button-link,.secondary-link{border-radius:6px;font-weight:800;padding:12px 16px;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease}.button-link:hover{background:#d9a53c;box-shadow:0 6px 16px #c9972e59}.secondary-link:hover{background:#2458440f}.button-link:active,.secondary-link:active{transform:translateY(1px)}.button-link{background:#c9972e;color:#1f241f}.secondary-link{border:1px solid #245844;color:#245844}.member-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.member-card{background:#fffdf8;border:1px solid #e4dcc8;border-radius:8px;padding:18px;transition:box-shadow .2s ease,transform .2s ease}.member-card:hover{box-shadow:0 10px 26px #1f2a2414;transform:translateY(-2px)}.metric-card{background:linear-gradient(145deg,#fffdf8,#f6f0e1);border:1px solid #e4dcc8;border-radius:8px;box-shadow:0 10px 26px #1f2a2414;padding:18px;transition:box-shadow .2s ease,transform .2s ease}.metric-card:hover{box-shadow:0 16px 34px #1f2a241f;transform:translateY(-2px)}.metric-card h2{color:#354238;margin-bottom:12px}.metric-card strong{color:#245844;display:block;font-size:2.1rem;margin-bottom:8px}.metric-card p{color:#687267}.metric-card.prayer{border-top:5px solid #245844}.metric-card.bible{border-top:5px solid #c9972e}.metric-card.complete{border-top:5px solid #7d5a9b}.metric-card.missed{border-top:5px solid #9f4e3f}.member-card-header,.stat-row,.split,.list li,.report-row{display:flex;gap:12px;justify-content:space-between}.member-card-header strong{color:#245844;font-size:1.8rem}.member-card-header span,.stat-row,small{color:#687267}.stat-row{flex-wrap:wrap;font-size:.92rem;margin:16px 0}.week-strip{display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.day{align-items:center;aspect-ratio:1;background:#eee6d4;border-radius:6px;display:flex;font-weight:800;justify-content:center}.day.done{background:#245844;color:#fff}.checkin-form label{align-items:center;background:#fffdf8;border:1px solid #e4dcc8;border-radius:6px;display:flex;gap:10px;padding:14px}.checkin-form input[type=checkbox]{width:auto}.checkin-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px}.checkin-main{flex:1 1 380px;max-width:480px}.yesterday-card{flex:0 1 260px}.yesterday-card h2{color:#354238}.yesterday-summary{display:grid;gap:6px;list-style:none;margin:12px 0;padding:0}.yesterday-summary li{align-items:center;color:#9f4e3f;display:flex;gap:8px}.yesterday-summary li.done{color:#245844}.split{align-items:flex-start}.split>div{flex:1;min-width:0}.inline-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.inline-form input{flex:1 1 160px;min-width:140px}.inline-form button{flex:0 0 auto}.list{display:grid;gap:10px;list-style:none;padding:0}.list li{background:#fffdf8;border:1px solid #e4dcc8;border-radius:8px;padding:14px}.invite-list li{display:grid}code{background:#f1ead9;border-radius:5px;display:block;overflow-wrap:anywhere;padding:8px}.month-input,.report-actions input,.report-actions select,.history-filters select{flex:1 1 160px;margin-bottom:18px;max-width:220px;min-width:140px}.history-filters{align-items:center;display:flex;gap:12px}.history-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 280px}.calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(36px,1fr))}.calendar-day{align-items:center;aspect-ratio:1;background:#fffdf8;border:1px solid #e4dcc8;color:#1f2a24;display:grid;justify-items:center;padding:6px}.calendar-day.done{background:#245844;color:#fff}.calendar-day strong{min-height:1.2em}.heat-day{align-content:space-between;min-height:76px}.heat-day[data-heat=low]{background:#e8ddc6;color:#1f2a24}.heat-day[data-heat=medium]{background:#c9972e;color:#1f2a24}.heat-day[data-heat=high]{background:#245844;color:#fff}.completion-dots{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;min-height:18px}.completion-dots i{background:currentColor;border:1px solid rgba(255,255,255,.65);border-radius:50%;height:8px;width:8px}.history-entry{border-bottom:1px solid #e4dcc8;margin-bottom:12px;padding-bottom:12px}.history-entry:last-child{border-bottom:0}.detail-panel,.settings-note{background:#fffdf8;border:1px solid #e4dcc8;border-radius:8px;padding:18px}.report-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.report-actions button{flex:0 0 auto}.report-detail{display:grid;gap:14px;margin-top:22px}.chart-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.chart-panel{background:#fffdf8;border:1px solid #e4dcc8;border-radius:8px;box-shadow:0 10px 26px #1f2a2412;min-width:0;padding:18px}.chart-panel h2{margin-bottom:16px}.chart-empty{align-items:center;color:#94988f;display:flex;height:280px;justify-content:center;text-align:center}.report-row{align-items:center;background:#fffdf8;border:1px solid #e4dcc8;border-radius:8px;flex-wrap:wrap;padding:14px}.report-row strong{min-width:180px}.report-row span{color:#687267}.member-card>strong{color:#245844;display:block;font-size:2rem;margin-bottom:8px}.settings-stack{display:grid;gap:20px}.settings-note h2{color:#193d31}.settings-note form{margin-top:4px}.settings-card-copy{color:#667066;margin-bottom:14px}.checkbox-field{align-items:center;background:#f9f4e9;border:1px solid #e4dcc8;border-radius:6px;display:flex;gap:10px;padding:12px 14px}.checkbox-field input[type=checkbox]{width:auto}.danger-zone{background:#fdf5f3;border:1px solid #e3b9ae;border-radius:8px;padding:18px}.danger-zone h2{color:#a83232}.assigned-reading,.admin-panel{background:#fffdf8;border:1px solid #e4dcc8;border-radius:8px;margin-bottom:18px;padding:16px}.admin-panel h2{color:#193d31;font-size:1.15rem}.admin-panel h3{color:#354238;font-size:.95rem;margin-bottom:10px}.section-copy{color:#667066;margin-bottom:16px}.plan-editor-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.week-list{display:flex;flex-wrap:wrap;gap:8px}.pill{background:#f1ead9;color:#245844;min-height:34px;padding:8px 10px}.pill:hover{background:#e4d9bd;box-shadow:none}.pill.active{background:#245844;color:#fff}.pill.active:hover{background:#1c4736}.day-editor-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.day-editor{background:#f9f4e9;border:1px solid #e4dcc8;border-radius:8px;display:grid;gap:10px;padding:12px}.day-editor textarea{min-height:84px}.assigned-reading p{color:#245844;font-weight:800}.override-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr auto}.week-editor-grid{display:flex;flex-wrap:wrap;gap:10px}.week-editor-grid input[type=number]{flex:0 0 70px}.week-editor-grid input:not([type=number]){flex:1 1 120px;min-width:100px}.week-editor-grid button{flex:1 1 100%}.account-actions{display:flex;flex-wrap:wrap;gap:10px}.danger-button{background:#a83232;color:#fff}.danger-button:hover{background:#922a2a;box-shadow:0 6px 16px #a832324d}.secondary-button{background:#fffdf8;border:1px solid #d8d0bd;color:#245844}.secondary-button:hover{background:#f6f0e1;box-shadow:none}@media (max-width: 720px){.topbar,.split,.inline-form{align-items:stretch;flex-direction:column}nav{flex-wrap:wrap}main{padding:20px}.history-layout{grid-template-columns:1fr}.report-actions{align-items:stretch;flex-direction:column}.plan-editor-grid,.override-grid{grid-template-columns:1fr}.landing-actions{flex-direction:column}.button-link,.secondary-link{text-align:center}}
