@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg: #f2f5f8;--bg-accent: #e7eef5;--ink: #1f2933;--panel: #ffffff;--nav: #233245;--nav-accent: #2f4561;--brand: #2e7bdc;--shadow: 0 14px 32px rgba(26, 40, 52, .12)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:Space Grotesk,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 800px at 10% -10%,var(--bg-accent),var(--bg));color:var(--ink)}body.theme-dark-body{background:radial-gradient(1200px 800px at 10% -10%,#172437,#0b1320);color:#e8eef8}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button:hover{opacity:.9}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand)!important;box-shadow:0 0 0 3px #2e7bdc1f}.layout{display:flex;height:100vh;min-height:100vh;background-color:transparent;overflow:hidden}.sidebar{width:250px;background:linear-gradient(160deg,var(--nav),#1c2735);color:#fff;padding:20px;box-shadow:var(--shadow);flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.mobile-nav-bar{display:none}.mobile-nav-toggle{background:var(--nav);color:#fff;border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer}.mobile-nav-title{font-size:18px;font-weight:700;color:var(--ink)}.mobile-nav-fab,.mobile-nav-backdrop{display:none}.brand{margin:0 0 32px;font-size:22px;letter-spacing:.2px;display:flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;flex-shrink:0}.nav-links{display:flex;flex-direction:column;gap:10px}.nav-button{padding:12px 16px;background-color:transparent;color:#fff;border:none;border-radius:10px;cursor:pointer;text-align:left;font-size:16px;font-weight:500;transition:background-color .2s,transform .2s}.nav-button:hover{background-color:var(--nav-accent);transform:translateY(-1px)}.nav-button.active{background-color:var(--brand);font-weight:600}.theme-toggle{margin-top:18px;width:100%;padding:11px 14px;background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:10px;cursor:pointer;text-align:center;font-size:14px;font-weight:600;letter-spacing:.2px;transition:background-color .2s,border-color .2s,transform .2s}.theme-toggle:hover{background:#ffffff29;border-color:#ffffff75;transform:translateY(-1px)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #4f94ee59}.layout.theme-dark .theme-toggle{background:#94a3b81f;border-color:#94a3b873}.layout.theme-dark .theme-toggle:hover{background:#94a3b833;border-color:#94a3b89e}.main{flex:1;padding:30px;overflow-y:auto;min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header-content{min-width:0}.page-header h1{margin:0}.page-subtitle{margin-top:6px;color:#5b6b7d;line-height:1.5}.page-header-action{flex-shrink:0}.modal-backdrop{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px;background:#09101885;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(100%,600px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#fff;border:1px solid #d5e0ec;box-shadow:0 24px 56px #0f172a47}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e6edf5}.modal-header h2{margin:0;font-size:20px}.modal-close{border:1px solid #d3deea;background:#f8fafc;color:#1f2933;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:17px;line-height:1}.modal-content{padding:18px;overflow-y:auto}.modal-actions{display:flex;align-items:center;gap:10px;padding:14px 18px 18px;border-top:1px solid #e6edf5}.layout.theme-dark .modal{background:#162333;border-color:#2e4158;box-shadow:0 24px 56px #02081294}.layout.theme-dark .modal-header{border-bottom-color:#2e4158}.layout.theme-dark .modal-header h2{color:#e7eef8}.layout.theme-dark .modal-close{border-color:#3a516d;background:#223449;color:#e7eef8}.layout.theme-dark .modal-content{color:#dbe7f5}.layout.theme-dark .modal-actions{border-top-color:#2e4158}@media(max-width:768px){.modal-backdrop{padding:12px;align-items:flex-end}.modal{width:100%;max-height:min(86vh,720px);border-radius:14px 14px 10px 10px}}.sidebar-user{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);position:relative}.sidebar-user-name{width:100%;background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 10px;font-size:13px;cursor:pointer;word-break:break-word;text-align:left;transition:all .2s;display:flex;align-items:center;gap:8px}.sidebar-user-name:hover{background:#ffffff1a;border-color:#fff6}.sidebar-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#ffffff40;font-size:12px;font-weight:600;flex-shrink:0}.user-popup{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:#1e2a3a;border:1px solid rgba(255,255,255,.18);border-radius:10px;box-shadow:0 8px 28px #0000008c;z-index:200;overflow:hidden;animation:popup-in .12s ease}@keyframes popup-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-popup-header{display:flex;align-items:center;gap:12px;padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.user-popup-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent, #4f8ef7);color:#fff;font-size:17px;font-weight:700;flex-shrink:0}.user-popup-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-popup-name{color:#fff;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-email{color:#ffffff8c;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popup-badge{display:inline-block;background:#4f8ef740;color:#7eb8ff;border:1px solid rgba(79,142,247,.4);border-radius:4px;font-size:10px;font-weight:600;padding:1px 6px;margin-top:2px;width:fit-content}.user-popup-actions{display:flex;flex-direction:column;gap:6px;padding:10px 14px 12px}.user-popup-edit{width:100%;background:#4f8ef726;color:#7eb8ff;border:1px solid rgba(79,142,247,.3);border-radius:6px;padding:7px 10px;font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.user-popup-edit:hover{background:#4f8ef747}.user-popup-signout{width:100%;background:#dc3c3c1f;color:#f08080;border:1px solid rgba(220,60,60,.3);border-radius:6px;padding:7px 10px;font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.user-popup-signout:hover{background:#dc3c3c40;color:#faa}.user-popup-groups{padding:8px 14px 10px;border-top:1px solid rgba(255,255,255,.1)}.user-popup-groups-label{color:#fff6;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;display:block}.user-popup-group-item{color:#fff9;font-size:10px;font-family:monospace;word-break:break-all;line-height:1.5;display:block}.user-popup-uid{color:#fff6;font-size:10px;font-family:monospace;word-break:break-all;margin-top:2px;display:block}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--panel);border-radius:12px;box-shadow:var(--shadow);padding:28px;max-width:420px;width:100%;text-align:center}.auth-card h1{margin-bottom:8px}.auth-card p{margin-bottom:18px;color:#4b5563}.chores-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.chores-subtitle{margin-top:6px;color:#52606d}.chores-week-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chores-week-label{min-width:220px;text-align:center;font-weight:600;color:var(--ink)}.chores-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.chores-summary-card,.chores-group-card,.chores-form{background:var(--panel);border-radius:14px;box-shadow:var(--shadow)}.chores-summary-card{padding:18px}.chores-summary-card strong{display:block;margin-top:8px;font-size:30px}.chores-summary-label{color:#52606d;font-size:14px}.chores-admin-bar{margin-bottom:16px}.chores-primary-button,.chores-secondary-button,.chores-danger-button,.chores-toggle-button{border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer}.chores-primary-button{background:var(--brand);color:#fff}.chores-secondary-button{background:#d9e5f2;color:#233245}.chores-danger-button{background:#fee2e2;color:#b42318}.chores-toggle-button{background:#e7eef5;color:#233245}.chores-toggle-button.done{background:#dcfce7;color:#166534}.chores-form{padding:18px;margin-bottom:18px}.chores-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.chores-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#364152}.chores-form-grid input,.chores-form-grid select,.chores-form-grid textarea{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff}.chores-form-wide{grid-column:1 / -1}.chores-checkbox-row{flex-direction:row!important;align-items:center;gap:8px!important;align-self:end}.chores-form-actions{margin-top:16px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.chores-icon-selector-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.chores-icon-current{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;background:#f8fafc;color:#364152;flex:1}.chores-icon-current-glyph{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.chores-icon-current-label{font-size:14px}.chores-icon-none-glyph{font-size:12px;color:#61758a}.chores-icon-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:16px}.chores-icon-modal-backdrop{position:absolute;inset:0;border:0;background:#0f172a8c}.chores-icon-modal-panel{position:relative;z-index:1;width:min(840px,96vw);max-height:80vh;overflow:auto;border-radius:14px;box-shadow:var(--shadow);background:var(--panel);padding:16px;display:grid;gap:12px}.chores-icon-modal-panel h3{margin:0}.chores-icon-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.chores-icon-option{border:1px solid #dbe7f3;border-radius:10px;background:#fff;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px;text-align:left;cursor:pointer}.chores-icon-option.selected{border-color:var(--brand);box-shadow:0 0 0 2px #2e7bdc29;background:#f5f9ff}.chores-icon-option-name{font-size:13px;color:#233245}.chores-icon-help{font-size:12px;color:#61758a}.chores-icon-modal-actions{display:flex;justify-content:flex-end}.chores-groups{display:grid;gap:16px}.chores-admin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chores-completion-bar label{display:inline-flex;align-items:center;gap:10px;color:#52606d;font-weight:600}.chores-completion-bar input{border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff}.chores-import-feedback{margin-bottom:16px;border:1px solid #d7e3ef;border-radius:12px;padding:10px 12px;background:#f5f9ff;color:#1f2933}.chores-import-feedback p{margin:0;font-weight:600}.chores-import-feedback ul{margin:8px 0 0;padding-left:20px}.chores-import-error{color:#b42318}.chores-view-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:12px;background:#eef3f8;border:1px solid #d7e3ef}.chores-view-toggle .chores-secondary-button{min-width:108px}.chores-secondary-button.active{background:var(--brand);color:#fff;box-shadow:0 6px 14px #2e7bdc47}.chores-member-toolbar{margin-bottom:16px;display:flex;justify-content:flex-end}.chores-member-toolbar label{display:grid;gap:6px;color:#52606d;font-size:13px;font-weight:600;width:min(420px,100%)}.chores-member-toolbar select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;color:#1f2933}.chores-earnings-banner{margin-bottom:14px;border:1px solid #d7e3ef;border-radius:12px;padding:12px 14px;background:linear-gradient(135deg,#f8fbff,#eef4fb);display:grid;gap:3px}.chores-earnings-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#60758b;font-weight:700}.chores-earnings-value{font-size:24px;font-weight:700;color:#1e3a5f}.chores-earnings-meta{color:#52606d;font-size:13px}.chores-calendar-shell{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:16px}.chores-calendar-panel,.chores-calendar-detail{background:#fff;border:1px solid #d8e1ea;border-radius:14px;box-shadow:var(--shadow);padding:14px}.chores-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.chores-calendar-header h2{margin:0;font-size:20px}.chores-calendar-header p{margin:4px 0 0;color:#61758a;font-size:13px}.chores-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}.chores-calendar-weekdays span{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#6b7f93}.chores-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.chores-calendar-day{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:8px;min-height:108px;display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer}.chores-calendar-day.muted{opacity:.55}.chores-calendar-day.today{border-color:#93c5fd}.chores-calendar-day.selected{border-color:var(--brand);box-shadow:0 0 0 2px #2e7bdc2e;background:#eef6ff}.chores-calendar-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.chores-calendar-day-head strong{color:#1f2933}.chores-calendar-day-stars{font-size:12px;font-weight:700;color:#9a6700;background:#fef3c7;border-radius:999px;padding:2px 8px}.chores-calendar-day-list{display:grid;gap:4px}.chores-calendar-day-pill{background:#e5edf7;color:#30455f;border-radius:999px;padding:2px 8px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chores-calendar-day-more{font-size:11px;color:#61758a;padding-left:2px}.chores-calendar-detail-header{margin-bottom:12px}.chores-calendar-detail-header h3{margin:0;font-size:18px}.chores-calendar-detail-header p{margin:4px 0 0;color:#61758a;font-size:13px}.chores-calendar-detail-list{display:grid;gap:10px}.chores-calendar-detail-card{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:10px 12px;display:flex;justify-content:space-between;gap:12px}.chores-calendar-detail-card strong{display:inline-flex;align-items:center;gap:6px}.chores-calendar-detail-card p{margin:4px 0 0;color:#60758b;font-size:13px}.chores-calendar-detail-stars{color:#9a6700;font-weight:700;white-space:nowrap}.layout.theme-dark .chores-view-toggle{background:#1f3349;border-color:#34495f}.layout.theme-dark .chores-member-toolbar label,.layout.theme-dark .chores-completion-bar label,.layout.theme-dark .chores-earnings-meta{color:#b9ccdf}.layout.theme-dark .chores-import-feedback{background:#13263a;border-color:#334f6a;color:#e7eef8}.layout.theme-dark .chores-member-toolbar select,.layout.theme-dark .chores-completion-bar input{background:#122234;border-color:#35516d;color:#e7eef8}.layout.theme-dark .chores-earnings-banner{background:linear-gradient(135deg,#142436,#1b3148);border-color:#334f6a}.layout.theme-dark .chores-earnings-label,.layout.theme-dark .chores-calendar-header p,.layout.theme-dark .chores-calendar-weekdays span,.layout.theme-dark .chores-calendar-detail-header p,.layout.theme-dark .chores-calendar-detail-card p,.layout.theme-dark .chores-calendar-day-more{color:#9bb2c9}.layout.theme-dark .chores-earnings-value,.layout.theme-dark .chores-calendar-header h2,.layout.theme-dark .chores-calendar-detail-header h3,.layout.theme-dark .chores-calendar-day-head strong,.layout.theme-dark .chores-calendar-day,.layout.theme-dark .chores-calendar-day-head,.layout.theme-dark .chores-calendar-detail-card strong{color:#e7eef8}.layout.theme-dark .chores-calendar-panel,.layout.theme-dark .chores-calendar-detail,.layout.theme-dark .chores-calendar-day,.layout.theme-dark .chores-calendar-detail-card{background:#13263a;border-color:#334f6a}.layout.theme-dark .chores-calendar-day.selected{background:#1d3650}.layout.theme-dark .chores-calendar-day-pill{background:#314d67;color:#dbe8f6}.layout.theme-dark .chores-group-header p,.layout.theme-dark .chore-card h3,.layout.theme-dark .chore-meta,.layout.theme-dark .chore-description,.layout.theme-dark .chore-description-modal-title,.layout.theme-dark .chore-description-modal-body{color:#e7eef8}.layout.theme-dark .chore-card{background:#13263a;border-color:#334f6a}.layout.theme-dark .chore-card.completed{background:#18322d;border-color:#2f6e5f}.homeschool-page{display:grid;gap:16px}.homeschool-tabs{display:inline-flex;gap:8px;padding:6px;background:#e7eef5;border-radius:12px;width:fit-content}.homeschool-tab{border:none;background:transparent;color:#3b4b5f;font-size:14px;font-weight:600;padding:8px 14px;border-radius:8px;cursor:pointer;transition:background-color .2s,color .2s}.homeschool-tab:hover{background:#ffffffa6}.homeschool-tab.active{background:#fff;color:var(--brand);box-shadow:0 1px 2px #1118272e}.homeschool-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.homeschool-panel-header h2{margin:0}.homeschool-schedule-actions,.homeschool-library-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.homeschool-library-note{color:#61758a;font-size:13px;line-height:1.5}.homeschool-library-row.inactive{opacity:.72}.homeschool-library-status{color:#61758a;font-size:12px;font-weight:600}.homeschool-library-status.active{color:var(--brand)}.homeschool-checkbox-row{display:inline-flex;align-items:center;gap:8px;color:#44586d;font-weight:600}.homeschool-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.homeschool-grid.homeschool-grid--schedule{grid-template-columns:minmax(0,3fr) minmax(320px,1fr)}.homeschool-toolbar label{display:grid;gap:6px;color:#52606d;font-weight:600;font-size:13px;width:min(340px,100%)}.homeschool-toolbar--schedule{margin:12px 0 4px}.homeschool-toolbar select,.homeschool-toolbar button,.homeschool-inline-form input,.homeschool-inline-form button,.homeschool-date-nav button,.homeschool-date-nav input,.homeschool-item-status-label select,.homeschool-insight-toolbar select,.homeschool-insight-refresh{border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;background:#fff;color:#1f2933}.homeschool-toolbar button,.homeschool-inline-form button,.homeschool-date-nav button,.homeschool-insight-refresh{cursor:pointer;font-weight:600}.homeschool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.homeschool-panel{background:var(--panel);border:1px solid #d8e1ea;border-radius:14px;box-shadow:var(--shadow);padding:14px;display:grid;gap:12px;align-content:start}.homeschool-panel h2{margin:0;font-size:20px}.homeschool-inline-form{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:8px}.homeschool-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.homeschool-library-row,.homeschool-item{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:10px 12px}.homeschool-library-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.homeschool-library-meta{display:grid;gap:2px}.homeschool-library-meta small,.homeschool-item-main small,.homeschool-item-memo-label,.homeschool-empty,.homeschool-summary-meta{color:#61758a}.homeschool-assign-btn{background:#d9e5f2;border:1px solid #c8d7e6;border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer}.homeschool-date-nav{display:flex;flex-wrap:wrap;gap:8px}.homeschool-date-nav input{min-width:155px}.homeschool-item{display:grid;gap:10px}.homeschool-item-main{display:flex;justify-content:space-between;gap:10px;align-items:start;flex-wrap:wrap}.homeschool-item-status-label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#52606d;min-width:165px}.homeschool-item-memo-view{border-top:1px dashed #d7e3ef;padding-top:8px}.homeschool-item-memo-label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.homeschool-item-memo-text{margin:4px 0 0;white-space:pre-wrap;color:#3f4d5e}.homeschool-item-actions{display:flex;flex-wrap:wrap;gap:8px}.homeschool-item-actions button{border:1px solid #cddaea;border-radius:10px;background:#eef4fb;padding:8px 12px;font-weight:600;cursor:pointer}.homeschool-insight-panel .homeschool-insight-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.homeschool-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.homeschool-metrics article{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:10px;display:grid;gap:3px}.homeschool-metrics span{color:#61758a;font-size:12px}.homeschool-metrics strong{font-size:26px}.homeschool-summary{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:12px}.homeschool-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:10px;padding:10px 12px}.homeschool-insight-loading{display:inline-flex;align-items:center;gap:8px;color:#475569}.settings-stack{display:grid;gap:12px}.settings-stack .settings-label{display:grid;gap:6px;margin-bottom:0;font-weight:600;color:#44586d}.settings-stack .settings-label input,.settings-stack .settings-label select,.settings-stack .settings-label textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;color:#1f2933;font-family:inherit}.settings-stack .settings-label textarea{min-height:96px;resize:vertical}.html-editor{border:1px solid #cbd5e1;border-radius:10px;background:#fff;overflow:hidden}.html-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-bottom:1px solid #dbe5ef;background:#f8fbff}.html-editor-toolbar button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1f2933;font-size:12px;font-weight:600;padding:6px 9px;cursor:pointer}.html-editor-toolbar button:disabled{opacity:.6;cursor:not-allowed}.html-editor-surface{padding:10px 12px;color:#1f2933;outline:none;line-height:1.45}.html-editor-surface img{max-width:100%;height:auto;border-radius:8px;margin:.35rem 0}.html-editor-surface.is-empty:before{content:attr(data-placeholder);color:#7b8ea2}.html-editor-surface.is-disabled{background:#f5f8fb;color:#5f7185}.homeschool-note-content{margin:8px 0;font-size:.95em;line-height:1.5;text-align:left;direction:ltr}.homeschool-note-content ul,.homeschool-note-content ol{margin:.45rem 0;padding-left:1.25rem}.homeschool-note-content p{margin:.35rem 0}.homeschool-note-content a{color:var(--brand)}.homeschool-note-content img{display:block;max-width:min(100%,520px);height:auto;border-radius:10px;margin:.5rem 0}.homeschool-insight-spinner{width:16px;height:16px;border-radius:999px;border:2px solid #c9d8e8;border-top-color:var(--brand);animation:spin .8s linear infinite}.homeschool-insight-page{display:grid;gap:14px}.homeschool-insight-subtitle{color:#61758a}.homeschool-insight-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.homeschool-insight-toolbar label{display:grid;gap:6px;color:#52606d;font-size:13px;font-weight:600;min-width:220px}.homeschool-insight-error,.homeschool-insight-empty{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:12px}.homeschool-insight-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.homeschool-insight-metrics article{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:12px;display:grid;gap:4px}.homeschool-insight-metrics h3{margin:0;font-size:13px;color:#52606d}.homeschool-insight-metrics p{margin:0;font-size:26px;font-weight:700}.homeschool-insight-summary{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:12px;display:grid;gap:10px}.homeschool-insight-summary-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#61758a;font-size:13px}.homeschool-insight-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.homeschool-insight-grids article{border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;padding:12px}.homeschool-insight-grids h3{margin-top:0;margin-bottom:10px}.homeschool-insight-grids ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.homeschool-insight-grids li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed #d8e1ea}.homeschool-insight-grids li:last-child{border-bottom:0}.homeschool-insight-grids li div{display:grid}.homeschool-insight-grids small{color:#61758a}.layout.theme-dark .homeschool-tabs{background:#1b3148}.layout.theme-dark .homeschool-tab{color:#c8d7e7}.layout.theme-dark .homeschool-tab:hover{background:#ffffff14}.layout.theme-dark .homeschool-tab.active{background:#243a52;color:#eef5ff;box-shadow:0 1px 2px #02081259}.layout.theme-dark .homeschool-panel,.layout.theme-dark .homeschool-library-row,.layout.theme-dark .homeschool-item,.layout.theme-dark .homeschool-summary,.layout.theme-dark .homeschool-metrics article,.layout.theme-dark .homeschool-insight-error,.layout.theme-dark .homeschool-insight-empty,.layout.theme-dark .homeschool-insight-metrics article,.layout.theme-dark .homeschool-insight-summary,.layout.theme-dark .homeschool-insight-grids article{background:#13263a;border-color:#334f6a}.layout.theme-dark .homeschool-toolbar label,.layout.theme-dark .homeschool-item-status-label,.layout.theme-dark .homeschool-insight-toolbar label,.layout.theme-dark .homeschool-insight-metrics h3,.layout.theme-dark .homeschool-item-memo-label,.layout.theme-dark .homeschool-library-meta small,.layout.theme-dark .homeschool-item-main small,.layout.theme-dark .homeschool-empty,.layout.theme-dark .homeschool-summary-meta,.layout.theme-dark .homeschool-insight-subtitle,.layout.theme-dark .homeschool-insight-summary-meta,.layout.theme-dark .homeschool-insight-grids small{color:#9bb2c9}.layout.theme-dark .homeschool-toolbar select,.layout.theme-dark .homeschool-toolbar button,.layout.theme-dark .homeschool-inline-form input,.layout.theme-dark .homeschool-inline-form button,.layout.theme-dark .homeschool-date-nav button,.layout.theme-dark .homeschool-date-nav input,.layout.theme-dark .homeschool-item-actions button,.layout.theme-dark .homeschool-item-status-label select,.layout.theme-dark .homeschool-insight-toolbar select,.layout.theme-dark .homeschool-insight-refresh{background:#0f2032;border-color:#35516d;color:#e7eef8}.layout.theme-dark .homeschool-item-memo-text{color:#d2deeb}.layout.theme-dark .settings-stack .settings-label{color:#b9ccdf}.layout.theme-dark .settings-stack .settings-label input,.layout.theme-dark .settings-stack .settings-label select,.layout.theme-dark .settings-stack .settings-label textarea{background:#0f2032;border-color:#35516d;color:#e7eef8}.layout.theme-dark .html-editor{background:#0f2032;border-color:#35516d}.layout.theme-dark .html-editor-toolbar{background:#13263a;border-color:#35516d}.layout.theme-dark .html-editor-toolbar button{background:#0f2032;border-color:#35516d;color:#e7eef8}.layout.theme-dark .html-editor-surface{color:#e7eef8}.layout.theme-dark .html-editor-surface.is-empty:before{color:#92a9c1}.layout.theme-dark .html-editor-surface.is-disabled{background:#13263a;color:#92a9c1}@media(max-width:1200px){.homeschool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homeschool-grid.homeschool-grid--schedule{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.homeschool-insight-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.homeschool-grid,.homeschool-insight-grids,.homeschool-grid.homeschool-grid--schedule,.homeschool-inline-form{grid-template-columns:1fr}.homeschool-toolbar,.homeschool-insight-toolbar{align-items:stretch}.homeschool-toolbar label,.homeschool-insight-toolbar label{width:100%;min-width:0}}@media(max-width:1100px){.chores-calendar-shell{grid-template-columns:1fr}}@media(max-width:900px){.chores-view-toggle{width:100%;justify-content:flex-start;overflow-x:auto}.chores-view-toggle .chores-secondary-button{min-width:120px}.chores-member-toolbar{justify-content:flex-start}.chores-calendar-header{flex-direction:column;align-items:flex-start}.chores-calendar-grid{gap:6px}.chores-calendar-day{min-height:94px;padding:6px}}.chores-group-card{padding:18px}.chores-group-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.chores-group-header p{margin-top:4px;color:#52606d}.chores-group-stars{font-weight:700;color:var(--brand)}.chores-list{display:grid;gap:12px}.chore-card{border:1px solid #d8e1ea;border-radius:12px;padding:14px;background:#fbfcfe}.chore-card.completed{border-color:#a7f3d0;background:#f0fdf4}.chore-card.inactive{opacity:.7}.chore-card-main{display:flex;justify-content:space-between;gap:16px}.chore-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.chore-stars{font-size:12px;font-weight:700;color:#9a6700;background:#fef3c7;padding:4px 8px;border-radius:999px}.chore-description{color:#52606d;margin-bottom:8px}.chore-meta{display:flex;gap:10px;flex-wrap:wrap;color:#61758a;font-size:13px}.chore-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}.chore-description-modal-content{display:grid;gap:10px}.chore-description-modal-title{margin:0;font-size:1.15rem;color:#162233}.chore-description-modal-body{margin:0;white-space:pre-wrap;color:#3f4d5e;line-height:1.5}.chores-leaderboard-card{border:1px solid #d8e1ea;border-radius:12px;padding:16px;background:#fbfcfe}.chores-leaderboard-header{margin-bottom:16px}.chores-leaderboard-header h2{margin:0 0 4px;font-size:1.1rem;color:#162233}.chores-leaderboard-header p{margin:0;font-size:13px;color:#61758a}.chores-leaderboard-list{display:grid;gap:12px}.chores-leaderboard-row{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.chores-leaderboard-rank{font-weight:700;font-size:14px;color:#61758a;text-align:center}.chores-leaderboard-main{display:flex;flex-direction:column;gap:6px;min-width:0}.chores-leaderboard-copy{display:flex;flex-direction:column;gap:2px}.chores-leaderboard-copy strong{font-weight:600;font-size:14px;color:#162233}.chores-leaderboard-copy span{font-size:12px;color:#61758a}.chores-leaderboard-bar-track{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.chores-leaderboard-bar{height:100%;background:linear-gradient(to right,var(--brand),#fbbf24);border-radius:3px;transition:width .3s ease}.chores-leaderboard-stars{font-weight:700;font-size:16px;color:#9a6700;white-space:nowrap}.layout.theme-dark .chores-leaderboard-card{background:#1e293b;border-color:#334155}.layout.theme-dark .chores-leaderboard-row{background:#0f172a;border-color:#334155}.layout.theme-dark .chores-leaderboard-header h2{color:#f1f5f9}.layout.theme-dark .chores-leaderboard-header p{color:#94a3b8}.layout.theme-dark .chores-leaderboard-copy strong{color:#f1f5f9}.layout.theme-dark .chores-leaderboard-copy span,.layout.theme-dark .chores-leaderboard-rank{color:#94a3b8}.layout.theme-dark .chores-leaderboard-bar-track{background:#334155}@media(max-width:900px){.layout{flex-direction:column}.mobile-nav-bar{display:none}.mobile-nav-fab{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:14px;left:14px;z-index:50;width:42px;height:42px;border-radius:999px;border:none;background:var(--nav);color:#fff;font-size:22px;font-weight:700;box-shadow:0 8px 20px #00000040;cursor:pointer}.mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:39;border:none;background:#0f172a61}.sidebar{width:min(82vw,320px);padding:16px;display:none;border-radius:0 14px 14px 0;box-shadow:var(--shadow);position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:40}.sidebar.open{display:block}.brand{margin-bottom:16px;font-size:20px}.nav-links{flex-direction:column;gap:8px}.nav-button{width:100%;text-align:left;padding:10px 12px}.main{padding:18px}.homeschool-tabs{width:100%;overflow-x:auto}.homeschool-panel-header{flex-direction:column;align-items:flex-start}.homeschool-schedule-actions,.homeschool-library-actions{justify-content:flex-start}.page-header{flex-direction:column;align-items:flex-start;gap:10px;padding-left:54px}.prayers-toolbar,.links-tabs,.chores-header,.homeschool-toolbar,.homeschool-insight-page>h2,.homeschool-insight-page>.homeschool-insight-subtitle,.calendar-hero,.dashboard-page>.page-header{padding-left:54px}.chores-header,.chore-card-main,.chores-group-header{flex-direction:column;align-items:stretch}.chores-actions,.chore-actions,.chores-week-controls{justify-content:flex-start}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.chat-container{display:flex;height:calc(100vh - 100px);gap:20px}.chat-sessions-sidebar{width:280px;background:var(--panel);border-radius:12px;padding:20px;box-shadow:var(--shadow);overflow-y:auto;flex-shrink:0}.chat-sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.chat-sessions-title{margin:0;font-size:16px}.chat-close-button{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;color:var(--ink)}.chat-close-button:hover{background:var(--bg-accent)}.chat-new-button{width:100%;padding:10px;background:var(--brand);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:15px}.chat-sessions-list{display:flex;flex-direction:column;gap:8px}.chat-session-item{padding:12px;background:var(--bg);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.chat-session-item:hover{background:var(--bg-accent);border-color:var(--brand)}.chat-session-item.active{background:#e3f2fd;border-color:var(--brand)}.chat-session-content{flex:1;overflow:hidden}.chat-session-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-item.active .chat-session-name{font-weight:700}.chat-session-date{font-size:11px;color:#666;margin-top:2px}.chat-session-delete{background:none;border:none;color:#999;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:14px}.chat-session-delete:hover{background:#ffebee;color:#c62828}.chat-main-area{display:flex;flex-direction:column;flex:1}.calendar-page{display:flex;flex-direction:column;gap:18px}.calendar-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#f8fbff);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow)}.calendar-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--brand);margin-bottom:8px}.calendar-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.05;margin-bottom:10px}.calendar-summary{max-width:780px;color:#475569;line-height:1.6}.calendar-new-button,.calendar-toolbar-button,.calendar-chip,.calendar-secondary-button,.calendar-primary-button,.calendar-danger-button,.calendar-modal-close{border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:transform .2s,opacity .2s,background-color .2s}.calendar-new-button,.calendar-primary-button{background:var(--brand);color:#fff;padding:12px 16px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.calendar-toolbar-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-toolbar-button,.calendar-chip,.calendar-secondary-button{background:var(--panel);color:var(--ink);padding:10px 14px;box-shadow:0 8px 24px #0f172a0f}.calendar-chip.active{background:var(--brand);color:#fff}.calendar-toolbar-title{font-size:16px;font-weight:700;color:#334155}.calendar-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:12px;padding:12px 14px}.calendar-grid-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.calendar-board,.calendar-sidebar-card{background:var(--panel);border-radius:18px;box-shadow:var(--shadow)}.calendar-board{padding:16px;min-width:0}.calendar-loading,.calendar-empty{color:#64748b;padding:24px}.calendar-month-view,.calendar-week-view,.calendar-agenda-list{display:flex;flex-direction:column;gap:12px}.calendar-weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{font-size:12px;font-weight:700;text-transform:uppercase;color:#64748b;padding:0 6px}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day-cell,.calendar-week-column,.calendar-agenda-item,.calendar-upcoming-item,.calendar-event-pill{border:none;text-align:left}.calendar-day-cell,.calendar-week-column{display:flex;flex-direction:column;gap:8px;min-height:148px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:10px;cursor:pointer}.calendar-day-cell.muted{opacity:.55}.calendar-day-cell.today,.calendar-week-column.today{border-color:var(--brand);box-shadow:0 0 0 3px #2e7bdc1f}.calendar-day-header,.calendar-week-column-header,.calendar-agenda-title-row,.calendar-form-footer,.calendar-modal-header,.settings-inline-row,.settings-checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-day-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:#2e7bdc1f;color:var(--brand);font-size:12px;font-weight:700}.calendar-event-stack{display:flex;flex-direction:column;gap:8px}.calendar-event-stack.compact{margin-top:8px}.calendar-event-pill{display:flex;flex-direction:column;gap:4px;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 8px 20px #0f172a1f}.calendar-event-pill.compact{padding:8px 10px}.calendar-event-pill-time,.calendar-event-pill-title,.calendar-agenda-meta,.calendar-agenda-description,.calendar-upcoming-copy span,.calendar-legend-copy span{font-size:12px}.calendar-event-pill-title{display:inline-flex;align-items:center;gap:6px;font-weight:700}.calendar-inline-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.calendar-more-indicator{font-size:12px;color:#64748b;padding:0 4px}.calendar-week-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week-column{min-height:420px}.calendar-sidebar-panel{display:flex;flex-direction:column;gap:16px}.calendar-sidebar-card{padding:16px}.calendar-sidebar-card h2{margin-bottom:14px;font-size:18px}.calendar-legend-list,.calendar-upcoming-list{display:flex;flex-direction:column;gap:10px}.calendar-legend-item,.calendar-upcoming-item{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}.calendar-legend-copy,.calendar-upcoming-copy{display:flex;flex-direction:column;gap:2px}.calendar-color-dot{width:14px;height:14px;border-radius:999px;flex-shrink:0}.calendar-upcoming-item{width:100%}.calendar-agenda-item{display:grid;grid-template-columns:180px 1fr;gap:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;width:100%}.calendar-agenda-date{padding-left:12px;border-left:4px solid var(--brand);font-weight:700}.calendar-agenda-title{display:inline-flex;align-items:center;gap:6px;font-weight:700}.calendar-upcoming-copy strong,.calendar-day-event-title{display:inline-flex;align-items:center;gap:6px}.calendar-agenda-time{color:#475569;font-size:13px}.calendar-agenda-description{margin-top:8px;color:#475569}.calendar-modal-backdrop{position:fixed;inset:0;background:#0f172a75;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.calendar-modal{width:min(920px,100%);background:#fff;border-radius:20px;padding:20px;box-shadow:0 30px 90px #0f172a59}.calendar-day-modal{width:min(760px,100%)}.calendar-day-modal-title{margin:0}.calendar-day-modal-meta{margin:4px 0 14px;color:#64748b}.calendar-day-event-list{max-height:min(55vh,520px);overflow:auto;padding-right:4px}.calendar-day-event-items{margin:0;padding:0;list-style:none;display:grid;gap:10px}.calendar-day-event-item{margin:0;padding:0}.calendar-day-event-button{width:100%;text-align:left;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:12px 14px;display:grid;gap:7px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.calendar-day-event-button:hover{border-color:#bfdbfe;background:#f0f7ff;box-shadow:0 8px 22px #0f172a17}.calendar-day-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.calendar-day-event-time{font-size:12px;font-weight:700;white-space:nowrap}.calendar-day-event-meta{color:#475569;font-size:13px}.calendar-day-event-location,.calendar-day-event-description{color:#334155;margin:0;font-size:13px;line-height:1.35}.calendar-day-modal-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-day-modal-actions{display:inline-flex;gap:8px}.calendar-modal-header{margin-bottom:16px}.calendar-modal-close{background:transparent;font-size:18px;color:#64748b}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-form-field{display:flex;flex-direction:column;gap:8px}.calendar-form-field span{font-size:13px;font-weight:600;color:#334155}.calendar-form-field input,.calendar-form-field textarea,.calendar-form-field select,.settings-inline-field .settings-input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;background:#fff}.calendar-form-field textarea{resize:vertical}.calendar-form-field-wide{grid-column:span 2}.calendar-checkbox-field{flex-direction:row;align-items:center;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.calendar-member-options{display:grid;gap:8px;max-height:220px;overflow-y:auto;padding-right:6px}.calendar-checkbox-field--member{justify-content:flex-start;align-items:flex-start;gap:10px}.calendar-checkbox-field--member span{line-height:1.3;white-space:normal}.calendar-field-hint{margin:2px 2px 0;font-size:12px;color:#64748b}.calendar-form-footer{margin-top:18px}.calendar-form-actions{display:flex;margin-left:auto;gap:10px}.calendar-secondary-button{background:#eef2ff;color:#1e3a8a;padding:12px 16px}.calendar-danger-button{background:#fee2e2;color:#991b1b;padding:12px 16px}.settings-section-divider{height:1px;background:#e2e8f0;margin:8px 0 18px}.calendar-location-field{display:flex;gap:6px;align-items:center}.calendar-location-field input{flex:1;min-width:0}.calendar-maps-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:8px 10px;background:#e0f2fe;color:#0369a1;border-radius:8px;text-decoration:none;font-size:.82rem;font-weight:600;white-space:nowrap;transition:background .15s}.calendar-maps-btn:hover{background:#bae6fd}.calendar-maps-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.calendar-maps-link:hover{color:#0369a1}.settings-checkbox-row{justify-content:flex-start;gap:10px;margin-bottom:12px;color:#334155}.settings-inline-row{justify-content:flex-start;align-items:flex-end;gap:12px}.settings-inline-field{flex:1;min-width:180px}@media(max-width:1100px){.calendar-grid-shell{grid-template-columns:1fr}.calendar-sidebar-panel{order:-1}}@media(max-width:900px){.calendar-hero,.calendar-toolbar,.calendar-form-footer{align-items:flex-start;flex-direction:column}.calendar-form-grid,.calendar-week-view,.calendar-month-grid,.calendar-weekday-row,.calendar-agenda-item{grid-template-columns:1fr}.calendar-form-field-wide{grid-column:span 1}.settings-inline-row{flex-direction:column;align-items:stretch}}.chat-header-area{background:var(--panel);padding:20px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:20px}.chat-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.chat-header-title{margin:0}.chat-header-controls{display:flex;gap:10px}.chat-toggle-sessions{padding:8px 16px;background:var(--brand);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.chat-new-session{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.chat-clear-session{padding:8px 16px;background:#f44336;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.chat-voice-settings{background:var(--bg);padding:12px;border-radius:8px;display:flex;gap:20px;flex-wrap:wrap;align-items:center}.chat-voice-label{display:flex;align-items:center;gap:8px}.chat-voice-checkbox{width:16px;height:16px;cursor:pointer}.chat-voice-text{font-size:14px}.chat-voice-select{padding:6px 12px;border:2px solid transparent;border-radius:8px;background:var(--panel);font-size:14px;cursor:pointer}.chat-voice-play{padding:6px 12px;background:var(--brand);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.chat-messages-panel{background:var(--panel);padding:20px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:20px;overflow-y:auto;flex:1;max-height:calc(100vh - 400px)}.chat-empty-state{text-align:center;color:#999;margin-top:40px}.chat-empty-message{font-size:14px}.chat-messages-list{display:flex;flex-direction:column;gap:15px}.chat-message{padding:16px;border-radius:12px;border-left:4px solid;animation:fadeIn .3s}.chat-message.user{background:#e7f3ff;border-left-color:#2e7bdc}.chat-message.assistant{background:#f8f9fa;border-left-color:#9e9e9e}.chat-message.system{background:#fff8e1;border-left-color:#ffc107}.chat-message-header{display:flex;align-items:center;gap:8px}.chat-message-role-user{font-weight:700;color:#2e7bdc;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.chat-message-role-assistant{font-weight:700;color:#757575;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.chat-message-role-system{font-weight:700;color:#f9a825;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.chat-message-body{margin:8px 0}.chat-message-body-user{white-space:pre-wrap}.chat-message-body-markdown{line-height:1.55}.chat-message-body-markdown p{margin:.35rem 0}.chat-message-body-markdown ul,.chat-message-body-markdown ol{margin:.45rem 0 .45rem 1.1rem;padding:0}.chat-message-body-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em;background:#0f172a14;border-radius:4px;padding:.08rem .28rem}.chat-message-body-markdown pre{margin:.5rem 0;padding:.7rem .8rem;border-radius:10px;background:#0f172a;color:#e2e8f0;overflow-x:auto}.chat-message-body-markdown pre code{background:transparent;color:inherit;padding:0}.chat-message-body-markdown blockquote{margin:.45rem 0;padding-left:.65rem;border-left:3px solid #93c5fd;color:#475569}.chat-message-body-markdown a{color:#2563eb;text-decoration:underline}.chat-message-footer{display:flex;gap:8px;align-items:center;justify-content:space-between}.chat-message-time{opacity:.7}.chat-tts-button{padding:4px 12px;background:var(--brand);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px}.chat-input-form{display:flex;gap:10px}.chat-prompt-tools{position:relative;display:flex;align-items:center;gap:10px;margin-bottom:10px}.chat-prompt-toggle{border:none;border-radius:999px;padding:8px 14px;background:linear-gradient(120deg,#2e7bdc,#36a3d9);color:#fff;font-weight:700;font-size:13px;cursor:pointer}.chat-prompt-hint{font-size:13px;color:#5a6777}.chat-prompt-popup{position:absolute;left:0;bottom:calc(100% + 8px);width:min(680px,calc(100vw - 80px));background:var(--panel);border:1px solid #d5e0ec;border-radius:14px;box-shadow:0 16px 40px #0f172a2e;z-index:25;padding:12px}.chat-prompt-popup-header{font-size:13px;font-weight:700;color:#3c4b5b;margin-bottom:8px}.chat-prompt-list{max-height:240px;overflow-y:auto;display:grid;gap:8px}.chat-prompt-item{width:100%;text-align:left;background:#f8fbff;border:1px solid #dce6f2;border-radius:10px;padding:10px;cursor:pointer;display:grid;gap:4px}.chat-prompt-item:hover{background:#eef5ff;border-color:#b8cce8}.chat-prompt-item-title{font-size:12px;font-weight:700;color:#24425f}.chat-prompt-item-text{font-size:13px;color:#334a61}.chat-prompt-item-reason{font-size:12px;color:#60758c}.chat-input-field{flex:1;padding:16px;border:2px solid transparent;background:var(--panel);border-radius:12px;font-size:15px;box-shadow:var(--shadow)}.chat-send-button,.chat-record-button{padding:16px 24px;background:var(--brand);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:var(--shadow);min-width:100px}.chat-record-button.recording{background:#e53935;animation:pulse 1.5s infinite}@media(max-width:900px){.chat-prompt-tools{flex-wrap:wrap;align-items:flex-start}.chat-prompt-popup{width:min(680px,calc(100vw - 36px))}}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.dashboard-sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-auto-rows:400px;gap:20px;margin-top:40px}.dashboard-sections-grid>div{display:flex;flex-direction:column;min-height:0}.dashboard-sections-grid>div>h2{margin:0 0 10px;font-size:20px;line-height:1.25}.dashboard-panel{padding:20px;background:var(--panel);border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:1;min-height:0;overflow-y:auto}.dashboard-empty-state{text-align:center;color:#999}.dashboard-birthday-list{list-style:none;padding:0;margin:0}.dashboard-birthday-item{padding:14px;background:var(--panel);margin:8px 0;border-radius:4px;border-left:4px solid var(--brand)}.dashboard-birthday-item.urgent{border-left-color:#e74c3c}.dashboard-birthday-row{display:flex;justify-content:space-between;align-items:center}.dashboard-birthday-subtext{font-size:13px;color:#666;margin-top:4px}.dashboard-birthday-countdown{font-size:13px;font-weight:700;color:var(--brand)}.dashboard-birthday-countdown.urgent{color:#e74c3c}.dashboard-tree-panel{overflow-x:auto}.dashboard-intent-analytics{display:grid;gap:14px}.dashboard-intent-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-intent-summary-card{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#f8fbff;border:1px solid #d8e6f5}.dashboard-intent-summary-card strong{font-size:22px;line-height:1.1;color:#1f3b58}.dashboard-intent-summary-label{font-size:12px;color:#60758c}.dashboard-intent-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.dashboard-intent-heading{margin:0 0 8px;font-size:14px;color:#2a3f56}.dashboard-intent-list,.dashboard-intent-trend-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dashboard-intent-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.dashboard-intent-name{font-size:13px;color:#34475d;text-transform:capitalize}.dashboard-intent-count{font-weight:700;color:#1f3b58}.dashboard-intent-trend-item{display:grid;grid-template-columns:88px minmax(0,1fr) 32px;align-items:center;gap:8px}.dashboard-intent-trend-day{font-size:12px;color:#5f7388}.dashboard-intent-trend-bar-wrap{height:10px;border-radius:999px;background:#e8eef5;overflow:hidden}.dashboard-intent-trend-bar{height:100%;border-radius:999px;background:linear-gradient(120deg,#2e7bdc,#36a3d9)}.dashboard-intent-trend-value{font-size:12px;text-align:right;color:#36506a;font-weight:700}@media(max-width:900px){.dashboard-intent-summary-grid,.dashboard-intent-columns{grid-template-columns:1fr}.dashboard-intent-trend-item{grid-template-columns:72px minmax(0,1fr) 28px}}.family-node{margin-top:8px}.family-node.depth-0{margin-top:0}.family-node.depth-1{margin-left:30px}.family-node.depth-2{margin-left:60px}.family-node.depth-3{margin-left:90px}.family-node.depth-4{margin-left:120px}.family-node.depth-5{margin-left:150px}.family-node.depth-6{margin-left:180px}.family-node-label{padding:8px 12px;background:#ecf0f1;color:#333;border-radius:4px;display:inline-block;font-size:14px}.family-node-label.root{background:var(--brand);color:#fff;font-weight:700}.dashboard-card{background:var(--panel);padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.dashboard-card-icon{font-size:32px;margin-bottom:10px}.dashboard-card-title{color:#666;font-size:14px}.dashboard-card-value{font-size:24px;font-weight:700;margin-top:8px}.dashboard-weather{display:flex;flex-direction:column;gap:16px}.dashboard-weather-main{display:flex;align-items:center;gap:20px}.dashboard-weather-temp{font-size:36px;font-weight:700}.dashboard-weather-desc{font-size:16px;font-weight:600}.dashboard-weather-meta{font-size:13px;color:#666;margin-top:4px}.dashboard-weather-source{font-size:12px;color:#6b7280;margin-top:6px}.dashboard-weather-details{display:grid;gap:8px;font-size:14px;color:#444}.layout.theme-dark .dashboard-panel{background:#111a29;border:1px solid #243449;box-shadow:0 10px 24px #00000057}.layout.theme-dark .dashboard-empty-state{color:#b4c2d5}.layout.theme-dark .dashboard-weather{background:linear-gradient(160deg,#1e40af3d,#0f172a66);border:1px solid rgba(147,197,253,.22);border-radius:12px;padding:14px}.layout.theme-dark .dashboard-weather-temp{color:#f8fbff}.layout.theme-dark .dashboard-weather-desc{color:#e7f0ff}.layout.theme-dark .dashboard-weather-meta{color:#c8d6ea}.layout.theme-dark .dashboard-weather-source{color:#b9c8dd}.layout.theme-dark .dashboard-weather-details{color:#d5e3f6}.dashboard-joke{padding:16px 0}.dashboard-markdown{font-size:14px;line-height:1.5}.dashboard-markdown>:first-child{margin-top:0}.dashboard-markdown>:last-child{margin-bottom:0}.dashboard-markdown p,.dashboard-markdown ul,.dashboard-markdown ol{margin:0 0 8px}.dashboard-joke-content{font-size:15px;line-height:1.6;color:var(--ink);margin:0;font-style:italic}.dashboard-links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dashboard-link-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f7fb;border-radius:8px;padding:10px 12px}.dashboard-link-item a{color:var(--ink);text-decoration:none;font-weight:600}.dashboard-link-category{font-size:12px;background:#2e7bdc1f;color:var(--brand);padding:4px 8px;border-radius:999px}.dashboard-links-filters{display:flex;gap:12px;margin-bottom:16px;padding:0 0 12px;border-bottom:1px solid #e7eef5}.dashboard-search-input{flex:1;padding:10px 14px;border:2px solid #e7eef5;font-size:14px;background:#fff;transition:all .2s;display:none;border-radius:0;box-shadow:none}.dashboard-search-input:hover{border-color:#cbd5e0}.dashboard-category-select{padding:10px 14px;border:2px solid #e7eef5;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:140px;transition:all .2s}.dashboard-category-select:hover{border-color:#cbd5e0}@media(max-width:900px){.dashboard-sections-grid{grid-auto-rows:auto}.dashboard-panel{overflow-y:visible}}.settings-card{background:var(--panel);padding:30px;border-radius:8px;max-width:600px;box-shadow:0 2px 8px #0000001a}.settings-field{margin-bottom:25px}.settings-label{display:block;margin-bottom:8px;font-weight:700}.settings-textarea,.settings-input{width:100%;padding:10px;border-radius:4px;border:1px solid #ddd;font-size:16px;box-sizing:border-box;font-family:inherit}.settings-textarea{min-height:100px;font-family:monospace}.settings-help{color:#999;margin-top:5px;display:block}.settings-save{padding:12px 24px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700}.settings-save:disabled{opacity:.6}.members-add-button{padding:10px 20px;background:var(--brand);color:#fff;border:none;border-radius:4px;cursor:pointer;margin-bottom:20px;font-size:16px}.member-form{background:var(--panel);padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a;max-height:80vh;overflow-y:auto}.member-form-title{margin-top:0}.member-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border-radius:12px;background:#eef3f8;border:1px solid #d7e3ef;margin:0 0 16px}.member-tab{border:none;background:transparent;color:#3b4b5f;font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer}.member-tab.active{background:#fff;color:var(--brand);box-shadow:0 1px 2px #1118272e}.member-section{margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #eee}.member-section-title{margin-top:0;color:#333}.member-field{margin-bottom:15px}.member-label{display:block;margin-bottom:5px}.member-input,.member-textarea,.member-select{width:100%;padding:8px;border-radius:4px;border:1px solid #ddd;font-size:16px;box-sizing:border-box}.member-textarea{font-size:14px;min-height:60px}.relationships-list{margin:0 0 15px;padding:0 0 0 20px}.relationships-item{margin-bottom:8px;font-size:14px}.relationships-empty{margin:0 0 15px;color:#999;font-size:14px}.relationships-label{margin:10px 0;font-size:14px;font-weight:700;color:#333}.relationships-controls{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.relationships-select{flex:1 1 auto;min-width:200px}.relationships-type-select{flex:1 1 auto;min-width:150px}.relationships-add{padding:8px 16px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.member-actions{display:flex;gap:10px;justify-content:flex-end}.member-button-cancel{padding:10px 20px;background:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.member-button-save{padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.member-button-save:disabled{opacity:.6}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.member-card{background:var(--panel);padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.member-card-title{margin:0 0 10px}.member-card-muted{margin:5px 0;color:#666;font-size:14px}.member-card-meta{margin:5px 0;color:#999;font-size:14px}.member-card-actions{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}.layout.theme-dark .member-tabs{background:#1f3349;border-color:#34495f}.layout.theme-dark .member-tab{color:#bfd1e3}.layout.theme-dark .member-tab.active{background:#29415b;color:#fff}.member-card-edit{padding:8px 16px;background:var(--brand);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.member-card-delete{padding:8px 16px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.feeds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px}.feeds-panel{background:var(--panel);border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a}.feeds-form{display:grid;gap:10px;margin:14px 0 20px}.feeds-form input{padding:10px 12px;border-radius:8px;border:1px solid #ddd}.feeds-form button{padding:10px 12px;background:var(--brand);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.feeds-sources{display:flex;flex-direction:column;gap:12px}.feeds-source-card{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;background:#f5f7fb}.feeds-source-name{font-weight:600;margin-bottom:4px}.feeds-source-url{font-size:12px;color:#666;word-break:break-all}.feeds-source-status{font-size:11px;color:#666;margin-top:4px}.feeds-source-actions{display:flex;flex-direction:column;gap:8px}.feeds-source-actions button{border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;cursor:pointer;background:#f3f4f6;color:var(--ink);font-size:12px}.feeds-source-actions .btn-delete{background:#dc2626;border-color:#dc2626;color:#fff}.feeds-source-actions .btn-delete:hover{background:#b91c1c;border-color:#b91c1c}.feeds-panel-header{display:flex;justify-content:space-between;align-items:center}.feeds-refresh{background:var(--brand);border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer}.feeds-items{margin-top:16px;display:flex;flex-direction:column;gap:12px}.feeds-item{display:block;padding:12px;border-radius:8px;background:#f5f7fb;color:inherit;text-decoration:none;border:1px solid transparent}.feeds-item:hover{border-color:var(--brand)}.feeds-item-title{font-weight:600;margin-bottom:6px}.feeds-item-meta{display:flex;gap:12px;font-size:12px;color:#666;margin-bottom:8px}.feeds-item-summary{font-size:13px;color:#444}.feeds-empty{padding:20px;text-align:center;color:#999}.links-tabs{display:inline-flex;gap:8px;padding:6px;background:#e7eef5;border-radius:12px;margin-top:8px}.links-tab{border:none;background:transparent;color:#3b4b5f;font-size:14px;font-weight:600;padding:8px 14px;border-radius:8px;cursor:pointer;transition:background-color .2s,color .2s}.links-tab:hover{background:#ffffffa6}.links-tab.active{background:#fff;color:var(--brand);box-shadow:0 1px 2px #1118272e}.links-grid{display:grid;grid-template-columns:minmax(320px,1fr);gap:20px;margin-top:20px}.links-panel{background:var(--panel);border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a}.links-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.links-form,.form-grid{display:grid;gap:10px;margin:12px 0 20px}.form-grid-full{display:block}.form-grid-full label{display:grid;gap:6px;font-size:13px;color:#3b4b5f}.form-grid-full label span{font-weight:600}.links-form input,.links-form select,.links-form textarea,.form-grid input,.form-grid select,.form-grid textarea{padding:10px 12px;border-radius:8px;border:1px solid #ddd}.links-form button{padding:10px 12px;border:none;border-radius:8px;cursor:pointer;background:var(--brand);color:#fff;font-weight:600}.links-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#333}.links-category{padding:14px;border-radius:8px;background:#f5f7fb;margin-bottom:16px}.links-category-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.links-category-name{font-weight:600;margin-bottom:4px}.links-category-description{font-size:12px;color:#666}.links-list{display:flex;flex-direction:column;gap:10px}.links-item{display:flex;justify-content:space-between;gap:12px;background:#fff;padding:10px 12px;border-radius:8px}.links-item a{color:var(--ink);font-weight:600;text-decoration:none}.links-item p{margin-top:4px;font-size:12px;color:#666}.links-item-actions{display:flex;flex-direction:column;gap:6px}.homeschool-note-actions{align-items:flex-end;margin-left:auto}.homeschool-note-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.homeschool-note-main{display:block;flex:1;text-align:left}.homeschool-note-main strong,.homeschool-note-main small,.homeschool-note-main p{text-align:left}.homeschool-note-timestamp{display:block;margin-top:2px}.homeschool-note-editor-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.homeschool-quick-add-list{max-height:420px;overflow:auto;padding-right:4px}.homeschool-quick-add-item{display:block;border:1px solid #d8e4f0;border-radius:12px;background:#f9fbfe;padding:10px 12px}.homeschool-quick-add-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.homeschool-quick-add-row input[type=checkbox]{margin-top:4px;flex:0 0 auto}.homeschool-quick-add-main{display:grid;gap:4px;text-align:left}.homeschool-quick-add-main small{color:#61748a;font-size:12px}.homeschool-quick-add-main p{margin:0;color:#3f4d5e;white-space:pre-wrap}.links-item-actions button{border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;cursor:pointer;background:#f3f4f6;color:var(--ink);font-size:12px}.links-item-actions .btn-delete{background:#dc2626;border-color:#dc2626;color:#fff}.links-item-actions .btn-delete:hover{background:#b91c1c;border-color:#b91c1c}.links-delete{border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:12px;background:#e74c3c;color:#fff}.links-pill{display:inline-flex;margin-top:6px;padding:3px 8px;border-radius:999px;font-size:11px;background:#2e7bdc1f;color:var(--brand)}.links-empty{padding:14px;text-align:center;color:#888}.layout.theme-dark .links-tabs{background:#162336}.layout.theme-dark .links-tab{color:#c9d5e6}.layout.theme-dark .links-tab:hover{background:#94a3b833}.layout.theme-dark .links-tab.active{background:#243449;color:#8fc0ff;box-shadow:none}.ivr-container{display:flex;height:calc(100vh - 100px);gap:20px}.ivr-sidebar{width:350px;background:var(--panel);border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.ivr-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ivr-sidebar-title{margin:0}.ivr-refresh-button{padding:6px 12px;background:var(--brand);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.ivr-empty{text-align:center;padding:40px;color:#999}.ivr-call-item{padding:14px;margin-bottom:10px;background:#f5f5f5;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .2s}.ivr-call-item:hover{background:#eee}.ivr-call-item.active{background:#e3f2fd;border-color:var(--brand)}.ivr-call-date{font-size:11px;color:#666;margin-bottom:4px}.ivr-call-id{font-size:12px;font-family:monospace;color:#333;margin-bottom:6px}.ivr-call-meta{display:flex;justify-content:space-between;font-size:11px;color:#666}.ivr-call-phone{font-size:11px;color:#666;margin-bottom:6px}.ivr-call-delete{margin-top:8px;background:none;border:none;color:#999;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:6px}.ivr-call-delete:hover{background:#ffebee;color:#c62828}.ivr-messages-panel{flex:1;background:var(--panel);border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.ivr-mobile-toolbar{display:none;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.ivr-toggle-button{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:12px}.ivr-empty-panel{text-align:center;padding:60px;color:#999}.ivr-empty-icon{font-size:48px;margin-bottom:16px}.ivr-transcript-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.ivr-transcript-title{margin:0 0 8px}.ivr-transcript-id{font-size:13px;color:#666;font-family:monospace}.ivr-system-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;cursor:pointer;color:#666}.ivr-system-toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px}.ivr-message-row{margin-bottom:16px;display:flex}.ivr-message-row.user{justify-content:flex-end}.ivr-message-row.assistant,.ivr-message-row.system{justify-content:flex-start}.ivr-message-bubble{max-width:75%;padding:12px 16px;border-radius:8px;color:#333}.ivr-message-bubble.user{background:var(--brand);color:#fff}.ivr-message-bubble.assistant{background:#ecf0f1}.ivr-message-bubble.system{background:#fff3cd}.ivr-system-text{font-size:12px;font-style:italic;color:#856404}.ivr-message-meta{font-size:11px;opacity:.7;margin-bottom:6px}.ivr-message-text{font-size:14px}@media(max-width:900px){.ivr-container{flex-direction:column;height:auto}.ivr-mobile-toolbar{display:flex}.ivr-sidebar{width:100%;max-height:45vh}.ivr-sidebar.collapsed,.ivr-container.mobile.show-calls .ivr-messages-panel{display:none}.ivr-container.mobile .ivr-messages-panel{width:100%;padding:16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;top:20px;right:20px;z-index:1000;padding:10px 14px;border-radius:6px;box-shadow:0 6px 16px #0000001f;font-size:14px;max-width:320px}.toast.error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.toast.success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.loading-dot{width:8px;height:8px;border-radius:50%;background-color:var(--brand)}.loading-dot-1{animation:pulse 1.4s ease-in-out 0s infinite}.loading-dot-2{animation:pulse 1.4s ease-in-out .2s infinite}.loading-dot-3{animation:pulse 1.4s ease-in-out .4s infinite}.messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.messages-filter{display:flex;gap:8px}.messages-filter-button{padding:10px 20px;background:var(--panel);border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink);transition:all .2s}.messages-filter-button:hover{background:var(--bg-accent);border-color:var(--brand)}.messages-filter-button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.messages-refresh-button{padding:10px 20px;background:var(--panel);border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink);transition:all .2s}.messages-refresh-button:hover{background:var(--bg-accent);border-color:var(--brand)}.messages-loading{text-align:center;padding:40px;color:#666;font-size:16px;background:var(--panel);border-radius:12px;box-shadow:var(--shadow)}.messages-empty{text-align:center;padding:60px 20px;color:#999;font-size:16px;background:var(--panel);border-radius:12px;box-shadow:var(--shadow)}.messages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.message-card{background:var(--panel);border-radius:12px;box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:16px;transition:all .2s;position:relative;border:2px solid transparent}.message-card.unread{border-color:var(--brand);background:linear-gradient(to bottom,#f0f7ff,var(--panel))}.message-card.unread:before{content:"●";position:absolute;top:16px;right:16px;color:var(--brand);font-size:20px}.message-card:hover{box-shadow:0 8px 24px #1a283426;transform:translateY(-2px)}.message-card-header{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.message-from-to{display:flex;flex-direction:column;gap:4px;font-size:14px}.message-from{font-weight:700;color:var(--ink);font-size:16px}.message-phone{font-size:13px;color:#6b7280;margin-top:2px}.message-arrow{color:#9ca3af;font-size:14px;margin:4px 0}.message-to{font-weight:600;color:var(--brand);font-size:15px}.message-timestamp{font-size:12px;color:#9ca3af;margin-top:4px}.message-content{flex:1;display:flex;flex-direction:column;gap:12px}.message-text{color:var(--ink);line-height:1.6;font-size:15px;white-space:pre-wrap}.message-audio{margin-top:8px}.message-audio audio{width:100%;height:40px;border-radius:8px}.message-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #e5e7eb;flex-wrap:wrap}.message-call-id{font-size:12px;color:#6b7280;font-family:monospace;padding:4px 8px;background:#f3f4f6;border-radius:6px}.message-actions{display:flex;gap:8px;margin-left:auto}.message-btn-mark-read{padding:8px 14px;background:var(--brand);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.message-btn-mark-read:hover{background:#2566b8;transform:scale(1.05)}.message-btn-delete{padding:8px 14px;background:#fee2e2;color:#991b1b;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.message-btn-delete:hover{background:#fecaca;transform:scale(1.05)}@media(max-width:768px){.messages-grid{grid-template-columns:1fr}.messages-header{flex-direction:column;align-items:stretch}.messages-filter{width:100%}.messages-filter-button{flex:1}}.jokes-add-section{background:var(--panel);padding:24px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:24px}.jokes-add-form{display:flex;flex-direction:column;gap:12px}.jokes-add-form textarea{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;resize:vertical}.jokes-add-form button{align-self:flex-start;padding:10px 20px;background-color:var(--brand);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.jokes-list-section{background:var(--panel);padding:24px;border-radius:12px;box-shadow:var(--shadow)}.jokes-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.joke-item{background:#f9fafb;padding:16px;border-radius:8px;border:1px solid #e5e7eb}.joke-text{margin:0 0 12px;line-height:1.6;color:var(--ink)}.joke-actions{display:flex;gap:8px}.joke-actions button{padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#f3f4f6;color:var(--ink)}.joke-actions button:hover{background:#d1d5db}.joke-actions .btn-edit{background:#2563eb;border-color:#2563eb;color:#fff}.joke-actions .btn-edit:hover{background:#1d4ed8;border-color:#1d4ed8}.joke-actions .btn-delete{background:#dc2626;border-color:#dc2626;color:#fff}.joke-actions .btn-delete:hover{background:#b91c1c;border-color:#b91c1c}.joke-edit textarea{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit}.ivr-page{height:100%;display:flex;flex-direction:column}.ivr-tabs{display:flex;gap:8px;margin-bottom:16px;background:var(--panel);padding:12px;border-radius:12px;box-shadow:var(--shadow)}.ivr-tab{padding:10px 20px;background:transparent;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);transition:all .2s}.ivr-tab:hover{background:var(--bg-accent)}.ivr-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.ivr-queries-container{background:var(--panel);padding:24px;border-radius:12px;box-shadow:var(--shadow);overflow-y:auto}.ivr-queries-container h2{margin:0 0 8px;font-size:24px}.ivr-queries-description{margin:0 0 24px;color:#6b7280;line-height:1.5}.ivr-query-form{background:var(--bg-accent);padding:20px;border-radius:10px;margin-bottom:32px}.ivr-query-form h3{margin:0 0 16px;font-size:18px}.ivr-query-form .form-group{margin-bottom:16px}.ivr-query-form label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:var(--ink)}.ivr-query-form input,.ivr-query-form textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff}.ivr-query-form textarea{resize:vertical;font-family:inherit;min-height:120px}.ivr-query-form small{display:block;margin-top:4px;color:#6b7280;font-size:12px}.form-actions{display:flex;gap:12px;margin-top:16px}.btn-primary{padding:10px 20px;background:var(--brand);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px}.btn-secondary{padding:10px 20px;background:#e5e7eb;color:var(--ink);border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px}.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-delete{background:#dc2626;color:#fff}.btn-delete:hover{background:#b91c1c}.ivr-queries-list{margin-top:24px}.ivr-queries-list h3{margin:0 0 16px;font-size:18px}.ivr-query-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-bottom:16px}.ivr-query-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ivr-query-header h4{margin:0;font-size:16px;color:var(--brand);text-transform:capitalize}.ivr-query-actions{display:flex;gap:8px}.ivr-query-content{margin:12px 0;line-height:1.6;color:#374151;white-space:pre-wrap}.ivr-query-meta{font-size:12px;color:#9ca3af;margin-top:12px}.channels-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid #e5e7eb}.tab-button{padding:12px 24px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#6b7280;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-button:hover{color:var(--brand)}.tab-button.active{color:var(--brand);border-bottom-color:var(--brand)}.channels-section{background:var(--panel);padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.channels-section h2{margin-bottom:20px;font-size:24px;color:var(--ink)}.channels-section h3{margin-top:20px;margin-bottom:15px;font-size:18px;color:var(--ink)}.jobs-list{margin-bottom:30px}.empty-state{text-align:center;padding:30px;color:#9ca3af;font-style:italic}.job-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:16px;margin-bottom:12px;transition:all .2s}.job-card:hover{border-color:var(--brand);box-shadow:0 4px 12px #2e7bdc1a}.job-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.job-title{display:flex;align-items:center;gap:12px;font-weight:600}.job-title input[type=checkbox]{cursor:default}.job-type{color:var(--ink);font-size:16px}.job-time{font-size:14px;color:#6b7280;background:#e5e7eb;padding:4px 8px;border-radius:4px;font-family:monospace}.job-actions{display:flex;gap:8px;flex-wrap:wrap}.job-button{padding:8px 12px;border:1px solid #e5e7eb;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.job-button:hover{background:var(--bg-accent)}.job-button.run{color:#059669;border-color:#059669}.job-button.edit{color:var(--brand);border-color:var(--brand)}.job-button.delete{color:#dc2626;border-color:#dc2626}.job-details{padding:12px;background:#fff;border-radius:4px;font-size:13px}.job-details p{margin:6px 0;color:#374151}.job-details strong{color:var(--ink)}.job-form-section{margin-top:30px;padding:20px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.job-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--ink);font-size:14px}.form-group input,.form-group textarea,.form-group select{padding:10px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2e7bdc1a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;margin-top:12px}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:var(--ink);border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.telegram-setup-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:24px}.setup-section{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.setup-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.setup-section.info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:16px}.setup-section ol{margin-left:24px;margin-bottom:16px;line-height:1.8}.setup-section li{margin-bottom:8px;color:#374151}.setup-section code{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:13px}.webhook-url-box{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:12px;margin:12px 0;font-family:monospace;font-size:12px}.webhook-url-box code{flex:1;word-break:break-all;background:none;padding:0}.copy-button{padding:8px 12px;background:var(--brand);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap}.copy-button:hover{opacity:.9}.api-example{display:block;background:#fff;color:#111827;border:1px solid #d1d5db;padding:12px;border-radius:4px;margin:12px 0;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.hint{color:#6b7280;font-size:13px;margin:12px 0 8px}.status-message{padding:12px 16px;margin-bottom:20px;background:#dcfce7;border:1px solid #86efac;border-radius:6px;color:#166534;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.webhook-options{background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;padding:12px;margin:12px 0}.webhook-options ul{margin:8px 0 8px 24px;line-height:1.8}.webhook-options li{margin-bottom:6px;color:#78350f}.webhook-options a{color:var(--brand);text-decoration:underline}.info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:16px;margin:16px 0}.info-box p{margin-bottom:8px;font-weight:600;color:#0c4a6e}.info-box ol{margin-left:24px;line-height:1.8}.info-box li{margin-bottom:6px;color:#075985}.info-box code{background:#fff;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:12px;border:1px solid #bae6fd}.bible-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}.bible-control-group{display:flex;flex-direction:column;gap:6px}.bible-control-group label{font-size:13px;color:#4b5563;font-weight:600}.bible-control-group input,.bible-control-group select{padding:10px 12px;border:2px solid #e7eef5;border-radius:8px;background:var(--panel)}.bible-reader-panel{margin-top:20px;padding:20px;background:var(--panel);border-radius:10px;box-shadow:0 2px 8px #0000001a}.bible-chapter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:16px}.bible-chapter-title{margin:0}.bible-tts-button{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:6px}.bible-tts-button:hover{background:#1e5ab8;transform:translateY(-1px)}.bible-tts-button:active{transform:translateY(0)}.bible-verse-list{display:flex;flex-direction:column;gap:12px}.bible-verse-item{line-height:1.7;font-size:16px}.bible-verse-number{font-weight:700;color:var(--brand);margin-right:8px}.bible-error{color:#b91c1c}.prayers-form{margin-top:18px;background:var(--panel);border-radius:10px;padding:16px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:10px}.prayers-form textarea{width:100%;border:2px solid #e7eef5;border-radius:8px;padding:12px;resize:vertical}.prayers-form button,.prayers-toggle{align-self:flex-start;border:none;background:var(--brand);color:#fff;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600}.prayers-toolbar{margin:14px 0}.prayers-toggle{background:var(--nav-accent)}.prayers-toggle.active{background:var(--brand)}.prayers-list{display:flex;flex-direction:column;gap:12px}.prayer-card{background:var(--panel);border-radius:10px;padding:14px;box-shadow:0 2px 8px #0000001a}.prayer-card.removed{opacity:.7}.prayer-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#64748b;margin-bottom:8px}.prayer-text{font-size:15px;line-height:1.6;margin-bottom:10px;white-space:pre-wrap}.prayer-actions{display:flex;gap:8px}.prayer-edit-area textarea{width:100%;border:2px solid #e7eef5;border-radius:8px;padding:10px;margin-bottom:8px;resize:vertical}.dashboard-prayers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dashboard-prayer-item{background:#f5f7fb;border-radius:8px;padding:10px 12px}.dashboard-prayer-text{margin:0;line-height:1.5}.dashboard-prayer-shared-by{margin-top:6px;font-size:12px;color:#64748b}.dashboard-verse{display:flex;flex-direction:column;gap:12px;padding:2px}.dashboard-verse-text{margin:0;font-size:16px;line-height:1.6;color:#1f2933;font-weight:500;font-style:italic}.dashboard-verse-reference{font-size:13px;color:#64748b;font-weight:600;margin-top:4px}.dashboard-verse-reason{font-size:12px;color:#7c8ba3;line-height:1.4;padding:8px 0;border-top:1px solid #e7eef5;border-bottom:1px solid #e7eef5}.dashboard-verse-button{align-self:flex-start;background:#2e7bdc;color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:4px}.dashboard-verse-button:hover{background:#1e5ab8;transform:translate(2px)}.dashboard-verse-button:active{transform:translate(0)}.recipes-page{display:grid;gap:24px}.recipes-page>header{display:grid;gap:8px}.recipes-page>header h1{margin:0;font-size:28px;font-weight:700;color:var(--ink)}.recipes-page>header p{margin:0;font-size:14px;color:#5b6b7d;line-height:1.5}.recipes-import-section,.recipes-form-section{display:grid;gap:12px;max-width:900px}.recipes-import-section h2,.recipes-form-section h2{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink)}.recipes-import-input-group{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.recipes-import-input-group input{flex:1;min-width:280px;padding:10px 12px;border-radius:8px;border:1px solid #d3deea;font-family:inherit;font-size:14px}.recipes-import-input-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2e7bdc1f}.recipes-form-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.recipes-form-header h2{margin:0}.recipes-form-fields{display:grid;gap:12px}.recipes-form-label{display:grid;gap:6px}.recipes-form-label>span{font-size:13px;font-weight:600;color:#3a4d63}.recipes-link-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.recipes-form-fields input,.recipes-form-fields textarea{padding:10px 12px;border-radius:8px;border:1px solid #d3deea;font-family:inherit;font-size:14px}.recipes-form-fields textarea{resize:vertical}.recipes-form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.recipes-form-grid input{padding:10px 12px;border-radius:8px;border:1px solid #d3deea;font-family:inherit;font-size:14px}.recipes-jsonld-icon{min-width:40px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.recipes-image-upload-row{display:grid;gap:8px;padding:10px 12px;border:1px dashed #c4d2e0;border-radius:10px;background:#f8fbff}.recipes-image-upload-row label{font-size:13px;font-weight:600;color:#3a4d63}.recipes-image-upload-row p{margin:0;font-size:12px;color:#5b6b7d;word-break:break-all}.recipes-form-actions{display:flex;gap:8px}.recipes-list{display:grid;gap:16px}.recipes-list h2{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.recipes-table-shell{overflow-x:auto;border:1px solid #d8e1ea;border-radius:14px;background:#fff;box-shadow:0 2px 8px #1a283414}.recipes-table{width:100%;border-collapse:collapse;min-width:820px}.recipes-table th,.recipes-table td{padding:14px 16px;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top;font-size:14px}.recipes-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6b7f93;background:#f8fbff}.recipes-table tbody tr:last-child td{border-bottom:none}.recipes-table-row{cursor:pointer}.recipes-table-row:hover{background:#f8fbff}.recipes-table-link{border:none;background:transparent;padding:0;color:var(--ink);font-size:15px;font-weight:700;cursor:pointer;text-align:left}.recipes-table-link:hover{color:var(--brand)}.recipes-table-times{display:inline-grid;gap:4px;color:#5b6b7d}.recipes-table-actions{display:flex;gap:8px;flex-wrap:wrap}.recipes-detail{display:grid;gap:14px}.recipes-detail-hero{border-radius:12px;overflow:hidden;border:1px solid #d8e1ea;background:#f8fbff}.recipes-detail-image{display:block;width:100%;max-height:320px;object-fit:cover}.recipes-detail-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:#5b6b7d}.recipes-detail-source{color:var(--brand);word-break:break-all}.recipes-detail-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.recipes-detail-section h3{margin:0 0 8px;font-size:15px;color:var(--ink)}.recipes-detail-section ul,.recipes-detail-section ol{margin:0;padding-left:20px;color:#3a4d63;line-height:1.6}.recipes-detail-notes{margin:0;padding-top:12px;border-top:1px solid #e6edf5;color:#5b6b7d}.recipes-detail-notes-html{margin-top:8px;line-height:1.55}.recipes-detail-notes-html p,.recipes-detail-notes-html ul,.recipes-detail-notes-html ol,.recipes-detail-notes-html blockquote,.recipes-detail-notes-html pre{margin:0 0 10px}.recipes-detail-instruction-html p,.recipes-detail-instruction-html ul,.recipes-detail-instruction-html ol,.recipes-detail-instruction-html blockquote,.recipes-detail-instruction-html pre{margin:0}.recipes-jsonld-viewer textarea{width:100%;resize:vertical;border:1px solid #d8e1ea;border-radius:12px;background:#f8fbff;color:#2a3a4e;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.45}.recipes-card{background:#fff;border:1px solid #d8e1ea;border-radius:12px;padding:16px;box-shadow:0 2px 8px #1a283414}.recipes-card-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.recipes-card-title-block h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink)}.recipes-card-meta{font-size:14px;color:#5b6b7d;line-height:1.5}.recipes-card-meta span:not(:last-child):after{content:" · ";margin:0 4px}.recipes-card-source{margin:8px 0 0;font-size:13px;color:var(--brand);word-break:break-all}.recipes-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-self:flex-start}.recipes-card-content{display:grid;gap:12px;margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.recipes-card-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}.recipes-card-section ul,.recipes-card-section ol{margin:0;padding-left:20px;font-size:13px;line-height:1.6;color:#3a4d63}.recipes-card-notes{margin-top:12px;padding-top:12px;border-top:1px solid #e6edf5;font-size:13px;color:#5b6b7d}.recipes-card-notes strong{color:var(--ink)}.layout.theme-dark .recipes-card{background:#1a2738;border-color:#2e4158;color:#dbe7f5}.layout.theme-dark .recipes-card h3,.layout.theme-dark .recipes-card h4{color:#e7eef8}.layout.theme-dark .recipes-card-meta,.layout.theme-dark .recipes-card-notes{color:#b9ccdf}.layout.theme-dark .recipes-table-shell{background:#1a2738;border-color:#2e4158}.layout.theme-dark .recipes-image-upload-row{background:#122234;border-color:#2e4158}.layout.theme-dark .recipes-form-label>span{color:#dbe7f5}.layout.theme-dark .recipes-image-upload-row label{color:#dbe7f5}.layout.theme-dark .recipes-image-upload-row p{color:#b9ccdf}.layout.theme-dark .recipes-table th{background:#122234;color:#9eb6ce;border-bottom-color:#2e4158}.layout.theme-dark .recipes-table td{border-bottom-color:#2e4158;color:#dbe7f5}.layout.theme-dark .recipes-table-row:hover{background:#122234}.layout.theme-dark .recipes-table-link{color:#e7eef8}.layout.theme-dark .recipes-table-link:hover,.layout.theme-dark .recipes-detail-source{color:#7eb8ff}.layout.theme-dark .recipes-table-times,.layout.theme-dark .recipes-detail-meta,.layout.theme-dark .recipes-detail-notes,.layout.theme-dark .recipes-detail-section ul,.layout.theme-dark .recipes-detail-section ol{color:#b9ccdf}.layout.theme-dark .recipes-detail-section h3{color:#e7eef8}.layout.theme-dark .recipes-detail-notes{border-top-color:#2e4158}.layout.theme-dark .recipes-detail-hero{border-color:#2e4158;background:#122234}.layout.theme-dark .recipes-jsonld-viewer textarea{border-color:#2e4158;background:#122234;color:#dbe7f5}.layout.theme-dark .recipes-card-source{color:#7eb8ff}.shopping-page{display:grid;gap:24px}.shopping-header-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.shopping-import-feedback{margin-top:-8px;background:#f5f9ff;border:1px solid #d8e3ef;border-radius:10px;padding:10px 12px;color:#2c425a}.shopping-import-feedback p{margin:0;font-weight:600}.shopping-import-feedback ul{margin:8px 0 0;padding-left:20px}.shopping-import-error{color:#b91c1c}.shopping-page>header{display:grid;gap:8px}.shopping-page>header h1{margin:0;font-size:28px;font-weight:700;color:var(--ink)}.shopping-page>header p{margin:0;font-size:14px;color:#5b6b7d;line-height:1.5}.shopping-form-section{display:grid;gap:12px;max-width:900px}.shopping-form-section h2{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink)}.shopping-form-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.shopping-form-header h2{margin:0}.shopping-form-fields{display:grid;gap:12px}.shopping-form-fields input,.shopping-form-fields select,.shopping-form-fields textarea{padding:10px 12px;border-radius:8px;border:1px solid #d3deea;font-family:inherit;font-size:14px}.shopping-form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.shopping-form-grid input,.shopping-form-grid select{padding:10px 12px;border-radius:8px;border:1px solid #d3deea;font-family:inherit;font-size:14px}.shopping-tabs{display:inline-flex;align-items:center;gap:6px;padding:4px;background:#e2ecf8b3;border:1px solid #d8e2ed;border-radius:12px;width:fit-content}.shopping-tab{border:none;background:transparent;color:#4d5d70;font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer}.shopping-tab:hover{background:#ffffffa8}.shopping-tab.active{background:#fff;color:var(--brand);box-shadow:0 1px 2px #11182729}.shopping-form-actions{display:flex;gap:8px}.shopping-list{display:grid;gap:16px}.shopping-popular-quick-add{display:grid;gap:8px;padding:12px;border-radius:12px;border:1px solid #d8e3ef;background:#f8fbff}.shopping-popular-quick-add h3{margin:0;font-size:14px;color:#35506c}.shopping-popular-quick-add-list{display:flex;gap:8px;flex-wrap:wrap}.shopping-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.shopping-list>h2{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.shopping-list-subtitle{margin:6px 0 0;font-size:13px;color:#60758b}.shopping-list-filters-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.shopping-list-filters-row label{display:grid;gap:6px;font-size:12px;font-weight:600;color:#60758b}.shopping-list-filters-row input,.shopping-list-filters-row select{padding:10px 12px;border-radius:8px;border:1px solid #d3deea;background:#fff;font-family:inherit;font-size:14px}.shopping-item-filters{display:inline-flex;gap:6px;padding:4px;background:#e2ecf8b3;border:1px solid #d8e2ed;border-radius:12px}.shopping-item-filter{border:none;background:transparent;color:#4d5d70;font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer}.shopping-item-filter:hover{background:#ffffffa8}.shopping-item-filter.active{background:#fff;color:var(--brand);box-shadow:0 1px 2px #11182729}.shopping-todo-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.shopping-todo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff;border:1px solid #d8e1ea;border-radius:14px;box-shadow:0 2px 8px #1a283414}.shopping-todo-row.checked{background:#f8fbff}.shopping-todo-main{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:0}.shopping-todo-copy{display:grid;gap:6px;min-width:0}.shopping-todo-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:#60758b}.shopping-todo-section{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#e8f0fa;color:#35506c;font-weight:600}.shopping-todo-list-name{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#dff7e9;color:#14532d;font-weight:600}.shopping-section{background:#fff;border:1px solid #d8e1ea;border-radius:12px;padding:16px;box-shadow:0 2px 8px #1a283414}.shopping-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--ink)}.shopping-items-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.shopping-item{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;padding:12px;background:#f8fbff;border-radius:8px;border:1px solid #dbe5ef}.shopping-item-label{display:flex;gap:10px;align-items:center;flex:1;min-width:0}.shopping-item-checkbox{flex-shrink:0;width:18px;height:18px;cursor:pointer}.shopping-item-text{font-size:14px;color:#3a4d63;text-decoration:none}.shopping-item.checked .shopping-item-text{text-decoration:line-through;opacity:.6}.shopping-item-actions{display:flex;gap:8px;flex-wrap:wrap}.shopping-item-notes{width:100%;font-size:13px;color:#5b6b7d;opacity:.85}.shopping-sections-panel{background:#fff;border:1px solid #d8e1ea;border-radius:12px;padding:16px;box-shadow:0 2px 8px #1a283414;display:grid;gap:14px}.shopping-sections-header h2{margin:0;font-size:18px}.shopping-sections-header p{margin:4px 0 0;color:#60758b;font-size:13px}.shopping-sections-add{display:flex;gap:10px;flex-wrap:wrap}.shopping-sections-add input{flex:1;min-width:220px;padding:10px 12px;border-radius:8px;border:1px solid #d3deea;font-size:14px}.shopping-sections-empty{color:#61758a;font-size:13px}.shopping-sections-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.shopping-sections-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dbe5ef;background:#f8fbff;border-radius:8px}.shopping-sections-name{font-weight:600;color:#30455f}.shopping-sections-edit-input{min-width:220px;max-width:360px;width:100%;padding:8px 10px;border:1px solid #d3deea;border-radius:8px}.shopping-sections-actions{display:flex;gap:8px;flex-wrap:wrap}.layout.theme-dark .shopping-section{background:#1a2738;border-color:#2e4158}.layout.theme-dark .shopping-tabs{background:#1a2738eb;border-color:#2f4159}.layout.theme-dark .shopping-list-subtitle{color:#b8cce0}.layout.theme-dark .shopping-popular-quick-add{background:#1a2738;border-color:#2e4158}.layout.theme-dark .shopping-popular-quick-add h3{color:#dbe7f5}.layout.theme-dark .shopping-item-filters{background:#1a2738eb;border-color:#2f4159}.layout.theme-dark .shopping-list-filters-row label{color:#b8cce0}.layout.theme-dark .shopping-list-filters-row input,.layout.theme-dark .shopping-list-filters-row select{background:#122234;border-color:#35516d;color:#e7eef8}.layout.theme-dark .shopping-item-filter{color:#b7cbdf}.layout.theme-dark .shopping-item-filter:hover{background:#2a3d52e6}.layout.theme-dark .shopping-item-filter.active{background:#24374d;color:#9ec7ff;box-shadow:none}.layout.theme-dark .shopping-tab{color:#b7cbdf}.layout.theme-dark .shopping-tab:hover{background:#2a3d52e6}.layout.theme-dark .shopping-tab.active{background:#24374d;color:#9ec7ff;box-shadow:none}.layout.theme-dark .shopping-section h3{color:#e7eef8}.layout.theme-dark .shopping-item{background:#0f1d2d;border-color:#2e4158}.layout.theme-dark .shopping-item-text{color:#dbe7f5}.layout.theme-dark .shopping-todo-row{background:#1a2738;border-color:#2e4158}.layout.theme-dark .shopping-todo-row.checked{background:#122234}.layout.theme-dark .shopping-todo-meta{color:#b8cce0}.layout.theme-dark .shopping-todo-section{background:#24374d;color:#dce8f6}.layout.theme-dark .shopping-todo-list-name{background:#254733;color:#dcfce7}.layout.theme-dark .shopping-sections-panel{background:#1a2738;border-color:#2e4158}.layout.theme-dark .shopping-sections-header h2{color:#e7eef8}.layout.theme-dark .shopping-sections-header p,.layout.theme-dark .shopping-sections-empty{color:#b8cce0}.layout.theme-dark .shopping-sections-add input,.layout.theme-dark .shopping-sections-edit-input,.layout.theme-dark .shopping-form-fields input,.layout.theme-dark .shopping-form-fields select,.layout.theme-dark .shopping-form-fields textarea,.layout.theme-dark .shopping-form-grid input,.layout.theme-dark .shopping-form-grid select{background:#122234;border-color:#35516d;color:#e7eef8}.layout.theme-dark .shopping-sections-item{background:#0f1d2d;border-color:#2e4158}.layout.theme-dark .shopping-sections-name{color:#dce8f6}.layout.theme-dark .shopping-import-feedback{background:#1a2738;border-color:#2e4158;color:#dbe7f5}.layout.theme-dark .shopping-import-error{color:#fca5a5}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;color:#b91c1c;font-size:14px;font-weight:500}.layout.theme-dark .error-message{background:#dc3c3c26;border-color:#dc3c3c4d;color:#f08080}
