@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/InterVariable.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter/InterVariable-Italic.woff2)format("woff2")}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-400.woff2)format("woff2")}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jakarta-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jakarta-800.woff2)format("woff2")}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--color-event:#6d5ce0;--color-event-bg:#e4e0fd;--color-reminder:#eaad08;--color-reminder-bg:#fff8cf;--color-task:#0f9c8e;--color-task-bg:#d6f7f3;--color-due-today:#f59e0b;--color-due-today-bg:#fef3c7;--color-overdue:#dc2626;--color-overdue-bg:#fee2e2;--color-upcoming:#0f9c8e;--color-completed:#9ca3af;--badge-overdue-fg:#991b1b;--badge-overdue-bg:#fee2e2;--badge-due-today-fg:#92400e;--badge-due-today-bg:#fef3c7;--badge-upcoming-fg:#065f46;--badge-upcoming-bg:#d1fae5;--badge-completed-fg:#4b5563;--badge-completed-bg:#f3f4f6;--color-warning-bg:#fff3cd;--color-warning-border:#ff9800;--color-warning-text:#856404;--header-height:52px;--header-height-mobile:48px;--navbar-height:70px;--z-modal:10000;--z-modal-confirm:10001;--max-content-width:1200px;--bg-page:#f7f6fb;--fc-text-primary:#231c38;--fc-text-secondary:#6b6478;--fc-text-tertiary:#9891a8;--fc-text-muted:#8b84a0;--fc-border:#e3dfef;--fc-border-subtle:#eeebf5;--fc-surface:#f8f7fb;--fc-surface-hover:#f5f3fe;--fc-surface-active:#f1eff8;--fc-surface-today:#f4f1fe;--fc-border-today:#c9bef5;--fc-primary:#6d5ce0;--fc-primary-dark:#5f4cd6;--fc-primary-light:#8577f2;--fc-gradient-primary:linear-gradient(180deg, #7c6ef0 0%, #6653dd 100%);--fc-gradient-primary-hover:linear-gradient(180deg, #8577f2 0%, #5f4cd6 100%);--fc-shadow-button:0 10px 20px -6px #5d47d28c;--fc-shadow-button-hover:0 12px 22px -6px #5d47d2a6;--fc-shadow-button-active:0 6px 14px -6px #5d47d28c;--fc-shadow-card:0 1px 2px #231c380a;--fc-shadow-card-hover:0 2px 8px #231c381a;--radius-full:999px;--radius-xl:20px;--radius-lg:14px;--radius-md:12px;--radius-sm:8px;--radius-xs:4px;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--school-badge-color:var(--ink-soft);--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=time],input[type=date],input[type=datetime-local],textarea,select{background-color:var(--bg)!important;color:var(--text-h)!important}input::placeholder,textarea::placeholder{opacity:1;color:var(--text)!important}input:disabled,textarea:disabled,select:disabled{opacity:1;color:#6b7280!important;background-color:#f9fafb!important}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}textarea:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}select:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text-h)!important}body{background:var(--bg-page);margin:0}*{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.school-badge{color:var(--school-badge-color);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}@media (width>=768px){#root{border-inline:none;width:100%;margin:0}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@keyframes stepFadeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes memberFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.member-hover-actions{opacity:1}.icon-button{color:#9ca3af}}@media (width<=640px){.onboarding-content{max-height:calc(100vh - var(--header-height-mobile) - var(--navbar-height));padding:16px 24px 24px}.chief-avatar{font-size:48px}.chief-message h2{font-size:24px}.form-row{grid-template-columns:1fr}.member-card{flex-direction:column;align-items:flex-start}.member-actions{justify-content:flex-end;width:100%;margin-top:12px}.add-member-cards{grid-template-columns:1fr 1fr;gap:10px;max-width:100%}.welcome-step h1{font-size:28px}.member-modal-overlay{padding:12px}.member-modal-content{border-radius:12px;max-height:95vh}.member-modal-scroll{max-height:calc(95vh - 48px);padding:24px 20px}.member-modal-scroll h3{margin-bottom:20px;font-size:20px}}.manage-family-page{background:#f9fafb;min-height:100vh;padding:24px}.manage-family-container{max-width:1200px;margin:0 auto}.manage-family-container h1{color:#333;margin:0 0 32px;font-size:32px}.section{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 1px 3px #0000000d}.section h2{color:#333;margin:0 0 24px;font-size:20px}.add-member-cards{margin:32px auto}.add-member-form-inline{background:#f9fafb;border-radius:12px;max-width:500px;margin-bottom:32px;padding:24px}.add-member-form-inline h3{color:#1a1a1a;margin:0 0 16px;font-size:18px;font-weight:700}.form-group-inline{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.form-group-inline input{border:2px solid #e0e0e0;border-radius:8px;padding:12px 16px;font-size:16px;transition:border-color .2s}.form-group-inline input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.helper-text-small{color:#999;margin:-8px 0 0;font-size:13px;font-style:italic}.form-actions-inline{gap:12px;display:flex}.members-list-manage{margin-top:24px}.members-list-header-manage{color:#333;margin:0 0 12px;font-size:16px;font-weight:600}.member-card-redesign-manage{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 16px;transition:background-color .2s;display:flex;position:relative}.member-card-redesign-manage:hover{background-color:#6366f10d;border-radius:8px}.member-card-content-manage{flex:1;align-items:center;gap:12px;display:flex}.member-icon-face-manage{color:#6366f1;flex-shrink:0;justify-content:center;align-items:center;display:flex}.member-info-compact-manage{flex:1;min-width:0}.member-name-text-manage{color:#1a1a1a;margin-bottom:2px;font-size:16px;font-weight:600;line-height:1}.member-role-text-manage{color:#666;text-transform:capitalize;font-size:13px;line-height:1}.member-email-text-manage{color:#999;margin-top:2px;font-size:12px;line-height:1}.member-hover-actions-manage{opacity:0;gap:6px;transition:opacity .2s;display:flex}.member-card-redesign-manage:hover .member-hover-actions-manage{opacity:1}.icon-button-manage{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:6px;transition:all .2s;display:flex}.icon-button-manage:hover,.icon-button-manage:active,.icon-button-manage:focus-visible{background:#6366f11a}.edit-icon-btn-manage:hover,.edit-icon-btn-manage:active{color:#6366f1}.delete-icon-btn-manage:hover,.delete-icon-btn-manage:active{color:#e74c3c;background:#e74c3c1a}@media (width<=768px){.member-hover-actions-manage{opacity:1}.form-actions-inline{flex-direction:column}.form-actions-inline button{width:100%}}.settings-row{flex-direction:column;gap:20px;display:flex}.setting-item{flex-direction:column;gap:8px;display:flex}.setting-label{color:#374151;font-size:14px;font-weight:600}.timezone-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;max-width:400px;padding:10px 12px;font-size:14px;transition:border-color .2s}.timezone-select:hover{border-color:#9ca3af}.timezone-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.timezone-select:disabled{opacity:.6;cursor:not-allowed}.setting-hint{color:#6b7280;margin:0;font-size:13px}.members-list{flex-direction:column;gap:0;display:flex}.member-card{border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;transition:box-shadow .2s;display:flex}.member-card:hover{box-shadow:0 2px 8px #00000014}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{margin:0}.add-member-buttons-inline{gap:8px;display:flex}.members-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.member-card-compact{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:20px;transition:all .2s;display:flex}.member-card-compact:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.member-icon{font-size:48px;line-height:1}.member-details{flex-direction:column;gap:4px;width:100%;display:flex}.member-name-compact{color:#333;font-size:16px;font-weight:600}.member-role-compact{color:#6b7280;text-transform:capitalize;font-size:13px}.profile-badge{color:#92400e;text-transform:uppercase;letter-spacing:.05em;background:#fef3c7;border-radius:12px;margin-top:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.member-info{flex-direction:column;gap:4px;display:flex}.member-name{color:#333;font-size:16px;font-weight:600}.member-email{color:#666;font-size:14px}.role-badge{border-radius:12px;width:fit-content;margin-top:4px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.role-child{color:#9d174d;background:#fce7f3}.role-parent{color:#1e40af;background:#dbeafe}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:transform .2s}.btn-primary:hover{transform:translateY(-2px)}.btn-primary-small{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.btn-primary-small:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-secondary{color:#333;cursor:pointer;background:#e5e7eb;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:background-color .2s}.btn-secondary-small{color:#333;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.btn-secondary-small:hover{background:#e5e7eb}.btn-small{color:#333;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;font-size:13px;transition:background-color .2s}.btn-small:hover{background:#e5e7eb}.btn-danger{color:#c33;background:#fee;border-color:#fcc}.btn-danger-small{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.btn-danger-small:hover{background:#fecaca}.invites-table{overflow-x:auto}.invites-table table{border-collapse:collapse;width:100%}.invites-table th{text-align:left;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px;font-size:13px;font-weight:600}.invites-table td{border-bottom:1px solid #f3f4f6;padding:12px;font-size:14px}.invites-table code{background:#f3f4f6;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:13px}.empty-message{color:#9ca3af;margin:0;font-size:14px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:500px;padding:32px;box-shadow:0 20px 60px #0000004d}.modal h2{color:#333;margin:0 0 16px;font-size:24px}.modal p{color:#666;margin:0 0 16px;font-size:14px}.invite-url-box{margin:16px 0}.invite-url-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;width:100%;padding:12px;font-family:monospace;font-size:13px}.modal-actions{gap:12px;margin-top:24px;display:flex}.invite-details{color:#888;border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px;font-size:12px}.role-options{flex-direction:column;gap:12px;margin:20px 0;display:flex}.role-option{cursor:pointer;text-align:left;background:#fff;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:16px;width:100%;padding:16px;transition:all .2s;display:flex}.role-option:hover{background:#f9fafb;border-color:#667eea}.role-option.active{background:#f0f4ff;border-color:#667eea}.role-icon{color:#667eea;flex-shrink:0;justify-content:center;align-items:center;font-size:32px;display:inline-flex}.role-option strong{color:#333;margin-bottom:4px;font-size:16px;display:block}.role-option p{color:#666;margin:0;font-size:13px}.member-card-compact-redesign{cursor:pointer;text-align:center;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:16px;transition:all .2s;display:flex;position:relative}.member-card-compact-redesign:hover{background:#6366f10d;transform:translateY(-2px)}.member-card-hover-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex;position:absolute;top:8px;right:8px}.member-card-compact-redesign:hover .member-card-hover-actions{opacity:1}.member-card-icon-btn{cursor:pointer;color:#6b7280;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:4px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.member-card-icon-btn:hover,.member-card-icon-btn:active,.member-card-icon-btn:focus-visible{color:#6366f1;background:#6366f11a}@media (width<=768px){.member-card-hover-actions{opacity:1}.manage-family-page{padding:16px}.member-card{flex-direction:column;align-items:flex-start;gap:12px}.member-actions{width:100%}.member-actions button{flex:1}.members-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.member-card-compact{padding:16px}.member-icon{font-size:40px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.add-member-buttons-inline{flex-direction:column;width:100%}.add-member-buttons-inline button{width:100%}.invites-table{font-size:12px}.modal{padding:24px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.profile-modal{max-width:700px;max-height:85vh;overflow-y:auto}.profile-modal-split{max-width:900px;max-height:90vh;padding:0;position:relative;overflow:hidden}.close-button-top{cursor:pointer;color:#666;z-index:10;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.close-button-top:hover{color:#333;background:#fff;transform:scale(1.1)}.profile-split-container{height:100%;min-height:500px;display:flex}.profile-left-panel{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;flex:0 0 45%;gap:24px;padding:48px 32px 32px;display:flex;overflow-y:auto}.profile-avatar{text-align:center;margin-bottom:8px;font-size:80px}.profile-name{text-align:center;color:#fff;margin-bottom:16px;font-size:28px;font-weight:700}.profile-info-item{flex-direction:column;gap:6px;display:flex}.profile-info-label{text-transform:uppercase;letter-spacing:.1em;opacity:.8;font-size:11px;font-weight:600}.profile-info-value{color:#fff;font-size:16px;font-weight:500}.profile-bio-text{white-space:pre-wrap;font-size:14px;line-height:1.5}.profile-input-light{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:15px;transition:all .2s}.profile-input-light::placeholder{color:#ffffff80}.profile-input-light:focus{background:#ffffff40;border-color:#ffffff80;outline:none}.profile-input-light option{color:#fff;background:#764ba2}.profile-right-panel{background:#fff;flex-direction:column;flex:1;gap:28px;padding:48px 32px 32px;display:flex;overflow-y:auto}.profile-section-right{flex-direction:column;gap:12px;display:flex}.profile-section-title{text-transform:uppercase;letter-spacing:.05em;color:#667eea;margin:0;font-size:14px;font-weight:700}.profile-section-content{color:#374151;white-space:pre-wrap;font-size:15px;line-height:1.6}.profile-textarea-right{resize:vertical;border:2px solid #e5e7eb;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.profile-textarea-right:focus{border-color:#667eea;outline:none}.profile-actions-right{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:20px;display:flex}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.close-button{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;display:flex}.close-button:hover{color:#333}.profile-modal-content{flex-direction:column;gap:24px;display:flex}.profile-section-modal{background:#f9fafb;border-radius:8px;padding:20px}.profile-section-modal h3{color:#667eea;border-bottom:2px solid #667eea;margin:0 0 16px;padding-bottom:8px;font-size:16px}.profile-field-modal{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.profile-field-modal:last-child{margin-bottom:0}.profile-field-modal label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.profile-field-modal .profile-value{color:#1a1a1a;padding:8px 0;font-size:15px}.profile-field-modal input,.profile-field-modal textarea{border:1px solid #d1d5db;border-radius:6px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.profile-field-modal input:focus,.profile-field-modal textarea:focus{border-color:#667eea;outline:none}.profile-field-modern{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.profile-field-modern input,.profile-field-modern textarea{border:2px solid #e5e7eb;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .2s}.profile-field-modern input:focus,.profile-field-modern textarea:focus{border-color:#667eea;outline:none}.profile-field-modern textarea{resize:vertical;min-height:100px}.profile-value-subtle{color:#374151;background:#f9fafb;border-radius:8px;padding:10px 16px;font-size:15px}.profile-value-bio{white-space:pre-wrap;line-height:1.6}.role-pill{color:#667eea;text-transform:capitalize;background:#f0f4ff;border:2px solid #667eea;border-radius:20px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.select-modern{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .2s}.select-modern:focus{border-color:#667eea;outline:none}.pill-button{cursor:pointer;text-transform:capitalize;background:#fff;border:2px solid #e5e7eb;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.pill-button:hover{background:#f9fafb;border-color:#d1d5db}.pill-button.active{color:#fff;background:#667eea;border-color:#667eea}.checkbox-group{flex-wrap:wrap;gap:12px;display:flex}.checkbox-label{color:#374151;cursor:pointer;text-transform:capitalize;align-items:center;gap:6px;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.bio-value{white-space:pre-wrap;line-height:1.6}.add-member-buttons{gap:12px;margin-bottom:12px;display:flex}.section-hint{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.profile-only-badge{color:#92400e;text-transform:uppercase;letter-spacing:.05em;background:#fef3c7;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.role-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.role-select:focus{border-color:#667eea;outline:none}.add-profile-modal{max-width:600px;max-height:85vh;overflow-y:auto}.add-profile-content{flex-direction:column;gap:20px;display:flex}.name-input{border:2px solid #e5e7eb;border-radius:12px;padding:16px 20px;font-size:18px;font-weight:600;transition:border-color .2s}.name-input:focus{border-color:#667eea;outline:none}.role-toggle{gap:12px;display:flex}.role-toggle-btn{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.role-toggle-btn svg{flex-shrink:0;transition:transform .2s}.role-toggle-btn:hover{border-color:#d1d5db}.role-toggle-btn:hover svg{transform:scale(1.1)}.role-toggle-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea}.role-toggle-btn.active svg{stroke:#fff}.info-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.info-grid input,.info-grid .date-input{border:2px solid #e5e7eb;border-radius:10px;padding:12px 16px;font-size:15px;transition:border-color .2s}.info-grid input:focus,.info-grid .date-input:focus{border-color:#667eea;outline:none}.info-grid .span-2{grid-column:span 2}.dietary-section{flex-direction:column;gap:10px;display:flex}.section-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.pill{cursor:pointer;text-transform:capitalize;background:#fff;border:2px solid #e5e7eb;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.pill:hover{background:#f9fafb;border-color:#d1d5db}.pill.active{color:#fff;background:#667eea;border-color:#667eea}.text-area{resize:vertical;border:2px solid #e5e7eb;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .2s}.text-area:focus{border-color:#667eea;outline:none}@media (width<=768px){.add-member-buttons{flex-direction:column}.add-member-buttons button{width:100%}.info-grid{grid-template-columns:1fr}.info-grid .span-2{grid-column:span 1}.role-toggle{flex-direction:column}.modal-overlay{padding:0}.profile-modal-split{border-radius:0;width:100vw;max-width:100%;height:100vh;max-height:100vh;margin:0}.profile-split-container{flex-direction:column;height:100vh}.profile-left-panel{flex:none;padding:40px 24px 24px}.profile-avatar{font-size:60px}.profile-name{font-size:24px}.profile-right-panel{padding:24px}}.confirmation-modal{text-align:center;max-width:480px}.confirmation-modal h2{color:#dc2626;margin-bottom:16px;font-size:22px}.confirmation-modal p{color:#374151;margin-bottom:12px;font-size:16px;line-height:1.5}.confirmation-actions{justify-content:center;gap:12px;margin-top:24px;display:flex}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:10px 20px;font-size:15px;font-weight:500;transition:background .2s}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed}@media (width<=767px){.toast-container{align-items:center;width:90%;max-width:400px;bottom:80px;left:50%;transform:translate(-50%)}}@media (width>=768px){.toast-container{align-items:flex-end;width:360px;top:24px;right:24px}}.toast{font-family:var(--font,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);border-radius:var(--radius-md,12px);pointer-events:auto;align-items:center;gap:12px;width:100%;max-width:400px;padding:14px 16px;font-size:14px;font-weight:600;line-height:1.4;animation:.3s ease-out toast-slide-in;display:flex;box-shadow:0 8px 24px -4px #1f1b2e33,0 2px 6px -2px #1f1b2e1a}.toast-success{background:linear-gradient(180deg, var(--brand-grad-top,#7c6ef0) 0%, var(--brand-grad-bottom,#6653dd) 100%);color:#fff}.toast-error{background:var(--danger,#c0392b);color:#fff}.toast-undo{color:#fff;background:#1f1b2e}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.toast-message{flex:1;min-width:0}.toast-undo-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s}.toast-undo-btn:hover{background:#ffffff40;border-color:#fff6}.toast-undo-btn:active{background:#fff3}.toast-close{color:currentColor;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .12s,background .12s;display:flex}.toast-close:hover{opacity:1;background:#ffffff26}.toast-close:active{background:#ffffff1a}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.toast-exit{animation:.2s ease-in forwards toast-slide-out}@media (width<=767px){@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}}.pwa-install-prompt{color:#fff;z-index:9999;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);padding:16px;animation:.3s ease-out slideUp;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-install-content{align-items:center;gap:12px;max-width:600px;margin:0 auto;display:flex}.pwa-install-icon{flex-shrink:0;font-size:32px}.pwa-install-text{flex:1;min-width:0}.pwa-install-title{margin-bottom:4px;font-size:16px;font-weight:600}.pwa-install-description{opacity:.9;font-size:13px;line-height:1.4}.pwa-install-actions{flex-shrink:0;gap:8px;display:flex}.pwa-install-btn,.pwa-dismiss-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.pwa-install-btn{color:#6366f1;background:#fff}.pwa-install-btn:hover{background:#f3f4f6;transform:scale(1.05)}.pwa-dismiss-btn{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3}.pwa-dismiss-btn:hover{background:#ffffff4d}@media (width<=640px){.pwa-install-prompt{padding:12px}.pwa-install-content{flex-wrap:wrap}.pwa-install-actions{width:100%;margin-top:8px}.pwa-install-btn,.pwa-dismiss-btn{flex:1}}.ios-install-prompt{z-index:1000;background:#fff;border-radius:16px;animation:.4s ease-out slideUp;position:fixed;bottom:90px;left:16px;right:16px;box-shadow:0 8px 24px #00000026}.ios-prompt-content{padding:20px;position:relative}.ios-prompt-close{cursor:pointer;color:#666;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.ios-prompt-close:hover{background:#e0e0e0}.ios-prompt-icon{text-align:center;margin-bottom:12px;font-size:32px}.ios-prompt-content h3{color:#333;text-align:center;margin:0 0 8px;font-size:18px;font-weight:600}.ios-prompt-content p{color:#666;text-align:center;margin:0 0 16px;font-size:14px}.ios-install-steps{color:#333;margin:0;padding-left:24px;font-size:14px;line-height:1.6}.ios-install-steps li{align-items:center;gap:6px;margin-bottom:8px;display:flex}.share-icon{vertical-align:middle;align-items:center;display:inline-flex}.share-icon svg{margin:0 2px}.notification-prompt{z-index:1000;width:calc(100% - 32px);max-width:500px;animation:.4s slideUp;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.notification-prompt-content{background:#fff;border:2px solid #667eea;border-radius:16px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 8px 24px #00000026}.notification-prompt-icon{flex-shrink:0;font-size:32px}.notification-prompt-text{flex:1;min-width:0}.notification-prompt-title{color:#1a1a1a;margin-bottom:4px;font-size:16px;font-weight:700}.notification-prompt-message{color:#6b7280;font-size:14px;line-height:1.4}.notification-prompt-actions{flex-shrink:0;gap:8px;display:flex}.notification-prompt-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.notification-prompt-btn.primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.notification-prompt-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.notification-prompt-btn.primary:disabled{opacity:.6;cursor:not-allowed}.notification-prompt-btn.secondary{color:#6b7280;background:0 0;border:1px solid #e1e8ed}.notification-prompt-btn.secondary:hover{background:#f5f7fa}@media (width<=768px){.notification-prompt{width:calc(100% - 24px);bottom:70px}.notification-prompt-content{gap:12px;padding:16px}.notification-prompt-icon{font-size:28px}.notification-prompt-title{font-size:15px}.notification-prompt-message{font-size:13px}.notification-prompt-actions{flex-direction:column;gap:6px}.notification-prompt-btn{width:100%;padding:8px 16px;font-size:13px}}.gmail-permissions-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.gmail-permissions-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 8px 24px #0003}.gmail-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.gmail-header-left{align-items:center;gap:12px;display:flex}.gmail-logo{width:32px;height:32px}.gmail-modal-header h2{color:#111;margin:0;font-size:20px;font-weight:600}.gmail-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;transition:background .2s;display:flex}.gmail-close-btn:hover{background:#f3f4f6}.gmail-modal-body{padding:24px}.modal-intro{color:#374151;margin:0 0 20px;font-size:15px;line-height:1.5}.permission-list{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.permission-item{background:#f9fafb;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.permission-item.granted{background:#f0fdf4;border:1px solid #86efac}.permission-item.optional{background:#fefce8;border:1px solid #fde047}.permission-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;display:flex}.granted-icon{color:#fff;background:#667eea;font-weight:700}.permission-checkbox-wrapper{cursor:pointer;align-items:flex-start;gap:12px;width:100%;display:flex}.permission-checkbox{cursor:pointer;flex-shrink:0;width:20px;height:20px;margin-top:2px}.permission-content{flex:1}.permission-name{color:#111;margin-bottom:4px;font-size:15px;font-weight:600}.permission-name .optional-tag{color:#6b7280;font-size:13px;font-weight:400}.permission-description{color:#4b5563;font-size:14px;line-height:1.5}.privacy-disclosure-modal{background:0 0;border:none;margin-top:16px;padding:0}.privacy-disclosure-modal p{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.modal-footer-note{color:#6b7280;text-align:center;background:#f9fafb;border-radius:6px;padding:12px;font-size:13px}.gmail-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.gmail-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.gmail-btn-cancel{color:#374151;background:#fff;border:1px solid #d1d5db}.gmail-btn-cancel:hover{background:#f9fafb}.gmail-btn-primary{background:var(--fc-gradient-primary);color:#fff;box-shadow:var(--fc-shadow-button)}.gmail-btn-primary:hover{background:var(--fc-gradient-primary-hover);box-shadow:var(--fc-shadow-button-hover)}.gmail-btn-primary:active{box-shadow:var(--fc-shadow-button-active)}.gmail-google-icon{width:18px;height:18px}@media (width<=600px){.gmail-permissions-modal{border-radius:8px;flex-direction:column;max-width:100%;margin:0;display:flex}.gmail-modal-header{flex-shrink:0;padding:16px}.gmail-modal-body{flex:1;padding:16px;overflow-y:auto}.gmail-modal-footer{flex-direction:column-reverse;flex-shrink:0;padding:16px}.gmail-btn{justify-content:center;width:100%}.gmail-permissions-modal-overlay.with-safe-area{padding:8px;top:48px;bottom:70px}.gmail-permissions-modal-overlay.with-safe-area .gmail-permissions-modal{max-height:100%}}.gmail-setup-step{max-width:700px;margin:0 auto}.setup-section{margin:16px 0;padding:0}.monitoring-summary{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:8px;padding:12px 14px}.monitoring-summary.warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:12px 14px}.summary-headline{color:#065f46;margin:0 0 6px;font-size:.9em;font-weight:500;line-height:1.4}.monitoring-summary.warning .summary-headline{color:#92400e}.summary-details{color:#6b7280;margin:0;font-size:.8em;line-height:1.4}.monitoring-summary.warning .summary-details{color:#92400e}.view-filters-btn-inline{color:#059669;cursor:pointer;background:0 0;border:none;padding:0;font-size:1em;font-weight:500;text-decoration:underline;transition:opacity .2s}.view-filters-btn-inline:hover{opacity:.7}.monitoring-summary.warning .view-filters-btn-inline{color:#b45309}.filters-expanded{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px;animation:.3s ease-out expandFilters;overflow:hidden}@keyframes expandFilters{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:1000px;padding-top:16px;padding-bottom:16px}}.filters-header h4{color:#1a202c;margin:0;font-size:1.05em;font-weight:600}.collapse-filters-btn{color:#667eea;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.9em;font-weight:600;text-decoration:underline;transition:opacity .2s}.collapse-filters-btn:hover{opacity:.7}.setup-section h3{color:#1a202c;margin:0 0 8px;font-size:1.2em;font-weight:600}.helper-text{color:#718096;margin:0 0 16px;font-size:.9em;line-height:1.4}.helper-text.indent{margin-top:4px;margin-left:28px}.section-label{color:#4a5568;margin:16px 0 8px;font-size:.9em;font-weight:500}.filter-bubbles{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filter-bubble{cursor:pointer;white-space:nowrap;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:.9em;font-weight:500;transition:all .2s;animation:.15s ease-out both bubbleFadeIn;display:inline-flex}.filter-bubble:first-child{animation-delay:0s}.filter-bubble:nth-child(2){animation-delay:50ms}.filter-bubble:nth-child(3){animation-delay:.1s}.filter-bubble:nth-child(4){animation-delay:.15s}.filter-bubble:nth-child(5){animation-delay:.2s}.filter-bubble:nth-child(6){animation-delay:.25s}@keyframes bubbleFadeIn{0%{opacity:0;transform:scale(.9)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.filter-bubble.selected{color:#fff;background:#667eea}.filter-bubble.selected:hover{background:#5568d3}.filter-bubble.available{color:#4a5568;background:#f3f4f6;border:1px solid #e5e7eb}.filter-bubble.available:hover{background:#e5e7eb;border-color:#d1d5db}.filter-bubble:active{transform:scale(.95)}.remove-x{opacity:.8;margin-left:2px;font-size:1.2em;font-weight:600}.filter-bubble.selected:hover .remove-x{opacity:1}.custom-filter-input{gap:8px;margin-top:16px;display:flex}.custom-filter-input input{border:1px solid #d1d5db;border-radius:8px;flex:1;padding:10px 14px;font-size:.95em;transition:border-color .2s}.custom-filter-input input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.custom-filter-input .add-button{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;padding:10px 18px;font-size:.95em;font-weight:600;transition:background .2s}.custom-filter-input .add-button:hover:not(:disabled){background:#5568d3}.custom-filter-input .add-button:disabled{cursor:not-allowed;background:#d1d5db}.validation-warning{color:#856404;background:#fef3cd;border:1px solid #ffc107;border-radius:6px;margin-top:12px;padding:12px;font-size:.9em;font-weight:500}.validation-warning.bottom-validation{text-align:center;margin-top:20px;margin-bottom:16px}.time-input{border:1px solid #d1d5db;border-radius:8px;width:160px;padding:12px 16px;font-size:1em;transition:border-color .2s}.time-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.nested-collapsible{margin-top:24px;padding-left:0}.collapsible-header{justify-content:space-between;align-items:center;margin-bottom:0;padding:12px 0;display:flex}.collapsible-header.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header:hover{opacity:.8}.collapsible-header h4{color:#374151;margin:0;font-size:1em;font-weight:600}.optional-tag{color:#9ca3af;font-size:.8em;font-weight:400}.expand-icon{color:#667eea;font-size:1.5em;font-weight:300;line-height:1}.collapsible-content{margin-top:12px}.checkbox-list{flex-direction:column;gap:12px;display:flex}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.checkbox-label{cursor:pointer;color:#374151;align-items:center;gap:10px;font-size:.95em;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#667eea;width:18px;height:18px}.checkbox-label:hover{color:#1a202c}.school-search-input,.custom-school-input{border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:12px;padding:12px;font-size:14px;transition:border-color .2s}.school-results{border:1px solid #ddd;border-radius:8px;max-height:200px;margin-bottom:12px;overflow-y:auto;box-shadow:0 2px 4px #0000000d}.selected-school{color:#2e7d32;background:#e8f5e9;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;font-size:.95em;font-weight:500;display:flex}.selected-school button{color:#1976d2;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px;text-decoration:underline;transition:opacity .2s}.mark-read-section{margin-top:24px}.privacy-disclosure{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;padding:12px 16px}.privacy-disclosure p{color:#6b7280;margin:0;font-size:.85em;line-height:1.5}.error-message{color:#c33;background:#fee;border:1px solid #fcc;border-radius:8px;margin:16px 0;padding:12px 16px;font-size:.9em}.button-group{border-top:1px solid #e5e7eb;gap:12px;margin-top:4px;padding-top:16px;display:flex}.connect-button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;flex:1;padding:14px 24px;font-size:1.05em;font-weight:600;transition:background .2s}.connect-button:hover:not(:disabled){background:#5568d3}.connect-button:disabled{cursor:not-allowed;opacity:.6;background:#d1d5db}.back-button{color:#718096;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:14px 24px;font-size:1em;transition:all .2s}.back-button:hover:not(:disabled){color:#4a5568;background:#f9fafb;border-color:#9ca3af}.back-button:disabled{opacity:.5;cursor:not-allowed}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.children-school-list{flex-direction:column;gap:16px;display:flex}.child-school-item{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;padding:14px;transition:border-color .2s}.child-school-item:hover{border-color:#d1d5db}.child-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.child-header strong{color:#1a202c;font-size:1em;font-weight:600}.assigned-school{color:#2e7d32;align-items:center;gap:8px;font-size:.9em;font-weight:500;display:flex}.change-school-btn{color:#1976d2;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.85em;text-decoration:underline;transition:opacity .2s}.change-school-btn:hover{opacity:.7}.assign-school-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:600;transition:background .2s}.assign-school-btn:hover{background:#5568d3}.school-selection-ui{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.save-custom-school-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:8px 16px;font-size:.9em;font-weight:600;transition:background .2s}.save-custom-school-btn:hover:not(:disabled){background:#5568d3}.save-custom-school-btn:disabled{cursor:not-allowed;background:#d1d5db}.cancel-custom-school-btn{color:#4a5568;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:.9em;transition:all .2s}.cancel-custom-school-btn:hover{background:#e5e7eb;border-color:#9ca3af}@media (width<=640px){.setup-section{margin:24px 0}.checkbox-grid{grid-template-columns:1fr}.filter-bubbles{gap:6px}.filter-bubble{padding:6px 12px;font-size:.85em}.custom-filter-input{flex-direction:column}.custom-filter-input .add-button{width:100%}.button-group{flex-direction:column-reverse}.back-button{order:2}.connect-button{order:1}.child-header{flex-direction:column;align-items:flex-start;gap:8px}}.onboarding-wizard{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.onboarding-container{background:#fff;border-radius:16px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.progress-bar{background:#e0e0e0;width:100%;height:6px}.progress-fill{background:#667eea;height:100%;transition:width .3s}.onboarding-content{max-height:calc(100vh - 6px);padding:32px 40px;position:relative;overflow-y:auto}.step-content{text-align:center;flex-direction:column;align-items:center;animation:.2s ease-out stepFadeIn;display:flex}.chief-avatar{margin-bottom:24px;font-size:64px;animation:.5s fadeIn}.chief-avatar.celebration{animation:.6s bounce}.chief-message{margin-bottom:20px}.chief-message h2{color:#1a1a1a;margin:0 0 12px;font-size:28px;font-weight:700}.chief-message p{color:#666;margin:8px 0;font-size:16px;line-height:1.6}.helper-text{font-style:italic;color:#999!important;font-size:14px!important}.onboarding-form{width:100%;max-width:400px}.form-group{text-align:left;margin-bottom:20px}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none;transition:border-color .15s,box-shadow .15s;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{cursor:not-allowed;background:#f5f5f5}.finish-button,.back-button,.skip-button,.cancel-button,.add-member-button,.connect-button,.launch-button{cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .2s}.finish-button,.connect-button,.launch-button{color:#fff;background:#667eea}.finish-button:hover:not(:disabled),.connect-button:hover:not(:disabled),.launch-button:hover:not(:disabled){transition:all .2s;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.finish-button:active:not(:disabled),.connect-button:active:not(:disabled),.launch-button:active:not(:disabled){transform:translateY(-1px)}.finish-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.back-button{color:#666;background:0 0;border:2px solid #e0e0e0}.back-button:hover:not(:disabled){background:#f5f5f5}.skip-button{color:#999;background:0 0;text-decoration:underline}.skip-button:hover{color:#666}.skip-link{color:#999;cursor:pointer;background:0 0;border:none;padding:8px;font-size:14px;text-decoration:underline}.skip-link:hover:not(:disabled){color:#666}.skip-button-primary{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;margin-top:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .2s}.skip-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.skip-button-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.cancel-button{color:#666;background:#f5f5f5}.cancel-button:hover{background:#e0e0e0}.add-member-button{color:#667eea;background:#f0f0f0;border:2px dashed #667eea;width:100%;margin-bottom:24px}.add-member-button:hover{background:#f0f4ff}.button-group{flex-direction:column;gap:12px;width:100%;max-width:400px;margin-top:24px;display:flex}.members-list{gap:0;width:100%;max-width:400px;margin-top:24px;margin-bottom:16px}.members-list-header{color:#333;text-align:left;margin:0 0 12px;font-size:16px;font-weight:600}.member-card{text-align:left;background:#fff;border:2px solid #e0e0e0;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;animation:.15s ease-out memberFadeIn;display:flex}.member-info{flex:1}.member-name{color:#1a1a1a;align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:600;display:flex}.member-name .role-icon{color:#667eea;flex-shrink:0}.member-details{color:#666;font-size:14px}.member-actions{gap:8px;display:flex}.edit-button,.remove-button{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:14px;transition:background .2s}.edit-button{color:#667eea;background:#f0f4ff}.edit-button:hover{background:#dce4ff}.remove-button{color:#e74c3c;background:#ffe8e8}.remove-button:hover{background:#ffd0d0}.member-form{background:#fff;border-radius:12px;width:100%;max-width:400px;margin-bottom:16px;padding:24px}.member-form h3{color:#1a1a1a;text-align:left;margin:0 0 20px;font-size:20px;font-weight:700}.integration-step{max-width:500px}.integration-screenshot{border-radius:12px;width:100%;margin:24px 0;overflow:hidden;box-shadow:0 4px 16px #0000001a}.integration-screenshot img{width:100%;height:auto;display:block}.integration-features{text-align:left;background:#fff;border-radius:12px;width:100%;margin:0 0 16px;padding:6px 20px}.integration-features ul{margin:0;padding:0;list-style:none}.integration-features li{color:#333;padding:8px 0;font-size:15px;line-height:1.5}.completion-step{max-width:500px}.completion-features{width:100%;margin:16px 0}.feature-highlight{text-align:left;background:#fff;border-radius:12px;align-items:flex-start;margin-bottom:12px;padding:16px;transition:transform .2s;display:flex}.feature-highlight:hover{transform:translate(4px)}.feature-icon{flex-shrink:0;margin-right:16px;font-size:32px}.feature-text strong{color:#1a1a1a;margin-bottom:4px;font-size:16px;font-weight:700;display:block}.feature-text p{color:#666;margin:0;font-size:14px}.error-message{color:#e74c3c;background:#ffe8e8;border-radius:8px;width:100%;max-width:400px;margin-top:16px;padding:12px 16px;font-size:14px}.add-member-cards{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:500px;display:grid}.member-type-card{text-align:center;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:6px;transition:all .2s;display:flex}.member-type-card .role-icon{color:#667eea;width:32px;height:32px;transition:transform .2s}.member-type-card:hover{background:#f9fbff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.member-type-card:hover .role-icon{transform:scale(1.1)}.member-type-card:active{transform:translateY(-1px)scale(.98)}.card-title{color:#1a1a1a;font-size:18px;font-weight:700}.card-description{color:#666;font-size:14px}.member-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.member-modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.25s ease-out modalSlideUp;display:flex;box-shadow:0 20px 60px #0000004d}.member-modal-scroll{max-height:calc(90vh - 64px);padding:32px;overflow-y:auto}.member-modal-scroll h3{color:#1a1a1a;text-align:left;margin:0 0 24px;font-size:24px;font-weight:700}.member-form-card{background:#fff;border-radius:12px;width:100%;max-width:400px;margin-bottom:16px;padding:24px}.member-form-card h3{color:#1a1a1a;text-align:left;margin:0 0 20px;font-size:20px;font-weight:700}.nav-buttons{margin-top:4px}.primary-button{cursor:pointer;color:#fff;background:#667eea;border:none;border-radius:8px;width:100%;padding:14px 28px;font-size:16px;font-weight:600;transition:all .2s}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.welcome-step h1{color:#1a1a1a;margin:0 0 24px;font-size:32px;font-weight:700}.member-card-redesign{text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 16px;transition:background-color .2s;display:flex;position:relative}.member-card-redesign:hover{background-color:#6366f10d;border-radius:8px}.member-card-content{flex:1;align-items:center;gap:12px;display:flex}.member-icon-face{color:#6366f1;flex-shrink:0;justify-content:center;align-items:center;display:flex}.member-info-compact{flex:1;min-width:0}.member-name-text{color:#1a1a1a;margin-bottom:2px;font-size:16px;font-weight:600;line-height:1}.member-role-text{color:#666;text-transform:capitalize;font-size:13px;line-height:1}.member-email-text{color:#999;margin-top:2px;font-size:12px;line-height:1}.member-hover-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex}.member-card-redesign:hover .member-hover-actions{opacity:1}.icon-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:6px;transition:all .2s;display:flex}.icon-button:hover,.icon-button:active,.icon-button:focus-visible{background:#6366f11a}.edit-icon-btn:hover,.edit-icon-btn:active{color:#6366f1}.delete-icon-btn:hover,.delete-icon-btn:active{color:#e74c3c;background:#e74c3c1a}@media (width<=768px){.member-hover-actions{opacity:1}.icon-button{color:#9ca3af}}@media (width<=640px){.onboarding-content{max-height:calc(100vh - var(--header-height-mobile) - var(--navbar-height));padding:16px 24px 24px}.chief-avatar{font-size:48px}.chief-message h2{font-size:24px}.form-row{grid-template-columns:1fr}.member-card{flex-direction:column;align-items:flex-start}.member-actions{justify-content:flex-end;width:100%;margin-top:12px}.add-member-cards{grid-template-columns:1fr 1fr;gap:10px;max-width:100%}.welcome-step h1{font-size:28px}.member-modal-overlay{padding:12px}.member-modal-content{border-radius:12px;max-height:95vh}.member-modal-scroll{max-height:calc(95vh - 48px);padding:24px 20px}.member-modal-scroll h3{margin-bottom:20px;font-size:20px}}.value-bullets{margin:0;padding:0;list-style:none}.value-bullets li{align-items:flex-start;gap:12px;margin-bottom:2px;display:flex}.value-bullets .bullet-icon{color:#667eea;stroke-width:2px;flex-shrink:0;width:24px;height:24px}.bullet-content{flex:1}.bullet-content strong{color:#333;font-size:15px;font-weight:600;line-height:1.5}.school-search-input,.custom-school-input{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s}.school-search-input:focus,.custom-school-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.school-results{border:1px solid #ddd;border-radius:8px;max-height:200px;margin-top:8px;margin-bottom:12px;overflow-y:auto;box-shadow:0 2px 4px #0000000d}.school-result-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f0f0f0;width:100%;padding:12px;font-size:14px;transition:background .15s;display:block}.school-result-item:hover{background:#f8f9fa}.school-result-item:last-child{border-bottom:none}.school-result-item strong{color:#1a1a1a;font-weight:600}.school-result-item span{color:#666}.selected-school{color:#2e7d32;background:#e8f5e9;border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;margin-bottom:8px;padding:12px;font-size:14px;font-weight:500;display:flex}.selected-school button{color:#2e7d32;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1;transition:opacity .2s}.selected-school button:hover{opacity:.7}.account-bubble-container{position:relative}.account-bubble{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;transition:transform .2s;display:flex;box-shadow:0 2px 8px #00000026}.account-bubble:hover{transform:scale(1.05)}.account-dropdown{z-index:1000;background:#fff;border-radius:8px;min-width:220px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.dropdown-user-info{padding:12px 16px}.dropdown-user-name{color:#333;margin-bottom:2px;font-size:15px;font-weight:400}.dropdown-user-email{color:#666;font-size:13px}.dropdown-separator{background-color:#eee;height:1px;margin:0}.dropdown-item{text-align:left;cursor:pointer;color:#333;background:#fff;border:none;width:100%;padding:12px 16px;font-size:14px;transition:background-color .2s}.dropdown-item:hover{background-color:#f5f5f5}.notification-bell-container{display:inline-block;position:relative}.notification-bell-button{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:20px;transition:background-color .2s;display:flex;position:relative}.notification-bell-button:hover{background-color:#0000000d}.bell-icon{color:#6b7280;transition:color .2s;display:block}.notification-bell-button:hover .bell-icon{color:#667eea}.notification-dot{background-color:#f44;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}.notification-dropdown{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;width:380px;max-height:500px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 12px #00000026}.notification-dropdown-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.notification-dropdown-header h3{color:#1a202c;margin:0;font-size:16px;font-weight:600}.mark-all-read-button{color:#3b82f6;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:500;transition:background-color .2s}.mark-all-read-button:hover{background-color:#eff6ff}.notification-list{flex:1;max-height:360px;overflow-y:auto}.notification-loading,.notification-empty{text-align:center;color:#718096;padding:40px 20px;font-size:14px}.notification-item{cursor:pointer;border-bottom:1px solid #f7fafc;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;font-weight:400;transition:background-color .2s;display:flex}.notification-item:hover{background-color:#f7fafc}.notification-item:last-child{border-bottom:none}.notification-item.unread{background-color:#eff6ff;font-weight:700}.notification-item.unread:hover{background-color:#dbeafe}.notification-content{flex:1;min-width:0}.notification-title{color:#1a202c;margin-bottom:4px;font-size:14px}.notification-item.unread .notification-title{font-weight:700}.notification-meta{color:#718096;font-size:12px;font-weight:400}.unread-dot{background-color:#3b82f6;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-dropdown-footer{border-top:1px solid #e2e8f0;padding:12px 16px}.view-all-button{color:#3b82f6;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:8px;font-size:14px;font-weight:500;transition:background-color .2s}.view-all-button:hover{background-color:#eff6ff}@media (width<=768px){.notification-dropdown{width:calc(100vw - 32px);max-height:70vh;position:fixed;top:56px;left:16px;right:16px}.notification-list{max-height:calc(70vh - 140px)}}.app-header{z-index:100;box-sizing:border-box;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;width:100%;height:52px;padding:16px 24px;display:flex;position:fixed;top:0;left:0;overflow:visible;box-shadow:0 1px 3px #0000000d}.header-left{align-items:center;gap:0;display:flex}.header-logo{color:#667eea;flex-shrink:0;width:36px;height:36px}.header-nav{display:none}.nav-link{color:#4b5563;border-radius:6px;padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{color:#667eea;background:#f3f4f6}.nav-link:active{color:#667eea;background:#e5e7eb}.header-title{color:#667eea;margin:0;font-size:20px;font-weight:700}.header-right{align-items:center;gap:16px;display:flex;position:relative;overflow:visible}.inbox-icon-link{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;text-decoration:none;transition:all .2s;display:flex}.inbox-icon-link:hover{background:#f3f4f6;transform:scale(1.1)}.bottom-nav{width:100%;padding:8px 0 max(8px, env(safe-area-inset-bottom));z-index:100;box-sizing:border-box;background:#fff;border-top:1px solid #e5e7eb;justify-content:space-around;height:70px;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -2px 8px #00000014}.bottom-nav.keyboard-open{transition:transform .2s ease-out;transform:translateY(100%)}@media (width>=768px){.bottom-nav{display:none}}.bottom-nav-link{color:#6b7280;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:60px;padding:8px 12px;font-size:11px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.bottom-nav-link.active{color:#667eea;background:#f3f4f6}.bottom-nav-link:hover{color:#667eea;background:#f9fafb}.bottom-nav-icon{flex-shrink:0;line-height:1}@media (width<=768px){.app-header{height:48px;padding:12px 16px}.header-title{font-size:18px}.header-left{gap:6px}.header-logo{width:24px;height:24px}.nav-link{padding:6px 10px;font-size:14px}}.left-sidebar{left:0;top:var(--header-height);width:var(--sidebar-width);height:calc(100vh - var(--header-height));background:var(--fc-white,#fff);border-right:1px solid var(--fc-border-light,#eeecf5);z-index:100;position:fixed;overflow-y:auto}.left-sidebar-nav{flex-direction:column;display:flex}.left-sidebar-link{color:var(--fc-text-light,#6b6880);cursor:pointer;align-items:center;gap:12px;padding:16px 20px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.left-sidebar-link:hover{background:var(--fc-bg-lighter,#f0eef6)}.left-sidebar-link.active{background:var(--fc-purple-light,#eceafb);color:var(--fc-purple-primary,#5b5bd6)}.left-sidebar-link.active .left-sidebar-icon{color:var(--fc-purple-primary,#5b5bd6)}.left-sidebar-icon{color:var(--fc-text-light,#6b6880);flex-shrink:0;transition:color .2s}.left-sidebar-glyph{width:22px;height:22px;color:var(--fc-text-light,#6b6880);flex-shrink:0;justify-content:center;align-items:center;font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:700;transition:color .2s;display:flex}.left-sidebar-link.active .left-sidebar-glyph{color:var(--fc-purple-primary,#5b5bd6)}@media (width>=768px){.left-sidebar{width:60px;transition:width .3s}.left-sidebar:hover{width:220px}.left-sidebar-link span:not(.left-sidebar-icon):not(.left-sidebar-glyph){opacity:0;white-space:nowrap;width:0;transition:opacity .3s,width .3s;overflow:hidden}.left-sidebar:hover .left-sidebar-link span:not(.left-sidebar-icon):not(.left-sidebar-glyph){opacity:1;width:auto}.left-sidebar-icon,.left-sidebar-glyph{opacity:1;width:22px;height:22px}}@media (width<=767px){.left-sidebar{display:none}}.legal-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.legal-modal{max-width:var(--max-content-width);background:#fff;border-radius:8px;flex-direction:column;width:100%;max-height:85vh;display:flex;box-shadow:0 4px 20px #0000004d}.legal-modal-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;display:flex}.legal-modal-header h2{color:#2c3e50;margin:0;padding-right:40px;font-size:24px}.legal-modal-close{color:#666;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;transition:color .2s;display:flex}.legal-modal-close:hover{color:#333}.legal-modal-content{color:#333;flex:1;padding:24px 32px;line-height:1.6;overflow-y:auto}.legal-modal-content .effective-date{color:#7f8c8d;margin-bottom:24px;font-style:italic;display:block}.legal-modal-content h3{color:#34495e;margin-top:24px;margin-bottom:12px;font-size:18px}.legal-modal-content p{margin-bottom:12px}.legal-modal-content ul{margin-bottom:12px;margin-left:20px}.legal-modal-content li{margin-bottom:8px}.legal-modal-content a{color:#3498db;text-decoration:none}.legal-modal-content a:hover{text-decoration:underline}.legal-modal-footer{border-top:1px solid #e0e0e0;flex-shrink:0;justify-content:flex-end;padding:16px 24px;display:flex}.legal-modal-close-button{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:4px;padding:10px 24px;font-size:15px;transition:background .2s}.legal-modal-close-button:hover{background:#2980b9}@media (width<=768px){.legal-modal-overlay{padding:10px}.legal-modal{max-height:90vh}.legal-modal-header{padding:16px}.legal-modal-header h2{padding-right:20px;font-size:20px}.legal-modal-content{padding:16px 20px}.legal-modal-content h3{font-size:16px}.legal-modal-close{width:28px;height:28px;font-size:28px}.legal-modal-footer{padding:12px 16px}}.join-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.join-card{background:#fff;border-radius:12px;width:100%;max-width:550px;max-height:90vh;padding:40px;overflow-y:auto;box-shadow:0 10px 40px #0003}.join-card h1{color:#333;text-align:center;margin:0 0 8px;font-size:28px}.join-subtitle{color:#666;text-align:center;margin:0 0 24px;font-size:14px}.error-message{color:#c33;background:#fee;border-radius:6px;margin-bottom:16px;padding:12px;font-size:14px}.join-form{flex-direction:column;gap:16px;display:flex}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;background:#f5f5f5}.form-group textarea{resize:vertical;border:1px solid #ddd;border-radius:6px;padding:12px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-group textarea:focus{border-color:#667eea;outline:none}.step-indicator{justify-content:center;align-items:center;gap:12px;margin:24px 0;display:flex}.step{flex-direction:column;align-items:center;gap:6px;display:flex}.step-number{color:#9ca3af;background:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.step.active .step-number{color:#fff;background:#667eea}.step.completed .step-number{color:#fff;background:#10b981}.step-label{color:#6b7280;font-size:12px;font-weight:500}.step.active .step-label{color:#667eea}.step.completed .step-label{color:#10b981}.step-divider{background:#e5e7eb;width:60px;height:2px;margin-bottom:20px}.profile-form{max-height:60vh;padding-right:8px;overflow-y:auto}.form-actions{gap:12px;margin-top:8px;display:flex}.skip-button{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:6px;flex:1;padding:14px;font-size:16px;font-weight:600;transition:background .2s}.skip-button:hover:not(:disabled){background:#d1d5db}.skip-button:disabled{opacity:.6;cursor:not-allowed}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;flex:1;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:transform .2s}.submit-button:hover:not(:disabled){transform:translateY(-2px)}.invite-info{text-align:center;color:#888;margin-top:16px;font-size:12px}@media (width<=480px){.join-card{padding:24px}.join-card h1{font-size:24px}}.login-page{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0003}.login-card h1{color:#1a202c;text-align:center;margin:0 0 8px;font-size:32px}.login-subtitle{color:#718096;text-align:center;margin:0 0 32px;font-size:15px}.error-message{color:#c53030;background-color:#fff5f5;border:1px solid #fc8181;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.success-message{color:#22543d;background-color:#f0fff4;border:1px solid #68d391;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px;line-height:1.5}.login-form{flex-direction:column;gap:12px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#2d3748;font-size:14px;font-weight:500}.form-group input{border:1px solid #cbd5e0;border-radius:6px;padding:12px;font-size:15px;transition:border-color .2s}.form-group input:disabled{cursor:not-allowed;background-color:#f7fafc}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.help-text{color:#718096;text-align:center;margin:24px 0 0;font-size:14px;line-height:1.5}.help-text:first-of-type{margin-top:16px}.help-text a{color:#667eea;font-weight:500;text-decoration:none}.help-text a:hover{text-decoration:underline}.checkbox-group{margin-top:0}.checkbox-label{cursor:pointer;align-items:center;font-size:14px;line-height:1.4;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin:0 8px 0 0}.checkbox-label span{flex:1}.checkbox-label a{color:#667eea;text-decoration:underline}.checkbox-label a:hover{color:#5568d3}.gmail-digest{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fbbf24;border-radius:12px;margin:16px 0;padding:16px;box-shadow:0 2px 8px #fbbf2426}.gmail-digest-header{border-bottom:1px solid #fbbf244d;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.gmail-digest-icon{font-size:24px}.gmail-digest-header-info{flex-direction:column;gap:4px;display:flex}.gmail-digest-header-info strong{color:#92400e;font-size:16px;font-weight:600}.gmail-digest-date{color:#b45309;font-size:13px}.gmail-digest-section{margin-bottom:16px}.gmail-digest-section:last-of-type{margin-bottom:0}.gmail-digest-section-title{color:#92400e;margin:0 0 8px;font-size:14px;font-weight:600}.gmail-digest-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gmail-digest-list-item{color:#78350f;font-size:14px;line-height:1.5}.gmail-digest-actions{border-top:1px solid #fbbf244d;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:12px;display:flex}.gmail-digest-action-btn{color:#b45309;cursor:pointer;background:#fff;border:1px solid #fbbf24;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.gmail-digest-action-btn:hover{background:#fef3c7;border-color:#f59e0b;transform:translateY(-1px)}.gmail-digest-action-btn:active{transform:translateY(0)}.gmail-digest-action-btn:disabled{opacity:.5;cursor:not-allowed}.gmail-digest-error{color:#c33;background-color:#fee;border-radius:6px;width:100%;margin-bottom:8px;padding:8px;font-size:13px}@media (width<=768px){.gmail-digest{padding:14px}.gmail-digest-header-info strong{font-size:15px}.gmail-digest-actions{flex-direction:column}.gmail-digest-action-btn{width:100%}}.chat-page{--input-height:76px;--bottom-nav-height:70px;background:var(--bg-page);height:100%;max-width:var(--max-content-width);flex-direction:column;margin:auto;display:flex;overflow:hidden}.info-banner{color:#1565c0;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px;padding:12px 16px;font-size:14px;display:flex}.info-banner.dismissible button{color:#1565c0;cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;margin-left:8px;padding:0;font-size:18px}.info-banner.dismissible button:hover{opacity:1}.warning-banner{background:var(--color-warning-bg);border-left:4px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px;padding:12px 16px;font-size:14px;display:flex}.warning-banner.dismissible button{color:var(--color-warning-text);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;margin-left:8px;padding:0;font-size:18px}.warning-banner.dismissible button:hover{opacity:1}.messages-container{margin-bottom:var(--input-height);background:#fff;flex-direction:column;flex:1;gap:15px;padding:20px;display:flex;overflow-y:auto}.message{align-self:flex-start;gap:10px;animation:.3s ease-in fadeIn;display:flex}.message.user{flex-direction:row-reverse;align-self:flex-end}.message-avatar{background:#f0f0f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.message.user .message-avatar{background:#667eea}.message.assistant .message-avatar{background:#e0e7ff}.message-content-wrapper{overflow-wrap:break-word;flex-direction:column;gap:4px;min-width:0;max-width:75%;display:flex}.message.user .message-content-wrapper{max-width:80%}.message-bubble{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;text-align:left;color:#333;background:#f0f0f0;border-radius:12px;max-width:100%;padding:10px 14px;line-height:1.5}.message.user .message-bubble{color:#fff;background:#667eea}.message.assistant .message-bubble{color:#333;background:#f0f0f0}.message-timestamp{color:#0006;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:11px}.message.user .message-timestamp{text-align:right}.message.assistant .message-timestamp{text-align:left}.timezone-info{text-align:center;color:#0006;-webkit-user-select:none;user-select:none;background:#fff;border-top:1px solid #f0f0f0;padding:8px;font-size:12px}.input-container{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));z-index:10;background:#fff;border-top:1px solid #e0e0e0;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.input-container textarea{resize:none;border:2px solid #e0e0e0;border-radius:20px;flex:1;max-height:150px;padding:12px 16px 12px 12px;font-family:inherit;font-size:15px;transition:border-color .2s;overflow-y:hidden}.input-container textarea[data-multiline=true]{overflow-y:auto}.input-container textarea::-webkit-scrollbar{width:6px}.input-container textarea::-webkit-scrollbar-track{background:0 0;margin:8px 0}.input-container textarea::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}.input-container textarea::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.input-container textarea:focus{border-color:#667eea;outline:none}.input-container textarea:disabled{cursor:not-allowed;background:#f5f5f5}.send-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:20px;padding:12px 24px;font-size:15px;font-weight:600;transition:transform .2s,opacity .2s}.send-btn:hover:not(:disabled){transform:translateY(-1px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.typing-message{animation:.3s ease-in fadeIn}.typing-bubble{background:#f0f0f0;align-items:center;min-height:40px;padding:12px 16px;display:inline-flex}.typing-indicator{align-items:center;gap:4px;display:flex}.typing-indicator-dot{background:#999;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing-bounce}.typing-indicator-dot:first-child{animation-delay:0s}.typing-indicator-dot:nth-child(2){animation-delay:.2s}.typing-indicator-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}@media (width<=767px){.message-content-wrapper{min-width:0;max-width:85%}.input-container{padding:12px}}.confirm-dialog-overlay{z-index:var(--z-modal-confirm);background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:12px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 8px 32px #0003}.confirm-dialog-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px 24px}.confirm-dialog-header h2{margin:0;font-size:20px;font-weight:600}.confirm-dialog-body{color:#333;padding:24px}.confirm-dialog-body p{margin:0;font-size:15px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:12px;padding:0 24px 24px;display:flex}.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:500;transition:all .2s}.btn-secondary:active,.btn-danger:active{transform:scale(.98)}@media (width<=768px){.confirm-dialog-actions{flex-direction:column}.btn-secondary,.btn-danger{width:100%}}.item-view-modal-overlay{z-index:var(--z-modal);background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fc-modal{border-radius:var(--radius-modal);width:100%;max-width:550px;box-shadow:var(--modal-shadow);font-family:var(--font);background:#fff;overflow:hidden}.fc-header{justify-content:space-between;align-items:flex-start;padding:28px 32px 22px;display:flex}.fc-header-left{text-align:left;justify-content:flex-start;align-items:center;gap:14px;display:flex}.fc-header-content{flex-direction:column;gap:0;display:flex}.fc-title{color:var(--ink);font-size:22px;font-weight:800;line-height:1.2}.fc-close{cursor:pointer;color:#8b84a0;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .12s;display:flex}.fc-close:hover{background:#f2effa}.fc-body{flex-direction:column;gap:5px;padding:24px 32px;display:flex}.fc-meta-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.fc-due{color:var(--muted-2);align-items:center;gap:7px;font-size:14px;font-weight:500;display:flex}.fc-footer{justify-content:space-between;align-items:center;padding:20px 32px 28px;display:flex}@media (width<=768px){.fc-modal{border-radius:20px;width:100%;max-height:80vh}.fc-header{padding:20px 24px 16px}.fc-badge{width:40px;height:40px}.fc-title{font-size:18px}.fc-divider{margin:0 24px}.fc-body{padding:20px 24px}.fc-footer{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 24px;display:flex}.fc-btn-danger{order:1;min-width:80px;padding:8px 12px;font-size:13px}.fc-actions{flex-direction:row;order:2;gap:8px;display:flex}.fc-actions .fc-btn{min-width:70px;padding:8px 12px;font-size:13px}}.fc-email-source{flex-direction:column;gap:14px;display:flex}.fc-source-email-section{background:#f7f5fa;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.fc-source-email-label{text-transform:uppercase;letter-spacing:.5px;color:#9891a8;font-size:12px;font-weight:600}.fc-source-email-info{justify-content:space-between;align-items:center;gap:12px;display:flex}.fc-source-email-subject{color:#1a1523;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.fc-source-email-link{color:#5b4fe3;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,transform .15s}.fc-source-email-link:hover{background:#e8e5ee;transform:translate(2px)}.fc-source-email-link:active{transform:translate(0)}.fc-school-badge{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.fc-links-section{flex-direction:column;gap:8px;display:flex}.fc-action-link{color:var(--brand);align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.fc-action-link:hover{color:#5941c6;text-decoration:underline}.fc-modal .task-status-badge{border-radius:12px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.fc-modal .task-badge-overdue{color:#991b1b;background-color:#fee2e2}.fc-modal .task-badge-due-today{color:#92400e;background-color:#fef3c7}.fc-modal .task-badge-upcoming{color:#065f46;background-color:#d1fae5}.item-source-email{align-items:center;gap:8px;display:flex}.item-source-email .email-icon{color:var(--muted-2);flex-shrink:0}.item-source-email .email-label{color:var(--muted-2);font-size:13px;font-weight:500}.item-source-email .btn-show-email{color:var(--brand);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:13px;font-weight:600;transition:color .2s}.item-source-email .btn-show-email:hover{color:#5941c6;text-decoration:underline}.item-source-email .btn-show-email:disabled{color:var(--muted-2);cursor:not-allowed;text-decoration:none}.email-detail-modal-overlay{z-index:var(--z-modal-confirm);background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.email-detail-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;animation:.2s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.email-detail-modal .email-header{justify-content:space-between;align-items:flex-start;padding:28px 32px 22px;display:flex}.email-detail-modal .email-header-left{text-align:left;flex:1;justify-content:flex-start;align-items:flex-start;gap:14px;min-width:0;display:flex}.email-detail-modal .email-badge{color:#5b4fe3;background:#f7f5fa;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.email-detail-modal .email-header-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.email-detail-modal .email-type-label{text-transform:uppercase;letter-spacing:.5px;color:#9891a8;font-size:12px;font-weight:600}.email-detail-modal .email-subject{color:#1a1523;margin:0;font-size:22px;font-weight:800;line-height:1.2}.email-detail-modal .email-close{cursor:pointer;color:#9891a8;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px;transition:background .15s}.email-detail-modal .email-close:hover{color:#1a1523;background:#f7f5fa}.email-detail-modal .email-divider{background:#e8e5ee;height:1px;margin:0 24px}.email-detail-modal .email-metadata{color:#6b6578;flex-direction:column;gap:4px;padding:16px 24px 0;font-size:13px;display:flex}.email-detail-modal .email-metadata .email-from{font-weight:500}.email-detail-modal .email-metadata .email-date{color:#9891a8;font-weight:400}.email-detail-modal .email-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.email-detail-modal .email-body::-webkit-scrollbar{width:8px}.email-detail-modal .email-body::-webkit-scrollbar-track{background:#f7f5fa;border-radius:4px}.email-detail-modal .email-body::-webkit-scrollbar-thumb{background:#d1ccdc;border-radius:4px}.email-detail-modal .email-body::-webkit-scrollbar-thumb:hover{background:#b8b2c8}.email-detail-modal .email-section{flex-direction:column;gap:10px;display:flex}.email-detail-modal .email-section-label{text-transform:uppercase;letter-spacing:.5px;color:#9891a8;font-size:12px;font-weight:600}.email-detail-modal .email-content-toggle-container{justify-content:flex-start;margin-bottom:12px;display:flex}.email-detail-modal .email-content-toggle-btn{color:#5b4fe3;cursor:pointer;background:#f7f5fa;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.email-detail-modal .email-content-toggle-btn:hover{background:#f0edf6;transform:translateY(-1px)}.email-detail-modal .email-content-toggle-btn:active{transform:translateY(0)}.email-detail-modal .email-content-text{color:#4a4557;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;text-align:left;font-size:14px;line-height:1.6}.email-detail-modal .email-snippet{color:#6b6578;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;text-align:left;font-size:13px;font-style:italic;line-height:1.6}.email-detail-modal .email-inline-link{color:#5b4fe3;font-style:normal;text-decoration:underline;transition:color .15s}.email-detail-modal .email-inline-link:hover{color:#4a3fd2;text-decoration:underline}.email-detail-modal .email-footer{justify-content:flex-end;gap:10px;padding:16px 24px 24px;display:flex}.email-detail-modal .email-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.email-detail-modal .email-btn-primary{color:#fff;background:#5b4fe3}.email-detail-modal .email-btn-primary:hover{background:#4a3fd2;transform:translateY(-1px)}.email-detail-modal .email-btn-primary:active{transform:translateY(0)}.email-detail-modal .email-btn-secondary{color:#5b4fe3;background:#f7f5fa}.email-detail-modal .email-btn-secondary:hover{background:#f0edf6;transform:translateY(-1px)}.email-detail-modal .email-btn-secondary:active{transform:translateY(0)}@media (width<=640px){.email-detail-modal{border-radius:0;max-width:100%;max-height:80vh}.email-detail-modal-overlay{padding:0}.email-detail-modal .email-subject{font-size:16px}.email-detail-modal .email-item-title{font-size:13px}}.fc-modal-overlay{z-index:var(--z-modal);padding:var(--space-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fc-modal[data-type=task]{border-radius:var(--radius-modal);width:100%;max-width:550px;max-height:80vh;box-shadow:var(--modal-shadow);background:#fff;flex-direction:column;display:flex;overflow:hidden}.form-group label{margin-bottom:var(--space-xs);color:var(--ink);font-size:14px;font-weight:500;display:block}@media (width<=768px){.fc-modal[data-type=task]{--radius-modal:16px;max-height:80vh}.form-row{grid-template-columns:1fr}.fc-footer{flex-wrap:nowrap;padding:16px 20px}.fc-btn-danger,.fc-actions .fc-btn{min-width:70px;padding:8px 12px;font-size:13px}}.tasks-page{max-width:var(--max-content-width);background:var(--bg-page);-webkit-user-select:none;user-select:none;min-height:100%;margin:auto;padding:20px}@media (width>=1024px){.tasks-sections-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.task-section{margin-bottom:0}}.tasks-header{margin-bottom:30px}.tasks-header-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tasks-header h1{font-size:28px;font-weight:600}.tasks-header-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tasks-header-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-dropdown{color:#4b4560;cursor:pointer;appearance:none;white-space:nowrap;text-overflow:ellipsis;background-color:#f8f7fb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 12 12'%3E%3Cpath fill='%236D5CE0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border:1.5px solid #d4ceed;border-radius:18px;width:auto;max-width:135px;padding:5px 26px 5px 10px;font-size:12.5px;font-weight:600;transition:all .2s;overflow:hidden}.filter-dropdown:hover{background-color:#f1eff8;border-color:#6d5ce0}.filter-dropdown.filter-active{color:#fff;border-color:#8b7ff5;background-color:#8b7ff5!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 8L2 4h8z'/%3E%3C/svg%3E")!important}.filter-dropdown:focus,.filter-dropdown:focus-visible,.filter-dropdown:active{box-shadow:none!important;outline:none!important}.filter-dropdown option{color:#374151;text-overflow:ellipsis;background:#fff;border-radius:0;padding:6px 10px;font-size:13px;overflow:hidden}.add-task-btn-primary{background:var(--fc-gradient-primary);color:#fff;cursor:pointer;box-shadow:var(--fc-shadow-button);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);white-space:nowrap;border:none;border-radius:18px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:flex}.add-task-btn-primary:hover{background:var(--fc-gradient-primary-hover);box-shadow:var(--fc-shadow-button-hover);transform:translateY(-1px)}.add-task-btn-primary:active{box-shadow:var(--fc-shadow-button-active);transform:translateY(0)}.add-task-mobile{display:none}.add-task-desktop{display:flex}.bulk-actions-bar{justify-content:flex-start;margin-bottom:20px;padding:12px 0;display:flex}.bulk-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bulk-count{color:#6b7280;font-size:13px;font-weight:500}.bulk-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s}.bulk-complete{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.bulk-complete:hover{background:#dcfce7;border-color:#86efac}.bulk-delete{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.bulk-delete:hover{background:#fee2e2;border-color:#fca5a5}.bulk-cancel{color:#6b7280;background:#f9fafb;border:1px solid #e5e7eb}.bulk-cancel:hover{background:#f3f4f6;border-color:#d1d5db}.bulk-btn:active{transform:scale(.98)}.overdue-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:24px;padding:12px 16px}.overdue-banner-content{justify-content:space-between;align-items:center;display:flex}.overdue-banner-left{align-items:center;gap:8px;display:flex}.overdue-icon{font-size:18px}.overdue-text{color:#856404;font-size:14px;font-weight:500}.overdue-banner-dismiss{color:#856404;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:24px;transition:background .2s;display:flex}.overdue-banner-dismiss:hover{background:#8564041a}.task-section{margin-bottom:40px}.task-section h2{letter-spacing:.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;text-align:left;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.section-title-overdue{color:var(--color-overdue)}.section-title-today{color:var(--color-due-today)}.section-title-upcoming{color:var(--color-upcoming)}.section-title-completed{color:var(--color-completed)}.section-count{border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.section-title-overdue .section-count{color:var(--badge-overdue-fg);background:var(--badge-overdue-bg)}.section-title-today .section-count{color:var(--badge-due-today-fg);background:var(--badge-due-today-bg)}.section-title-upcoming .section-count{color:var(--badge-upcoming-fg);background:var(--badge-upcoming-bg)}.section-title-completed .section-count{color:var(--badge-completed-fg);background:var(--badge-completed-bg)}.task-list{flex-direction:column;gap:10px;display:flex}.task-card{cursor:pointer;-webkit-tap-highlight-color:#0000;background:#fff;border:1px solid #e0e0e0;border-left:4px solid;border-radius:12px;flex-direction:column;gap:12px;padding:16px;transition:all .2s;display:flex;position:relative}.task-card.completing{pointer-events:none;animation:.3s ease-out forwards fadeSlideOut}@keyframes fadeSlideOut{0%{opacity:1;transform:translate(0)translateY(0)}to{opacity:0;transform:translate(20px)translateY(10px)}}@media (prefers-reduced-motion:reduce){.task-card.completing{animation:.2s ease-out forwards fadeOut}@keyframes fadeOut{to{opacity:0}}}.task-card-top{align-items:flex-start;gap:12px;width:100%;display:flex}.task-card:hover{border-color:var(--color-task);box-shadow:0 2px 8px #0000001a}.task-card.completed{cursor:default}.task-card.completed:hover{box-shadow:none;border-color:var(--color-task)}.task-card-checkbox{opacity:0;flex-shrink:0;padding-top:2px;animation:.2s forwards fadeIn}.task-selection-checkbox{cursor:pointer;accent-color:#705ebc;width:18px;height:18px}.task-card.selection-mode{cursor:default;-webkit-user-select:none;user-select:none}.task-card-content{text-align:left;-webkit-user-select:none;user-select:none;flex:1;min-width:0}.task-school-badge{margin-top:4px}.task-badge-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.task-status-badge{border-radius:12px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.task-badge-overdue{color:var(--badge-overdue-fg);background-color:var(--badge-overdue-bg)}.task-badge-due-today{color:var(--badge-due-today-fg);background-color:var(--badge-due-today-bg)}.task-badge-upcoming{color:var(--badge-upcoming-fg);background-color:var(--badge-upcoming-bg)}.task-badge-completed{color:var(--badge-completed-fg);background-color:var(--badge-completed-bg)}.task-assignee-bubble{align-items:center;gap:6px;display:flex}.assignee-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:flex}.assignee-name{color:#6b7280;font-size:12px;font-weight:500}.task-card-actions{opacity:0;flex-shrink:0;align-items:flex-start;gap:8px;transition:opacity .2s;display:flex}.task-card:hover .task-card-actions,.task-card-actions:focus-within{opacity:1}@media (hover:none){.task-card-actions{opacity:1}}.task-action-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.task-action-btn:hover{background:#f0f0f0}.task-action-btn:active{transform:scale(.95)}.task-complete-btn{opacity:1;flex-shrink:0;align-self:flex-start;margin-top:2px}.task-card.completed .task-complete-btn{color:var(--status-color,var(--color-task))}.task-card.completed .task-complete-btn svg circle{fill:var(--status-color,var(--color-task));stroke:var(--status-color,var(--color-task))}.task-card.completed .task-complete-btn svg path{stroke:#fff;stroke-width:2.5px}.task-edit-btn:hover{color:#374151}.task-delete-btn:hover{color:#ef4444}.task-title{word-break:break-word;align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:500;display:flex}.task-card.completed .task-title{text-decoration:line-through}.task-time{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500}.task-time.overdue{color:#dc3545}.task-meta{color:#666;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.task-date,.task-assigned,.task-school{align-items:center;gap:4px;display:flex}.task-date.duetoday{color:var(--color-due-today);font-weight:500}.task-date.overdue{color:var(--color-overdue);font-weight:500}.task-school{color:var(--ink-soft);background:var(--surface-tint);border-radius:6px;padding:4px 8px;font-size:13px;font-weight:600}.task-description{color:#666;word-break:break-word;margin-top:8px;font-size:14px}.empty-state{text-align:center;color:#999;padding:40px 20px}.empty-state p{font-size:14px}.all-empty-state{text-align:center;color:#999;grid-column:1/-1;padding:80px 20px}.all-empty-state .empty-state-icon{margin-bottom:16px;font-size:64px}.all-empty-state p{font-size:16px}@keyframes spin{to{transform:rotate(360deg)}}.task-modal{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.task-modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.task-modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.task-modal-header h2{font-size:20px;font-weight:600}.close-btn{color:#999;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;transition:background .2s;display:flex}.close-btn:hover{background:#f0f0f0}.task-form{padding:24px}.form-group input[type=text],.form-group textarea,.form-group input[type=date],.form-group input[type=time],.form-group select{border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#007bff;outline:none}.form-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#007bff;flex:1}.btn-primary:hover{background:#0056b3}.btn-secondary{color:#333;background:#f0f0f0}.btn-secondary:hover{background:#e0e0e0}.btn-danger{color:#fff;background:#dc3545}.btn-danger:hover{background:#c82333}.btn-primary:active,.btn-secondary:active,.btn-danger:active{transform:scale(.98)}@media (width<=600px){.tasks-page{padding:16px}.tasks-header{margin-bottom:20px}.tasks-header-top{margin-bottom:12px}.tasks-header h1{font-size:24px}.tasks-header-actions{flex-wrap:wrap;width:100%}.filter-dropdown{max-width:110px;padding:5px 24px 5px 9px;font-size:12px}.add-task-mobile{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:7px 10px;font-size:0;display:flex}.add-task-mobile svg{width:16px;height:16px}.add-task-desktop{display:none}.task-card{padding:12px}.task-title{font-size:15px}.task-meta{font-size:12px}.task-description{font-size:13px}.task-modal-content{border-radius:12px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary,.btn-danger{width:100%}}.grocery-page{background:#f5f5f5;flex-direction:column;height:100vh;padding-bottom:70px;display:flex;position:relative}.grocery-header{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px;display:flex}.grocery-header h1{color:#333;margin:0;font-size:24px}.clear-btn{color:#fff;cursor:pointer;background:#f44;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s}.clear-btn:hover{background:#c00}.add-item-container{background:#fff;border-bottom:1px solid #e0e0e0;gap:12px;padding:16px 20px;display:flex}.item-input{border:2px solid #e0e0e0;border-radius:8px;flex:1;padding:12px;font-size:15px;transition:border-color .2s}.item-input:focus{border-color:#667eea;outline:none}.add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:transform .2s;display:flex}.add-btn:hover{transform:scale(1.05)}.add-btn:active{transform:scale(.95)}.items-container{flex:1;padding:20px;overflow-y:auto}.empty-state{color:#999;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state-icon{margin-bottom:16px;font-size:64px}.empty-state p{margin:0;font-size:16px}.items-list{flex-direction:column;gap:8px;display:flex}.item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;transition:box-shadow .2s;animation:.3s ease-out slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.item-card:hover{box-shadow:0 2px 8px #0000001a}.item-name{color:#333;font-size:16px}.delete-btn{color:#fff;cursor:pointer;background:#f44;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:background .2s;display:flex}@media (width<=768px){.grocery-header{padding:16px}.grocery-header h1{font-size:20px}.add-item-container{padding:12px 16px}.items-container{padding:16px}}.fc-modal-overlay{top:var(--header-height);left:0;right:0;bottom:var(--navbar-height);z-index:var(--z-modal);padding:var(--space-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed}.fc-modal[data-type=event]{border-radius:var(--radius-modal);width:100%;max-width:550px;max-height:80vh;box-shadow:var(--modal-shadow);background:#fff;flex-direction:column;display:flex;overflow:hidden}.fc-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.fc-header h2{color:var(--ink);font-size:20px;font-weight:600}.fc-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;transition:background .2s;display:flex}.fc-close-btn:hover{background:var(--surface-tint)}.fc-body{padding:var(--space-md);flex:1;overflow-y:auto}.edit-mode-selector{gap:var(--space-sm);margin-bottom:var(--space-xl);padding:var(--space-md);background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex}.edit-mode-option{align-items:center;gap:var(--space-xs);padding:var(--space-sm);cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex:1;transition:all .2s;display:flex}.edit-mode-option:hover{border-color:var(--brand)}.edit-mode-option.selected{border-color:var(--brand);background:var(--brand-tint)}.edit-mode-option input[type=radio]{cursor:pointer;accent-color:var(--brand)}.edit-mode-option span{color:var(--ink);font-size:14px;font-weight:500}.form-group input[type=text],.form-group textarea,.form-group input[type=date],.form-group input[type=time],.form-group select{width:100%;padding:10px var(--space-sm);border:1px solid var(--divider);border-radius:8px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{box-shadow:var(--focus-ring);outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-row{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.fc-footer{padding:var(--space-xl);border-top:1px solid var(--divider);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.fc-actions{gap:10px;display:flex}@media (width<=768px){.fc-modal-overlay{top:var(--header-height-mobile)}.fc-modal[data-type=event]{--radius-modal:16px;max-height:80vh}.fc-body{padding:var(--space-md)}.edit-mode-selector{gap:var(--space-xs);flex-direction:column}.form-row{grid-template-columns:1fr}.fc-footer{flex-wrap:nowrap;padding:16px 20px}.fc-btn-danger,.fc-actions .fc-btn{min-width:70px;padding:8px 12px;font-size:13px}}.fc-today-sidebar{border-radius:var(--radius-xl);border:1px solid var(--fc-border-subtle);width:328px;box-shadow:var(--fc-shadow-card);background:#fff;flex:none;align-self:flex-start;padding:22px}.fc-today-status-badge{border-radius:12px;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.fc-today-status-badge.task-badge-overdue{color:var(--badge-overdue-fg);background:var(--badge-overdue-bg)}.fc-today-status-badge.task-badge-due-today{color:var(--badge-due-today-fg);background:var(--badge-due-today-bg)}.fc-today-status-badge.task-badge-upcoming{color:var(--badge-upcoming-fg);background:var(--badge-upcoming-bg)}.fc-today-event-card.completed{opacity:.7}.fc-today-card-title.strikethrough{opacity:.6;text-decoration:line-through}.fc-today-card-desc{color:var(--fc-text-secondary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;max-width:100%;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}@media (width<=767px){.fc-today-sidebar{width:100%;max-height:none;overflow-y:visible}}.calendar-page{background:var(--bg-page);min-height:100%;max-width:var(--max-content-width);flex-direction:column;margin:auto;padding:20px 20px 100px;display:flex;position:relative}.info-banner{color:#1565c0;z-index:1;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px;padding:12px 16px;font-size:14px;display:flex;position:relative}.info-banner a{color:#1565c0;white-space:nowrap;font-weight:600;text-decoration:underline}.info-banner button{color:#1565c0;cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:8px;padding:0;font-size:18px}.info-banner button:hover{opacity:1}.warning-banner{background:var(--color-warning-bg);border-left:4px solid var(--color-warning-border);color:var(--color-warning-text);z-index:1;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin:12px 20px;padding:12px 16px;font-size:14px;display:flex;position:relative}.warning-banner a{color:var(--color-warning-text);white-space:nowrap;font-weight:600;text-decoration:underline}.warning-banner button{color:var(--color-warning-text);cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:8px;padding:0;font-size:18px}.warning-banner button:hover{opacity:1}.calendar-page-banner{z-index:10;margin:0 0 12px;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.loading-overlay{z-index:100;background:#ffffffe6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-spinner{border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:20px;display:flex}.fc-toolbar-left{align-items:center;gap:14px;display:flex}.fc-toolbar-right{align-items:center;gap:12px;display:flex}.fc-toolbar-title{color:var(--fc-text-primary);text-align:center;min-width:200px;margin:0;font-size:26px;font-weight:800}.fc-navbtn{border-radius:var(--radius-full);border:1px solid var(--fc-border);width:36px;height:36px;color:var(--fc-text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#fff;justify-content:center;align-items:center;display:flex}.fc-navbtn:hover{background:var(--fc-surface-hover);border-color:var(--fc-border)}.fc-primary{background:var(--fc-gradient-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--fc-shadow-button);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border:none;align-items:center;gap:7px;padding:10px 18px;font-size:13.5px;font-weight:700;display:flex}.fc-primary:hover{background:var(--fc-gradient-primary-hover);box-shadow:var(--fc-shadow-button-hover);transform:translateY(-1px)}.fc-primary:active{box-shadow:var(--fc-shadow-button-active);transform:translateY(0)}.add-event-mobile{display:none}.add-event-desktop{display:flex}.fc-calendar-main-layout{gap:28px;padding:0 20px;display:flex;overflow:hidden}.fc-calendar-column{flex-direction:column;flex:auto;min-width:0;display:flex}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:10px;width:100%;margin-bottom:8px;display:grid}.fc-weekday{text-align:center;letter-spacing:.07em;text-transform:uppercase;color:var(--fc-text-tertiary);padding:4px 0;font-size:11px;font-weight:800}.calendar-grid{box-sizing:border-box;grid-template-columns:repeat(7,1fr);gap:10px;width:100%;max-width:100%;display:grid}.calendar-day{border:1px solid var(--fc-border-subtle);border-radius:var(--radius-lg);min-height:108px;transition:background var(--transition-normal);cursor:pointer;background:#fff;flex-direction:column;padding:8px;font-size:12px;display:flex;position:relative;overflow:hidden}.calendar-day:hover{background:#f9f9f9}.day-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.day-actions{flex-direction:column;flex-shrink:0;margin-top:auto;margin-bottom:1px;padding:0;display:flex}.add-event-hint{color:#667eea;text-align:center;opacity:.7;white-space:nowrap;cursor:pointer;flex-shrink:0;margin:0;padding:0;font-size:9px;font-weight:500;line-height:1;transition:opacity .2s;display:block}.add-event-hint:hover{opacity:1;text-decoration:underline}.calendar-day.other-month{opacity:.3;cursor:default}.calendar-day.other-month:hover{background:#fff}.calendar-day.today{background:var(--fc-surface-today);border-color:var(--fc-border-today)}.calendar-day.today:hover{background:var(--fc-surface-hover)}.calendar-day.today .day-number{color:var(--fc-primary)}.calendar-day.selected{background:#dce7ff;border-width:2px;border-color:#667eea}.day-number{color:#333;margin-bottom:2px;font-size:13px;font-weight:600}.day-items{flex-wrap:wrap;flex:1;align-items:flex-start;gap:3px;min-height:0;max-height:100%;margin-top:0;display:flex;overflow:hidden}.item-indicator{border-radius:var(--radius-sm);padding:3px 8px;font-size:11px;font-weight:700;line-height:1.4;display:none}.item-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.item-dot.event{background:var(--color-event)}.item-dot.task{background:var(--color-task)}.item-dot.reminder{background:var(--color-reminder)}.item-more{color:var(--fc-text-tertiary);white-space:nowrap;cursor:pointer;opacity:1;z-index:10;text-align:center;background:0 0;border-radius:0;flex-shrink:0;margin:0;padding:0;font-size:11px;font-weight:700;line-height:1;transition:opacity .2s}.item-more:hover{opacity:.7;text-decoration:underline}.item-more.desktop{display:none}.item-more.mobile{display:block}.day-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.day-modal{flex-direction:column;width:90%;max-width:600px;max-height:80vh;display:flex}.day-modal-content{flex:1;min-height:0;overflow-y:auto}.no-items{text-align:center;color:#6b7280;padding:40px 20px;font-size:16px}.day-items-list{flex-direction:column;gap:12px;display:flex}.day-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.day-item.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.day-item.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.day-item.event{border-left:4px solid var(--color-event)}.day-item.task{border-left:4px solid var(--color-task)}.day-item.reminder{border-left:4px solid var(--color-reminder)}.item-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:2px;display:flex}.item-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.item-time-chip{color:var(--color-event);background:#e0f2fe;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:14px;font-weight:600}.event-type-icon{color:var(--color-event);flex-shrink:0}.task-type-icon{color:var(--color-task);flex-shrink:0}.item-fullday-chip{color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f1f5f9;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:600}.item-actions{flex-shrink:0;gap:8px;display:flex}.action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:18px;transition:background .2s}.action-btn:hover{background:#0000000d}.action-btn.edit:hover{background:#667eea1a}.action-btn.delete:hover{background:#dc35451a}.read-only-badge{color:#92400e;cursor:default;background:#fef3c7;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.day-item h3{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:600;overflow:hidden}.item-description{color:#6b7280;text-align:left;margin:8px 0;font-size:14px;line-height:1.5}.item-location,.item-assigned{color:#6b7280;margin:8px 0;font-size:14px}.item-school{color:var(--ink-soft);background:var(--surface-tint);border-radius:6px;align-items:center;margin:8px 0;padding:4px 8px;font-size:13px;font-weight:600;display:inline-flex}.status-badge{border-radius:4px;margin-top:8px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-block}.status-badge.status-pending{color:#92400e;background:#fef3c7}.status-badge.status-completed{color:#065f46;background:#d1fae5}.calendar-legend{z-index:90;background:#fff;border-top:1px solid #e0e0e0;flex-wrap:wrap;justify-content:center;gap:16px;padding:12px 16px;display:flex;position:fixed;bottom:70px;left:0;right:0}.legend-item{color:#666;align-items:center;gap:8px;font-size:14px;display:flex}.legend-indicator{border-radius:4px;width:16px;height:16px}.legend-indicator.event{background:var(--color-event)}.legend-indicator.task{background:var(--color-task)}@media (width>=769px){.item-indicator{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;width:95%;min-height:16px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.4;display:block;overflow:hidden}.item-indicator.event{background:var(--color-event-bg);color:var(--color-event)}.item-indicator.task{background:var(--color-task-bg);color:var(--color-task)}.item-indicator.reminder{background:var(--color-reminder-bg);color:var(--color-reminder)}.item-indicator.external{color:#4b5563;background:#d1d5db;border:1px solid #9ca3af}.item-dot{display:none}.calendar-day{min-height:108px}.day-items{flex-flow:column;flex:1;gap:2px;min-height:0;max-height:60px;overflow:hidden}.item-more.mobile{display:none}.item-more.desktop{font-size:9px;display:block}.add-event-hint{display:none}.calendar-day:hover .add-event-hint{display:block}}body{max-width:100vw;overflow-x:hidden}.fc-today-sidebar{border-radius:var(--radius-xl);border:1px solid var(--fc-border-subtle);width:328px;box-shadow:var(--fc-shadow-card);background:#fff;flex:none;align-self:flex-start;padding:22px;overflow-y:auto}.fc-today-sidebar-header{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.fc-today-title{color:var(--fc-text-primary);font-size:17px;font-weight:800}.fc-today-date{color:var(--fc-text-tertiary);font-size:12.5px;font-weight:600}.fc-section-header{letter-spacing:.07em;text-transform:uppercase;color:var(--fc-text-tertiary);margin:18px 0 12px;font-size:11px;font-weight:800}.fc-today-event-card{background:var(--fc-surface);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);margin-bottom:10px;padding:12px 14px}.fc-today-event-card:hover{box-shadow:var(--fc-shadow-card-hover);transform:translateY(-1px)}.fc-today-event-card.event{border-left:4px solid var(--color-event)}.fc-today-event-card.task{border-left:4px solid var(--color-task)}.fc-today-event-card.reminder{border-left:4px solid var(--color-reminder)}.fc-today-card-time{margin-bottom:4px;font-size:12px;font-weight:700}.fc-today-event-card.event .fc-today-card-time{color:var(--color-event)}.fc-today-event-card.task .fc-today-card-time{color:var(--color-task)}.fc-today-event-card.reminder .fc-today-card-time{color:var(--color-reminder)}.fc-today-card-title{color:var(--fc-text-primary);margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.3}.fc-today-card-desc{color:var(--fc-text-secondary);font-size:12.5px;line-height:1.45}.fc-today-card-location{color:var(--fc-text-muted);align-items:center;gap:5px;margin-top:8px;font-size:12px;display:flex}.recurrence-icon{color:#9ca3af;opacity:.7;cursor:help;-webkit-user-select:none;user-select:none;margin-left:4px;font-size:12px;display:inline-block}.recurrence-icon:hover{opacity:1;color:#6b7280}@media (width<=768px){.add-event-hint{display:none}.calendar-toolbar{padding:12px}.fc-toolbar-title{min-width:150px;font-size:18px}.fc-toolbar-left{gap:8px}.fc-toolbar-right{flex-wrap:wrap}.fc-navbtn{width:44px;height:44px}.add-event-mobile{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:7px 10px;font-size:0;display:flex}.add-event-mobile svg{width:16px;height:16px}.add-event-desktop{display:none}.fc-calendar-main-layout{flex-direction:column-reverse;gap:16px;padding:0 12px}.fc-today-sidebar{width:100%;max-height:none;margin-top:20px;overflow-y:visible}.fc-calendar-column{order:1}.calendar-day{min-height:60px;padding:4px}.day-number{margin-bottom:3px;font-size:11px}.fc-weekday{padding:3px 1px;font-size:9px}.day-items{gap:2px;margin-top:3px}.calendar-grid,.calendar-weekdays{gap:6px}.calendar-legend{gap:12px;padding:8px 12px}.legend-item{font-size:11px}}.day-item .fc-school-badge,.day-item .item-description,.day-item .item-location,.day-item .item-assigned{text-align:left;justify-content:flex-start}.gmail-settings-loading{text-align:center;color:#999;padding:40px 20px;font-size:14px}.gmail-settings-error{color:#c53030;background:#fff5f5;border-left:3px solid #fc8181;border-radius:6px;margin-bottom:20px;padding:14px 16px;font-size:14px;line-height:1.5}.gmail-settings-container{max-width:600px}.gmail-settings-header{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:16px 20px;display:flex}.gmail-settings-status{align-items:center;gap:12px;display:flex}.gmail-settings-status-icon{font-size:24px;line-height:1}.gmail-settings-status-info{flex-direction:column;gap:2px;display:flex}.gmail-settings-status-info strong{color:#2d3748;font-size:14px;font-weight:600}.gmail-settings-status-text{color:#718096;font-size:13px}.gmail-settings-status-connected{color:#38a169;font-size:13px}.gmail-settings-status-error{color:#e53e3e;font-size:13px}.gmail-settings-header-actions{align-items:center;gap:8px;display:flex}.gmail-settings-connect-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.gmail-settings-connect-btn:hover{background:#5568d3}.gmail-settings-run-btn{color:#667eea;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #667eea;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.gmail-settings-run-btn:hover{background:#f7fafc}.gmail-settings-disconnect-btn{color:#e53e3e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #feb2b2;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.gmail-settings-disconnect-btn:hover{background:#fff5f5;border-color:#fc8181}.gmail-settings-section{margin-bottom:28px}.gmail-settings-section-title{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px;font-weight:600}.gmail-settings-section-description{color:#718096;margin:0 0 16px;font-size:14px;line-height:1.6}.gmail-settings-filters-grid{flex-wrap:wrap;gap:8px;min-height:40px;margin-bottom:12px;display:flex}.gmail-settings-filters-grid:empty:before{content:"No filters added yet";color:#a0aec0;padding:10px 0;font-size:13px;font-style:italic;display:block}.gmail-settings-filter-tag{color:#2d3748;background:#edf2f7;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:all .2s;display:inline-flex}.gmail-settings-filter-tag:hover{background:#e2e8f0;border-color:#cbd5e0}.gmail-settings-filter-tag-remove{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:16px;line-height:1;transition:all .2s;display:flex}.gmail-settings-filter-tag-remove:hover{color:#2d3748;background:#cbd5e0}.gmail-settings-input-row{gap:8px;display:flex}.gmail-settings-input{color:#2d3748;border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:10px 14px;font-size:14px;transition:all .2s}.gmail-settings-input:focus{background:#f7fafc;border-color:#667eea;outline:none}.gmail-settings-input::placeholder{color:#a0aec0}.gmail-settings-btn-add{color:#4a5568;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s}.gmail-settings-btn-add:hover{background:#f7fafc;border-color:#cbd5e0}.gmail-settings-time-row{align-items:center;gap:12px;display:flex}.gmail-settings-time-label{color:#4a5568;font-size:14px;font-weight:500}.gmail-settings-time-input{color:#2d3748;border:2px solid #e2e8f0;border-radius:8px;width:140px;padding:10px 14px;font-size:14px}.gmail-settings-time-input:focus{border-color:#667eea;outline:none}.gmail-settings-toggles{flex-direction:column;gap:14px;display:flex}.gmail-settings-toggle-row{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.gmail-settings-toggle-row input[type=checkbox]{cursor:pointer;accent-color:#667eea;width:20px;height:20px;margin-top:2px}.gmail-settings-toggle-label{color:#2d3748;flex:1;font-size:14px;line-height:1.5}.gmail-settings-warning{color:#7c2d12;background:#fffaf0;border-left:3px solid #ed8936;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.6}.gmail-settings-actions{border-top:2px solid #f7fafc;gap:12px;margin-top:40px;padding-top:24px;display:flex}.gmail-settings-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;flex:1;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 4px 6px #667eea33}.gmail-settings-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 12px #667eea4d}.gmail-settings-btn-primary:active{transform:translateY(0)}.gmail-settings-btn-secondary{color:#e53e3e;cursor:pointer;background:#fff;border:2px solid #feb2b2;border-radius:10px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s}.gmail-settings-btn-secondary:hover{background:#fff5f5;border-color:#fc8181}@media (width<=640px){.gmail-settings-header{flex-direction:column;align-items:flex-start;gap:12px}.gmail-settings-header-actions{flex-direction:column;width:100%}.gmail-settings-connect-btn,.gmail-settings-run-btn,.gmail-settings-disconnect-btn{width:100%}.gmail-settings-input-row{flex-direction:column}.gmail-settings-btn-add{width:100%}.gmail-settings-actions{flex-direction:column-reverse}.gmail-settings-btn-primary,.gmail-settings-btn-secondary{width:100%}.gmail-settings-time-row{justify-content:space-between}}.calendar-settings-loading{text-align:center;color:#999;padding:40px 20px;font-size:14px}.calendar-settings-error{color:#c53030;background:#fff5f5;border-left:3px solid #fc8181;border-radius:6px;margin-bottom:20px;padding:14px 16px;font-size:14px;line-height:1.5}.calendar-settings-container{max-width:600px}.calendar-settings-header{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:16px 20px;display:flex}.calendar-settings-status{align-items:center;gap:12px;display:flex}.calendar-settings-status-icon{line-height:1}.calendar-settings-status-info{flex-direction:column;gap:2px;display:flex}.calendar-settings-status-info strong{color:#2d3748;font-size:14px;font-weight:600}.calendar-settings-status-text{color:#718096;font-size:13px}.calendar-settings-status-connected{color:#38a169;font-size:13px}.calendar-settings-status-error{color:#e53e3e;font-size:13px}.calendar-settings-header-actions{align-items:center;gap:8px;display:flex}.calendar-settings-connect-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.calendar-settings-connect-btn:hover{background:#5568d3}.calendar-settings-sync-btn{color:#667eea;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #667eea;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.calendar-settings-sync-btn:hover:not(:disabled){background:#f7fafc}.calendar-settings-sync-btn:disabled{opacity:.5;cursor:not-allowed}.calendar-settings-disconnect-btn{color:#e53e3e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #feb2b2;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.calendar-settings-disconnect-btn:hover{background:#fff5f5;border-color:#fc8181}.calendar-settings-section{margin-bottom:28px}.calendar-settings-section-title{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px;font-weight:600}.calendar-settings-section-description{color:#718096;margin:0 0 16px;font-size:14px;line-height:1.6}.calendar-modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.calendar-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.calendar-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.calendar-modal-header h2{color:#2d3748;margin:0;font-size:18px;font-weight:600}.calendar-close-btn{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;line-height:1;transition:background .2s;display:flex}.calendar-close-btn:hover{color:#4a5568;background:#edf2f7}.calendar-modal-body{padding:24px}.calendar-modal-body p{color:#4a5568;margin:0;font-size:14px;line-height:1.6}.calendar-modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.calendar-btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.calendar-btn-cancel{color:#4a5568;background:#fff;border:1px solid #cbd5e0}.calendar-btn-cancel:hover{background:#edf2f7}.calendar-btn-primary{color:#fff;background:#667eea}.calendar-btn-primary:hover{background:#5568d3}@media (width<=640px){.calendar-settings-header{flex-direction:column;align-items:flex-start;gap:12px}.calendar-settings-header-actions{flex-direction:column;width:100%}.calendar-settings-connect-btn,.calendar-settings-sync-btn,.calendar-settings-disconnect-btn{width:100%}.calendar-modal-footer{flex-direction:column-reverse}.calendar-btn{width:100%}}.settings-page{max-width:var(--max-content-width);margin:0 auto;padding:76px 20px 100px}.settings-content{flex-direction:column;gap:30px;display:flex}.settings-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.settings-section h2{color:#1a1a1a;margin:0 0 20px;font-size:20px;font-weight:600}@media (width<=768px){.settings-page{padding:68px 16px 140px}.settings-header h1{font-size:24px}.settings-section{padding:20px}.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.settings-toggle-btn,.settings-checkbox,.settings-select{align-self:flex-start}}.delete-account-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.delete-account-section h3{color:#111827;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.delete-account-description{color:#6b7280;margin-bottom:1rem;font-size:.875rem}.delete-account-btn{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.delete-account-btn:hover{background-color:#b91c1c}.delete-account-btn:active{background-color:#991b1b}.delete-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-modal{background-color:#fff;border-radius:.5rem;width:90%;max-width:28rem;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.delete-modal h2{color:#111827;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.delete-warning-banner{color:#dc2626;text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin-bottom:1rem;padding:.75rem;font-weight:600}.delete-details{margin-bottom:1.5rem}.delete-details p{color:#111827;margin-bottom:.5rem;font-weight:600}.delete-details ul{color:#6b7280;padding-left:1.5rem;font-size:.875rem;list-style-type:disc}.delete-details li{margin-bottom:.25rem}.delete-confirmation{margin-bottom:1.5rem}.delete-confirmation label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.delete-confirmation input{border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.625rem;font-family:monospace;font-size:.875rem}.delete-confirmation input:focus{border-color:#dc2626;outline:none;box-shadow:0 0 0 3px #dc26261a}.delete-confirmation input:disabled{cursor:not-allowed;background-color:#f9fafb}.delete-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.delete-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.delete-cancel-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.delete-cancel-btn:hover{background-color:#f9fafb}.delete-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-btn{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.delete-confirm-btn:hover:not(:disabled){background-color:#b91c1c}.delete-confirm-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.general-settings{max-width:600px}.general-settings .settings-section{box-shadow:none;background:0 0;margin-bottom:32px;padding:0}.general-settings .settings-section h3{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px;font-weight:600}.setting-description{color:#6b7280;margin-bottom:12px;font-size:14px}.timezone-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;max-width:400px;padding:10px 12px;font-size:14px}.general-settings .save-btn{cursor:pointer;border-radius:10px;margin-top:40px;margin-left:auto;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;display:block;box-shadow:0 4px 6px #667eea33;color:#fff!important;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:none!important}.general-settings .save-btn:focus,.general-settings .save-btn:focus-visible{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:#0000!important;outline:0 #0000!important;box-shadow:0 0 0 3px #667eea4d!important}.general-settings .save-btn:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:none!important;box-shadow:0 6px 12px #667eea4d!important}.general-settings .save-btn:active{transform:translateY(0);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:none!important}.general-settings .save-btn:disabled{cursor:not-allowed;box-shadow:none;background:#9ca3af;transform:none}.error-message{color:#991b1b;background-color:#fee2e2;border-radius:6px;margin-bottom:16px;padding:12px;font-size:14px}.general-settings .settings-item{background:0 0;border-bottom:1px solid #e2e8f0;padding:16px 0}.general-settings .settings-item:last-child{border-bottom:none}.general-settings .settings-notice{color:#7c2d12;background:#fffaf0;border:1px solid #f59e0b}.general-settings .settings-message{border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.general-settings .settings-message.success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.general-settings .settings-message.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.install-app-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #667eea33}.install-app-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.install-app-btn:active{transform:translateY(0)}.install-instructions{color:#0c4a6e;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:16px;padding:16px;font-size:14px}.install-instructions strong{color:#075985}.install-instructions ul{margin:12px 0;padding-left:20px}.install-instructions li{margin:8px 0;line-height:1.5}.close-instructions-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s}.close-instructions-btn:hover{background:#0369a1}.general-settings .settings-section.legal-privacy-section{border-top:1px solid #e5e7eb;margin-top:48px;padding-top:32px}.legal-links{flex-direction:column;gap:8px;display:flex}.legal-link{color:#667eea;font-size:14px;text-decoration:none;transition:color .2s}.legal-link:hover{color:#764ba2;text-decoration:underline}.settings-page-unified{background-color:#f9fafb;min-height:100vh;display:flex}.settings-sidebar{width:240px;height:calc(100vh - 52px);top:52px;left:var(--sidebar-width);z-index:110;background-color:#fff;border-right:1px solid #e5e7eb;padding:24px 0 80px;position:fixed;overflow-y:auto}.settings-sidebar-title{color:#111827;margin:0 24px 16px;font-size:20px;font-weight:600}.settings-nav{flex-direction:column;gap:4px;padding:0 12px;display:flex}.settings-nav-item{cursor:pointer;color:#6b7280;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;transition:all .15s;display:flex}.settings-nav-item:hover{color:#111827;background-color:#f3f4f6}.settings-nav-item.active{color:#0369a1;background-color:#e0f2fe;font-weight:500}.settings-nav-icon{flex-shrink:0;font-size:18px}.settings-nav-label{flex:1}.settings-content{flex:1;max-width:900px;margin-left:300px;padding:76px 48px 100px}.settings-header{margin-bottom:24px}.settings-header h1{color:#111827;margin:0;font-size:28px;font-weight:600}.settings-section-content{text-align:left;flex-direction:column;gap:24px;display:flex}.settings-section-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.settings-section-card h2{color:#1a1a1a;margin:0 0 20px;font-size:20px;font-weight:600}.settings-loading{text-align:center;color:#666;padding:40px}.settings-notice{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;line-height:1.5}.notice-warning{color:#856404;background:#fff3cd;border:1px solid #ffc107}.notice-error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.settings-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.settings-item:last-child{border-bottom:none}.settings-item-info{flex:1}.settings-item-info strong{color:#1a1a1a;margin-bottom:4px;font-size:15px;font-weight:500;display:block}.settings-item-description{color:#666;margin:0;font-size:13px}.settings-toggle-btn{color:#007aff;cursor:pointer;background:#fff;border:2px solid #007aff;border-radius:20px;min-width:90px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.settings-toggle-btn:hover:not(:disabled){background:#f0f7ff}.settings-toggle-btn.active{color:#fff;background:#007aff}.settings-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.settings-checkbox{cursor:pointer;width:48px;height:28px;display:inline-block;position:relative}.settings-checkbox input{opacity:0;width:0;height:0;position:absolute}.settings-checkbox .checkmark{background-color:#ccc;border-radius:28px;width:48px;height:28px;transition:background-color .2s;position:absolute;top:0;left:0}.settings-checkbox .checkmark:after{content:"";background-color:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px}.settings-checkbox input:checked~.checkmark{background-color:#007aff}.settings-checkbox input:checked~.checkmark:after{transform:translate(20px)}.settings-select{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:140px;padding:8px 12px;font-size:14px}.settings-select:focus{border-color:#007aff;outline:none}.settings-time-range{align-items:center;gap:12px;display:flex}.settings-time-input{color:#1a1a1a;background:#fff;border:1px solid #ddd;border-radius:8px;width:110px;padding:8px 12px;font-size:14px}.settings-time-input:focus{border-color:#007aff;outline:none}.settings-time-separator{color:#666;font-size:14px}.settings-save-btn{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:500;transition:background .2s}.settings-save-btn:hover:not(:disabled){background:#0062cc}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-message{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.settings-message.success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.settings-message.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}@media (width<=768px){.settings-page-unified{flex-direction:column}.settings-sidebar{z-index:40;background-color:#fff;border-bottom:1px solid #e5e7eb;border-right:none;width:100%;height:auto;padding:8px 0;position:sticky;top:0;left:0}.settings-sidebar-title{display:none}.settings-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:2px;padding:0 8px;overflow-x:auto}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-item{white-space:nowrap;align-items:center;min-height:44px;padding:8px 12px;font-size:13px;display:flex}.settings-content{margin-left:0;padding:8px 16px 140px}.settings-header h1{display:none}.settings-section-card{padding:20px}.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.settings-toggle-btn,.settings-checkbox,.settings-select{align-self:flex-start}}.gmail-demo-page{max-width:900px;margin:0 auto;padding:76px 20px 100px}.gmail-demo-header{margin-bottom:40px}.gmail-demo-header h1{color:#1a1a1a;margin:0 0 8px;font-size:32px;font-weight:600}.gmail-demo-header p{color:#666;margin:0;font-size:16px}.gmail-demo-content{flex-direction:column;gap:40px;display:flex}.gmail-demo-section{background:var(--bg);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.gmail-demo-section h2{color:#1a1a1a;margin:0 0 16px;font-size:22px;font-weight:600}.gmail-demo-description{color:#666;margin:0 0 20px;font-size:15px;line-height:1.6}.gmail-demo-steps{flex-direction:column;gap:20px;display:flex}.gmail-demo-step{align-items:flex-start;gap:16px;display:flex}.gmail-demo-step-number{color:#fff;background:#007aff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:600;display:flex}.gmail-demo-step-content{flex:1}.gmail-demo-step-content strong{color:#1a1a1a;margin-bottom:4px;font-size:16px;font-weight:600;display:block}.gmail-demo-step-content p{color:#666;margin:0;font-size:14px;line-height:1.5}.gmail-demo-features{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.gmail-demo-features li{color:#1a1a1a;padding-left:8px;font-size:15px;line-height:1.6}@media (width<=768px){.gmail-demo-page{padding:68px 16px 16px}.gmail-demo-header h1{font-size:26px}.gmail-demo-header p{font-size:14px}.gmail-demo-section{padding:20px}.gmail-demo-section h2{font-size:20px}.gmail-demo-step{gap:12px}.gmail-demo-step-number{width:32px;height:32px;font-size:14px}.gmail-demo-step-content strong{font-size:15px}.gmail-demo-step-content p{font-size:13px}.gmail-demo-features li{font-size:14px}}.digest-navigation{justify-content:center;align-items:center;margin-bottom:24px;padding:20px;display:flex}.digest-navigation .fc-toolbar-left{align-items:center;gap:14px;display:flex}.digest-navigation .fc-navbtn{border-radius:var(--radius-full);border:1px solid var(--fc-border);width:36px;height:36px;color:var(--fc-text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#fff;justify-content:center;align-items:center;display:flex}.digest-navigation .fc-navbtn:hover{background:var(--fc-surface-hover);border-color:var(--fc-border)}.digest-navigation .fc-navbtn:disabled{opacity:.4;cursor:not-allowed}.digest-date-selector{position:relative}.digest-title-btn{color:var(--fc-text-primary);text-align:center;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:200px;margin:0;font-size:26px;font-weight:800;transition:opacity .2s;display:flex}.digest-title-btn:hover{opacity:.8}.digest-summary-count{color:var(--fc-text-tertiary);font-size:12px;font-weight:600}.digest-dropdown{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;min-width:280px;max-height:400px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.digest-dropdown-header{background:#f7f7f7;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.digest-dropdown-close{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;display:flex}.digest-dropdown-close:hover{color:#333}.digest-dropdown-list{max-height:350px;overflow-y:auto}.digest-dropdown-item{cursor:pointer;text-align:left;background:#fff;border:none;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;transition:background .2s;display:flex}.digest-dropdown-item:hover{background:#f7f7f7}.digest-dropdown-item.active{background:#e8f5e9;font-weight:600}.digest-dropdown-item.active:hover{background:#d4edda}.digest-dropdown-label{color:#333;font-size:14px}.digest-dropdown-count{color:#666;font-size:12px}.digest-navigation-loading{text-align:center;color:#666;padding:16px;font-size:14px}@media (width<=640px){.digest-navigation{gap:6px;padding:8px}.digest-nav-btn{white-space:nowrap;padding:6px 10px;font-size:12px}.digest-date-btn{min-width:unset;white-space:nowrap;text-overflow:ellipsis;max-width:140px;padding:6px 10px;font-size:12px;overflow:hidden}.digest-dropdown{min-width:240px;left:auto;right:0;transform:none}}.inbox-item-action{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.action-icon-btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:#9ca3af;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:6px;transition:all .2s;display:flex}.action-icon-btn:not(.created):hover{color:#6b7280;background:#9ca3af1a;transform:scale(1.1)}.action-icon-btn.created{opacity:.9}.action-icon-btn.created:hover{opacity:1;transform:scale(1.1)}.action-icon-btn:active{transform:scale(.95)}.action-options{z-index:10;background:#fff;border:1px solid #e5e7eb;border-radius:20px;gap:4px;margin-bottom:4px;padding:4px;animation:.15s ease-out slideIn;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 4px 12px #00000026}.action-option{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:#6b7280;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;transition:all .15s;display:flex}.action-option.event:hover{background:var(--color-event-bg);color:var(--color-event);transform:scale(1.15)}.action-option.task:hover{background:var(--color-task-bg);color:var(--color-task);transform:scale(1.15)}.action-option.reminder:hover{background:var(--color-reminder-bg);color:var(--color-reminder);transform:scale(1.15)}.action-option:active{transform:scale(.95)}@media (width<=768px){.action-options{gap:6px;padding:6px;left:-8px}.action-option{width:36px;height:36px}}.fc-modal{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ink:#1f1b2e;--ink-soft:#413a52;--muted:#9891a8;--muted-2:#6b6478;--divider:#eeebf5;--surface-tint:#f8f7fb;--brand:#6d5ce0;--brand-grad-top:#7c6ef0;--brand-grad-bottom:#6653dd;--brand-tint:#e7f0ff;--danger:#c0392b;--danger-tint:#fbeaea;--color-warning-bg:#fff3cd;--color-warning-border:#ff9800;--color-warning-text:#856404;--radius-modal:24px;--radius-lg:14px;--radius-md:12px;--radius-sm:10px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:20px;--space-xl:24px;--space-2xl:32px;--modal-shadow:0 30px 70px -12px #1f144059;--primary-shadow:0 10px 20px -6px #5d47d28c;--primary-shadow-hover:0 12px 22px -6px #5d47d2a6;--primary-shadow-active:0 6px 14px -6px #5d47d28c;--focus-ring:0 0 0 3px #6d5ce059}.fc-modal[data-type=task]{--badge-bg:var(--color-task-bg);--badge-fg:var(--color-task)}.fc-modal[data-type=event]{--badge-bg:var(--color-event-bg);--badge-fg:var(--color-event)}.fc-modal[data-type=reminder]{--badge-bg:var(--color-reminder-bg);--badge-fg:var(--color-reminder)}.fc-modal[data-status=pending]{--pill-bg:#fef3c7;--pill-fg:#92400e;--pill-dot:#f59e0b}.fc-modal[data-status=duetoday]{--pill-bg:var(--color-due-today-bg);--pill-fg:#92400e;--pill-dot:var(--color-due-today)}.fc-modal[data-status=completed]{--pill-bg:var(--color-task-bg);--pill-fg:var(--color-task);--pill-dot:var(--color-task)}.fc-modal[data-status=overdue]{--pill-bg:var(--color-overdue-bg);--pill-fg:#b91c1c;--pill-dot:var(--color-overdue)}.fc-btn{cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;min-width:90px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.fc-btn:focus-visible{box-shadow:var(--focus-ring)}.fc-btn-danger{color:var(--danger);border-radius:var(--radius-sm);background:0 0;padding:10px 18px;transition:background .12s}.fc-btn-danger:hover{background:var(--danger-tint)}.fc-btn-secondary{color:#362f49;border-radius:var(--radius-md);background:#fff;border:1px solid #e3dfef;padding:10px 18px;transition:background .12s,border-color .12s}.fc-btn-secondary:hover{background:#f8f7fb;border-color:#d6d0e8}.fc-btn-primary{background:linear-gradient(180deg, var(--brand-grad-top) 0%, var(--brand-grad-bottom) 100%);color:#fff;border-radius:var(--radius-md);box-shadow:var(--primary-shadow);padding:10px 18px;transition:transform .12s,box-shadow .12s,background .12s}.fc-btn-primary:hover{box-shadow:var(--primary-shadow-hover);background:linear-gradient(#8577f2 0%,#5f4cd6 100%);transform:translateY(-1px)}.fc-btn-primary:active{box-shadow:var(--primary-shadow-active);transform:translateY(0)}.fc-type-label{letter-spacing:.07em;text-transform:uppercase;color:var(--badge-fg);margin-bottom:5px;font-size:11.5px;font-weight:800}.fc-field-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-size:11px;font-weight:800}.fc-divider{background:var(--divider);height:1px;margin:0 32px}.fc-status-pill{background:var(--pill-bg);color:var(--pill-fg);border-radius:999px;align-items:center;gap:7px;padding:7px 14px 7px 11px;font-size:13px;font-weight:700;display:flex}.fc-status-dot{background:var(--pill-dot);border-radius:999px;width:6px;height:6px;display:inline-block}.fc-badge{border-radius:var(--radius-lg);background:var(--badge-bg);width:48px;height:48px;color:var(--badge-fg);flex:none;justify-content:center;align-items:center;display:flex}.fc-description{color:var(--ink-soft);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;font-size:15px;line-height:1.55;overflow-x:hidden}.fc-modal[data-status=skipped] .fc-badge-muted,.fc-modal[data-status=not-created] .fc-badge-muted{color:var(--muted);background:#f3f2f7}.fc-modal[data-status=skipped] .fc-type-label-muted,.fc-modal[data-status=not-created] .fc-type-label-muted{color:var(--muted)}.fc-skip-reason{color:#92400e;background:#fef3c7;border-radius:999px;align-items:center;margin-bottom:16px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.fc-meta-row{color:var(--muted-2);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.fc-school-badge{color:var(--ink-soft);border-radius:6px;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.inbox-container{box-sizing:border-box;width:100%;max-width:880px;min-height:100%;margin:0 auto;padding:20px 20px 100px;overflow-x:hidden}.inbox-title{color:#1f2937;text-align:left;margin-bottom:12px;font-size:24px;font-weight:600}.digest-period-label{color:#1f2937;text-align:left;margin-top:16px;margin-bottom:20px;font-size:18px;font-weight:600}.inbox-loading,.inbox-error,.inbox-empty{text-align:center;color:#6b7280;padding:48px 20px}.inbox-error{color:#dc2626}.inbox-empty-subtitle{color:#9ca3af;margin-top:8px;font-size:14px}.inbox-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:60px 20px;display:flex}.empty-state-icon{justify-content:center;align-items:center;margin-bottom:32px;display:flex}.empty-state-icon svg{color:#667eea;stroke-width:1.5px;width:80px;height:80px}.empty-state-title{color:#111827;margin:0 0 12px;font-size:22px;font-weight:600}.empty-state-subtitle{color:#6b7280;max-width:500px;margin:0;font-size:15px;line-height:1.6}@media (width<=640px){.inbox-empty-state{min-height:300px;padding:40px 16px}.empty-state-icon{margin-bottom:24px}.empty-state-icon svg{width:64px;height:64px}.empty-state-title{margin-bottom:10px;font-size:20px}.empty-state-subtitle{font-size:14px}}.inbox-controls{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.view-mode-toggle{border-bottom:1px solid var(--fc-border);background:0 0;gap:24px;width:fit-content;display:flex}.show-skipped-checkbox{color:var(--fc-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:flex}.show-skipped-checkbox input[type=checkbox]{appearance:none;border:2px solid var(--fc-border);cursor:pointer;background:#fff;border-radius:4px;width:18px;height:18px;transition:all .15s;position:relative}.show-skipped-checkbox input[type=checkbox]:hover{border-color:var(--fc-primary)}.show-skipped-checkbox input[type=checkbox]:checked{background:var(--fc-primary);border-color:var(--fc-primary)}.show-skipped-checkbox input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.view-mode-toggle button{cursor:pointer;color:var(--fc-text-tertiary);background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 0;font-size:14px;font-weight:600;transition:all .2s;position:relative;bottom:-1px}.view-mode-toggle button.active{color:var(--fc-text-primary);border-bottom-color:var(--fc-primary);background:0 0}.view-mode-toggle button:hover:not(.active){color:var(--fc-text-secondary);background:0 0}.email-summary-card{border:1px solid var(--fc-border);text-align:left;background:#fff;border-radius:12px;margin-bottom:12px;transition:all .2s;position:relative;overflow:hidden}.email-summary-card:hover{box-shadow:var(--fc-shadow-card-hover);border-color:var(--fc-border-subtle)}.email-summary-main{padding:16px}.email-summary-header{margin-bottom:6px}.email-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:2px;display:flex}.email-subject{color:#0f172a;letter-spacing:-.01em;flex:1;min-width:0;margin:0 0 10px;font-size:17px;font-weight:800;line-height:1.3}.email-meta{color:#6b7280;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;font-weight:400;display:flex}.sender-name{font-weight:500}.meta-separator{color:#9ca3af}.email-date{color:#6b7280}.item-indicators{gap:.375rem;margin-left:auto;padding-left:.5rem;display:flex}.indicator-dot{cursor:help;border-radius:50%;width:8px;height:8px;display:inline-block}.event-dot{background-color:#3b82f6}.task-dot{background-color:#10b981}.reminder-dot{background-color:#f59e0b}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.email-summary{color:#374151;max-width:66ch;margin-bottom:6px;font-size:14px;line-height:1.5}.no-items-message{color:#9ca3af;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:13px;font-style:italic}.extraction-pills-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;margin-bottom:8px;display:flex}.extraction-pills{flex-wrap:wrap;flex:1;gap:6px;display:flex}.extraction-pill{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.extraction-pill.event{background-color:var(--color-event-bg);color:var(--color-event)}.extraction-pill.task{background-color:var(--color-task-bg);color:var(--color-task)}.extraction-pill.reminder{background-color:var(--color-reminder-bg);color:var(--color-reminder)}.extraction-pill.skipped{color:#7b7792;background-color:#f1f0f6}.expand-toggle{color:var(--fc-text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:0;font-size:13px;font-weight:600;transition:color .2s;display:flex}.expand-toggle:hover{color:var(--fc-text-secondary)}.email-summary-footer{display:none}.email-extracted-items{background:#f9fafb;border-top:1px solid #e5e7eb;padding:16px 20px 20px}.email-extracted-items .inbox-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:8px 0}.email-extracted-items .inbox-item-separator{display:none}.email-no-items{text-align:center;color:#6b7280;background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem;font-size:.875rem;font-style:italic}.skipped-items-section{border-top:2px solid #e5e7eb;margin-top:32px;padding-top:24px}.skipped-items-title{color:#6b7280;margin-bottom:16px;padding-left:4px;font-size:16px;font-weight:600}.skipped-item-card{opacity:.7;background:#fafafa!important}.skipped-item-card:hover{opacity:.85}.skip-reason-badge{color:#92400e;text-transform:uppercase;letter-spacing:.5px;background:#fef3c7;border-radius:4px;margin-right:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.inbox-items{flex-direction:column;display:flex}.inbox-item-card{-webkit-tap-highlight-color:#0000;background:#fff;padding:12px 16px;transition:background-color .2s}.inbox-item-card:hover{background-color:#6366f10d}.inbox-item-card.skipped,.inbox-item-card.skipped .inbox-type-icon,.inbox-item-card.skipped .inbox-created-icon{opacity:.5}.inbox-item-separator{background:#e5e7eb;height:1px}.inbox-item-header{align-items:center;gap:8px;display:flex}.inbox-left-icons{flex-shrink:0;align-items:flex-start;padding-top:2px;display:flex}.inbox-action-btn.info-btn-left{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px}.inbox-action-btn.info-btn-left:hover{color:#6b7280}.inbox-type-icon{color:#9ca3af;flex-shrink:0;font-size:18px;line-height:1}.inbox-created-icon{color:#10b981;flex-shrink:0;font-size:18px;line-height:1}.inbox-item-info{flex:1;min-width:0}.inbox-item-title{color:#1f2937;text-align:left;font-size:15px;font-weight:500}.inbox-item-description{color:#4b5563;text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:4px;font-size:14px;overflow:hidden}.inbox-item-meta{color:#6b7280;text-align:left;flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.inbox-item-date{color:#6b7280}.inbox-item-school{width:fit-content}.inbox-action-btn.add-btn{cursor:pointer;color:#10b981;opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;padding:0;font-size:24px;transition:all .2s;display:flex}.inbox-item-card:hover .inbox-action-btn.add-btn{opacity:1;pointer-events:auto}.inbox-action-btn.add-btn:hover{background:#d1fae5;transform:scale(1.1)}.inbox-action-btn.dismiss-btn-inline{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;padding:0;font-size:20px;transition:all .2s;display:flex}.inbox-action-btn.dismiss-btn-inline:hover{opacity:1;background:#fee2e2;transform:scale(1.1)}.inbox-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.inbox-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.inbox-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.inbox-modal-header h3{color:#1f2937;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:600;display:flex}.inbox-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:24px;transition:all .2s}.inbox-modal-close:hover{color:#1f2937;background:#f3f4f6}.inbox-modal-body{flex:1;padding:24px;overflow-y:auto}.inbox-modal-section{margin-bottom:20px}.inbox-modal-section:last-child{margin-bottom:0}.inbox-modal-label{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:600}.inbox-modal-value{color:#1f2937;font-size:15px;line-height:1.6}.inbox-modal-value strong{color:#1f2937;margin-right:4px;font-weight:600}.inbox-modal-snippet{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.snippet-text{color:#4b5563;background:#f3f4f6;border-radius:8px;margin-top:6px;padding:12px;font-size:14px;line-height:1.5}.status-created{color:#10b981;font-weight:500}.status-skipped{color:#f59e0b;font-weight:500}.inbox-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.inbox-modal-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.inbox-modal-btn.dismiss{color:#dc2626;background:#fee2e2}.inbox-modal-btn.dismiss:hover{background:#fecaca}.inbox-modal-btn.close{color:#374151;background:#e5e7eb}.inbox-modal-btn.close:hover{background:#d1d5db}@media (width<=640px){.inbox-container{padding:12px 12px 70px}.inbox-title{text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:18px;overflow:hidden}.digest-period-label{font-size:16px}.inbox-item-header{gap:8px}.inbox-item-card{padding:10px 12px}.inbox-item-type{font-size:20px}.inbox-item-title{font-size:14px}.inbox-item-description{font-size:13px}.inbox-item-meta{gap:6px;font-size:12px}.inbox-item-actions{flex-direction:column;gap:4px}.inbox-modal{max-height:95vh;margin:10px}.inbox-modal-header,.inbox-modal-body{padding:16px}.inbox-modal-footer{flex-direction:column-reverse;padding:12px 16px}.inbox-modal-btn{width:100%}}.gmail-connect-btn{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:8px;margin-top:24px;padding:12px 24px;font-size:16px;font-weight:600;transition:background-color .2s}.gmail-connect-btn:hover{background-color:#5568d3}.welcome-tips-box{text-align:left;background-color:#f9fafb;border-radius:12px;max-width:500px;margin:32px auto 0;padding:20px}.welcome-tips-title{color:#374151;margin-bottom:12px;font-size:16px;font-weight:600}.welcome-tips-list{color:#6b7280;margin:0;padding-left:20px;line-height:1.8}.greeting-card{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.greeting-main{flex-direction:column;gap:4px;display:flex}.greeting-title{letter-spacing:-.025em;color:#171430;margin:5px 0;font-family:Plus Jakarta Sans,sans-serif;font-size:30px;font-weight:800;line-height:1.1}.greeting-date{color:#85819b;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:700}.greeting-jump-link{color:#6f6b87;white-space:nowrap;font-family:Lato,sans-serif;font-size:13px;font-weight:400;text-decoration:none}.greeting-jump-link:hover{color:#5b5bd6}@media (width<=768px){.greeting-main{gap:3px}.greeting-title{letter-spacing:-.02em;font-size:22px;line-height:1.15}.greeting-date{font-size:13px}.greeting-jump-link{display:none}}.insights-card{background:#fff;border:1px solid #e6e3f0;border-radius:12px;overflow:hidden}.insights-metrics{align-items:stretch;display:flex}.insights-metric-card{flex-direction:column;flex:1;gap:8px;padding:14px 18px;display:flex}.insights-card-title{color:#55516e;text-transform:uppercase;letter-spacing:.02em;text-align:center;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;line-height:1}.insights-card-title-link{color:#5b5bd6;cursor:pointer;text-decoration:none;transition:opacity .15s}.insights-card-title-link:hover{opacity:.7}.insights-card-counters{justify-content:center;align-items:flex-end;gap:20px;display:flex}.insights-counter{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.insights-metric-value{color:#171430;font-family:Plus Jakarta Sans,sans-serif;font-size:42px;font-weight:800;line-height:1}.insights-metric-value.overdue{color:#c2410c;font-weight:900}.insights-metric-value.inactive{color:#b8b5c8}.insights-metric-label{color:#6f6b87;font-family:Lato,sans-serif;font-size:13px;font-weight:400;line-height:1}.insights-zero-state{color:#b8b5c8;text-align:center;padding:8px 0 0;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:600;line-height:1.4}.insights-see-latest-link{color:#5b5bd6;text-align:center;cursor:pointer;padding-top:4px;font-family:Lato,sans-serif;font-size:13px;font-weight:500;line-height:1;text-decoration:none;transition:opacity .15s}.insights-see-latest-link:hover{opacity:.7}.insights-divider{background:#f0eef7;align-self:stretch;width:1px}.insights-notable{color:#55516e;border-top:1px solid #f0eef7;align-items:center;gap:9px;padding:11px 18px;font-family:Lato,sans-serif;font-size:13px;display:flex}.insights-notable-glyph{color:#5b5bd6;font-size:12px}.insights-notable-text{flex:1}.insights-notable-text strong{color:#171430;font-weight:700}@media (width<=768px){.insights-metric-card{gap:6px;padding:12px 10px}.insights-card-title{font-size:11px}.insights-card-counters{gap:16px}.insights-metric-value{font-size:32px}.insights-metric-label{font-size:11px}.insights-notable{padding:10px 14px;line-height:1.45}.insights-zero-state{padding:10px 0;font-size:12px}.insights-see-latest-link{font-size:12px}}.todays-schedule-card{background:#fff;border:1px solid #e6e3f0;border-radius:12px;overflow:hidden}.card-header{border-bottom:1px solid #f0eef7;align-items:center;gap:9px;padding:13px 18px 11px;display:flex}.card-glyph{color:#7b7792;font-size:13px}.card-title{color:#171430;text-align:left;flex:1;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700}.card-count{color:#9c98af;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.schedule-list{flex-direction:column;display:flex}.schedule-item{cursor:pointer;align-items:flex-start;gap:8px;padding:12px 18px;transition:background .15s;display:flex}.schedule-item:hover{background:#fcfbff}.schedule-separator{background:#f4f2fa;height:1px;margin:0 18px}.schedule-left{flex-direction:column;gap:2px;min-width:55px;display:flex}.schedule-time{color:#55516e;align-items:center;gap:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;line-height:1.2;display:flex}.reminder-icon{color:#7b7792;flex-shrink:0}.schedule-duration{color:#85819b;margin-top:3px;font-family:Lato,sans-serif;font-size:12px;font-weight:400}.schedule-school{color:#85819b;align-self:flex-start;font-family:Lato,sans-serif;font-size:12px;font-weight:400;line-height:1.1}.schedule-middle{flex-direction:column;flex:1;align-items:flex-start;display:flex}.schedule-title{color:#171430;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;line-height:1.2}.reminder-title-icon{vertical-align:middle;color:#85819b;flex-shrink:0;margin-left:6px;display:inline-block}.schedule-meta{color:#85819b;font-family:Lato,sans-serif;font-size:12px;font-weight:400}.schedule-location{color:#85819b;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-family:Lato,sans-serif;font-size:12px;font-weight:400;display:flex;overflow:hidden}.schedule-right{flex-direction:column;align-items:flex-end;display:flex}.schedule-relative-time{color:#9c98af;font-family:Lato,sans-serif;font-size:12px;font-weight:400}.past-events-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 18px;display:flex}.past-events-header:hover{background:#fcfbff}.past-events-toggle{color:#9c98af;width:12px;font-family:Lato,sans-serif;font-size:14px;font-weight:400;display:inline-block}.past-events-label{color:#9c98af;font-family:Lato,sans-serif;font-size:13px;font-weight:400}.card-footer-link{color:#5b5bd6;cursor:pointer;border-top:1px solid #f0eef7;padding:10px 18px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;text-decoration:none;display:block}.card-footer-link:hover{background:#fcfbff}@media (width<=768px){.todays-schedule-card .card-header{gap:8px;padding:12px 14px 10px}.todays-schedule-card .card-glyph{font-size:12px}.todays-schedule-card .card-title{font-size:14px}.todays-schedule-card .card-count{font-size:12px}.schedule-item{text-align:left;flex-direction:row;gap:8px;padding:11px 14px;display:flex}.schedule-time{font-size:13px}.schedule-title{font-size:15px}.schedule-meta{font-size:12px}.schedule-location{font-size:11px}.schedule-separator{margin:0 14px}.todays-schedule-card .card-footer-link,.past-events-header{padding:10px 14px}}.tasks-due-today-card{background:#fff;border:1px solid #e6e3f0;border-radius:12px;overflow:hidden}.tasks-due-today-card .card-header{border-bottom:1px solid #f0eef7;align-items:center;gap:9px;padding:13px 18px 11px;display:flex}.tasks-due-today-card .card-glyph{color:#7b7792;font-size:13px}.tasks-due-today-card .card-title{color:#171430;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700}.tasks-due-today-card .card-count{color:#9c98af;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.tasks-due-today-card .card-footer-link{color:#5b5bd6;border-top:1px solid #f0eef7;padding:10px 18px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;text-decoration:none;display:block}.tasks-due-today-card .card-footer-link:hover{background:#fcfbff}.tasks-list{flex-direction:column;display:flex}.task-item{align-items:center;gap:12px;padding:11px 18px;transition:background .15s;display:flex}.task-separator{background:#f4f2fa;height:1px;margin:0 18px}.task-item.completed{cursor:default}.task-complete-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;flex-shrink:0;align-self:flex-start;margin-top:2px;padding:0;transition:all .15s}.task-complete-btn svg circle{stroke:var(--status-color,#6b7280)}.task-complete-btn:hover svg circle{stroke:var(--status-color,var(--color-task))}.task-item.completed .task-complete-btn{color:var(--status-color,var(--color-task))}.task-item.completed .task-complete-btn svg circle{fill:var(--status-color,var(--color-task));stroke:var(--status-color,var(--color-task))}.task-item.completed .task-complete-btn svg path{stroke:#fff;stroke-width:2.5px}.task-label{color:#171430;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600}.task-item.completed .task-label{color:#9c98af;text-decoration:line-through}.task-right-section{align-items:center;gap:8px;margin-left:auto;display:flex}.task-assignee{color:#9c98af;font-family:Lato,sans-serif;font-size:12px;font-weight:400}.task-overdue-pill{color:#c2410c;white-space:nowrap;background:#fdf1ea;border-radius:999px;margin-left:auto;padding:3px 9px;font-family:Lato,sans-serif;font-size:11px;font-weight:700}.overdue-pill-phone{display:none}@media (width<=768px){.tasks-due-today-card .card-header{gap:8px;padding:12px 14px 10px}.tasks-due-today-card .card-glyph{font-size:12px}.tasks-due-today-card .card-title{font-size:14px}.tasks-due-today-card .card-count{font-size:12px}.task-item{box-sizing:border-box;gap:11px;min-height:44px;padding:12px 14px}.task-label{font-size:14px}.task-separator{margin:0 14px}.overdue-pill-desktop{display:none}.overdue-pill-phone{display:inline}.tasks-due-today-card .card-footer-link{padding:10px 14px}}.week-highlights-card{background:#fff;border:1px solid #e6e3f0;border-radius:12px;overflow:hidden}.week-highlights-card .card-header{border-bottom:1px solid #f0eef7;align-items:center;gap:9px;padding:13px 18px 11px;display:flex}.week-highlights-card .card-glyph{color:#7b7792;font-size:13px}.week-highlights-card .card-title{color:#171430;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700}.week-highlights-card .card-footer-link{color:#5b5bd6;border-top:1px solid #f0eef7;padding:10px 18px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;text-decoration:none;display:block}.week-highlights-card .card-footer-link:hover{background:#fcfbff}.week-range{color:#9c98af;margin-left:auto;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:700}.highlights-list{flex-direction:column;display:flex}.highlight-item{cursor:pointer;grid-template-columns:62px 1fr auto;align-items:baseline;gap:14px;padding:6px 18px;line-height:1.3;transition:background .15s;display:grid}.highlight-item:hover{background:#fcfbff}.highlight-separator{background:#f4f2fa;height:1px;margin:0 18px}.highlight-day-time{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.highlight-day{color:#171430;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:800}.highlight-time{color:#9c98af;text-align:left;font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:700}.highlight-details{min-width:0}.highlight-title{color:#171430;text-align:left;margin-bottom:2px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700}.highlight-description{color:#85819b;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-family:Lato,sans-serif;font-size:12px;font-weight:400;overflow:hidden}.highlight-location{color:#85819b;text-align:left;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-family:Lato,sans-serif;font-size:12px;font-weight:400;display:flex;overflow:hidden}.highlight-kind-pill{color:#6f6b87;white-space:nowrap;background:#f5f4fb;border-radius:999px;padding:3px 9px;font-family:Lato,sans-serif;font-size:11px;font-weight:700}@media (width<=768px){.week-highlights-card .card-header{gap:8px;padding:12px 14px 10px}.week-highlights-card .card-glyph{font-size:12px}.week-highlights-card .card-title{font-size:14px}.week-range{font-size:11px}.highlight-item{grid-template-columns:52px 1fr;gap:10px;padding:6px 14px}.highlight-day{font-size:12px}.highlight-time{font-size:10px}.highlight-title{font-size:14px}.highlight-description,.highlight-location{font-size:11px}.highlight-separator,.highlight-kind-pill{display:none}.week-highlights-card .card-footer-link{padding:10px 14px}}.today-container{background:#f6f5fb;width:100%;min-height:100vh;padding:32px 24px 48px}.today-content{flex-direction:column;gap:18px;max-width:880px;margin:0 auto;display:flex}.today-loading,.today-error,.today-empty{text-align:center;color:#6f6b87;padding:40px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px}.today-error{color:#c2410c}@media (width<=768px){.today-container{padding:18px 16px 24px}.today-content{gap:12px}.today-content>*{flex-shrink:0}}.empty-state{text-align:center;color:#9c98af;padding:40px 18px;font-family:Lato,sans-serif;font-size:14px}.admin-layout{background-color:#f9fafb;min-height:100vh;display:flex}.admin-sidebar{width:240px;height:calc(100vh - 52px);top:52px;left:var(--sidebar-width);z-index:110;background-color:#fff;border-right:1px solid #e5e7eb;padding:24px 0 80px;position:fixed;overflow-y:auto}.admin-sidebar-title{color:#111827;margin:0 24px 16px;font-size:20px;font-weight:600}.admin-nav{flex-direction:column;gap:4px;padding:0 12px;display:flex}.admin-nav-item{color:#6b7280;border-radius:6px;align-items:center;padding:10px 12px;font-size:14px;text-decoration:none;transition:all .15s;display:flex}.admin-nav-item:hover{color:#111827;background-color:#f3f4f6}.admin-nav-item.active{color:#0369a1;background-color:#e0f2fe;font-weight:500}.admin-content{flex:1;margin-left:300px;padding:76px 48px 100px}@media (width<=767px){.admin-layout{flex-direction:column}.admin-sidebar{z-index:40;background-color:#fff;border-bottom:1px solid #e5e7eb;border-right:none;width:100%;height:auto;padding:8px 0;position:sticky;top:0;left:0}.admin-sidebar-title{display:none}.admin-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:2px;padding:0 8px;overflow-x:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-item{white-space:nowrap;min-height:44px;padding:8px 12px;font-size:13px}.admin-content{margin-left:0;padding:8px 16px 140px}}.admin-dashboard{background-color:#f9fafb;max-width:1400px;min-height:100vh;margin:0 auto;padding:76px 24px 24px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-header h1{color:#111827;margin:0;font-size:28px;font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}.timeframe-selector{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px}.back-btn{cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px}.back-btn:hover{background-color:#e5e7eb}.alerts-section{margin-bottom:24px}.alert{border-radius:6px;margin-bottom:12px;padding:12px 16px}.alert-warning{color:#92400e;background-color:#fef3c7;border:1px solid #fbbf24}.alert-critical{color:#991b1b;background-color:#fee2e2;border:1px solid #ef4444}.kpi-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.kpi-label{color:#6b7280;margin-bottom:8px;font-size:14px}.kpi-value{color:#111827;margin-bottom:4px;font-size:32px;font-weight:600}.kpi-subtitle{color:#9ca3af;font-size:12px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;display:grid}.dashboard-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.dashboard-card.full-width{grid-column:1/-1}.dashboard-card h2{color:#111827;margin:0 0 16px;font-size:18px;font-weight:600}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#6b7280;border-bottom:2px solid #e5e7eb;padding:12px 8px;font-size:14px;font-weight:600}.data-table td{color:#111827;border-bottom:1px solid #f3f4f6;padding:12px 8px;font-size:14px}.data-table tbody tr:hover{background-color:#f9fafb}.chart-container{height:300px;padding:20px 0}.simple-bar-chart{justify-content:space-between;align-items:flex-end;gap:2px;height:100%;display:flex}.bar-item{cursor:pointer;flex-direction:column;flex:1;align-items:center;display:flex}.bar{background:linear-gradient(#60a5fa,#3b82f6);border-radius:4px 4px 0 0;width:100%;min-height:2px;transition:opacity .2s}.bar-item:hover .bar{opacity:.8}.bar-label{color:#6b7280;margin-top:8px;font-size:11px}.testing-section{flex-direction:column;gap:12px;display:flex}.trigger-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .2s}.trigger-button:hover:not(:disabled){background-color:#2563eb}.trigger-button:disabled{cursor:not-allowed;background-color:#9ca3af}.trigger-message{border-radius:6px;padding:12px 16px;font-size:14px}.trigger-message.trigger-success{color:#065f46;background-color:#d1fae5;border:1px solid #10b981}.trigger-message.trigger-error{color:#991b1b;background-color:#fee2e2;border:1px solid #ef4444}.loading,.error-message{text-align:center;color:#6b7280;padding:60px 20px;font-size:16px}.error-message{color:#dc2626}@media (width<=768px){.admin-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.kpi-cards,.dashboard-grid{grid-template-columns:1fr}.kpi-value{font-size:24px}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.school-form-modal{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h2{color:#1a1a1a;margin:0;font-size:20px}.close-btn{color:#6c757d;cursor:pointer;background:0 0;border:none;width:30px;height:30px;padding:0;font-size:28px;line-height:1}.close-btn:hover{color:#343a40}.school-form-modal form{padding:20px}.form-group{margin-bottom:16px}.form-group label{color:#495057;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:1px solid #ced4da;border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.form-group input:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin-bottom:16px;padding:10px;font-size:14px}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.cancel-btn,.save-btn{cursor:pointer;border:none;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:500}.cancel-btn{color:#fff;background:#6c757d}.cancel-btn:hover{background:#5a6268}.save-btn{color:#fff;background:#28a745}.save-btn:hover:not(:disabled){background:#218838}.save-btn:disabled{opacity:.6;cursor:not-allowed}.admin-schools{max-width:1200px;margin:0 auto;padding:20px}.schools-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.schools-header h1{color:#1a1a1a;margin:0;font-size:24px}.schools-actions{gap:12px;display:flex}.search-input{border:1px solid #ddd;border-radius:4px;width:250px;padding:8px 12px;font-size:14px}.add-button{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500}.add-button:hover{background:#0056b3}.schools-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.schools-table{border-collapse:collapse;width:100%}.schools-table thead{background:#f8f9fa}.schools-table th{text-align:left;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:13px;font-weight:600}.schools-table td{color:#495057;border-top:1px solid #e9ecef;padding:12px 16px;font-size:14px}.school-name{font-weight:500}.child-count{text-align:center;color:#6c757d}.actions{gap:8px;display:flex}.edit-btn,.delete-btn{cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:13px;font-weight:500}.edit-btn{color:#fff;background:#17a2b8}.edit-btn:hover{background:#138496}.delete-btn{color:#fff;background:#dc3545}.delete-btn:hover{background:#c82333}.no-results{text-align:center;color:#6c757d;font-style:italic;padding:40px!important}.loading,.error-message{text-align:center;padding:40px;font-size:16px}.error-message{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.filter-form-modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.filter-form-modal form{padding:20px}.filter-form-modal textarea{box-sizing:border-box;resize:vertical;border:1px solid #ced4da;border-radius:4px;width:100%;padding:8px 12px;font-family:inherit;font-size:14px}.filter-form-modal textarea:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.filter-form-modal small{color:#6c757d;margin-top:4px;font-size:12px;display:block}.radio-group{flex-wrap:wrap;gap:16px;display:flex}.radio-label{cursor:pointer;color:#495057;align-items:center;gap:6px;font-size:14px;display:flex}.radio-label input[type=radio]{cursor:pointer;width:auto}.checkbox-label{cursor:pointer;color:#495057;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.filter-form-modal select{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #ced4da;border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.filter-form-modal select:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.admin-filters{max-width:1400px;margin:0 auto;padding:20px}.filters-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.filters-header h1{color:#1a1a1a;margin:0;font-size:24px}.filters-actions{gap:12px;display:flex}.scope-filter{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:14px}.filter-group{margin-bottom:32px}.scope-heading{color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;padding-left:4px;font-size:14px;font-weight:600}.filters-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.filters-table{border-collapse:collapse;width:100%}.filters-table thead{background:#f8f9fa}.filters-table th{text-align:left;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:13px;font-weight:600}.filters-table td{color:#495057;border-top:1px solid #e9ecef;padding:12px 16px;font-size:14px}.filter-name{font-weight:500}.pattern{color:#495057;font-family:Courier New,monospace;font-size:13px}.description{color:#6c757d;max-width:300px}.auto-select{text-align:center;color:#28a745;font-size:16px}.no-filters{text-align:center;color:#6c757d;background:#fff;border-radius:8px;padding:40px;font-style:italic;box-shadow:0 1px 3px #0000001a}.legal-page{background:#f5f7fa;height:100vh;min-height:100vh;padding:40px 20px;overflow-y:auto}.legal-content{max-width:var(--max-content-width);color:#333;text-align:left;background:#fff;border-radius:8px;margin:0 auto;padding:40px;line-height:1.6;box-shadow:0 2px 4px #0000001a}.legal-content h1{color:#2c3e50;border-bottom:2px solid #3498db;margin-bottom:10px;padding-bottom:10px}.legal-content h2{color:#34495e;margin-top:30px;margin-bottom:15px}.legal-content .effective-date{color:#7f8c8d;margin-bottom:30px;font-style:italic}.legal-content ul{margin-bottom:15px;margin-left:20px}.legal-content li{margin-bottom:8px}.legal-content p{margin-bottom:15px}.legal-content a{color:#3498db;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content .back-link{border-top:1px solid #ecf0f1;margin-top:40px;padding-top:20px}@media (width<=768px){.legal-page{padding:20px 10px}.legal-content{padding:20px}.legal-content h1{font-size:24px}.legal-content h2{font-size:20px}}:root{--fc-purple-primary:#5b5bd6;--fc-purple-dark:#4a4ac4;--fc-purple-light:#eceafb;--fc-purple-badge:#4a45b8;--fc-text-primary:#171430;--fc-text-secondary:#55516e;--fc-text-tertiary:#4b4860;--fc-text-light:#6b6880;--fc-text-lighter:#8b8899;--fc-text-lightest:#9b98ae;--fc-border-light:#eeecf5;--fc-border-medium:#e6e3f0;--fc-border-dark:#d6d3e6;--fc-border-darker:#d3d0e6;--fc-bg-gradient-start:#f7f6fc;--fc-bg-light:#f6f5fc;--fc-bg-lighter:#f0eef6;--fc-white:#fff;--fc-green:#34c47c;--fc-green-dark:#34a06a;--fc-shadow:#17143014;--fc-shadow-medium:#1b183040;--fc-shadow-dark:#1b183066;--fc-shadow-purple:#5b5bd6b3;--fc-overlay:#17143099}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-400.woff2)format("woff2")}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jakarta-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jakarta-800.woff2)format("woff2")}#root:has(.landing){border-inline:none!important;width:100%!important;max-width:100%!important;height:auto!important;overflow:visible!important}.landing{color:var(--fc-text-secondary);background:var(--fc-white);z-index:9999;text-align:left;margin:0;padding:0;font-family:Lato,system-ui,sans-serif;position:fixed;inset:0;overflow-y:auto}.landing-nav{border-bottom:1px solid var(--fc-border-light);background:var(--fc-white);justify-content:space-between;align-items:center;padding:20px 48px;display:flex}.landing-nav-left{align-items:center;gap:40px;display:flex}.landing-logo{align-items:center;gap:0;text-decoration:none;display:flex}.landing-logo-icon{color:#667eea;flex-shrink:0;width:36px;height:36px}.landing-logo-text{color:#667eea;letter-spacing:.18px;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:700}.landing-nav-links{gap:28px;display:flex}.landing-nav-links a{color:var(--fc-text-tertiary);font-size:15px;font-weight:700;text-decoration:none;transition:color .14s}.landing-nav-links a:hover{color:var(--fc-purple-primary)}.landing-nav-right{align-items:center;gap:20px;display:flex}.landing-nav-login{color:var(--fc-text-tertiary);font-size:15px;font-weight:700;text-decoration:none;transition:color .14s}.landing-nav-login:hover{color:var(--fc-purple-primary)}.landing-nav-cta{background:var(--fc-purple-primary);color:var(--fc-white);border-radius:10px;padding:11px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;text-decoration:none;transition:background .14s}.landing-nav-cta:hover{background:var(--fc-purple-dark)}.landing-nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.landing-hamburger-line{background:var(--fc-text-tertiary);border-radius:2px;width:24px;height:2px;transition:background .14s}.landing-nav-hamburger:hover .landing-hamburger-line{background:var(--fc-purple-primary)}.landing-mobile-menu{background:var(--fc-overlay);z-index:1000;animation:.2s fadeIn;position:fixed;inset:64px 0 0}.landing-mobile-menu-content{background:var(--fc-white);border-bottom:1px solid var(--fc-border-light);box-shadow:0 4px 12px var(--fc-shadow);flex-direction:column;gap:20px;padding:24px;display:flex}.landing-mobile-menu-content a{color:var(--fc-text-tertiary);padding:12px 8px;font-size:16px;font-weight:700;text-decoration:none;transition:color .14s}.landing-mobile-menu-content a:hover{color:var(--fc-purple-primary)}@media (width<=600px){.landing-nav{padding:16px 24px}.landing-nav-links{display:none}.landing-nav-hamburger{display:flex}.landing-nav-cta{display:none}.landing-nav-login{display:block}.landing-logo-icon{width:24px;height:24px}.landing-logo-text{font-size:18px}.landing-footer{padding:28px 16px}.landing-footer-left{margin-right:auto}.landing-footer-links{margin-left:auto}}.landing-hero{background:linear-gradient(180deg, #f7f6fc 0%, var(--fc-white) 100%);padding:64px 48px 56px}.landing-hero-content{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;max-width:1280px;margin:0 auto;display:grid}.landing-hero-left{flex-direction:column;gap:22px;display:flex}.landing-hero-pill{background:var(--fc-purple-light);color:var(--fc-purple-badge);letter-spacing:.02em;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:7px 13px;font-size:13px;font-weight:700;display:inline-flex}.landing-hero-pill-dot{background:var(--fc-green);border-radius:999px;width:7px;height:7px}.landing-hero-h1{color:var(--fc-text-primary);text-wrap:balance;text-align:left;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:58px;font-weight:800;line-height:1.04}.landing-hero-subhead{color:var(--fc-text-secondary);text-wrap:pretty;text-align:left;max-width:30em;margin:0;font-size:20px;line-height:1.5}.landing-hero-buttons{align-items:center;gap:14px;padding-top:6px;display:flex}.landing-btn-primary{background:var(--fc-purple-primary);color:var(--fc-white);box-shadow:0 10px 22px -10px var(--fc-shadow-purple);cursor:pointer;border:none;border-radius:11px;padding:15px 28px;font-family:Plus Jakarta Sans,sans-serif;font-size:17px;font-weight:700;text-decoration:none;transition:background .14s}.landing-btn-primary:hover{background:var(--fc-purple-dark)}.landing-btn-secondary{border:1px solid var(--fc-border-dark);color:#302c4a;cursor:pointer;background:0 0;border-radius:11px;padding:14px 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:17px;font-weight:700;transition:all .14s}.landing-btn-secondary:hover{background:#fafafe;border-color:#b9b4d6}.landing-hero-reassurance{color:#7a7791;flex-wrap:wrap;gap:12px 24px;padding-top:4px;font-size:14px;font-weight:700;display:flex}.landing-hero-reassurance span{white-space:nowrap}.landing-hero-diagram{grid-template-columns:1fr 44px 1fr;align-items:center;gap:0;display:grid}.landing-diagram-inbox{flex-direction:column;gap:7px;display:flex}.landing-diagram-label{letter-spacing:.1em;color:var(--fc-text-lightest);padding-bottom:3px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.landing-message-card{background:var(--fc-white);border:1px solid var(--fc-border-medium);border-radius:8px;flex-direction:column;gap:5px;padding:9px 11px;display:flex}.landing-message-bar{background:#dcd9e8;border-radius:3px;height:6px}.landing-message-bar-light{background:#ecebf3;border-radius:3px;height:5px}.landing-bar-w74{width:74%}.landing-bar-w88{width:88%}.landing-bar-w62{width:62%}.landing-bar-w80{width:80%}.landing-bar-w55{width:55%}.landing-bar-w50{width:50%}.landing-bar-w41{width:41%}.landing-bar-w66{width:66%}.landing-bar-w35{width:35%}.landing-bar-w58{width:58%}.landing-message-more{color:#a29fb4;padding-top:2px;font-size:12px;font-weight:700}.landing-diagram-arrow{background:var(--fc-purple-primary);width:30px;height:30px;color:var(--fc-white);border-radius:999px;justify-content:center;align-items:center;margin:0 auto;font-size:15px;font-weight:700;display:flex}.landing-digest-card{background:var(--fc-white);border:1px solid var(--fc-border-darker);box-shadow:0 18px 40px -22px var(--fc-shadow-dark);border-radius:14px;overflow:hidden}.landing-digest-header{background:var(--fc-bg-light);border-bottom:1px solid #e9e7f2;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.landing-digest-title{color:var(--fc-text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:800}.landing-digest-badge{color:var(--fc-purple-primary);background:var(--fc-purple-light);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.landing-digest-body{flex-direction:column;gap:12px;padding:14px;display:flex}.landing-digest-item{gap:10px;display:flex}.landing-digest-checkbox{border:1.5px solid #c9c5dd;border-radius:4px;flex-shrink:0;width:16px;height:16px;margin-top:1px}.landing-digest-item-title{color:#201d38;font-size:13px;font-weight:700;line-height:1.35}.landing-digest-item-meta{color:#7a7791;margin-top:3px;font-size:12px}.landing-digest-divider{background:var(--fc-bg-lighter);height:1px}.landing-features{border-top:1px solid var(--fc-border-light);background:var(--fc-white);max-width:1280px;margin:0 auto;padding:64px 48px}.landing-features-header{justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:32px;display:flex}.landing-h2{letter-spacing:-.02em;color:var(--fc-text-primary);max-width:20em;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:34px;font-weight:800}.landing-features-deck{color:var(--fc-text-light);max-width:24em;margin:0;font-size:16px}.landing-features-cards{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.landing-feature-card{border:1px solid var(--fc-border-medium);background:#fbfaff;border-radius:14px;flex-direction:column;gap:12px;padding:26px;transition:box-shadow .14s;display:flex}.landing-feature-card:hover{box-shadow:0 8px 24px -14px var(--fc-shadow-medium)}.landing-feature-icon{background:var(--fc-purple-light);width:38px;height:38px;color:var(--fc-purple-primary);border-radius:10px;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.landing-feature-icon svg{stroke:var(--fc-purple-primary);flex-shrink:0}.landing-feature-title{color:var(--fc-text-primary);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:19px;font-weight:700}.landing-feature-body{color:#5d5977;text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.landing-how{background:var(--fc-text-primary);color:var(--fc-white);max-width:1280px;margin:0 auto;padding:64px 48px}.landing-how-eyebrow{letter-spacing:.14em;color:#8b86c9;padding-bottom:14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.landing-h2-light{letter-spacing:-.02em;color:var(--fc-white);margin:0;padding-bottom:36px;font-family:Plus Jakarta Sans,sans-serif;font-size:34px;font-weight:800}.landing-how-steps{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.landing-how-step{border-top:2px solid #4b46a8;flex-direction:column;gap:10px;padding-top:18px;display:flex}.landing-how-number{color:#a9a4e8;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:800}.landing-how-step-title{color:var(--fc-white);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:21px;font-weight:700}.landing-how-step-body{color:#b6b2cf;margin:0;font-size:15px;line-height:1.6}.landing-privacy{background:var(--fc-white);grid-template-columns:1fr 1fr;align-items:start;gap:56px;max-width:1280px;margin:0 auto;padding:64px 48px;display:grid}.landing-privacy-left{flex-direction:column;gap:16px;display:flex}.landing-privacy-eyebrow{letter-spacing:.14em;color:var(--fc-text-lightest);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.landing-privacy-body{color:#5d5977;text-wrap:pretty;max-width:30em;margin:0;font-size:17px;line-height:1.6}.landing-btn-ghost{border:1px solid var(--fc-border-dark);color:#302c4a;background:0 0;border-radius:10px;align-self:flex-start;margin-top:4px;padding:12px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;text-decoration:none;transition:all .14s;display:inline-flex}.landing-btn-ghost:hover{background:#fafafe;border-color:#b9b4d6}.landing-privacy-cards{gap:12px;display:grid}.landing-privacy-card{border:1px solid var(--fc-border-medium);background:var(--fc-white);border-radius:12px;gap:14px;padding:18px 20px;display:flex}.landing-privacy-check{color:var(--fc-green-dark);flex-shrink:0;font-size:16px;font-weight:700}.landing-privacy-card-title{color:var(--fc-text-primary);margin:0 0 4px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700}.landing-privacy-card-body{color:var(--fc-text-light);margin:0;font-size:14px;line-height:1.5}.landing-cta{background:var(--fc-purple-light);border-radius:18px;justify-content:space-between;align-items:center;gap:40px;max-width:1184px;margin:0 auto 48px;padding:52px;display:flex}.landing-cta-title{letter-spacing:-.02em;color:#191536;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:32px;font-weight:800}.landing-cta-subtitle{color:#504c6e;margin:10px 0 0;font-size:17px}.landing-cta-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.landing-cta-note{color:var(--fc-text-light);font-size:14px;font-weight:700}.landing-footer{border-top:1px solid var(--fc-border-light);color:var(--fc-text-lighter);justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:28px 48px;font-size:14px;display:flex}.landing-footer-left{align-items:center;gap:0;display:flex}.landing-footer-logo-icon{color:#667eea;flex-shrink:0;width:20px;height:20px}.landing-footer-brand{color:#667eea;letter-spacing:.18px;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:700}.landing-footer-links{gap:24px;display:flex}.landing-footer-links a{color:var(--fc-text-lighter);text-decoration:none;transition:color .14s}.landing-footer-links a:hover{color:var(--fc-purple-primary)}@media (width<=1024px){.landing-nav{padding:20px 32px}.landing-nav-links{display:none}.landing-hero-content{grid-template-columns:1fr;gap:40px}.landing-hero-h1{font-size:40px}.landing-features-header{flex-direction:column;align-items:flex-start}.landing-features-cards{grid-template-columns:repeat(2,1fr)}.landing-how-steps,.landing-privacy{grid-template-columns:1fr}.landing-cta{flex-direction:column;align-items:flex-start;margin:0 32px 32px}.landing-cta-right{flex-direction:column;align-items:flex-start;width:100%}.landing-cta-right .landing-btn-primary{text-align:center;width:100%}}@media (width<=768px){.landing-hero-diagram{grid-template-columns:1fr;gap:20px}.landing-diagram-inbox,.landing-diagram-arrow{display:none}.landing-features-cards{grid-template-columns:1fr}}.landing a:focus-visible,.landing button:focus-visible{outline:2px solid var(--fc-purple-primary);outline-offset:2px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--sidebar-width:60px;--breakpoint-mobile:767px;--fc-purple-primary:#5b5bd6;--fc-purple-dark:#4a4ac4;--fc-purple-light:#eceafb;--fc-purple-badge:#4a45b8;--fc-text-primary:#171430;--fc-text-secondary:#55516e;--fc-text-tertiary:#4b4860;--fc-text-light:#6b6880;--fc-text-lighter:#8b8899;--fc-text-lightest:#9b98ae;--fc-border-light:#eeecf5;--fc-border-medium:#e6e3f0;--fc-border-dark:#d6d3e6;--fc-border-darker:#d3d0e6;--fc-bg-gradient-start:#f7f6fc;--fc-bg-light:#f6f5fc;--fc-bg-lighter:#f0eef6;--fc-white:#fff;--fc-green:#34c47c;--fc-green-dark:#34a06a;--fc-shadow:#17143014;--fc-shadow-medium:#1b183040;--fc-shadow-dark:#1b183066;--fc-shadow-purple:#5b5bd6b3;--fc-overlay:#17143099}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh;overflow:hidden}.page-content{z-index:50;position:fixed;inset:52px 0 70px;overflow-y:scroll}.page-content:has(.chat-page){overflow:hidden}@media (width>=768px){.page-content{left:var(--sidebar-width);bottom:0}}@media (width<=767px){.page-content{top:48px}}
