@charset "UTF-8";.spinner-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:300px;flex:1}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.layout{display:flex;height:100vh;width:100%;overflow:hidden;background:radial-gradient(circle at top left,var(--bg-card-hover),var(--bg-dark))}.sidebar{width:260px;height:calc(100vh - 2rem);margin:1rem 0 1rem 1rem;display:flex;flex-direction:column;padding:1.5rem;border-right:1px solid rgba(255,255,255,.05)}.sidebar .sidebar-header{margin-bottom:2.5rem}.sidebar .sidebar-header h2{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.2rem}.sidebar .sidebar-header .family-name{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.sidebar .nav-links{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.sidebar .nav-links::-webkit-scrollbar{width:4px}.sidebar .nav-links::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar .nav-links a{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:10px;color:var(--text-muted);font-weight:500;transition:all .3s ease}.sidebar .nav-links a svg{font-size:1.2rem}.sidebar .nav-links a:hover{background:#ffffff0d;color:var(--text-main)}.sidebar .nav-links a.active{background:linear-gradient(135deg,rgba(59,130,246,.2),transparent);border-left:3px solid var(--primary);color:var(--primary)}.sidebar .sidebar-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar .sidebar-footer .user-info{display:flex;align-items:center;gap:.8rem}.sidebar .sidebar-footer .user-info .avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.sidebar .sidebar-footer .user-info span{font-size:.95rem;font-weight:500}.sidebar .sidebar-footer .sidebar-actions{display:flex;gap:.5rem}.sidebar .sidebar-footer .sidebar-actions .icon-btn{background:transparent;padding:.5rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.sidebar .sidebar-footer .sidebar-actions .icon-btn:hover{background:#ffffff1a;color:var(--text-main)}.sidebar .sidebar-footer .sidebar-actions .icon-btn.logout-btn:hover{background:#ef44441a;color:var(--danger)}.content-area{flex:1;display:flex;flex-direction:column;padding:1.5rem 2.5rem;overflow-y:auto}.content-area .topbar{display:none}.content-area .impersonation-banner{background:#a855f726;border:1px solid rgba(168,85,247,.4);border-radius:12px;margin:0 0 1.5rem;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;color:var(--text-main)}.content-area .impersonation-banner svg{color:#a855f7;font-size:1.25rem}.content-area .impersonation-banner span{flex:1;font-size:.95rem}.content-area .impersonation-banner span strong{color:#a855f7}.content-area .impersonation-banner button{background:#a855f7;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.content-area .impersonation-banner button:hover{background:#9333ea}.content-area .page-content{flex:1;max-width:1600px;width:100%;margin:0 auto}.hamburger-btn{display:none;background:transparent;color:var(--text-main);font-size:1.5rem;padding:.5rem;cursor:pointer}.mobile-overlay{display:none}@media (max-width: 768px){.layout{flex-direction:column;overflow-y:auto;position:relative}.content-area{padding:5rem 1rem 1rem;overflow-y:visible}.content-area .topbar{position:fixed;top:0;left:0;right:0;height:4rem;background:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.content-area .topbar .mobile-logo{display:flex;align-items:center;gap:.75rem}.content-area .topbar .mobile-logo h2{font-size:1.25rem;margin:0;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.content-area .topbar .hamburger-btn{display:block;padding:.5rem;margin:0}.sidebar{position:fixed;top:0;left:-300px;width:260px;height:100vh;margin:0;padding:1.5rem;z-index:1000;transition:left .3s ease;border-right:1px solid rgba(255,255,255,.05)}.sidebar.mobile-open{left:0}.sidebar .sidebar-header{margin-bottom:1.5rem}.sidebar .sidebar-header h2{font-size:1.8rem}.sidebar .nav-links{margin-top:.5rem;overflow-y:auto}.sidebar .nav-links::-webkit-scrollbar{width:4px}.sidebar .nav-links::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar .nav-links a{padding:1rem;font-size:1.1rem}.sidebar .sidebar-footer{margin-top:auto;padding-top:1rem}.sidebar .sidebar-footer .user-info{display:flex}.mobile-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:900;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}.confirm-modal{width:90%;max-width:400px;padding:2rem;text-align:center}.confirm-modal p{font-size:1.05rem;color:var(--text-main);margin-bottom:1.5rem;line-height:1.5}.confirm-modal .confirm-modal-actions{display:flex;justify-content:center;gap:1rem}.confirm-modal .confirm-modal-actions button{padding:.6rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-modal .confirm-modal-actions .cancel-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-main)}.confirm-modal .confirm-modal-actions .cancel-btn:hover{background:#ffffff0d}.confirm-modal .confirm-modal-actions .confirm-btn{background:var(--danger);color:#fff;border:none}.confirm-modal .confirm-modal-actions .confirm-btn:hover{background:#dc2626;transform:translateY(-1px)}.dashboard-container{display:flex;flex-direction:column;gap:2rem}.dashboard-container .dashboard-header{display:flex;justify-content:space-between;align-items:center}.dashboard-container .dashboard-header .title-area{display:flex;align-items:center;gap:1rem}.dashboard-container .dashboard-header .title-area .header-icon{font-size:2rem;color:var(--primary)}.dashboard-container .dashboard-header .title-area h2{font-size:2rem;font-weight:700;margin:0;color:var(--text-main)}.dashboard-container .dashboard-header .widget-settings-btn{background:transparent;color:var(--text-muted);border:1px solid var(--glass-border);display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;border-radius:8px}.dashboard-container .dashboard-header .widget-settings-btn:hover{background:#ffffff0d;color:var(--text-main);border-color:var(--primary)}@media (max-width: 600px){.dashboard-container .dashboard-header .widget-settings-btn .btn-text{display:none}}.dashboard-container .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.dashboard-container .stats-grid .stat-card{padding:1.5rem;display:flex;align-items:center;gap:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.dashboard-container .stats-grid .stat-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0000001a}.dashboard-container .stats-grid .stat-card .icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.dashboard-container .stats-grid .stat-card .icon.warning{background:#f59e0b1a;color:var(--warning)}.dashboard-container .stats-grid .stat-card .icon.success{background:#10b9811a;color:var(--success)}.dashboard-container .stats-grid .stat-card .icon.primary{background:#3b82f61a;color:var(--primary)}.dashboard-container .stats-grid .stat-card .info h3{font-size:2.2rem;font-weight:800;color:var(--text-main);margin-bottom:.2rem}.dashboard-container .stats-grid .stat-card .info p{color:var(--text-muted);font-weight:500;font-size:.95rem}.dashboard-container .widgets-section{display:flex;flex-direction:column;gap:1rem}.dashboard-container .widgets-section .widgets-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);align-items:stretch}@media (max-width: 900px){.dashboard-container .widgets-section .widgets-grid{grid-template-columns:1fr}}.dashboard-container .widgets-section .widgets-grid .widget-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.dashboard-container .widgets-section .widgets-grid .widget-wrapper.full-width{grid-column:1/-1}.dashboard-container .widgets-section .widgets-grid .widget-wrapper.half-width{grid-column:span 1}@media (max-width: 900px){.dashboard-container .widgets-section .widgets-grid .widget-wrapper.half-width{grid-column:1/-1}}.dashboard-container .widgets-section .widgets-grid .widget-wrapper>*:not(.drag-handle){flex:1;display:flex;flex-direction:column;padding-right:2rem}.dashboard-container .recent-activity{padding:2rem;min-height:300px}.dashboard-container .recent-activity h2{font-size:1.4rem;margin-bottom:1.5rem;font-weight:600}.dashboard-container .recent-activity .empty-state{display:flex;align-items:center;justify-content:center;height:200px;border:2px dashed rgba(255,255,255,.1);border-radius:12px;color:var(--text-muted)}.affirmation-widget{padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px;background:linear-gradient(135deg,#3b82f61a,#10b9811a);border:1px solid rgba(59,130,246,.2)}.affirmation-widget .quote-content{position:relative;padding:0 1.5rem;text-align:center}.affirmation-widget .quote-content p{font-size:1.25rem;font-weight:500;color:var(--text-main);line-height:1.5;margin:0;font-style:italic}.affirmation-widget .quote-content .quote-mark{position:absolute;font-size:4rem;color:#3b82f626;font-family:serif;line-height:1}.affirmation-widget .quote-content .quote-mark.closing{bottom:-2rem;right:0}.affirmation-widget .quote-content .quote-mark:not(.closing){top:-1rem;left:0}.affirmation-widget .quote-footer{margin-top:1rem;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:700}.scripture-widget{padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px;background:linear-gradient(135deg,#8b5cf61a,#f9731614);border:1px solid rgba(139,92,246,.2)}.scripture-widget .scripture-content{position:relative;padding:0 1.5rem;text-align:center}.scripture-widget .scripture-content .cross-icon{display:block;font-size:2rem;margin-bottom:.75rem;opacity:.25}.scripture-widget .scripture-content p{font-size:1.1rem;font-weight:500;color:var(--text-main);line-height:1.6;margin:0;font-style:italic}.scripture-widget .scripture-ref{margin-top:1rem;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:700}.swear-jar-widget{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.swear-jar-widget .widget-header.danger{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.75rem}.swear-jar-widget .widget-header.danger h3{margin:0;color:#ef4444;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.swear-jar-widget .widget-header.danger .jar-total{background:#ef444433;color:#fca5a5;padding:.25rem .75rem;border-radius:999px;font-weight:700;font-size:1.1rem}.swear-jar-widget .jar-content{display:flex;flex-direction:column;gap:.75rem;max-height:250px;overflow-y:auto}.swear-jar-widget .jar-content .empty-text{color:#9ca3af;font-style:italic;text-align:center}.swear-jar-widget .jar-content .jar-user-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#ffffff08;border-radius:8px;transition:background .2s ease}.swear-jar-widget .jar-content .jar-user-row:hover{background:#ffffff14}.swear-jar-widget .jar-content .jar-user-row .user-name{font-weight:500}.swear-jar-widget .jar-content .jar-user-row .user-actions{display:flex;align-items:center;gap:1rem}.swear-jar-widget .jar-content .jar-user-row .user-actions .user-total{color:#9ca3af;font-family:monospace;font-size:1.1rem}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group{display:flex;gap:.5rem}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .add-offense-btn,.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .reset-btn{border:none;padding:.25rem .5rem;border-radius:6px;cursor:pointer;font-weight:700;font-size:.9rem;transition:transform .1s ease,background .2s ease}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .add-offense-btn:hover,.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .reset-btn:hover{transform:scale(1.05)}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .add-offense-btn:active,.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .reset-btn:active{transform:scale(.95)}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .add-offense-btn{background:#ef4444;color:#fff}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .add-offense-btn:hover{background:#dc2626}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .reset-btn{background:transparent;color:#9ca3af;border:1px solid rgba(255,255,255,.2)}.swear-jar-widget .jar-content .jar-user-row .user-actions .btn-group .reset-btn:hover{background:#ffffff1a;color:#fff}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#0f172ab3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.widget-config-modal{position:relative;background:#1e293b;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;padding:0;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out forwards}.widget-config-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05);background:#0003}.widget-config-modal .modal-header h2{margin:0;font-size:1.25rem}.widget-config-modal .modal-header .close-btn{background:none;border:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;transition:all .2s}.widget-config-modal .modal-header .close-btn:hover{background:#ffffff1a;color:#fff}.widget-config-modal .modal-body{padding:1.5rem;overflow-y:auto}.widget-config-modal .modal-body .modal-desc{color:#9ca3af;margin-top:0;margin-bottom:1.5rem}.widget-config-modal .modal-body .widgets-list{display:flex;flex-direction:column;gap:.75rem}.widget-config-modal .modal-body .widgets-list .widget-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .2s ease;position:relative;overflow:hidden}.widget-config-modal .modal-body .widgets-list .widget-card.active{background:#3b82f614;border-color:#3b82f666}.widget-config-modal .modal-body .widgets-list .widget-card .widget-info{display:flex;flex-direction:row;align-items:center;gap:1rem;flex:1}.widget-config-modal .modal-body .widgets-list .widget-card .widget-info .widget-emoji{font-size:1.8rem;background:#ffffff0d;width:3rem;height:3rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;box-shadow:0 4px 6px -1px #0000001a}.widget-config-modal .modal-body .widgets-list .widget-card .widget-info h4{margin:0;font-size:1.15rem;font-weight:600}.widget-config-modal .modal-body .widgets-list .widget-card .widget-info p{margin:0;color:#9ca3af;font-size:.85rem;line-height:1.4}.widget-config-modal .modal-body .widgets-list .widget-card .toggle-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:flex-end;padding:0;transition:color .2s,transform .2s;width:auto;margin-left:1rem}.widget-config-modal .modal-body .widgets-list .widget-card .toggle-btn:hover:not(.disabled){color:#94a3b8;transform:scale(1.05)}.widget-config-modal .modal-body .widgets-list .widget-card .toggle-btn.disabled{cursor:not-allowed;opacity:.5;filter:grayscale(100%)}.widget-config-modal .modal-body .widgets-list .widget-card .toggle-btn .on{color:#10b981}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chore-widget-card{height:100%;min-height:120px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#ec48991a,#1e293b66);border:1px solid rgba(255,255,255,.1);color:var(--text-main);transition:all .2s ease}.chore-widget-card:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ec489926,#1e293b80)}.chore-widget-card.loading{align-items:center;justify-content:center;color:var(--text-muted)}.chore-widget-card .widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chore-widget-card .widget-header .icon-area{display:flex;align-items:center;gap:.75rem}.chore-widget-card .widget-header .icon-area .icon{font-size:1.5rem;color:#f472b6}.chore-widget-card .widget-header .icon-area h4{margin:0;font-size:1.1rem;font-weight:600}.chore-widget-card .widget-header .status-badge{background:#ffffff0d;padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:700;color:var(--text-muted)}.chore-widget-card .chore-summary{flex:1}.chore-widget-card .chore-summary .empty-msg{color:var(--text-muted);font-size:.9rem;margin:0}.chore-widget-card .chore-summary .chore-mini-list{display:flex;flex-direction:column;gap:.5rem}.chore-widget-card .chore-summary .chore-mini-list .mini-chore{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-main)}.chore-widget-card .chore-summary .chore-mini-list .mini-chore.completed{color:var(--text-muted);text-decoration:line-through}.chore-widget-card .chore-summary .chore-mini-list .mini-chore.completed .check{color:#4ade80}.chore-widget-card .chore-summary .chore-mini-list .mini-chore .bullet{width:6px;height:6px;border-radius:50%;background:#f472b6}.chore-widget-card .chore-summary .chore-mini-list .more-count{margin:0;font-size:.8rem;color:var(--text-muted);padding-left:1.1rem}.chore-widget-card .widget-footer{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;margin-top:1rem;font-size:.8rem;color:#f472b6;font-weight:600;opacity:.8}.weather-widget-card{height:100%;min-height:120px;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#3b82f61a,#1e293b66);border:1px solid rgba(255,255,255,.1)}.weather-widget-card.empty{align-items:center;justify-content:center;text-align:center;color:var(--text-muted);gap:.5rem}.weather-widget-card.empty .icon{font-size:1.25rem}.weather-widget-card.empty p{margin:0;font-size:.75rem}.weather-widget-card.loading{align-items:center;justify-content:center;color:var(--text-muted)}.weather-widget-card .weather-main{display:flex;justify-content:space-between;align-items:center}.weather-widget-card .weather-main .weather-status{display:flex;flex-direction:column;gap:.15rem}.weather-widget-card .weather-main .weather-status .weather-icon{font-size:2rem}.weather-widget-card .weather-main .weather-status .weather-icon.clear{color:#fbbf24}.weather-widget-card .weather-main .weather-status .weather-icon.clouds{color:#9ca3af}.weather-widget-card .weather-main .weather-status .weather-icon.rain{color:#60a5fa}.weather-widget-card .weather-main .weather-status .weather-icon.snow{color:#e5e7eb}.weather-widget-card .weather-main .weather-status .weather-icon.storm{color:#f59e0b}.weather-widget-card .weather-main .weather-status .condition-text{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:600}.weather-widget-card .weather-main .temp-info{display:flex;flex-direction:column;align-items:flex-end}.weather-widget-card .weather-main .temp-info .current-temp{font-size:2rem;font-weight:800;color:var(--text-main);line-height:1}.weather-widget-card .weather-main .temp-info .range{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.weather-widget-card .weather-main .temp-info .range .high{color:var(--text-main);font-weight:600}.weather-widget-card .weather-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05);font-size:.8rem;color:var(--text-muted)}.weather-widget-card .weather-footer .zip{display:flex;align-items:center;gap:.3rem}.weather-widget-card .weather-footer .label{font-weight:500}.budget-widget{padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;height:100%}.budget-widget .budget-content{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0 .5rem}.budget-widget .budget-stats{display:flex;justify-content:space-between;align-items:center}.budget-widget .budget-stats .stat{display:flex;flex-direction:column;gap:.2rem}.budget-widget .budget-stats .stat.right{text-align:right;align-items:flex-end}.budget-widget .budget-stats .stat .label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.budget-widget .budget-stats .stat .value{font-size:1.8rem;font-weight:700;color:var(--text-main)}.budget-widget .budget-stats .stat .value.over{color:#ef4444}.budget-widget .progress-bar-container{display:flex;flex-direction:column;gap:.5rem}.budget-widget .progress-bar-container .progress-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}.budget-widget .progress-bar-container .progress-bar .progress-fill{height:100%;border-radius:6px;transition:width .5s ease-out}.budget-widget .progress-bar-container .progress-bar .progress-fill.safe{background:#4ade80}.budget-widget .progress-bar-container .progress-bar .progress-fill.warning{background:#facc15}.budget-widget .progress-bar-container .progress-bar .progress-fill.danger{background:#ef4444}.budget-widget .progress-bar-container .progress-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.calendar-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.calendar-container .calendar-header{display:flex;justify-content:space-between;align-items:center}.calendar-container .calendar-header .title-area{display:flex;align-items:center;gap:1rem}.calendar-container .calendar-header .title-area .header-icon{font-size:2rem;color:var(--warning)}.calendar-container .calendar-header .title-area h2{font-size:2rem;font-weight:700}.calendar-container .calendar-sub-header{background:#ffffff08;border:1px solid rgba(255,255,255,.05);padding:.75rem 1.25rem;border-radius:16px;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:100;flex-wrap:wrap;gap:1rem}@media (max-width: 900px){.calendar-container .calendar-sub-header .hide-on-mobile{display:none!important}}@media (max-width: 768px){.calendar-container .calendar-sub-header{flex-direction:column;justify-content:center;padding:1rem;gap:1.5rem}}.calendar-container .calendar-sub-header .month-navigation{display:flex;align-items:center;gap:1rem}@media (max-width: 768px){.calendar-container .calendar-sub-header .month-navigation{width:100%;justify-content:center;margin-bottom:.5rem}}.calendar-container .calendar-sub-header .month-navigation .nav-btn-circle{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.1rem;padding:0}.calendar-container .calendar-sub-header .month-navigation .nav-btn-circle svg{width:1em;height:1em;display:block}.calendar-container .calendar-sub-header .month-navigation .nav-btn-circle:hover{background:#ffffff1a;border-color:#fff3;transform:scale(1.05)}.calendar-container .calendar-sub-header .month-navigation .date-selectors{display:flex;gap:.5rem}.calendar-container .calendar-sub-header .month-navigation .date-selectors .custom-select-trigger{padding:.4rem 2rem .4rem 1rem;min-width:120px;height:38px;font-size:.95rem}@media (max-width: 768px){.calendar-container .calendar-sub-header .month-navigation .date-selectors .custom-select-trigger{min-width:80px;padding-right:1.5rem;font-size:.85rem}}.calendar-container .calendar-sub-header .controls-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;flex:1}@media (max-width: 768px){.calendar-container .calendar-sub-header .controls-right{width:100%;justify-content:center}}.calendar-container .calendar-sub-header .controls-right .filter-wrapper{position:relative;display:flex;align-items:center}.calendar-container .calendar-sub-header .controls-right .filter-wrapper .nav-btn-circle{position:relative;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;padding:0}.calendar-container .calendar-sub-header .controls-right .filter-wrapper .nav-btn-circle.active{background:var(--primary);border-color:var(--primary)}.calendar-container .calendar-sub-header .controls-right .filter-wrapper .nav-btn-circle .filter-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--primary);border-radius:50%;border:2px solid #1a1a1a}.calendar-container .calendar-sub-header .controls-right .filter-wrapper .nav-btn-circle svg{width:1em;height:1em;display:block}@media (max-width: 768px){.calendar-container .calendar-sub-header .controls-right .filter-wrapper .filter-dropdown{top:110%;right:50%;transform:translate(50%);width:250px}}.calendar-container .calendar-sub-header .controls-right .import-dropdown{position:absolute;top:100%;right:0;z-index:1000;margin-top:.5rem;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;min-width:200px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:8px}.calendar-container .calendar-sub-header .controls-right .import-dropdown .import-dropdown-item{white-space:nowrap;width:100%;background:transparent!important;border:none!important;color:var(--text-main)!important;text-align:left;padding:.6rem 1rem;cursor:pointer;border-radius:6px;font-size:.95rem;transition:background .2s ease}.calendar-container .calendar-sub-header .controls-right .import-dropdown .import-dropdown-item:hover{background:var(--bg-card-hover)!important;color:var(--text-main)!important}@media (min-width: 769px){.calendar-container .calendar-sub-header .controls-right .add-event-btn-main{display:none!important}}.calendar-container .calendar-sub-header .controls-right .view-toggle{background:#0003;padding:4px;border-radius:12px;display:flex;gap:2px;border:1px solid rgba(255,255,255,.05)}@media (max-width: 768px){.calendar-container .calendar-sub-header .controls-right .view-toggle{display:none!important}}.calendar-container .calendar-sub-header .controls-right .view-toggle .toggle-btn{width:38px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:1.2rem;padding:0}.calendar-container .calendar-sub-header .controls-right .view-toggle .toggle-btn svg{width:1em;height:1em;display:block}.calendar-container .calendar-sub-header .controls-right .view-toggle .toggle-btn:hover{color:#fff}.calendar-container .calendar-sub-header .controls-right .view-toggle .toggle-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.calendar-container .calendar-grid{flex:1;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 768px){.calendar-container .calendar-grid{display:none}}.calendar-container .calendar-grid .weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.calendar-container .calendar-grid .weekdays .weekday{text-align:center;font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:.85rem}.calendar-container .calendar-grid .days{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(5,1fr)}.calendar-container .calendar-grid .days .day-cell{border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);padding:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.calendar-container .calendar-grid .days .day-cell:nth-child(7n){border-right:none}.calendar-container .calendar-grid .days .day-cell:hover{background:#ffffff08}.calendar-container .calendar-grid .days .day-cell.disabled{opacity:.3;pointer-events:none}.calendar-container .calendar-grid .days .day-cell.today{background:#3b82f60d}.calendar-container .calendar-grid .days .day-cell .day-number{font-weight:600;font-size:.9rem}.calendar-container .calendar-grid .days .day-cell .day-events{display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow-y:auto;flex:1}.calendar-container .calendar-grid .days .day-cell .day-events .event-pill{font-size:.75rem;padding:4px;border-radius:4px;border-left:3px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;min-height:22px}.calendar-container .event-list{display:flex;flex-direction:column}@media (min-width: 769px){.calendar-container .event-list{max-height:80vh;overflow-y:auto}}.calendar-container .event-list .list-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.calendar-container .event-list .list-header h3{font-size:1.25rem;font-weight:700}.calendar-container .event-list .list-content .list-item{display:flex;align-items:center;gap:1.25rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer}.calendar-container .event-list .list-content .list-item:hover{background:#ffffff08}.calendar-container .event-list .list-content .list-item .date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;height:60px;border-radius:12px;background:#3b82f61a;color:var(--primary)}.calendar-container .event-list .list-content .list-item .date-badge .month{font-size:.75rem;text-transform:uppercase;font-weight:700}.calendar-container .event-list .list-content .list-item .date-badge .day{font-size:1.5rem;font-weight:800;line-height:1}.calendar-container .event-list .list-content .list-item .details h4{margin:0 0 .25rem;font-size:1.1rem}.calendar-container .event-list .list-content .list-item .details .time{color:var(--text-muted);font-size:.9rem}.calendar-container .event-list .list-content .list-item .details .list-chore-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.calendar-container .event-list .list-content .list-item .details .list-chore-avatar.fallback{background:#ec489933;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#f472b6;font-weight:700}.chore-avatar-tiny{width:14px;height:14px;border-radius:50%;object-fit:cover;flex-shrink:0}.chore-avatar-tiny.fallback{background:#fff3;color:currentColor;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.add-event-form{width:100%;max-width:450px;max-height:80vh;padding:0;border-radius:16px;display:flex;flex-direction:column;animation:fadeIn .3s ease;background:#1e293bf2;border:1px solid rgba(255,255,255,.1);overflow:hidden}.add-event-form .modal-header{padding:1.5rem 1.5rem 1rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.05)}.add-event-form .modal-header h3{margin:0;font-size:1.5rem;font-weight:700}.add-event-form .modal-body{padding:1rem 1.5rem;overflow-y:auto;flex:0 1 auto;display:flex;flex-direction:column;gap:1.25rem}.add-event-form input[type=text],.add-event-form input[type=time],.add-event-form textarea{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;color:#fff;font-size:1rem;font-family:inherit}.add-event-form input[type=text]:focus,.add-event-form input[type=time]:focus,.add-event-form textarea:focus{outline:none;border-color:var(--primary);background:#0000004d}.add-event-form .form-group,.add-event-form .date-inputs{display:flex;flex-direction:column;gap:.5rem}.add-event-form .form-group label,.add-event-form .date-inputs label{font-size:.9rem;color:var(--text-muted);font-weight:500}.add-event-form .form-group .react-datepicker-wrapper,.add-event-form .date-inputs .react-datepicker-wrapper{width:100%}.add-event-form .form-toggles{display:flex;gap:1.5rem}.add-event-form .form-toggles label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-main)}.add-event-form .form-toggles label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.add-event-form .time-inputs{display:flex;align-items:center;gap:1rem}.add-event-form .time-inputs span{color:var(--text-muted)}.add-event-form .modal-actions{padding:1rem 1.5rem 1.5rem;flex-shrink:0;border-top:1px solid rgba(255,255,255,.05);margin-top:0;display:flex;justify-content:flex-end;gap:1rem;background:#1e293bfa}.add-event-form .modal-actions button{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-event-form .modal-actions button.cancel-btn{background:transparent;color:var(--text-main);border:1px solid rgba(255,255,255,.1)}.add-event-form .modal-actions button.cancel-btn:hover{background:#ffffff0d}.add-event-form .modal-actions button.cancel-btn.error{color:var(--danger);border-color:#ef44444d}.add-event-form .modal-actions button.cancel-btn.error:hover{background:#ef44441a}.add-event-form .modal-actions button.save-btn{background:var(--primary);color:#fff;border:none}.add-event-form .modal-actions button.save-btn:hover{background:var(--primary-hover)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.custom-select-container{position:relative;display:inline-block}.custom-select-container .custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.3rem 1rem;background-color:transparent;border:1px solid var(--glass-border);color:var(--text-main);font-family:inherit;font-size:1.1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:120px}.custom-select-container .custom-select-trigger:hover,.custom-select-container .custom-select-trigger.open{border-color:var(--primary);background-color:var(--glass-bg)}.custom-select-container .custom-select-trigger .dropdown-icon{font-size:.8rem;color:var(--text-muted);transition:transform .2s ease}.custom-select-container .custom-select-trigger.open .dropdown-icon{transform:rotate(180deg)}.custom-select-container .custom-select-dropdown{position:absolute;top:calc(100% + 5px);left:0;width:100%;min-width:max-content;z-index:1000;border-radius:8px;padding:.5rem;max-height:250px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:0 10px 25px -5px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeInDown .15s ease-out}.custom-select-container .custom-select-dropdown::-webkit-scrollbar{width:6px}.custom-select-container .custom-select-dropdown::-webkit-scrollbar-track{background:transparent;border-radius:4px}.custom-select-container .custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;opacity:.3}.custom-select-container .custom-select-dropdown::-webkit-scrollbar-thumb:hover{opacity:.5}.custom-select-container .custom-select-dropdown .options-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.custom-select-container .custom-select-dropdown .options-list .option-item{padding:.5rem .8rem;cursor:pointer;border-radius:6px;color:var(--text-main);transition:all .1s ease;font-weight:500}.custom-select-container .custom-select-dropdown .options-list .option-item:hover{background-color:var(--glass-bg)}.custom-select-container .custom-select-dropdown .options-list .option-item.selected{background-color:#8b5cf633;color:#a78bfa;font-weight:700}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notes-container{display:flex;flex-direction:column;gap:1.5rem}.notes-container .notes-header{display:flex;justify-content:space-between;align-items:center}.notes-container .notes-header .title-area{display:flex;align-items:center;gap:1rem}.notes-container .notes-header .title-area .header-icon{font-size:2rem;color:var(--accent)}.notes-container .notes-header .title-area h2{font-size:2rem;font-weight:700}.notes-container .notes-header button.primary-btn{display:flex;align-items:center;gap:.5rem}.notes-container .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.notes-container .add-note-form{width:100%;max-width:450px;padding:2rem;border-radius:16px;display:flex;flex-direction:column;gap:1.25rem;animation:slideDown .3s ease-out;background:#1e293bf2;border:1px solid rgba(255,255,255,.1)}.notes-container .add-note-form h3{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-main)}.notes-container .add-note-form input,.notes-container .add-note-form textarea{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;color:#fff;font-size:1rem;font-family:inherit}.notes-container .add-note-form input:focus,.notes-container .add-note-form textarea:focus{outline:none;border-color:var(--primary);background:#0000004d}.notes-container .add-note-form input{font-weight:700;font-size:1.1rem}.notes-container .add-note-form textarea{resize:vertical}.notes-container .add-note-form .form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.notes-container .add-note-form .form-footer .color-picker{display:flex;gap:.5rem}.notes-container .add-note-form .form-footer .color-picker .color-btn{width:24px;height:24px;border-radius:50%;padding:0;border:2px solid transparent}.notes-container .add-note-form .form-footer .color-picker .color-btn.selected{border-color:#fff!important;box-shadow:0 0 0 2px var(--bg-dark),0 0 0 4px #fff!important}.notes-container .add-note-form .form-footer .color-picker .color-btn:hover{transform:scale(1.1)}.notes-container .add-note-form .form-footer .modal-actions{display:flex;gap:1rem}.notes-container .add-note-form .form-footer .modal-actions button{padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.notes-container .add-note-form .form-footer .modal-actions button.cancel-btn{background:transparent;color:var(--text-main);border:1px solid rgba(255,255,255,.1)}.notes-container .add-note-form .form-footer .modal-actions button.cancel-btn:hover{background:#ffffff0d}.notes-container .add-note-form .form-footer .modal-actions button.save-btn{background:var(--success);color:#fff;border:none}.notes-container .add-note-form .form-footer .modal-actions button.save-btn:hover{background:#059669}.notes-container .notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.notes-container .notes-grid .empty-notes{grid-column:1/-1;text-align:center;padding:3rem;color:var(--text-muted);border:2px dashed rgba(255,255,255,.1);border-radius:12px}.notes-container .notes-grid .note-card{padding:1.5rem;border-radius:12px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 6px -1px #0003;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.05);position:relative;z-index:1}.notes-container .notes-grid .note-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000004d}.notes-container .notes-grid .note-card .note-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.notes-container .notes-grid .note-card .note-card-header h3{font-size:1.3rem;color:#fff;word-break:break-word;margin:0}.notes-container .notes-grid .note-card p{flex:1;color:#f8fafc;white-space:pre-wrap;word-break:break-word}.notes-container .notes-grid .note-card .note-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem}.notes-container .notes-grid .note-card .note-footer .date{font-size:.8rem;color:#ffffffb3}.notes-container .notes-grid .note-card .note-footer .note-actions{display:flex;gap:.5rem;opacity:.6;transition:opacity .2s}.notes-container .notes-grid .note-card:hover .note-actions{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.shopping-container{display:flex;flex-direction:column;gap:1.5rem;width:100%}.shopping-container .shopping-header{display:flex;justify-content:space-between;align-items:center}.shopping-container .shopping-header .title-area{display:flex;align-items:center;gap:1rem}.shopping-container .shopping-header .title-area .header-icon{font-size:2rem;color:var(--primary)}.shopping-container .shopping-header .title-area h2{font-size:2rem;font-weight:700}.shopping-container .shopping-header .status-badge{background:#3b82f626;color:#60a5fa;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.shopping-container .add-item-form{display:flex;gap:1rem;padding:1.5rem;align-items:center;position:relative;z-index:10}.shopping-container .add-item-form .qty-input{width:70px;text-align:center;font-size:1.1rem;font-weight:700}.shopping-container .add-item-form .name-input{flex:1;font-size:1.1rem;min-width:0}.shopping-container .add-item-form .add-btn{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;background:var(--primary);flex-shrink:0}.shopping-container .add-item-form .add-btn:hover{background:var(--primary-hover)}@media (max-width: 768px){.shopping-container .add-item-form{padding:1rem;gap:.5rem}.shopping-container .add-item-form .qty-input{width:50px;padding:.6rem .4rem}.shopping-container .add-item-form .name-input{font-size:.95rem}.shopping-container .add-item-form .add-btn{padding:.6rem .8rem}}.shopping-container .items-list{display:flex;flex-direction:column;padding:1rem}.shopping-container .items-list .empty-state{padding:3rem;text-align:center;color:var(--text-muted);font-style:italic}.shopping-container .items-list .store-group{margin-bottom:1.5rem}.shopping-container .items-list .store-group:last-child{margin-bottom:0}.shopping-container .items-list .store-group .store-heading{font-size:.95rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;margin:0 0 .5rem;border-bottom:1px solid rgba(255,255,255,.05)}.shopping-container .items-list .shopping-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.05);transition:all .2s ease}.shopping-container .items-list .shopping-item:last-child{border-bottom:none}.shopping-container .items-list .shopping-item:hover{background:#ffffff05}.shopping-container .items-list .shopping-item.purchased{opacity:.6;background:#0000001a}.shopping-container .items-list .shopping-item.purchased .item-details .name{text-decoration:line-through;color:var(--text-muted)}.shopping-container .items-list .shopping-item.purchased .checkbox-btn{background:var(--primary);color:#fff}.shopping-container .items-list .shopping-item .checkbox-btn{width:28px;height:28px;border-radius:50%;border:2px solid var(--primary);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--primary);padding:0}.shopping-container .items-list .shopping-item .checkbox-btn:hover{background:#3b82f61a}.shopping-container .items-list .shopping-item .item-actions{display:flex;gap:.5rem;opacity:.5;transition:opacity .2s}.shopping-container .items-list .shopping-item .item-actions .icon-btn{background:transparent;color:var(--text-muted);padding:.5rem;border-radius:8px;display:flex;align-items:center}.shopping-container .items-list .shopping-item .item-actions .icon-btn:hover{color:var(--text-main);background:#ffffff1a}.shopping-container .items-list .shopping-item .item-actions .icon-btn.delete:hover{color:var(--danger);background:#ef44441a}.shopping-container .items-list .shopping-item:hover .item-actions{opacity:1}.shopping-container .items-list .shopping-item .purchased .checkbox-btn{background:var(--primary);color:#fff}.shopping-container .items-list .shopping-item .item-details{display:flex;align-items:center;gap:1rem;flex:1}.shopping-container .items-list .shopping-item .item-details .qty{font-weight:700;color:var(--text-muted);min-width:40px}.shopping-container .items-list .shopping-item .item-details .name{font-size:1.1rem;color:var(--text-main);font-weight:500}.shopping-container .clear-btn{background:transparent;color:var(--danger);border:1px solid rgba(239,68,68,.3);padding:.4rem .8rem;font-size:.85rem;display:flex;align-items:center;gap:.4rem;border-radius:6px}.shopping-container .clear-btn:hover{background:#ef44441a;border-color:var(--danger)}.shopping-container .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shopping-container .modal-overlay .modal-content{width:90%;max-width:400px;padding:2rem}.shopping-container .modal-overlay .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.shopping-container .modal-overlay .modal-content .modal-header h2{font-size:1.5rem;margin:0}.shopping-container .modal-overlay .modal-content .modal-header .close-btn{background:transparent;color:var(--text-muted);font-size:1.5rem;padding:0;line-height:1}.shopping-container .modal-overlay .modal-content .modal-header .close-btn:hover{color:var(--text-main)}.shopping-container .modal-overlay .modal-content .edit-form{display:flex;flex-direction:column;gap:1.5rem}.shopping-container .modal-overlay .modal-content .edit-form .form-group{display:flex;flex-direction:column;gap:.5rem}.shopping-container .modal-overlay .modal-content .edit-form .form-group label{font-size:.9rem;color:var(--text-muted);font-weight:500}.shopping-container .modal-overlay .modal-content .edit-form .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.shopping-container .modal-overlay .modal-content .edit-form .modal-actions .secondary-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-main)}.shopping-container .modal-overlay .modal-content .edit-form .modal-actions .secondary-btn:hover{background:#ffffff0d}.contacts-container{display:flex;flex-direction:column;gap:1.5rem}.contacts-container .contacts-header{display:flex;justify-content:space-between;align-items:center}.contacts-container .contacts-header .title-area{display:flex;align-items:center;gap:1rem}.contacts-container .contacts-header .title-area .header-icon{font-size:2rem;color:var(--accent)}.contacts-container .contacts-header .title-area h2{font-size:2rem;font-weight:700}.contacts-container .contacts-header button.primary-btn{display:flex;align-items:center;gap:.5rem;background:var(--accent)}.contacts-container .contacts-header button.primary-btn:hover{background:#7c3aed}.contacts-container .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.contacts-container .add-contact-form{width:100%;max-width:500px;padding:2rem;border-radius:16px;display:flex;flex-direction:column;gap:1.25rem;animation:slideDown .3s ease-out;background:#1e293bf2;border:1px solid rgba(255,255,255,.1)}.contacts-container .add-contact-form h3{font-size:1.5rem;font-weight:700;color:var(--text-main);margin:0}.contacts-container .add-contact-form .form-row{display:flex;gap:1rem}@media (max-width: 600px){.contacts-container .add-contact-form .form-row{flex-direction:column}}.contacts-container .add-contact-form .form-row input{flex:1}.contacts-container .add-contact-form input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;color:#fff;font-size:1rem;font-family:inherit}.contacts-container .add-contact-form input:focus{outline:none;border-color:var(--primary);background:#0000004d}.contacts-container .add-contact-form .error-message{color:#ef4444;font-size:.9rem;background:#ef44441a;padding:.75rem;border-radius:8px}.contacts-container .add-contact-form .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem}.contacts-container .add-contact-form .modal-actions button{padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.contacts-container .add-contact-form .modal-actions button.cancel-btn{background:transparent;color:var(--text-main);border:1px solid rgba(255,255,255,.1)}.contacts-container .add-contact-form .modal-actions button.cancel-btn:hover{background:#ffffff0d}.contacts-container .add-contact-form .modal-actions button.save-btn{background:var(--success);color:#fff;border:none}.contacts-container .add-contact-form .modal-actions button.save-btn:hover{background:#059669}.contacts-container .contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.contacts-container .contacts-grid .empty-state{grid-column:1/-1;text-align:center;padding:3rem;color:var(--text-muted);border:2px dashed rgba(255,255,255,.1);border-radius:12px}.contacts-container .contacts-grid .contact-card{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;transition:transform .2s,box-shadow .2s}.contacts-container .contacts-grid .contact-card:hover{transform:translateY(-4px)}.contacts-container .contacts-grid .contact-card .card-header{display:flex;align-items:center;gap:1rem}.contacts-container .contacts-grid .contact-card .card-header .avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--primary));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.contacts-container .contacts-grid .contact-card .card-header .name-info{display:flex;flex-direction:column;flex:1}.contacts-container .contacts-grid .contact-card .card-header .name-info h3{font-size:1.2rem}.contacts-container .contacts-grid .contact-card .card-header .name-info .relation{font-size:.85rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:1px}.contacts-container .contacts-grid .contact-card .card-header .contact-actions{display:flex;gap:.5rem;flex-shrink:0}.contacts-container .contacts-grid .contact-card .contact-methods{display:flex;flex-direction:column;gap:.5rem}.contacts-container .contacts-grid .contact-card .contact-methods .method-pill{display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;background:#ffffff0d;border-radius:8px;color:var(--text-main);font-size:.95rem}.contacts-container .contacts-grid .contact-card .contact-methods .method-pill svg{color:var(--text-muted)}.contacts-container .contacts-grid .contact-card .contact-methods .method-pill:hover{background:#ffffff1a}.contacts-container .contacts-grid .contact-card .contact-methods .no-info{font-size:.9rem;color:var(--text-muted);font-style:italic}.recipes-container{color:var(--text-main);animation:fadeIn .3s ease}.recipes-container .recipes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.recipes-container .recipes-header .title-area{display:flex;align-items:center;gap:1rem}.recipes-container .recipes-header .title-area .header-icon{font-size:2rem;color:var(--accent)}.recipes-container .recipes-header .title-area h2{font-size:2rem;font-weight:600;margin:0}.recipes-container .recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.recipes-container .recipe-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;min-height:200px}.recipes-container .recipe-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0006}.recipes-container .recipe-card .card-top{display:flex;justify-content:space-between;align-items:flex-start}.recipes-container .recipe-card .card-top h3{margin:0;font-size:1.3rem;font-weight:600;line-height:1.3;flex:1;padding-right:1rem}.recipes-container .recipe-card .card-top .card-actions{display:flex;gap:.5rem;flex-shrink:0}.recipes-container .recipe-card .card-preview{flex:1}.recipes-container .recipe-card .card-preview .ingredient-count{font-size:.9rem;color:var(--accent);margin:0 0 .5rem;font-weight:500}.recipes-container .recipe-card .card-preview .instruction-preview{font-size:.95rem;color:#ffffffb3;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.recipes-container .recipe-card .card-action-btn{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:transparent;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.recipes-container .recipe-card .card-action-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.recipes-container .view-recipe-modal{width:90%;max-width:600px;max-height:90vh;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.recipes-container .view-recipe-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.recipes-container .view-recipe-modal .modal-header h2{margin:0;font-size:1.8rem;color:var(--accent)}.recipes-container .view-recipe-modal .modal-header .close-btn{background:transparent;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;opacity:.7}.recipes-container .view-recipe-modal .modal-header .close-btn:hover{opacity:1}.recipes-container .view-recipe-modal .modal-body{display:flex;flex-direction:column;gap:2rem}.recipes-container .view-recipe-modal .recipe-section h3{margin:0 0 1rem;font-size:1.2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.recipes-container .view-recipe-modal .recipe-section .ingredient-list{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.recipes-container .view-recipe-modal .recipe-section .ingredient-list li{padding:.75rem 1rem;background:#ffffff0d;border-radius:6px;border-left:3px solid var(--accent)}.recipes-container .view-recipe-modal .recipe-section .instructions-text p{margin:0 0 1rem;line-height:1.6;color:#ffffffe6}.recipes-container .view-recipe-modal .recipe-section .instructions-text p:last-child{margin-bottom:0}.recipes-container .recipe-form{width:90%;max-width:600px;max-height:90vh;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.recipes-container .recipe-form h3{font-size:1.5rem;margin:0;color:var(--accent)}.recipes-container .recipe-form .title-input{font-size:1.2rem;padding:1rem}.recipes-container .recipe-form .form-section{display:flex;flex-direction:column;gap:.8rem}.recipes-container .recipe-form .form-section label{font-weight:600;font-size:1.1rem}.recipes-container .recipe-form .form-section .ingredient-row{display:flex;gap:.5rem}.recipes-container .recipe-form .form-section .ingredient-row input{flex:1}.recipes-container .recipe-form .form-section .ingredient-row .remove-ing-btn{width:44px;height:44px;flex-shrink:0;background:#ef444433;color:#fca5a5;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.recipes-container .recipe-form .form-section .ingredient-row .remove-ing-btn:hover{background:#ef444466;color:#fff}.recipes-container .recipe-form .form-section .ingredient-row .remove-ing-btn svg{display:block}.recipes-container .recipe-form .form-section .add-ing-btn{align-self:flex-start;padding:.5rem 1rem;background:transparent;border:1px dashed rgba(255,255,255,.3)}.recipes-container .recipe-form .form-section .add-ing-btn:hover{background:#ffffff1a}.recipes-container .recipe-form .form-section textarea{width:100%;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-family:inherit;font-size:1rem;resize:vertical}.recipes-container .recipe-form .form-section textarea:focus{outline:none;border-color:var(--accent);background:#ffffff1a}.recipes-container .recipe-form .flex-grow{flex:1}.recipes-container .recipe-form .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.recipes-container .recipe-form .modal-actions button{padding:.8rem 1.5rem}.recipes-container .export-modal{width:90%;max-width:500px;padding:2rem;display:flex;flex-direction:column}.recipes-container .export-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;margin-bottom:1.5rem}.recipes-container .export-modal .modal-header h2{margin:0;font-size:1.5rem;color:var(--accent)}.recipes-container .export-modal .modal-header .close-btn{background:transparent;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;opacity:.7}.recipes-container .export-modal .modal-header .close-btn:hover{opacity:1}.recipes-container .export-modal .export-checklist{display:flex;flex-direction:column;gap:.8rem;max-height:400px;overflow-y:auto;background:#0003;border-radius:8px;padding:1rem}.recipes-container .export-modal .export-checklist .export-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff0d;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.recipes-container .export-modal .export-checklist .export-item:hover{background:#ffffff1a}.recipes-container .export-modal .export-checklist .export-item input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer;accent-color:var(--accent)}.recipes-container .export-modal .export-checklist .export-item .item-qty{font-weight:600;color:var(--accent);min-width:30px}.recipes-container .export-modal .export-checklist .export-item .item-name{flex:1;font-size:1rem}.recipes-container .export-modal .modal-actions{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}.recipes-container .export-modal .modal-actions button{padding:.8rem 1.5rem;flex:1;max-width:fit-content}.flex-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.mealplan-container{color:var(--text-main);animation:fadeIn .3s ease}.mealplan-container .mealplan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.mealplan-container .mealplan-header .title-area{display:flex;align-items:center;gap:1rem}.mealplan-container .mealplan-header .title-area .header-icon{font-size:2rem;color:var(--accent)}.mealplan-container .mealplan-header .title-area h2{font-size:2rem;font-weight:600;margin:0}.mealplan-container .weekly-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:1rem;min-height:400px}.mealplan-container .weekly-calendar .day-column{display:flex;flex-direction:column;gap:.5rem;background:#0000001a;border-radius:12px;padding:.5rem;border:1px solid rgba(255,255,255,.05)}.mealplan-container .weekly-calendar .day-column .day-header{text-align:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.5rem}.mealplan-container .weekly-calendar .day-column .day-header h4{margin:0;font-size:1rem;color:#fff}.mealplan-container .weekly-calendar .day-column .day-header .date-sub{font-size:.75rem;color:var(--text-muted)}.mealplan-container .weekly-calendar .day-column .day-meals{display:flex;flex-direction:column;gap:.5rem;flex:1}.mealplan-container .weekly-calendar .day-column .day-meals .empty-meal-slot{text-align:center;font-size:.8rem;color:var(--text-muted);padding:1rem;border:1px dashed rgba(255,255,255,.1);border-radius:8px;flex:1;display:flex;align-items:center;justify-content:center}.mealplan-container .weekly-calendar .mealplan-card{padding:.75rem;transition:transform .2s,box-shadow .2s;margin:0}.mealplan-container .weekly-calendar .mealplan-card.flex-column{display:flex;flex-direction:column;gap:.5rem}.mealplan-container .weekly-calendar .mealplan-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:#ffffff26}.mealplan-container .weekly-calendar .mealplan-card .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.mealplan-container .weekly-calendar .mealplan-card .card-top h5{margin:0;font-size:.9rem;font-weight:500;line-height:1.2}.mealplan-container .weekly-calendar .mealplan-card .card-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.mealplan-container .weekly-calendar .mealplan-card .card-meta .meta-item{display:flex;align-items:center;gap:.3rem;background:#ffffff0d;padding:.2rem .5rem;border-radius:4px}.mealplan-container .filter-pills{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.mealplan-container .filter-pills .filter-pill{background:#ffffff05;color:var(--text-muted);border:1px solid rgba(255,255,255,.1);padding:.4rem 1rem;border-radius:20px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.mealplan-container .filter-pills .filter-pill.active{background:#8b5cf6;color:#fff;border-color:#7c3aed;font-weight:600;box-shadow:0 0 12px #8b5cf666}.mealplan-container .date-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-radius:16px}.mealplan-container .date-nav .icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.mealplan-container .date-nav .icon-btn:hover{background:#ffffff1a;transform:scale(1.05)}.mealplan-container .date-nav .current-date{display:flex;flex-direction:column;align-items:center}.mealplan-container .date-nav .current-date .day{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}.mealplan-container .date-nav .current-date .date{font-size:1.2rem;font-weight:700;color:var(--text-main)}.mealplan-container .mealplan-form{width:90%;max-width:500px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.mealplan-container .mealplan-form h3{font-size:1.5rem;margin:0;color:var(--accent)}.mealplan-container .mealplan-form .form-group{display:flex;flex-direction:column;gap:.5rem}.mealplan-container .mealplan-form .form-group label{font-weight:600;font-size:.95rem;color:#fffc}.mealplan-container .mealplan-form .form-group select,.mealplan-container .mealplan-form .form-group input[type=date]{padding:.8rem 1rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem}.mealplan-container .mealplan-form .form-group select:focus,.mealplan-container .mealplan-form .form-group input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.mealplan-container .mealplan-form .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1rem top 50%;background-size:.65rem auto}.mealplan-container .mealplan-form .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.mealplan-container .magic-btn{background:linear-gradient(135deg,#8b5cf6,#d946ef);border:none;color:#fff}.mealplan-container .magic-btn:hover{background:linear-gradient(135deg,#7c3aed,#c026d3);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.mealplan-container .magic-modal{width:90%;max-width:600px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;background:#141928f2;border:1px solid rgba(139,92,246,.3);box-shadow:0 0 30px #8b5cf633}.mealplan-container .magic-modal .magic-header{text-align:center}.mealplan-container .magic-modal .magic-header h3{font-size:1.8rem;margin:0 0 .5rem;background:linear-gradient(135deg,#a78bfa,#f472b6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.mealplan-container .magic-modal .magic-header p{margin:0;color:var(--text-muted)}.mealplan-container .magic-modal .magic-grid{display:flex;flex-direction:column;gap:.75rem;padding-right:.5rem}.mealplan-container .magic-modal .magic-grid::-webkit-scrollbar{width:6px}.mealplan-container .magic-modal .magic-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.mealplan-container .magic-modal .magic-day-row{display:flex;align-items:center;gap:1rem;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:.75rem 1rem}.mealplan-container .magic-modal .magic-day-row .magic-day-info{display:flex;flex-direction:column;min-width:80px}.mealplan-container .magic-modal .magic-day-row .magic-day-info .day-name{font-weight:600;color:#fff}.mealplan-container .magic-modal .magic-day-row .magic-day-info .date-sub{font-size:.8rem;color:var(--text-muted)}.mealplan-container .magic-modal .magic-day-row .magic-recipe-box{flex:1;display:flex;justify-content:space-between;align-items:center;background:#ffffff08;padding:.5rem;border-radius:8px;min-width:0;z-index:10}.mealplan-container .magic-modal .magic-day-row .magic-recipe-box .magic-select .custom-select-trigger{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--primary-color);font-weight:500;padding:.4rem 1rem;height:36px}.mealplan-container .magic-modal .magic-day-row .magic-recipe-box .magic-select .custom-select-trigger:hover{border-color:#ffffff4d}.mealplan-container .magic-modal .magic-day-row .magic-recipe-box .reroll-btn{font-size:1.2rem;opacity:.7;transition:all .2s}.mealplan-container .magic-modal .magic-day-row .magic-recipe-box .reroll-btn:hover{opacity:1;transform:rotate(15deg) scale(1.1)}.mealplan-container .magic-modal .magic-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem}.mealplan-container .magic-modal .magic-actions button{margin:0}.settings-layout{display:flex;flex-direction:column;min-height:calc(100vh - 80px);gap:0;width:100%}.settings-layout .settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.settings-layout .settings-header .title-area{display:flex;align-items:center;gap:1rem}.settings-layout .settings-header .title-area .header-icon{font-size:2rem;color:var(--primary)}.settings-layout .settings-header .title-area h2{font-size:2rem;font-weight:700;margin:0;color:var(--text-main)}.settings-layout .settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto}.settings-layout .settings-tabs::-webkit-scrollbar{display:none}.settings-layout .settings-tabs{scrollbar-width:none}.settings-layout .settings-tabs .settings-tab{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;color:var(--text-muted);text-decoration:none;border-radius:12px;font-weight:500;transition:all .2s ease;white-space:nowrap}.settings-layout .settings-tabs .settings-tab svg{font-size:1.1rem}.settings-layout .settings-tabs .settings-tab:hover{background:#ffffff0d;color:var(--text-main)}.settings-layout .settings-tabs .settings-tab.active{background:#ffffff1a;color:var(--accent)}.settings-layout .settings-content{flex:1;overflow-y:auto;padding-bottom:2rem}.settings-layout .settings-content::-webkit-scrollbar{display:none}.settings-layout .settings-content{scrollbar-width:none}.avatar-section{display:flex;align-items:center;gap:2rem;margin-top:1rem}.avatar-section .avatar-preview{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;box-shadow:0 4px 6px -1px #0003;flex-shrink:0}.avatar-section .avatar-preview.large{width:120px;height:120px;font-size:3.5rem}.avatar-section .upload-controls{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.avatar-section .avatar-section{display:flex;align-items:center;gap:2rem;padding:1rem 0}.avatar-section .profile-form{display:flex;flex-direction:column;gap:1.75rem}.avatar-section .profile-form .form-group{display:flex;flex-direction:column;gap:.5rem}.avatar-section .profile-form .form-group label{font-weight:500;font-size:.9rem}.avatar-section .profile-form .form-group input{padding:.75rem 1rem}.avatar-section .profile-form .form-group .help-text{font-size:.8rem;color:var(--text-muted)}.avatar-section .profile-form .mt-4{margin-top:.5rem}.settings-container{color:var(--text-main);animation:fadeIn .3s ease;padding:0;overflow:visible}.settings-container .settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding:0}.settings-container .settings-header h2{font-size:2rem;margin-bottom:.5rem}.settings-container .settings-header .subtitle{color:var(--text-muted)}.settings-container .settings-grid{display:grid;gap:2rem}.settings-container .settings-grid .profile-panel{padding:1.5rem;border-radius:16px}.settings-container .settings-grid .profile-panel h3{font-size:1.2rem;font-weight:600;margin-bottom:.25rem}.settings-container .settings-grid .profile-panel .subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.settings-container .settings-grid .members-list{padding:1.5rem}.settings-container .settings-grid .members-list h3{margin-bottom:1.5rem;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.settings-container .settings-grid .members-list .members-wrapper{display:flex;flex-direction:column;gap:1rem}.settings-container .settings-grid .members-list .member-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .2s}.settings-container .settings-grid .members-list .member-card:hover{background:#ffffff0d}.settings-container .settings-grid .members-list .member-card .member-info{display:flex;align-items:center;gap:1rem}.settings-container .settings-grid .members-list .member-card .member-info .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#60a5fa);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:#fff}.settings-container .settings-grid .members-list .member-card .member-info .avatar.pending-avatar{background:#ffffff1a;color:var(--text-muted);border:1px dashed rgba(255,255,255,.3)}.settings-container .settings-grid .members-list .member-card .member-info .details{display:flex;flex-direction:column}.settings-container .settings-grid .members-list .member-card .member-info .details h4{font-size:1.05rem;margin:0}.settings-container .settings-grid .members-list .member-card .member-info .details .email{font-size:.85rem;color:var(--text-muted)}.settings-container .settings-grid .members-list .member-card .member-actions{display:flex;align-items:center;gap:1rem}.settings-container .settings-grid .members-list .member-card .member-actions .role-badge{display:flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500;text-transform:capitalize}.settings-container .settings-grid .members-list .member-card .member-actions .role-badge.admin{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.settings-container .settings-grid .members-list .member-card .member-actions .role-badge.member{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.settings-container .settings-grid .members-list .member-card .member-actions .action-buttons{display:flex;gap:.5rem}.settings-container .settings-grid .members-list .member-card .member-actions .action-buttons .icon-btn{background:transparent;border:none;color:var(--text-muted);padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s}.settings-container .settings-grid .members-list .member-card .member-actions .action-buttons .icon-btn:hover{color:var(--text-main);background:#ffffff0d}.settings-container .settings-grid .members-list .member-card .member-actions .action-buttons .icon-btn.delete:hover{color:#ef4444}.settings-container .settings-grid .members-list .member-card .member-actions .action-buttons .icon-btn.promote:hover{color:#60a5fa}.settings-container .settings-grid .members-list .member-card .member-actions .action-buttons .icon-btn.demote:hover{color:#f59e0b}.settings-container .settings-grid .members-list.pending .subtitle{color:var(--text-muted);font-size:.9rem;margin-top:-1rem;margin-bottom:1.5rem}.settings-container .settings-grid .members-list.pending .pending-card{opacity:.7;border-style:dashed}.settings-container .invite-section{max-width:440px;width:95%;padding:1.5rem}.settings-container .invite-section .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.settings-container .invite-section .modal-header h3{font-size:1.3rem;margin:0}.settings-container .invite-section .modal-header .close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:6px}.settings-container .invite-section .modal-header .close-btn:hover{color:var(--text-main);background:#ffffff1a}.settings-container .invite-section .instruction{margin-bottom:1.5rem;font-size:.95rem;color:var(--text-muted);line-height:1.5}.settings-container .invite-section .invite-form{display:flex;flex-direction:column;gap:1.5rem}.settings-container .invite-section .invite-form .form-group{display:flex;flex-direction:column;gap:.5rem}.settings-container .invite-section .invite-form .form-group label{font-size:.85rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.settings-container .invite-section .invite-form .form-group input,.settings-container .invite-section .invite-form .form-group select{padding:.75rem 1rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem}.settings-container .invite-section .invite-form .form-group input:focus,.settings-container .invite-section .invite-form .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.settings-container .invite-section .invite-form .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem}.features-panel{padding:1.5rem;border-radius:16px}.features-panel .features-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.features-panel .feature-row{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-radius:12px;background:#0000001a;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.features-panel .feature-row.enabled{background:#ffffff08;border-color:#ffffff1a}.features-panel .feature-row.disabled{opacity:.6}.features-panel .feature-row .feature-info{display:flex;align-items:center;gap:1.25rem}.features-panel .feature-row .feature-info .feature-icon{font-size:1.5rem;color:var(--primary);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#3b82f61a;border-radius:12px}.features-panel .feature-row .feature-info .feature-details h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-main);font-weight:600}.features-panel .feature-row .feature-info .feature-details p{margin:0;font-size:.9rem;color:var(--text-muted)}.features-panel .admin-note{text-align:center;color:var(--text-muted);font-size:.9rem;padding:1rem;background:#0000001a;border-radius:8px;font-style:italic}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--primary)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-switch .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#fff3;transition:.3s;border-radius:34px}.toggle-switch .toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}body.theme-light .features-panel .feature-row{background:#00000005;border-color:#0000000d}body.theme-light .features-panel .feature-row.enabled{background:#fff;border-color:#00000014;box-shadow:0 2px 8px #00000005}body.theme-light .features-panel .feature-row .feature-info .feature-icon{background:#3b82f614}body.theme-light .features-panel .admin-note{background:#00000008}body.theme-light .toggle-switch .toggle-slider{background-color:#00000026}.sync-panel{padding:1.5rem;border-radius:16px;margin-top:1.5rem;background:#0003;border:1px solid rgba(255,255,255,.05)}.sync-panel .sync-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.sync-panel .sync-header .sync-icon-wrapper{font-size:1.5rem;color:var(--primary);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#3b82f61a;border-radius:12px;flex-shrink:0}.sync-panel .sync-header .sync-details h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-main);font-weight:600}.sync-panel .sync-header .sync-details .subtitle{margin:0;font-size:.9rem;color:var(--text-muted)}.sync-panel .sync-body{background:#00000026;padding:1.25rem;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.sync-panel .sync-body .instruction{margin:0 0 1rem;font-size:.95rem;color:var(--text-muted);line-height:1.5}.sync-panel .sync-body .instruction strong{color:var(--text-main)}.sync-panel .sync-body .input-group{display:flex;gap:.75rem}.sync-panel .sync-body .input-group .sync-url{flex:1;font-family:monospace;font-size:.9rem;padding:.75rem 1rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:text;transition:all .2s ease}.sync-panel .sync-body .input-group .sync-url:focus{border-color:var(--primary);color:var(--text-main);outline:none}.sync-panel .sync-body .input-group .copy-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap;padding:.75rem 1.25rem;border-radius:8px}.sync-panel .sync-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.sync-panel .sync-footer p{margin:0;color:var(--text-muted);font-size:.85rem;max-width:70%;line-height:1.5}.sync-panel .sync-footer .secondary-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease}.sync-panel .sync-footer .secondary-btn:hover{background:#ffffff1a}body.theme-light .sync-panel{background:#fff;border-color:#00000014;box-shadow:0 4px 6px #00000005}body.theme-light .sync-panel .sync-header .sync-icon-wrapper{background:#3b82f614}body.theme-light .sync-panel .sync-body{background:#00000005;border-color:#0000000d}body.theme-light .sync-panel .sync-body .sync-url{background:#fff;border-color:#0000001a;color:var(--text-main)}body.theme-light .sync-panel .sync-body .sync-url:focus{border-color:var(--primary)}body.theme-light .sync-panel .sync-footer{border-top-color:#0000000d}body.theme-light .sync-panel .sync-footer .secondary-btn{background:#fff;border-color:#0000001a;color:var(--text-main)}body.theme-light .sync-panel .sync-footer .secondary-btn:hover{background:#00000008}.chores-dashboard{display:flex;flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding-bottom:2rem}.chores-dashboard .chores-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.chores-dashboard .chores-header .title-area{display:flex;align-items:center;gap:1rem}.chores-dashboard .chores-header .title-area .header-icon{font-size:2.2rem;color:var(--primary);filter:drop-shadow(0 0 10px rgba(var(--primary-rgb),.3))}.chores-dashboard .chores-header .title-area h1{font-size:2rem;margin:0;background:linear-gradient(135deg,var(--text-main),var(--text-muted));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.chores-dashboard .chores-header .title-area .subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.chores-dashboard .chores-header .tabs{display:flex;background:#0003;border-radius:12px;padding:.4rem;border:1px solid rgba(255,255,255,.05)}.chores-dashboard .chores-header .tabs .tab{background:transparent;border:none;color:var(--text-muted);padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.chores-dashboard .chores-header .tabs .tab:hover{color:var(--text-main)}.chores-dashboard .chores-header .tabs .tab.active{background:#ffffff1a;color:var(--text-main);box-shadow:0 4px 10px #0000001a}.chores-dashboard .weekly-view{display:flex;flex-direction:column;gap:1.5rem}.chores-dashboard .weekly-view .date-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-radius:16px}.chores-dashboard .weekly-view .date-nav .icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chores-dashboard .weekly-view .date-nav .icon-btn:hover{background:#ffffff1a;transform:scale(1.05)}.chores-dashboard .weekly-view .date-nav .current-date{display:flex;flex-direction:column;align-items:center}.chores-dashboard .weekly-view .date-nav .current-date .day{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}.chores-dashboard .weekly-view .date-nav .current-date .date{font-size:1.2rem;font-weight:700;color:var(--text-main)}.chores-dashboard .weekly-view .weekly-grid{display:flex;flex-direction:column;gap:1.5rem}.chores-dashboard .weekly-view .weekly-grid .assignee-card{padding:1.5rem;border-radius:16px}.chores-dashboard .weekly-view .weekly-grid .assignee-card .assignee-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.chores-dashboard .weekly-view .weekly-grid .assignee-card .assignee-header .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;overflow:hidden}.chores-dashboard .weekly-view .weekly-grid .assignee-card .assignee-header .avatar img{width:100%;height:100%;object-fit:cover}.chores-dashboard .weekly-view .weekly-grid .assignee-card .assignee-header h3{margin:0;font-size:1.2rem}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table{display:flex;flex-direction:column;gap:.8rem;width:100%}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-header-row{display:flex;align-items:center;padding:0 1rem;margin-bottom:.5rem}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-header-row .chore-name-header{flex:1;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-header-row .days-header{display:grid;grid-template-columns:repeat(7,40px);gap:.5rem}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-header-row .days-header .day-col{text-align:center;color:var(--text-muted);font-size:.8rem;font-weight:600;text-transform:uppercase}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row{background:#0003;border:1px solid rgba(255,255,255,.03);border-radius:12px;padding:.8rem 1rem;display:flex;align-items:center;transition:all .2s}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .chore-info{flex:1;display:flex;flex-direction:column;gap:.3rem}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .chore-info .chore-title{font-weight:500;color:var(--text-main)}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .chore-info .payout-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:#4ade80;background:#4ade801a;padding:.2rem .4rem;border-radius:4px;width:max-content}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid{display:grid;grid-template-columns:repeat(7,40px);gap:.5rem}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell{height:40px;display:flex;align-items:center;justify-content:center}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell.empty{opacity:.2}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell.empty:after{content:"-";color:var(--text-muted)}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell .checkbox{width:24px;height:24px;border-radius:6px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;transition:all .2s}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell .checkbox.admin-clickable{cursor:pointer}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell .checkbox.admin-clickable:hover{border-color:#ffffff80;transform:scale(1.1)}.chores-dashboard .weekly-view .weekly-grid .assignee-card .weekly-table .weekly-chore-row .days-grid .day-cell .checkbox.completed{background:var(--success, #4ade80);border-color:var(--success, #4ade80)}.chores-dashboard .payouts-view .payout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.chores-dashboard .payouts-view .payout-grid .ledger-card{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.chores-dashboard .payouts-view .payout-grid .ledger-card .ledger-user{display:flex;align-items:center;gap:1rem}.chores-dashboard .payouts-view .payout-grid .ledger-card .ledger-user .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;overflow:hidden}.chores-dashboard .payouts-view .payout-grid .ledger-card .ledger-user .avatar img{width:100%;height:100%;object-fit:cover}.chores-dashboard .payouts-view .payout-grid .ledger-card .ledger-user .name{font-weight:600;font-size:1.1rem}.chores-dashboard .payouts-view .payout-grid .ledger-card .ledger-balance{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.chores-dashboard .payouts-view .payout-grid .ledger-card .ledger-balance .amount{font-size:1.5rem;font-weight:800;color:#4ade80}.chores-dashboard .settings-view .admin-table{width:100%;border-collapse:collapse}.chores-dashboard .settings-view .admin-table th,.chores-dashboard .settings-view .admin-table td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.chores-dashboard .settings-view .admin-table th:first-child,.chores-dashboard .settings-view .admin-table td:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.chores-dashboard .settings-view .admin-table th:last-child,.chores-dashboard .settings-view .admin-table td:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}.chores-dashboard .settings-view .admin-table th{color:var(--text-muted);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.chores-dashboard .settings-view .admin-table .status-badge{display:inline-block;padding:.3rem .6rem;border-radius:20px;font-size:.8rem;font-weight:600;background:#ffffff1a;text-transform:capitalize}.chores-dashboard .settings-view .admin-table .status-badge.daily{color:#60a5fa;background:#60a5fa1a}.chores-dashboard .settings-view .admin-table .status-badge.weekly{color:#a855f7;background:#a855f71a}.chores-dashboard .settings-view .admin-table .actions-cell{display:flex;gap:.5rem}.chores-dashboard .settings-view .admin-table .action-btn{padding:.4rem .6rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.chores-dashboard .settings-view .admin-table .action-btn.delete{background:#ef44441a;color:#ef4444}.chores-dashboard .settings-view .admin-table .action-btn.delete:hover{background:#ef444440}.chores-dashboard .settings-view .admin-table .action-btn.edit{background:#3b82f61a;color:#3b82f6;display:flex;align-items:center;gap:.25rem}.chores-dashboard .settings-view .admin-table .action-btn.edit:hover{background:#3b82f640}.chores-dashboard .modal-content h2{margin-top:0;margin-bottom:1.5rem}.chores-dashboard .modal-content .chore-form{display:flex;flex-direction:column;gap:1.2rem}.chores-dashboard .modal-content .chore-form .form-group{display:flex;flex-direction:column;gap:.5rem}.chores-dashboard .modal-content .chore-form .form-group label{font-size:.9rem;color:var(--text-muted);font-weight:500}.chores-dashboard .modal-content .chore-form .form-group input,.chores-dashboard .modal-content .chore-form .form-group select{padding:.8rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;color:var(--text-main);font-size:1rem;width:100%;box-sizing:border-box}.chores-dashboard .modal-content .chore-form .form-group input:focus,.chores-dashboard .modal-content .chore-form .form-group select:focus{outline:none;border-color:var(--primary);background:#0000004d}.chores-dashboard .modal-content .chore-form .form-row{display:flex;gap:1rem}.chores-dashboard .modal-content .chore-form .form-row .form-group{flex:1}.budget-container{display:flex;flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding-bottom:2rem}.budget-container .budget-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.budget-container .budget-header .title-area{display:flex;align-items:center;gap:1rem}.budget-container .budget-header .title-area .header-icon{font-size:2.2rem;color:var(--primary);filter:drop-shadow(0 0 10px rgba(var(--primary-rgb),.3))}.budget-container .budget-header .title-area h1{font-size:2rem;margin:0;background:linear-gradient(135deg,var(--text-main),var(--text-muted));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.budget-container .budget-header .title-area .subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.budget-container .month-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-radius:16px}.budget-container .month-nav .icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.budget-container .month-nav .icon-btn:hover{background:#ffffff1a;transform:scale(1.05)}.budget-container .month-nav .current-date{display:flex;flex-direction:column;align-items:center}.budget-container .month-nav .current-date .label{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}.budget-container .month-nav .current-date .date{font-size:1.2rem;font-weight:700;color:var(--text-main)}.budget-container .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.budget-container .summary-cards .summary-card{padding:1.5rem;border-radius:16px;display:flex;flex-direction:column;gap:.5rem}.budget-container .summary-cards .summary-card h3{margin:0;color:var(--text-muted);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.budget-container .summary-cards .summary-card .amount{font-size:2.5rem;font-weight:800;color:var(--text-main)}.budget-container .summary-cards .summary-card .amount.positive{color:#4ade80}.budget-container .summary-cards .summary-card .amount.negative{color:#ef4444}.budget-container .summary-cards .summary-card .edit-goal-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-muted);padding:.4rem .8rem;border-radius:6px;font-size:.85rem;cursor:pointer;width:fit-content;margin-top:.5rem;transition:all .2s}.budget-container .summary-cards .summary-card .edit-goal-btn:hover{background:#ffffff1a;color:#fff}.budget-container .expenses-section{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.budget-container .expenses-section .section-header{display:flex;justify-content:space-between;align-items:center}.budget-container .expenses-section .section-header h2{margin:0;font-size:1.5rem}.budget-container .expenses-section .section-header .category-filter{min-width:160px;z-index:10}.budget-container .expenses-section .section-header .category-filter .custom-select-trigger{height:38px;padding:.5rem 1rem;font-size:.95rem}.budget-container .expenses-section .expenses-list{display:flex;flex-direction:column}.budget-container .expenses-section .expenses-list .expense-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.budget-container .expenses-section .expenses-list .expense-item:hover{background:#ffffff05}.budget-container .expenses-section .expenses-list .expense-item:first-child{border-top-left-radius:16px;border-top-right-radius:16px}.budget-container .expenses-section .expenses-list .expense-item:last-child{border-bottom:none;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.budget-container .expenses-section .expenses-list .expense-item .expense-info{display:flex;flex-direction:column;gap:.3rem}.budget-container .expenses-section .expenses-list .expense-item .expense-info .description{font-weight:600;font-size:1.1rem;color:var(--text-main)}.budget-container .expenses-section .expenses-list .expense-item .expense-info .meta{display:flex;align-items:center;gap:.8rem;font-size:.85rem;color:var(--text-muted)}.budget-container .expenses-section .expenses-list .expense-item .expense-info .meta .category{background:#ffffff1a;padding:.2rem .6rem;border-radius:12px;font-weight:500}.budget-container .expenses-section .expenses-list .expense-item .expense-actions{display:flex;align-items:center;gap:1.5rem}.budget-container .expenses-section .expenses-list .expense-item .expense-actions .amount{font-size:1.25rem;font-weight:700;color:var(--text-main)}.budget-container .expenses-section .expenses-list .expense-item .expense-actions .action-buttons{display:flex;gap:.5rem}.budget-container .expenses-section .expenses-list .empty-state{text-align:center;padding:3rem;color:var(--text-muted);font-size:1.1rem}.budget-container .modal-content .budget-form{display:flex;flex-direction:column;gap:1.2rem;margin-top:1rem}.budget-container .modal-content .budget-form .form-group{display:flex;flex-direction:column;gap:.5rem}.budget-container .modal-content .budget-form .form-group label{font-size:.9rem;color:var(--text-muted);font-weight:500}.budget-container .modal-content .budget-form .form-group input{padding:.8rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;color:var(--text-main);font-size:1rem}.budget-container .modal-content .budget-form .form-group input:focus{outline:none;border-color:var(--primary);background:#0000004d}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,var(--bg-light),var(--bg-dark));padding:1rem}.login-container .login-card{width:100%;max-width:440px;padding:2rem;text-align:center;border-radius:24px;box-shadow:0 25px 50px -12px #00000080}.login-container .login-card .login-header{margin-bottom:1.5rem}.login-container .login-card .login-header .logo-container{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.login-container .login-card .login-header .logo-container .login-logo{width:48px;height:48px}.login-container .login-card .login-header h1{font-size:2.2rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--primary) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem;letter-spacing:-1px}.login-container .login-card .login-header p{color:var(--text-muted);font-size:1rem}.login-container .login-card .login-body{display:flex;flex-direction:column;gap:1rem;align-items:center}.login-container .login-card .login-body .email-login-form{display:flex;flex-direction:column;gap:.75rem;width:100%;margin-bottom:.5rem}.login-container .login-card .login-body .email-login-form input{width:100%;padding:.6rem .75rem;border-radius:8px}.login-container .login-card .login-body .email-login-form button{padding:.6rem .75rem;border-radius:8px;cursor:pointer;font-weight:600}.login-container .login-card .login-body .error-message{width:100%;background:#ef44441a;color:#fca5a5;padding:1rem;border-radius:8px;font-size:.9rem;border:1px solid rgba(239,68,68,.2)}.login-container .login-card .login-body .google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:1rem;background:#fff;color:#333;border:1px solid #e1e1e1;padding:1rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px #0000000d}.login-container .login-card .login-body .google-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #0000001a}.login-container .login-card .login-body .google-btn:active:not(:disabled){transform:translateY(0)}.login-container .login-card .login-body .google-btn:disabled{opacity:.7;cursor:not-allowed}.login-container .login-card .login-body .login-hint{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-top:1rem}.login-container .login-card .login-body .back-to-home{display:inline-block;margin-top:.5rem;color:var(--text-muted);font-size:.9rem;text-decoration:none;transition:color .2s ease}.login-container .login-card .login-body .back-to-home:hover{color:var(--primary)}.landing-page{width:100vw;min-height:100vh;background-color:#0f172a;color:#f8fafc;overflow-x:hidden;font-family:Inter,-apple-system,sans-serif;--bg-dark: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .05);--accent: #6366f1;--accent-hover: #4f46e5}.landing-page .landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;max-width:1400px;margin:0 auto}.landing-page .landing-nav .logo-container{display:flex;align-items:center;gap:.8rem}.landing-page .landing-nav .logo-container h2{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-page .landing-nav .nav-actions{display:flex;gap:1.5rem;align-items:center}.landing-page .landing-nav .nav-actions .login-btn{color:var(--text-main);text-decoration:none;font-weight:500;transition:color .2s}.landing-page .landing-nav .nav-actions .login-btn:hover{color:var(--accent)}.landing-page .landing-nav .nav-actions .signup-btn{text-decoration:none;padding:.6rem 1.5rem}.landing-page .hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6rem 5% 4rem;max-width:1200px;margin:0 auto}.landing-page .hero .hero-content{max-width:800px;margin-bottom:4rem}.landing-page .hero .hero-content h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;margin-bottom:1.5rem;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.landing-page .hero .hero-content .hero-subtitle{font-size:clamp(1.1rem,2vw,1.4rem);color:var(--text-muted);margin-bottom:2.5rem;line-height:1.6}.landing-page .hero .hero-content .primary-cta{display:inline-block;background:linear-gradient(135deg,var(--accent) 0%,#a855f7 100%);color:#fff;text-decoration:none;padding:1rem 2.5rem;border-radius:50px;font-weight:600;font-size:1.1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 25px -5px #6366f166}.landing-page .hero .hero-content .primary-cta:hover{transform:translateY(-2px);box-shadow:0 15px 35px -5px #6366f199}.landing-page .hero .hero-graphic{width:100%;max-width:1000px;height:500px;border-radius:20px;padding:1rem;background:#1e293b66;border:1px solid var(--glass-border);box-shadow:0 25px 50px -12px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.landing-page .hero .hero-graphic .mock-dashboard{width:100%;height:100%;display:flex;background:var(--bg-card);border-radius:12px;overflow:hidden}.landing-page .hero .hero-graphic .mock-dashboard .mock-sidebar{width:200px;background:#0f172acc;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid var(--glass-border)}.landing-page .hero .hero-graphic .mock-dashboard .mock-sidebar .mock-logo{width:40px;height:40px;border-radius:8px;background:#ffffff1a;margin-bottom:2rem}.landing-page .hero .hero-graphic .mock-dashboard .mock-sidebar .mock-nav-item{height:32px;border-radius:6px;background:#ffffff0d}.landing-page .hero .hero-graphic .mock-dashboard .mock-sidebar .mock-nav-item.active{background:#6366f133;border-left:3px solid var(--accent)}.landing-page .hero .hero-graphic .mock-dashboard .mock-content{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-header{height:40px;width:30%;background:#ffffff0d;border-radius:8px}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-grid .mock-card{height:120px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05);padding:1.5rem;display:flex;flex-direction:column;gap:.8rem}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-grid .mock-card.large{grid-column:span 3;height:180px}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-grid .mock-card .mock-text-line{height:12px;background:#ffffff0d;border-radius:4px}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-grid .mock-card .mock-text-line.title{width:40%;height:16px;background:#ffffff1a;margin-bottom:.5rem}.landing-page .hero .hero-graphic .mock-dashboard .mock-content .mock-grid .mock-card .mock-text-line.short{width:70%}.landing-page .features-section{padding:6rem 5%;max-width:1200px;margin:0 auto}.landing-page .features-section .section-header{text-align:center;margin-bottom:4rem}.landing-page .features-section .section-header h2{font-size:2.5rem;margin-bottom:1rem}.landing-page .features-section .section-header p{color:var(--text-muted);font-size:1.1rem;max-width:600px;margin:0 auto}.landing-page .features-section .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.landing-page .features-section .features-grid .feature-card{padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:flex-start;text-align:left;transition:transform .2s}.landing-page .features-section .features-grid .feature-card:hover{transform:translateY(-5px)}.landing-page .features-section .features-grid .feature-card .feature-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.5rem}.landing-page .features-section .features-grid .feature-card .feature-icon.calendar{background:#f59e0b26;color:#f59e0b}.landing-page .features-section .features-grid .feature-card .feature-icon.shopping{background:#8b5cf626;color:#8b5cf6}.landing-page .features-section .features-grid .feature-card .feature-icon.recipes{background:#10b98126;color:#10b981}.landing-page .features-section .features-grid .feature-card .feature-icon.notes{background:#38bdf826;color:#38bdf8}.landing-page .features-section .features-grid .feature-card h3{margin-top:0;margin-bottom:1rem;font-size:1.3rem}.landing-page .features-section .features-grid .feature-card p{margin:0;color:var(--text-muted);line-height:1.6}.landing-page .faq-section{padding:5rem 5%;max-width:800px;margin:0 auto 4rem}.landing-page .faq-section .section-header{text-align:center;margin-bottom:3rem}.landing-page .faq-section .section-header h2{font-size:2.5rem}.landing-page .faq-section .faq-list{display:flex;flex-direction:column;gap:1.5rem}.landing-page .faq-section .faq-list .faq-item{padding:1.5rem 2rem}.landing-page .faq-section .faq-list .faq-item h4{margin-top:0;margin-bottom:.5rem;font-size:1.1rem}.landing-page .faq-section .faq-list .faq-item p{margin:0;color:var(--text-muted);line-height:1.5}.landing-page .landing-footer{background:#0f172acc;border-top:1px solid var(--glass-border);padding:4rem 5% 2rem}.landing-page .landing-footer .footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:3rem;margin-bottom:3rem}.landing-page .landing-footer .footer-content .footer-brand{flex:1;min-width:250px}.landing-page .landing-footer .footer-content .footer-brand .logo-container{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.landing-page .landing-footer .footer-content .footer-brand .logo-container h3{margin:0}.landing-page .landing-footer .footer-content .footer-brand p{color:var(--text-muted)}.landing-page .landing-footer .footer-content .footer-links{display:flex;gap:4rem}.landing-page .landing-footer .footer-content .footer-links .link-group{display:flex;flex-direction:column;gap:1rem}.landing-page .landing-footer .footer-content .footer-links .link-group h4{margin:0;font-size:1.1rem;color:#fff}.landing-page .landing-footer .footer-content .footer-links .link-group a{color:var(--text-muted);text-decoration:none;transition:color .2s}.landing-page .landing-footer .footer-content .footer-links .link-group a:hover{color:var(--accent)}.landing-page .landing-footer .footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05);color:var(--text-muted);font-size:.9rem}@media (max-width: 768px){.landing-page .landing-nav .nav-actions .login-btn{display:none}.landing-page .hero{padding-top:4rem}.landing-page .hero .hero-graphic{height:300px}.landing-page .hero .hero-graphic .mock-dashboard .mock-sidebar{display:none}.landing-page .footer-links{flex-direction:column;gap:2rem}}.settings-grid.single-column{grid-template-columns:1fr;max-width:800px}.integration-card{display:flex;flex-direction:column;padding:1.5rem}.integration-card .integration-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.integration-card .integration-header .integration-icon-wrapper{background:#8b5cf633;width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(139,92,246,.3)}.integration-card .integration-header .integration-icon-wrapper .integration-icon{font-size:1.8rem;color:var(--primary)}.integration-card .integration-header .integration-details h3{margin:0 0 .5rem;font-size:1.5rem}.integration-card .integration-header .integration-details p{margin:0;color:var(--text-muted);font-size:1rem}.integration-card .integration-body .instruction{margin-bottom:1rem;color:var(--text-main);line-height:1.5}.integration-card .integration-body .input-group{display:flex;gap:1rem;margin-bottom:1rem}.integration-card .integration-body .input-group .sync-url{flex:1;padding:.8rem 1rem;border-radius:8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-family:monospace;font-size:.9rem}.integration-card .integration-body .input-group .sync-url:focus{outline:none;border-color:var(--primary)}.integration-card .integration-body .input-group .copy-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap;background:var(--primary);color:#fff;border:none;padding:0 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.integration-card .integration-body .input-group .copy-btn:hover{opacity:.9}.integration-card .integration-footer{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.integration-card .integration-footer p{margin:0;color:var(--text-muted);font-size:.85rem}.integration-card .integration-footer .secondary-btn{display:flex;align-items:center;gap:.5rem;background:transparent;color:var(--warning);border:1px solid var(--warning);padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s}.integration-card .integration-footer .secondary-btn:hover{background:#f59e0b1a}@media (max-width: 768px){.integration-card .integration-header{flex-direction:column;align-items:flex-start;gap:1rem}.integration-card .input-group{flex-direction:column}.integration-card .input-group .copy-btn{justify-content:center;padding:.8rem}.integration-card .integration-footer{flex-direction:column;align-items:flex-start;gap:1rem}}.admin-container{display:flex;flex-direction:column;gap:1.5rem}.admin-container .admin-header .title-area{display:flex;align-items:center;gap:1rem}.admin-container .admin-header .title-area .header-icon{font-size:2rem;color:var(--danger)}.admin-container .admin-header .title-area h2{font-size:2rem;font-weight:700}.admin-container .admin-tabs{display:flex;gap:.5rem}.admin-container .admin-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:1px solid var(--glass-border);border-radius:10px;color:var(--text-muted);cursor:pointer;font-size:.95rem;transition:all .2s ease}.admin-container .admin-tabs .tab:hover{background:#ffffff0d;color:var(--text-main)}.admin-container .admin-tabs .tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.admin-container .admin-table-wrapper{overflow-x:auto;border-radius:12px}.admin-container .admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-container .admin-table th,.admin-container .admin-table td{padding:.85rem 1rem;text-align:left;white-space:nowrap}.admin-container .admin-table th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--glass-border)}.admin-container .admin-table td{border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-main)}.admin-container .admin-table tr:last-child td{border-bottom:none}.admin-container .admin-table tr:hover td{background:#ffffff05}.admin-container .admin-table .disabled-row td{opacity:.5}.admin-container .admin-table .user-cell{display:flex;align-items:center;gap:.75rem}.admin-container .admin-table .user-cell .avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.admin-container .admin-table .user-cell .avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff}.admin-container .admin-table .badge{padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize}.admin-container .admin-table .badge.admin{background:#f59e0b26;color:#f59e0b}.admin-container .admin-table .badge.member{background:#3b82f626;color:#3b82f6}.admin-container .admin-table .badge.super{background:#ef444426;color:#ef4444;font-size:.65rem;margin-left:.5rem}.admin-container .admin-table .status{font-weight:600;font-size:.8rem}.admin-container .admin-table .status.active{color:#4ade80}.admin-container .admin-table .status.disabled{color:#ef4444}.admin-container .admin-table .join-code{background:#ffffff0d;padding:.2rem .5rem;border-radius:4px;font-family:monospace;font-size:.85rem;color:var(--text-muted)}.admin-container .admin-table .family-name{font-weight:600}.admin-container .admin-table .actions-cell{display:flex;gap:.5rem}.admin-container .admin-table .action-btn{padding:.4rem .6rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.admin-container .admin-table .action-btn.disable,.admin-container .admin-table .action-btn.super-disable,.admin-container .admin-table .action-btn.delete{background:#ef44441a;color:#ef4444}.admin-container .admin-table .action-btn.disable:hover,.admin-container .admin-table .action-btn.super-disable:hover,.admin-container .admin-table .action-btn.delete:hover{background:#ef444440}.admin-container .admin-table .action-btn.enable{background:#4ade801a;color:#4ade80}.admin-container .admin-table .action-btn.enable:hover{background:#4ade8040}.admin-container .admin-table .action-btn.super-enable{background:#a855f71a;color:#a855f7}.admin-container .admin-table .action-btn.super-enable:hover{background:#a855f740}@media (max-width: 768px){.admin-container .admin-tabs .tab{flex:1;justify-content:center}.admin-container .admin-table{font-size:.8rem}.admin-container .admin-table th,.admin-container .admin-table td{padding:.6rem .5rem}}:root{--border-radius: 16px;--font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif;--primary: #3b82f6;--primary-hover: #2563eb;--accent: #8b5cf6;--success: #10b981;--danger: #ef4444;--warning: #f59e0b}body.theme-dark{--bg-dark: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .05)}body.theme-light{--bg-dark: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .08)}body.theme-light .sidebar h2,body.theme-light .sidebar .nav-links a,body.theme-light .sidebar .family-name,body.theme-light .sidebar .user-info span{color:var(--text-main)}body.theme-light .sidebar .nav-links a.active{color:var(--primary);background:#3b82f61a}body.theme-light .notes-container,body.theme-light .recipes-container,body.theme-light .contacts-container,body.theme-light .mealplan-container,body.theme-light .calendar-container,body.theme-light .settings-container,body.theme-light .dashboard-container{color:var(--text-main)}body.theme-light .glass-panel{box-shadow:0 1px 3px #00000014}body.theme-light .note-card{color:#fff!important}body.theme-light .recipe-card .card-preview .instruction-preview,body.theme-light .recipe-card .card-action-btn{color:var(--text-main)}body.theme-light .recipe-card .card-actions .action-icon,body.theme-light .contact-card .contact-actions .action-icon{color:var(--text-muted)}body.theme-light .recipe-card .card-actions .action-icon:hover,body.theme-light .contact-card .contact-actions .action-icon:hover,body.theme-light .modal-overlay .glass-panel,body.theme-light .settings-top-nav h2,body.theme-light .settings-nav .settings-nav-item{color:var(--text-main)}body.theme-light .settings-nav .settings-nav-item.active{color:var(--primary)}body.theme-light .member-card,body.theme-light .member-card .details h4,body.theme-light .settings-container h2,body.theme-light .settings-container h3,body.theme-light .settings-container .subtitle{color:var(--text-main)}body.theme-light .settings-container .subtitle{color:var(--text-muted)}body.theme-light .topbar{background:var(--bg-dark)}body.theme-light .calendar-container .calendar-grid .weekday{color:var(--text-muted)}body.theme-light .calendar-container .month-navigation .nav-btn-circle,body.theme-light .calendar-container .filter-wrapper .nav-btn-circle{color:var(--text-main);background:var(--bg-card);border:1px solid var(--glass-border)}body.theme-light .calendar-container .month-navigation .nav-btn-circle:hover,body.theme-light .calendar-container .filter-wrapper .nav-btn-circle:hover{background:var(--bg-card-hover)}body.theme-light .calendar-container .view-toggle{background:var(--bg-card);border:1px solid var(--glass-border)}body.theme-light .calendar-container .view-toggle .toggle-btn.active{box-shadow:0 2px 4px #0000001a}body.theme-light .calendar-container .day-cell .day-number,body.theme-light .calendar-container .calendar-header h2{color:var(--text-main)}body.theme-light .calendar-container .calendar-sub-header{background:var(--glass-bg);border-color:var(--glass-border)}body.theme-light .mealplan-container .weekly-calendar .day-column{background:#00000008;border-color:var(--glass-border)}body.theme-light .mealplan-container .weekly-calendar .day-column .day-header{border-color:var(--glass-border)}body.theme-light .mealplan-container .weekly-calendar .day-column .day-header h4{color:var(--text-main)}body.theme-light .mealplan-container .weekly-calendar .day-column .day-meals .empty-meal-slot{border-color:#0000001a}body.theme-light .mealplan-container .filter-pills .filter-pill{background:var(--bg-card);border-color:var(--glass-border)}body.theme-light .mealplan-container .filter-pills .filter-pill.active{color:#fff;border-color:#7c3aed}body.theme-light .mealplan-container .date-nav .icon-btn{color:var(--text-main);background:var(--bg-card);border-color:var(--glass-border)}body.theme-light .mealplan-container .magic-modal{background:var(--bg-card);border-color:var(--glass-border);box-shadow:0 4px 12px #0000001a}body.theme-light .mealplan-container .magic-modal .magic-day-row{background:#00000008;border-color:var(--glass-border)}body.theme-light .mealplan-container .magic-modal .magic-day-row .day-name{color:var(--text-main)}body.theme-light .mealplan-container .magic-modal .magic-actions{background:var(--bg-card-hover);border-color:var(--glass-border)}body.theme-light .mealplan-container .mealplan-form label{color:var(--text-main)}body.theme-light .recipes-container .filter-row .tag-filter-btn{background:var(--bg-card);border-color:var(--glass-border);color:var(--text-muted)}body.theme-light .recipes-container .filter-row .tag-filter-btn.active{color:#fff;border-color:#7c3aed;background:#8b5cf6}body.theme-light .chores-dashboard .weekly-view .weekly-table .weekly-chore-row{background:var(--bg-card);border-color:var(--glass-border)}body.theme-light .chores-dashboard .weekly-view .weekly-table .weekly-chore-row .chore-info .chore-title{color:var(--text-main)}body.theme-light .chores-dashboard .weekly-view .weekly-tasks-list .weekly-task-item{background:var(--bg-card);border-color:var(--glass-border)}body.theme-light .chores-dashboard .weekly-view .weekly-tasks-list .weekly-task-item .task-title{color:var(--text-main)}body.theme-light .dashboard-container .celebrations-container .celebration-banner{background:var(--bg-card);border-color:var(--glass-border)}body.theme-light .dashboard-container .celebrations-container .celebration-banner h3{color:var(--text-main)}body.theme-light .widget-card>div[style*=background-color]{background-color:var(--bg-card-hover)!important;border-color:var(--glass-border)!important}body.theme-light .widget-card>div[style*=background-color] h4{color:var(--text-main)!important}body.theme-light .widget-card>div[style*=background-color] p{color:var(--text-muted)!important}body.theme-light .widget-config-modal .widget-card{background:var(--bg-card);border-color:var(--glass-border)}body.theme-light .widget-config-modal .widget-card h4{color:var(--text-main)}body.theme-light .widget-config-modal .widget-card p{color:var(--text-muted)}body.theme-light .widget-config-modal .widget-card.active{background:#8b5cf60d;border-color:#8b5cf680}body.theme-light .chore-list-widget .chore-item:hover{background:var(--bg-card-hover)!important}body.theme-light .chore-widget-card:hover{background:#8b5cf60d!important}body.theme-light .chore-widget-card .widget-header .icon-area h4,body.theme-light .chore-widget-card .chore-summary .chore-mini-list .mini-chore,body.theme-light .mobile-event-list .list-item .details h4{color:var(--text-main)}body.theme-light .mobile-event-list .list-item .details .time{color:var(--text-muted)}body.theme-light .modal-overlay input,body.theme-light .modal-overlay textarea,body.theme-light .modal-overlay select{background:var(--bg-card);color:var(--text-main);border-color:var(--glass-border)}body.theme-light .custom-select-trigger{background:var(--bg-card)!important;color:var(--text-main)!important;border-color:var(--glass-border)!important}body.theme-light .custom-select-container .custom-select-dropdown .options-list .option-item.selected{color:#7c3aed}body.theme-light .cancel-btn{color:var(--text-main);background:var(--bg-card-hover)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}h1,h2,h3,h4,p{margin:0}a{color:var(--primary);text-decoration:none;transition:color .2s ease-in-out}a:hover{color:var(--primary-hover)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--primary);color:#fff;cursor:pointer;transition:all .2s ease-in-out}button:hover{background-color:var(--primary-hover);transform:translateY(-2px)}button:active{transform:translateY(0)}.cancel-btn{background-color:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-main)}.cancel-btn:hover{background-color:#ffffff1a}.secondary-btn{background-color:#ffffff1a;color:var(--text-main)}.secondary-btn:hover{background-color:#ffffff26}input,textarea,select{font-family:var(--font-family);background:var(--bg-dark);border:1px solid var(--bg-card-hover);color:var(--text-main);padding:.8rem;border-radius:8px;outline:none;transition:border-color .2s ease}input:focus,textarea:focus,select:focus{border-color:var(--primary)}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.icon-btn{background:transparent;border:none;color:var(--text-muted);padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text-main);background:#ffffff0d}.icon-btn.delete:hover,.icon-btn.danger:hover{color:#ef4444}.icon-btn.promote:hover{color:#60a5fa}.icon-btn.edit:hover{color:var(--primary)}.icon-btn.demote:hover{color:#f59e0b}body.theme-light .icon-btn:hover{background:#0000000d}#root{width:100%;margin:0 auto}@media (max-width: 768px){.hide-on-mobile{display:none!important}}.empty-state-box{grid-column:1/-1;text-align:center;padding:3rem 2rem;color:var(--text-muted);border:2px dashed rgba(255,255,255,.15);border-radius:12px;font-size:1rem}.empty-state-box p{margin:0}body.theme-light .empty-state-box{border-color:#00000026}.datepicker-input{width:100%;padding:.75rem 1rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-main);font-size:1rem;cursor:pointer}.datepicker-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}body.theme-light .datepicker-input{background:#00000008;border-color:#00000026}.react-datepicker-popper{z-index:100!important}.react-datepicker{background:var(--bg-card)!important;border:1px solid var(--glass-border)!important;border-radius:12px!important;font-family:var(--font-family)!important;box-shadow:0 20px 40px #0006;overflow:hidden}.react-datepicker__header{background:#0003!important;border-bottom:1px solid var(--glass-border)!important;padding:1rem!important}.react-datepicker__current-month,.react-datepicker__day-name{color:var(--text-main)!important}.react-datepicker__day{color:var(--text-main)!important;border-radius:8px!important}.react-datepicker__day:hover{background:#ffffff1a!important}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:var(--primary)!important;color:#fff!important}.react-datepicker__day--today{font-weight:700!important;background:#6366f133!important}.react-datepicker__day--outside-month{color:var(--text-muted)!important;opacity:.4}.react-datepicker__navigation-icon:before{border-color:var(--text-muted)!important}.react-datepicker__triangle{display:none!important}body.theme-light .react-datepicker__header{background:#00000008!important}body.theme-light .react-datepicker__day:hover{background:#0000000d!important}
