:root{--maroon:#761f31;--maroon-dark:#581624;--saffron:#d78826;--paper:#fbf9f6;--dark-ink:#241a1c;--muted-text:#705f62;--line-color:#e7ddda;--soft-paper:#f3edeb;--green-soft:#deeee5;--green:#3c6d57;--shadow:0 16px 46px #44211b1f;--serif:"Lora", "Newsreader", Georgia, serif;--sans:"Nunito Sans", "IBM Plex Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}.sadhana-app,.sessions-app{max-width:1080px;font-family:var(--sans);color:var(--dark-ink);margin:0 auto;padding:24px 20px 80px}.top-controls{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.lang-toggle{background:var(--soft-paper);border:1px solid var(--line-color);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.lang-toggle button{color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .15s}.lang-toggle button.active{background:var(--maroon);color:#fff;box-shadow:0 2px 6px #761f3140}.sadhana-tabs{background:var(--soft-paper);border:1px solid var(--line-color);border-radius:12px;gap:6px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.sadhana-tabs button{color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 20px;font-size:.9rem;font-weight:700;transition:all .15s}.sadhana-tabs button.active{color:var(--dark-ink);background:#fff;box-shadow:0 2px 8px #241a1c14}.summary-card{background:var(--maroon);color:#fff;box-shadow:var(--shadow);border-radius:22px 22px 10px;grid-template-columns:1fr auto;align-items:flex-end;gap:24px;margin-bottom:28px;padding:clamp(20px,4vw,32px);display:grid;position:relative;overflow:hidden}.summary-card:after{content:"ॐ";opacity:.06;pointer-events:none;font-family:serif;font-size:150px;line-height:1;position:absolute;top:-40px;right:25%}.summary-eyebrow{color:#ffffffc7;margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.summary-total{font-family:var(--serif);font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:700;line-height:1}.summary-total span{font-family:var(--sans);color:#fffc;font-size:.35em;font-weight:600}.streaks{flex-wrap:wrap;gap:12px;display:flex}.streak-card{background:#ffffff1f;border:1px solid #fff3;border-radius:14px;min-width:110px;padding:12px 16px}.streak-val{font-family:var(--serif);font-size:1.6rem;font-weight:700;display:block}.streak-lbl{color:#ffffffc7;font-size:.75rem}.streak-tip{color:#ffffffa6;grid-column:1/-1;margin-top:4px;font-size:.76rem}.section-header{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.section-header h2{font-family:var(--serif);color:var(--dark-ink);margin:0;font-size:1.4rem}.section-header p{color:var(--muted-text);margin:4px 0 0;font-size:.88rem}.mantra-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.mantra-card{border:1px solid var(--line-color);cursor:pointer;text-align:left;background:#fff;border-radius:18px 18px 8px;flex-direction:column;padding:20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.mantra-card:hover{border-color:var(--saffron);transform:translateY(-3px);box-shadow:0 8px 24px #241a1c14}.mantra-card .symbol-badge{width:44px;height:44px;color:var(--maroon);font-family:var(--serif);background:#f3e5c8;border-radius:50%;place-items:center;margin-bottom:16px;font-size:1.25rem;font-weight:700;display:grid}.mantra-card h3{font-family:var(--serif);color:var(--dark-ink);margin:0;font-size:1.15rem}.mantra-card .sanskrit{color:var(--muted-text);margin:4px 0 14px;font-size:.78rem}.mantra-card .count-wrap{margin-top:auto}.mantra-card .count-val{color:var(--dark-ink);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.mantra-card .count-sub{color:var(--muted-text);margin-top:2px;font-size:.78rem}.progress-bar-wrap{background:var(--line-color);border-radius:4px;height:5px;margin-top:10px;overflow:hidden}.progress-bar-fill{background:var(--saffron);border-radius:inherit;height:100%}.mantra-card .card-footer{color:var(--muted-text);justify-content:space-between;align-items:center;margin-top:12px;font-size:.75rem;display:flex}.mantra-card.locked{background:var(--soft-paper);opacity:.7}.mantra-card.locked .symbol-badge{background:var(--line-color);color:var(--muted-text)}.mantra-card.custom{min-height:200px;color:var(--muted-text);text-align:center;background:0 0;border-style:dashed;justify-content:center;align-items:center}.mantra-card.custom:hover{border-color:var(--maroon);background:var(--soft-paper)}.plus-circle{border:1px solid var(--line-color);width:44px;height:44px;color:var(--maroon);border-radius:50%;place-items:center;margin-bottom:8px;font-size:1.4rem;display:grid}.modal-overlay{z-index:1000;background:#1b0c0ea6;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-content{background:var(--paper);border:1px solid var(--line-color);border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;width:min(840px,100%);height:80vh;max-height:80vh;animation:.25s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 -8px 40px #00000040}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--line-color);background:var(--paper);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;display:flex}.modal-header h2{font-family:var(--serif);color:var(--dark-ink);margin:0;font-size:1.4rem}.modal-header p{color:var(--muted-text);margin:3px 0 0;font-size:.84rem}.modal-close-btn{border:1px solid var(--line-color);width:36px;height:36px;color:var(--dark-ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;font-size:1.2rem;transition:background .15s;display:grid}.modal-close-btn:hover{background:var(--soft-paper)}.modal-scroll-body{flex:1;padding:22px 24px 40px;overflow-y:auto}.detail-total-card{background:var(--maroon);color:#fff;border-radius:17px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex}.detail-total-card .lbl{color:#ffffffbf;font-size:.78rem}.detail-total-card .val{font-family:var(--serif);margin-top:2px;font-size:1.85rem;font-weight:700}.detail-tabs{border-bottom:1px solid var(--line-color);gap:20px;margin-bottom:20px;display:flex}.detail-tab-btn{color:var(--muted-text);cursor:pointer;background:0 0;border:0;padding:8px 2px 12px;font-size:.9rem;font-weight:700;position:relative}.detail-tab-btn.active{color:var(--dark-ink)}.detail-tab-btn.active:after{content:"";background:var(--maroon);height:2px;position:absolute;bottom:-1px;left:0;right:0}.japa-form{border:1px solid var(--line-color);background:#fff;border-radius:16px;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:12px;margin-bottom:24px;padding:18px;display:grid}.form-group label{color:var(--muted-text);margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.type-toggle{background:var(--soft-paper);border:1px solid var(--line-color);border-radius:9px;padding:2px;display:flex}.type-toggle button{color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:8px 12px;font-size:.85rem;font-weight:700}.type-toggle button.active{background:var(--maroon);color:#fff}.form-input{border:1px solid var(--line-color);background:var(--soft-paper);width:100%;color:var(--dark-ink);border-radius:9px;padding:9px 12px;font-size:.95rem}.btn-primary{background:var(--maroon);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;height:42px;padding:10px 20px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--maroon-dark)}.btn-secondary{background:var(--soft-paper);color:var(--dark-ink);border:1px solid var(--line-color);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:8px 16px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:#fff}.form-tip{color:var(--muted-text);grid-column:1/-1;margin-top:2px;font-size:.78rem}.activity-list{gap:12px;display:grid}.activity-item{border-bottom:1px solid var(--line-color);align-items:center;gap:14px;padding:12px 0;display:flex}.activity-badge{background:var(--green-soft);width:42px;height:42px;color:var(--green);border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;font-weight:800;display:grid}.activity-info{flex:1}.activity-main{color:var(--dark-ink);font-size:.9rem;font-weight:700}.activity-sub{color:var(--muted-text);margin-top:2px;font-size:.75rem}.activity-del-btn{color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:6px 10px;font-size:1.1rem}.activity-del-btn:hover{background:var(--soft-paper);color:var(--maroon)}.pdf-list-item,.fest-list-item{border:1px solid var(--line-color);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 18px;display:flex}.pdf-list-item strong,.fest-list-item strong{color:var(--dark-ink);font-size:.9rem;display:block}.pdf-list-item span,.fest-list-item span{color:var(--muted-text);font-size:.78rem}.festival-section{margin-bottom:32px}.section-tag{letter-spacing:.08em;color:var(--muted-text);text-transform:uppercase;margin-bottom:12px;font-size:.75rem;font-weight:800}.festival-card-active{background:var(--maroon);color:#fff;box-shadow:var(--shadow);border-radius:18px;margin-bottom:16px;padding:24px}.fest-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.fest-card-head h3{font-family:var(--serif);margin:0;font-size:1.35rem}.fest-card-head p{color:#ffffffbf;margin:4px 0 0;font-size:.85rem}.status-pill{letter-spacing:.04em;color:#fff;background:#ffffff2e;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800}.upcoming-festivals-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.festival-card-upcoming{border:1px solid var(--line-color);background:#fff;border-radius:16px;flex-direction:column;padding:20px;display:flex}.festival-card-upcoming h3{font-family:var(--serif);margin:10px 0 4px;font-size:1.15rem}.festival-card-upcoming p{color:var(--muted-text);margin:0 0 12px;font-size:.82rem}.festival-card-upcoming .dates{color:var(--muted-text);margin-top:auto;margin-bottom:16px;font-size:.75rem}.stats-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-box{border:1px solid var(--line-color);background:#fff;border-radius:16px;padding:18px}.stat-box .val{font-family:var(--serif);font-size:1.8rem;font-weight:700;display:block}.stat-box .lbl{color:var(--muted-text);margin-top:4px;font-size:.78rem}.chart-card{border:1px solid var(--line-color);background:#fff;border-radius:18px;margin-bottom:20px;padding:22px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.chart-canvas{width:100%;height:220px}.legend-row{color:var(--muted-text);flex-wrap:wrap;gap:18px;margin-top:14px;font-size:.78rem;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-color{border-radius:3px;width:10px;height:10px}.breakdown-table{border-collapse:collapse;width:100%;margin-top:8px}.breakdown-table tr{border-bottom:1px solid var(--line-color)}.breakdown-table tr:last-child{border-bottom:0}.breakdown-table td{padding:14px 0}.session-list{gap:14px;margin-bottom:32px;display:grid}.session-card{border:1px solid var(--line-color);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.session-card-info{flex:1}.session-card-info h3{font-family:var(--serif);margin:0 0 4px;font-size:1.2rem}.session-card-info p{color:var(--muted-text);margin:0 0 10px;font-size:.85rem}.session-meta{color:var(--muted-text);gap:16px;font-size:.8rem;font-weight:600;display:flex}.dialog-overlay{z-index:1050;background:#1b0c0ea6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-card{background:var(--paper);border:1px solid var(--line-color);width:min(480px,100%);box-shadow:var(--shadow);border-radius:20px;padding:26px}.dialog-card h3{font-family:var(--serif);margin:0 0 6px;font-size:1.3rem}.dialog-card p{color:var(--muted-text);margin:0 0 18px;font-size:.85rem}.toast-notice{background:var(--dark-ink);color:#fff;z-index:2000;box-shadow:var(--shadow);border-radius:999px;padding:10px 22px;font-size:.85rem;font-weight:700;animation:2.5s forwards fadeInOut;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%)translateY(10px)}15%{opacity:1;transform:translate(-50%)translateY(0)}85%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.settings-section{flex-direction:column;gap:20px;max-width:680px;display:flex}.settings-card{border:1px solid var(--line-color);background:#fff;border-radius:16px;overflow:hidden}.settings-card-header{padding:16px 20px 8px}.settings-card-header h3{color:var(--maroon);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:.95rem;font-weight:700}.settings-card-header p{color:var(--muted-text);margin:0;font-size:.82rem}.settings-row{border-top:1px solid var(--line-color);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.settings-row:hover{background:var(--soft-paper)}.settings-badge{background:var(--soft-paper);width:34px;height:34px;color:var(--dark-ink);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.settings-badge.active{background:var(--maroon);color:#fff}@media (width<=680px){.sadhana-app,.sessions-app{padding:16px 14px 80px}.summary-card{grid-template-columns:1fr}.streaks{grid-template-columns:1fr 1fr;display:grid}.japa-form,.stats-row{grid-template-columns:1fr}.session-card{flex-direction:column;align-items:flex-start}.session-card .btn-primary,.session-card .btn-secondary{width:100%}}
