:root{--sidebar-bg:#282828;--main-bg:#f5f5f5;--main-bg-gradient:linear-gradient(145deg,#f5f5f5,#e4e8ef 50%,#f5f5f5);--card-bg:#fff;--white:#fff;--text-color-primary:#1a1a2e;--text-color-secondary:#5c6578;--heading-color:#1e2330;--accent-blue:#fd7f2c;--accent-blue-dark:#c45f1c;--danger-red:#e74c3c;--border-color:#4650641a;--overlay-bg:#00000080;--hover-bg:#dde2e9;--hover-bgs:#c45f1c4f;--accent-green-rgb:76,175,80;--danger-red-rgb:244,67,54;--accent-blue-rgb:63,81,181;--accent-green-low-opacity:rgba(var(--accent-green-rgb),0.1);--danger-red-low-opacity:rgba(var(--danger-red-rgb),0.1);--accent-blue-low-opacity:rgba(var(--accent-blue-rgb),0.1);--accent-blue-hover:#e56b1f;--accent-green:#174143;--success-green:#22c55e;--warning-amber:#f59e0b;--chart-grid:#4650640f;--chart-axis:#46506466;--status-pending-bg:#fef3c7;--status-pending-text:#92400e;--status-success-bg:#d1fae5;--status-success-text:#065f46;--status-info-bg:#dbeafe;--status-info-text:#1e40af;--glass-bg-from:#ffffffd1;--glass-bg-to:#f5f8fca6;--glass-border:#46506e14;--glass-border-strong:#46506e1f;--glass-inset:#fffffff2;--glass-hover:#46506e0a;--glass-shadow:0 2px 16px #46506e14,0 1px 4px #46506e0f;--glass-shadow-hover:0 4px 24px #46506e1f,0 2px 8px #46506e14;--scrollbar-thumb:#46506e2e;--scrollbar-thumb-hover:#46506e47;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2.5rem;--border-radius-sm:5px;--border-radius-md:5px;--border-radius-lg:5px;--font-size-base:1rem;--font-weight-regular:400;--font-weight-bold:600;--font-family:"Inter",sans-serif;--sidebar-width-expanded:200px;--sidebar-width-collapsed:60px;--sidebar-text:#ffffffd9;--sidebar-text-muted:#ffffff73;--sidebar-hover-bg:#ffffff14;--sidebar-active-bg:linear-gradient(135deg,#fd7f2c2e,#fd7f2c14);--sidebar-active-accent:#fd7f2c;--sidebar-icon-color:#ffffff80;--sidebar-divider:#ffffff0f;--link-bg-hover:var(--sidebar-hover-bg);--active-link-bg:#fd7f2c33;--active-link-text:var(--accent-blue);--padding-collapsed:10px;--global-padding:1rem;--link-border-radius:5px}body.dark-theme{--main-bg:#3c3c3c;--main-bg-gradient:#3c3c3c;--card-bg:#303030;--hover-bg:#303030;--text-color-primary:#f7f7f7;--text-color-secondary:#a0a0c0;--heading-color:#f7f7f7;--border-color:#ffffff1a;--overlay-bg:#000000b3;--sidebar-bg:#303030;--success-green:#4ade80;--warning-amber:#fbbf24;--chart-grid:#ffffff0f;--chart-axis:#ffffff59;--status-pending-bg:#f59e0b26;--status-pending-text:#fbbf24;--status-success-bg:#22c55e26;--status-success-text:#4ade80;--status-info-bg:#3b82f626;--status-info-text:#93c5fd;--glass-bg-from:#ffffff1a;--glass-bg-to:#ffffff0d;--glass-border:#ffffff26;--glass-border-strong:#fff3;--glass-inset:#ffffff1a;--glass-hover:#ffffff0d;--glass-shadow:0 2px 16px #00000040,0 1px 4px #00000026;--glass-shadow-hover:0 4px 24px #00000059,0 2px 8px #0003;--scrollbar-thumb:#ffffff26;--scrollbar-thumb-hover:#ffffff40}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--main-bg-gradient);background-attachment:fixed;color:var(--text-color-primary);font-family:Inter,sans-serif;margin:0;min-height:100vh;padding:0}.app-layout{display:flex;max-height:100vh;min-height:100vh;width:100%}.main-content-wrapper{flex-grow:1;margin-left:calc(var(--sidebar-width-expanded) + 10px);overflow-x:hidden;overflow-y:auto;transition:margin-left .4s cubic-bezier(.4,0,.2,1)}.app-layout.sidebar-collapsed .main-content-wrapper{margin-left:calc(var(--sidebar-width-collapsed) + 10px)}@media (max-width:991px){.main-content-wrapper{margin-left:0}main{padding:5px!important}.mobile-overlay{background-color:initial!important}.main-content{padding-bottom:2rem}.app-layout{padding-bottom:4rem}}.main-content{box-sizing:border-box;min-height:100%;padding:5px}.mobile-overlay{background-color:var(--overlay-bg);display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1050}.app-layout.mobile-nav-open .mobile-overlay{display:block}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-blue);height:40px;margin:20px auto;width:40px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.notification-popup{align-items:center;background:var(--bg-surface);border-left:6px solid #0000;border-radius:12px;bottom:var(--spacing-lg);box-shadow:0 8px 24px #0c121a24,0 2px 6px #0c121a0f;color:var(--text-color-primary);display:flex;gap:12px;max-width:420px;min-width:300px;opacity:0;padding:12px 14px;position:fixed;right:var(--spacing-lg);transform:translateY(18px) scale(.99);transition:opacity .28s ease,transform .28s ease,visibility .28s ease;visibility:hidden;z-index:2000}.notification-popup.visible{opacity:1;transform:translateY(0) scale(1);visibility:visible}.notification-left{flex:0 0 auto}.notification-icon-wrap{align-items:center;background:#ffffff0f;border-radius:10px;display:flex;height:44px;justify-content:center;width:44px}.notification-icon{color:var(--text-color-primary);font-size:1.1rem}.notification-body{flex:1 1 auto;overflow:hidden}.notification-message{color:var(--text-color-primary);font-size:.96rem;font-weight:600;line-height:1.2;word-break:break-word}.notification-close{background:#0000;border:none;border-radius:6px;color:var(--text-color-secondary);cursor:pointer;padding:6px}.notification-close:hover{background:#0000000a}.notification-progress{background:#0000000f;border-bottom-left-radius:12px;border-bottom-right-radius:12px;bottom:0;height:4px;left:0;overflow:hidden;position:absolute;transform-origin:left center;width:100%}.notification-progress.running{animation:notification-progress 3s linear forwards}@keyframes notification-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notification-popup.success{border-left-color:var(--accent-green)}.notification-popup.error{border-left-color:var(--danger-red)}.notification-popup.info{border-left-color:var(--accent-blue)}.notification-popup.success .notification-icon-wrap{background:#20a05c14}.notification-popup.error .notification-icon-wrap{background:#dc26260f}.notification-popup.info .notification-icon-wrap{background:#2c72ff0f}@media (max-width:560px){.notification-popup{left:var(--spacing-md);max-width:calc(100% - 32px);min-width:auto;right:var(--spacing-md)}}.app-layout .confirmation-overlay{align-items:center;background-color:var(--overlay-bg);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.app-layout .confirmation-popup{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--dark-card-hover-shadow);color:var(--text-color-primary);display:flex;flex-direction:column;gap:var(--spacing-md);max-width:400px;padding:var(--spacing-xl);position:relative;text-align:center;width:90%}.app-layout .confirmation-header{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-sm);position:relative}.app-layout .confirmation-header .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.2rem;padding:var(--spacing-xs);position:absolute;right:0;top:0;transition:color .2s ease}.app-layout .confirmation-header .close-btn:hover{color:var(--danger-red)}.app-layout .confirmation-icon{font-size:2.5rem}.app-layout .confirmation-icon.info{color:var(--accent-blue)}.app-layout .confirmation-icon.error{color:var(--danger-red)}.app-layout .confirmation-body{margin:var(--spacing-md) 0}.app-layout .confirmation-body p{color:var(--heading-color);font-size:1.1rem;margin:0}.app-layout .confirmation-footer{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-md)}.app-layout .confirmation-footer .btn-cancel,.app-layout .confirmation-footer .btn-confirm{border:none;border-radius:var(--border-radius-lg);cursor:pointer;flex-grow:1;font-weight:var(--font-weight-bold);padding:.75rem 1.5rem;transition:all .2s ease-in-out}.app-layout .confirmation-footer .btn-cancel{background-color:var(--text-color-secondary);color:var(--card-bg)}.app-layout .confirmation-footer .btn-cancel:hover{background-color:var(--hover-bg);color:var(--text-color-primary)}.app-layout .confirmation-footer .btn-confirm.btn-info{background-color:var(--accent-blue);color:#fff}.app-layout .confirmation-footer .btn-confirm.btn-info:hover{background-color:var(--accent-blue);opacity:.8}.app-layout .confirmation-footer .btn-confirm.btn-error{background-color:var(--danger-red);color:#fff}.app-layout .confirmation-footer .btn-confirm.btn-error:hover{background-color:var(--danger-red);opacity:.8}@media (max-width:768px){.app-layout .confirmation-popup{max-width:70%}}.app-layout .theme-switcher{background:none;border:1px solid var(--border-color);border-radius:50%;color:var(--text-color);cursor:pointer;padding:.5rem;transition:background-color .2s ease,color .2s ease}.app-layout .theme-switcher:hover{background-color:var(--hover-bg);color:var(--active-color)}.sidebar-dropdown-wrapper{left:92%;margin-left:5px;position:absolute;top:0;z-index:9999}.sidebar-dropdown-wrapper .dropdown-menu{background:var(--sidebar-bg);border:1px solid #ffffff14;border-radius:var(--border-radius-md);box-shadow:0 8px 32px #00000059,0 2px 8px #0003;min-width:200px;opacity:1;overflow:hidden;pointer-events:auto;transform:translateX(0);transition:opacity .2s ease,transform .2s ease}.sidebar-dropdown-wrapper .dropdown-header{align-items:center;background:#fd7f2c14;border-bottom:1px solid var(--sidebar-divider);color:var(--sidebar-text);display:flex;font-size:.78rem;font-weight:600;gap:var(--spacing-sm);letter-spacing:.02em;padding:.6rem .85rem}.sidebar-dropdown-wrapper .dropdown-header .svg-inline--fa{color:var(--sidebar-active-accent);font-size:.8rem}.sidebar-dropdown-wrapper .dropdown-list{list-style:none;margin:0;padding:4px}.sidebar-dropdown-wrapper .dropdown-list li a{align-items:center;border-radius:var(--link-border-radius);color:var(--sidebar-text);display:flex;font-size:.78rem;font-weight:500;gap:.6rem;padding:7px 10px;text-decoration:none;transition:all .2s ease}.sidebar-dropdown-wrapper .dropdown-list li a:hover{background:var(--sidebar-hover-bg);color:#fff}.sidebar-dropdown-wrapper .dropdown-list li a:hover .svg-inline--fa{color:var(--sidebar-active-accent)}.sidebar-dropdown-wrapper .dropdown-list li a.active{background:var(--sidebar-active-bg);border-left:3px solid var(--sidebar-active-accent);color:var(--sidebar-active-accent);font-weight:600}.sidebar-dropdown-wrapper .dropdown-list li a .svg-inline--fa{color:var(--sidebar-icon-color);font-size:.8rem;transition:color .2s ease;width:16px}.sidebar-dropdown-wrapper .dropdown-list li a.active .svg-inline--fa{color:var(--sidebar-active-accent)}.desktop-sidebar{align-items:center;background-color:var(--sidebar-bg);border-radius:10px;border-right:none;bottom:5px;color:var(--sidebar-text);display:flex;flex-direction:column;flex-shrink:0;height:auto;justify-content:space-between;left:5px;overflow:visible;padding:5px;position:fixed;top:5px;transition:width .4s cubic-bezier(.4,0,.2,1),background-color .3s ease,box-shadow .4s ease;width:var(--sidebar-width-expanded);will-change:width;z-index:100}.desktop-sidebar .sidebar-container-content{-ms-overflow-style:none;flex-grow:1;overflow-x:visible;overflow-y:visible;padding:0 var(--global-padding);scrollbar-width:none;width:100%}.desktop-sidebar .sidebar-container-content::-webkit-scrollbar{display:none}.desktop-sidebar.collapsed{background-color:var(--sidebar-bg);width:var(--sidebar-width-collapsed)}.desktop-sidebar .nav-text,.desktop-sidebar .sidebar-title,.desktop-sidebar .submenu-indicator,.desktop-sidebar h3{max-width:180px;opacity:1;overflow:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1) .1s,max-width .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s;visibility:visible;white-space:nowrap}.desktop-sidebar.collapsed .logout-button .nav-text,.desktop-sidebar.collapsed .nav-text,.desktop-sidebar.collapsed .sidebar-title,.desktop-sidebar.collapsed .submenu-indicator,.desktop-sidebar.collapsed .toggle-inline-btn .nav-text,.desktop-sidebar.collapsed h3{margin:0;max-width:0;opacity:0;overflow:hidden;padding:0;transition:opacity .15s cubic-bezier(.4,0,.2,1),max-width .35s cubic-bezier(.4,0,.2,1) .05s,margin .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1),visibility 0s linear .35s;visibility:hidden}.desktop-sidebar .footer-utility-group,.desktop-sidebar .logout-button,.desktop-sidebar .nav-link-static,.desktop-sidebar .sidebar-nav li a,.desktop-sidebar .toggle-inline-btn{transition:all .4s cubic-bezier(.4,0,.2,1)}.desktop-sidebar.collapsed .footer-utility-group,.desktop-sidebar.collapsed .logout-button,.desktop-sidebar.collapsed .sidebar-nav li a,.desktop-sidebar.collapsed .toggle-inline-btn{justify-content:center;padding:var(--spacing-sm)}.desktop-sidebar .sidebar-icon{transition:margin .4s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),color .2s ease}.desktop-sidebar .sidebar-header{align-items:center;display:flex;justify-content:center;margin:var(--global-padding) 0 var(--spacing-lg);padding:0;position:relative;width:100%}.desktop-sidebar.collapsed .sidebar-header{margin:var(--padding-collapsed) 0 var(--spacing-lg)}.desktop-sidebar .sidebar-logo{height:48px;object-fit:contain;opacity:1;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),opacity .3s;width:48px}.desktop-sidebar.collapsed .sidebar-logo{height:32px;width:32px}.desktop-sidebar .sidebar-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:800;overflow:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);white-space:nowrap}.desktop-sidebar .toggle-inline-btn{align-items:center;background:var(--sidebar-hover-bg);border:1px solid var(--sidebar-divider);border-radius:var(--link-border-radius);color:var(--sidebar-text);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;justify-content:space-between;margin-bottom:var(--spacing-md);padding:8px 12px;transition:all .2s ease;width:100%}.desktop-sidebar .toggle-inline-btn:hover{background:#ffffff1f;color:#fff}.desktop-sidebar .toggle-inline-btn .sidebar-icon{color:var(--sidebar-icon-color);font-size:.85rem;margin-right:0}.desktop-sidebar .toggle-inline-btn:hover .sidebar-icon{color:var(--sidebar-active-accent)}.desktop-sidebar.collapsed .toggle-inline-btn{background:#0000;border-color:#0000;justify-content:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0;width:100%}.desktop-sidebar.collapsed .toggle-inline-btn .sidebar-icon{text-align:center;width:25px}.desktop-sidebar .sidebar-section h3{color:var(--sidebar-text-muted);font-size:.6rem;letter-spacing:.08em;margin-bottom:var(--spacing-xs);margin-top:var(--spacing-md);padding:0 8px;text-transform:uppercase;transition:opacity .1s}.desktop-sidebar.collapsed .sidebar-section h3{padding:0}.desktop-sidebar .sidebar-nav ul{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.desktop-sidebar .nav-item-wrapper{position:relative}.desktop-sidebar .nav-item-with-dropdown{position:relative;width:100%}.desktop-sidebar .nav-item-with-dropdown .dropdown-menu{left:100%;margin-left:10px;position:absolute;top:0}.desktop-sidebar .nav-link-static,.desktop-sidebar .sidebar-nav li a{align-items:center;border-radius:var(--link-border-radius);color:var(--sidebar-text);display:flex;font-size:.82rem;font-weight:500;padding:8px 12px;position:relative;text-decoration:none;transition:all .2s ease;white-space:nowrap}.desktop-sidebar .nav-link-static{cursor:default}.desktop-sidebar.collapsed .nav-link-static,.desktop-sidebar.collapsed .sidebar-nav li a{justify-content:center;padding:var(--spacing-sm) 0}.desktop-sidebar .nav-link-static:hover,.desktop-sidebar .sidebar-nav li a:hover{background:var(--sidebar-hover-bg);color:#fff}.desktop-sidebar .nav-link-static:hover .sidebar-icon,.desktop-sidebar .sidebar-nav li a:hover .sidebar-icon{color:var(--sidebar-active-accent)}.desktop-sidebar .nav-link-static.active,.desktop-sidebar .sidebar-nav li a.active{background:var(--sidebar-active-bg);border-left:3px solid var(--sidebar-active-accent);color:var(--sidebar-active-accent);font-weight:600}.desktop-sidebar .nav-link-static.active .sidebar-icon,.desktop-sidebar .sidebar-nav li a.active .sidebar-icon{color:var(--sidebar-active-accent)}.desktop-sidebar .sidebar-icon{color:var(--sidebar-icon-color);flex-shrink:0;font-size:.9rem;margin-right:10px;text-align:center;width:22px}.desktop-sidebar.collapsed .sidebar-icon{margin-right:0}.desktop-sidebar .submenu-indicator{color:var(--sidebar-text-muted);font-size:.6rem;margin-left:auto;transition:transform .2s ease,color .2s ease}.desktop-sidebar .nav-link-static:hover .submenu-indicator{color:var(--sidebar-active-accent);transform:translateX(2px)}.desktop-sidebar .nav-badge{background-color:var(--danger-red);border-radius:10px;color:#fff;font-size:.65rem;font-weight:700;margin-left:auto;padding:1px 6px;transition:opacity .3s}.desktop-sidebar.collapsed .nav-badge{margin-left:0;position:absolute;right:5px;top:5px}.desktop-sidebar .sidebar-footer{border-top:1px solid var(--sidebar-divider);display:flex;flex-direction:column;flex-shrink:0;gap:2px;margin-top:var(--spacing-md);padding:0 var(--global-padding) var(--global-padding);padding-top:var(--spacing-md);width:100%}.desktop-sidebar.collapsed .sidebar-footer{padding:0 var(--padding-collapsed) var(--padding-collapsed);padding-top:var(--spacing-md)}.desktop-sidebar .footer-utility-group{align-items:center;display:flex;justify-content:flex-start}.desktop-sidebar.collapsed .footer-utility-group{justify-content:center}.desktop-sidebar .footer-utility-group .theme-switcher{align-items:center;background:#0000;border:none;border-radius:var(--link-border-radius);color:var(--sidebar-text);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:10px;height:auto;justify-content:flex-start;padding:8px 12px;transition:all .2s ease;width:100%}.desktop-sidebar .footer-utility-group .theme-switcher:hover{background:var(--sidebar-hover-bg);color:#fff}.desktop-sidebar .footer-utility-group .theme-switcher:hover .svg-inline--fa{color:var(--sidebar-active-accent)}.desktop-sidebar .footer-utility-group .theme-switcher .svg-inline--fa{color:var(--sidebar-icon-color);font-size:.9rem;transition:color .2s ease}.desktop-sidebar.collapsed .footer-utility-group .theme-switcher{justify-content:center;margin:0 auto;padding:var(--spacing-sm);width:auto}.desktop-sidebar .logout-button.bottom-button{align-items:center;background:#0000;border:none;border-radius:var(--link-border-radius);color:var(--sidebar-text);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:10px;justify-content:flex-start;padding:8px 12px;transition:all .2s ease}.desktop-sidebar .logout-button.bottom-button .svg-inline--fa{color:var(--sidebar-icon-color);font-size:.9rem;transition:color .2s ease}.desktop-sidebar .logout-button.bottom-button:hover{background:#e74c3c1f;color:var(--danger-red)}.desktop-sidebar .logout-button.bottom-button:hover .svg-inline--fa{color:var(--danger-red)}.desktop-sidebar.collapsed .logout-button.bottom-button{justify-content:center;margin:0 auto;padding:var(--spacing-sm)}.desktop-sidebar.collapsed .logout-button.bottom-button .svg-inline--fa{color:var(--danger-red)}.mobile-navbar{background-color:var(--card-bg);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;height:60px;justify-content:space-around;left:0;padding:var(--spacing-xs) 0;position:fixed;right:0;z-index:1000}.mobile-navbar .mobile-menu-item button,.mobile-navbar a{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;font-size:.5rem;gap:5px;height:100%;justify-content:center;padding:0;text-decoration:none;transition:all .2s ease}.mobile-navbar a.active{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text}.mobile-navbar a.active .nav-icon{color:#f59e0b}.mobile-navbar .nav-icon{font-size:1.1rem;line-height:1;margin-bottom:0}.mobile-navbar .mobile-menu-item button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease}.mobile-navbar .mobile-menu-item button:hover{color:#f59e0b}.mobile-menu-overlay{align-items:flex-end;background-color:initial;display:flex;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1050}.mobile-menu-panel{background-color:var(--card-bg);box-shadow:0 -5px 15px #0000004d;display:flex;flex-direction:column;height:80vh;overflow-y:auto;padding:var(--spacing-lg) 0 0 0;position:relative;transform:translateY(0);transition:transform .3s ease-out;width:100%}.mobile-menu-panel .mobile-menu-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:var(--spacing-md);padding:0 var(--spacing-lg) var(--spacing-md) var(--spacing-lg)}.mobile-menu-panel .mobile-menu-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;font-weight:800;margin:0}.mobile-menu-panel .mobile-menu-header button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.5rem}.mobile-menu-panel nav{flex-grow:1;overflow-y:auto}.mobile-menu-panel nav>ul{list-style:none;margin:0;padding:0}.mobile-menu-panel .nav-item-container{margin-bottom:.25rem}.mobile-menu-panel nav a{align-items:center;color:var(--text-color-primary);display:flex;font-size:1rem;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:background-color .2s ease}.mobile-menu-panel nav a:hover{background-color:var(--hover-bg)}.mobile-menu-panel nav a.active{background:linear-gradient(135deg,#f59e0b1a,#f973161a);border-left:3px solid #f59e0b;color:#f59e0b;font-weight:600}.mobile-menu-panel nav a.active .svg-inline--fa{color:#f59e0b}.mobile-menu-panel nav a .svg-inline--fa{font-size:1.1rem;width:20px}.mobile-menu-panel .nav-item-header{align-items:center;background-color:initial;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);transition:background-color .2s ease}.mobile-menu-panel .nav-item-header:hover{background-color:var(--hover-bg)}.mobile-menu-panel .nav-item-header.active{background:linear-gradient(135deg,#f59e0b1a,#f973161a);border-left:3px solid #f59e0b;color:#f59e0b;font-weight:600}.mobile-menu-panel .nav-item-header.active .svg-inline--fa{color:#f59e0b}.mobile-menu-panel .nav-item-content{align-items:center;display:flex;gap:var(--spacing-md)}.mobile-menu-panel .nav-item-content .svg-inline--fa{font-size:1.1rem;width:20px}.mobile-menu-panel .expand-icon{color:var(--text-color-secondary);font-size:.9rem;transition:transform .2s ease}.mobile-menu-panel .submenu-list{background-color:var(--hover-bg);border-left:3px solid var(--border-color);list-style:none;margin:0;padding:0}.mobile-menu-panel .submenu-list li a{font-size:.9rem;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) calc(var(--spacing-lg) + var(--spacing-md))}.mobile-menu-panel .submenu-list li a:hover{background-color:var(--card-bg);color:#f59e0b}.mobile-menu-panel .submenu-list li a.active{background:linear-gradient(135deg,#f59e0b26,#f9731626);border-left:none;color:#f59e0b;font-weight:600}.mobile-menu-panel .submenu-list li a .svg-inline--fa{color:var(--text-color-secondary);font-size:.95rem}.mobile-menu-panel .submenu-list li a.active .svg-inline--fa,.mobile-menu-panel .submenu-list li a:hover .svg-inline--fa{color:#f59e0b}.mobile-menu-panel .mobile-menu-footer{border-top:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-md);margin-top:auto;padding:var(--spacing-lg)}.mobile-menu-panel .mobile-menu-footer .logout-button{align-items:center;background-color:var(--danger-red);border:none;border-radius:var(--border-radius-lg);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:.75rem 1rem;transition:opacity .2s ease}.mobile-menu-panel .mobile-menu-footer .logout-button:hover{opacity:.9}@media (max-width:991px){.desktop-sidebar{display:none}.mobile-navbar{display:flex}.app-layout.mobile-nav-open .mobile-overlay{display:none!important}.app-layout .theme-switcher{aspect-ratio:1;background:none;border:1px solid var(--border-color);border-radius:50%;color:var(--text-color-primary);cursor:pointer;height:30px;margin:auto;padding:.5rem;transition:background-color .2s ease,color .2s ease;width:30px}}@media (min-width:992px){.desktop-sidebar{display:flex}.mobile-menu-overlay,.mobile-navbar{display:none!important}}.app-layout .login-page{background-color:var(--main-bg);display:flex;flex-direction:column;font-family:inherit;min-height:100vh;overflow:hidden;width:100%}.app-layout .login-quote{background:#ffc1070d;border-left:3px solid var(--accent-yellow);border-radius:var(--border-radius-md);margin-top:2rem;padding:1rem;text-align:center}.app-layout .login-quote .quote-text{color:#e0e0e0;font-size:.95rem;font-style:italic;line-height:1.5;margin:0}.app-layout .login-quote .quote-author{color:#bdbdbd;font-size:.85rem;font-weight:500;margin-top:.5rem}.app-layout .login-promo-panel{align-items:center;background:var(--sidebar-bg);color:var(--text-color-primary);display:flex;flex-direction:column;justify-content:center;text-align:center;width:70%}.app-layout .promo-content{max-width:450px}.app-layout .promo-content h2{color:var(--accent-blue);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.app-layout .promo-content p{color:var(--text-color-secondary);font-size:1.1rem;line-height:1.6}.app-layout .login-form-panel{align-items:center;background-color:var(--main-bg);display:flex;justify-content:center;padding:1rem;width:30%}.app-layout .login-form-container{max-width:450px;text-align:center;transform:scale(.85);transform-origin:center;width:100%}.app-layout .login-form-container h1{color:var(--heading-color);font-size:2.2rem;margin-bottom:1rem}.app-layout .login-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);padding:2.5rem;text-align:left}.app-layout .input-group{margin-bottom:1.5rem;position:relative}.app-layout .input-group label{color:var(--text-color-secondary);display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.app-layout .input-with-icon{position:relative}.app-layout .input-with-icon svg{color:var(--text-color-secondary);font-size:1.1rem;left:15px;opacity:.9;position:absolute;top:50%;transform:translateY(-50%)}.app-layout .input-group input{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-sizing:border-box;color:var(--text-color-primary);font-size:1rem;padding:14px 14px 14px 45px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.app-layout .input-group input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px rgba(var(--accent-blue-rgb),.3);outline:none}.app-layout .login-button{background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-lg);box-shadow:0 4px 10px rgba(var(--accent-blue-rgb),.4);color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1.5rem;padding:16px;transition:all .2s ease;width:100%}.app-layout .login-button:hover{background-color:var(--accent-blue-dark);box-shadow:0 6px 12px rgba(var(--accent-blue-rgb),.5);transform:translateY(-1px)}.app-layout .login-button:disabled{background-color:var(--border-color);box-shadow:none;color:var(--text-color-secondary);cursor:not-allowed}.app-layout .error-message{color:var(--danger-red);font-size:.9rem;font-weight:500;margin-bottom:1.5rem;margin-top:-.5rem;text-align:center}.app-layout .login-quote-mobile{display:none}@media (max-width:850px){.app-layout .login-quote-header{padding:1.2rem 1.5rem}.app-layout .login-quote-header .quote-text{font-size:1rem}.app-layout .login-quote-header .quote-author{font-size:.85rem}.app-layout .login-promo-panel{display:none}.app-layout .login-quote-mobile{background:#ffc1070f;border-left:3px solid var(--accent-yellow);border-radius:var(--border-radius-md);box-sizing:border-box;display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.25rem;padding:.75rem 1rem;width:100%}.app-layout .login-quote-mobile__icon{color:var(--accent-yellow);font-size:.75rem;margin-bottom:.1rem;opacity:.7}.app-layout .login-quote-mobile__text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-color-secondary);display:-webkit-box;font-size:.8rem;font-style:italic;line-height:1.4;overflow:hidden}.app-layout .login-quote-mobile__author{color:var(--text-color-secondary);font-size:.72rem;font-weight:500;opacity:.7}.app-layout .login-form-panel{align-items:center;box-sizing:border-box;flex-direction:column;height:100vh;justify-content:center;padding:2rem 1.5rem;width:100%}.app-layout .login-form-container{max-width:100%}.app-layout .login-form-container h1{font-size:1.8rem;margin-bottom:1rem;text-align:center}.app-layout .login-card{background-color:initial;border:none;box-shadow:none;padding:0}}.floating-widget{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:0 8px 32px #0003;cursor:move;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9998}.floating-widget .calculator-header,.floating-widget .quote-widget-header{align-items:center;background:var(--main-bg);border-bottom:1px solid var(--border-color);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;cursor:move;display:flex;justify-content:space-between;padding:15px 20px;-webkit-user-select:none;user-select:none}.floating-widget .calculator-header span,.floating-widget .quote-widget-header span{color:var(--text-color-primary);font-size:1rem;font-weight:600}.widget-close-btn{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:1rem;padding:4px 8px;transition:all .2s ease}.widget-close-btn:hover{background:var(--danger-red);color:#fff}.floating-widget{animation:fadeInScale .2s ease-out}@media (max-width:768px){.floating-widget{max-height:90vh;max-width:95vw;overflow:auto}}.calculator-widget{width:280px}.calculator-body{padding:15px}.calculator-history{background:var(--card-bg);border-radius:var(--border-radius-md);color:var(--text-color-secondary);font-size:.85rem;font-weight:400;margin-bottom:6px;min-height:22px;opacity:.8;padding:6px 12px;text-align:right}.calculator-display{align-items:center;background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);display:flex;font-size:1.6rem;font-weight:600;justify-content:flex-end;margin-bottom:15px;min-height:45px;overflow-x:auto;padding:12px 15px;text-align:right;word-break:break-all}.calculator-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.calc-btn{background:var(--main-bg);border:none;border-radius:var(--border-radius-md);box-shadow:0 2px 5px #0000000d;color:var(--text-color-primary);cursor:pointer;font-size:1.05rem;font-weight:600;padding:14px;transition:all .2s ease}.calc-btn:hover{background:var(--hover-bg);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.calc-btn:active{box-shadow:0 1px 3px #0000001a;transform:translateY(0)}.calc-btn.operator{background:var(--accent-blue);color:#fff}.calc-btn.operator:hover{background:var(--accent-blue-dark)}.calc-btn.clear{background:var(--danger-red);color:#fff}.calc-btn.clear:hover{background:#c0392b}.calc-btn.equals{background:var(--accent-green);color:#fff}.calc-btn.equals:hover{background:#145456}.calc-btn.special{background:var(--card-bg);border:1px solid var(--border-color);color:var(--accent-blue);font-weight:700}.calc-btn.special:hover{background:var(--hover-bg);color:var(--accent-blue-dark)}.compact-toggle-btn{margin-top:12px}.calculator-widget.calculator-compact{cursor:pointer;min-width:180px;transition:all .2s ease;width:auto}.calculator-widget.calculator-compact:hover{box-shadow:0 6px 20px #00000026;transform:scale(1.02)}.calculator-compact-content{align-items:center;background:var(--card-bg);border-radius:var(--border-radius-lg);display:flex;gap:15px;padding:12px 20px}.calculator-compact-display{color:var(--text-color-primary);flex:1 1;font-family:Courier New,monospace;font-size:1.6rem;font-weight:700;letter-spacing:2px}.calculator-compact-close{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:1rem;opacity:.6;padding:4px 8px;transition:all .2s ease}.calculator-compact-close:hover{background:var(--danger-red);color:#fff;opacity:1}.quote-widget{max-width:90vw;width:400px}.quote-widget-header{align-items:center;display:flex;justify-content:space-between}.quote-widget-actions{display:flex;gap:8px}.widget-refresh-btn{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:4px 8px;transition:all .2s ease}.widget-refresh-btn:hover{background:var(--hover-bg);color:var(--accent-blue)}.widget-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.quote-widget-body{min-height:150px;padding:30px 20px 20px}.quote-loading{color:var(--text-color-secondary);padding:40px 0}.quote-loading,.quote-widget-text{font-style:italic;text-align:center}.quote-widget-text{color:var(--text-color-primary);font-size:1.1rem;line-height:1.6;margin:0 0 20px}.quote-widget-author{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:20px}.author-separator{background:var(--accent-blue);border-radius:2px;height:2px;width:60px}.author-name{color:var(--text-color-primary);font-size:1rem}.author-profession{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.timer-widget{width:320px}.timer-body{padding:20px}.timer-mode-selector{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.mode-btn{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;flex:1 1;font-size:1.2rem;padding:12px;transition:all .2s ease}.mode-btn:hover{background:var(--hover-bg);color:var(--accent-blue)}.mode-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.timer-display{background:var(--main-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-color-primary);font-family:Courier New,monospace;font-size:3rem;font-weight:700;letter-spacing:4px;margin-bottom:20px;padding:30px 20px;text-align:center}.timer-display:focus{background:var(--hover-bg);border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f633}.timer-presets{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.preset-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px;transition:all .2s ease}.preset-btn:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;transform:translateY(-2px)}.timer-controls{display:flex;gap:10px;justify-content:center}.control-btn{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.9rem;font-weight:600;gap:4px;padding:12px 8px;transition:all .2s ease}.control-btn svg{font-size:1.2rem}.control-btn span{font-size:.75rem}.control-btn.start{background:var(--accent-green);color:#fff}.control-btn.start:hover{background:#145456;transform:translateY(-2px)}.control-btn.pause{background:var(--accent-blue);color:#fff}.control-btn.pause:hover{background:var(--accent-blue-dark);transform:translateY(-2px)}.control-btn.stop{background:var(--danger-red);color:#fff}.control-btn.stop:hover{background:#c0392b;transform:translateY(-2px)}.control-btn.reset{background:var(--main-bg);border:1px solid var(--border-color);color:var(--text-color-secondary)}.control-btn.reset:hover{background:var(--hover-bg);color:var(--text-color-primary);transform:translateY(-2px)}.compact-toggle-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;font-weight:600;margin-top:15px;padding:10px;transition:all .2s ease;width:100%}.compact-toggle-btn:hover{background:var(--main-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.timer-widget.timer-compact{cursor:pointer;min-width:200px;transition:all .2s ease;width:auto}.timer-widget.timer-compact:hover{box-shadow:0 6px 20px #00000026;transform:scale(1.02)}.timer-compact-content{align-items:center;background:var(--card-bg);border-radius:var(--border-radius-lg);display:flex;gap:15px;padding:12px 20px}.timer-compact-icon{align-items:center;color:var(--accent-blue);display:flex;font-size:1.5rem;justify-content:center}.timer-compact-time{color:var(--text-color-primary);flex:1 1;font-family:Courier New,monospace;font-size:1.8rem;font-weight:700;letter-spacing:2px}.timer-compact-close{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:1rem;opacity:.6;padding:4px 8px;transition:all .2s ease}.timer-compact-close:hover{background:var(--danger-red);color:#fff;opacity:1}@keyframes compactPulse{0%,to{opacity:1}50%{opacity:.7}}.timer-widget.timer-compact .timer-compact-icon{animation:compactPulse 2s ease-in-out infinite}.timer-input-preview{color:var(--accent-blue);font-family:monospace}.sleep-calculator-widget{max-width:90vw;width:500px}.sleep-calculator-header{align-items:center;background:var(--main-bg);border-bottom:1px solid var(--border-color);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;cursor:move;display:flex;justify-content:space-between;padding:15px 20px;-webkit-user-select:none;user-select:none}.sleep-calculator-header span{color:var(--text-color-primary);font-size:1rem;font-weight:600}.sleep-calculator-content{padding:20px}.sleep-calculator-tabs{display:flex;gap:10px;margin-bottom:20px}.sleep-tab{background:var(--main-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:12px 16px;transition:all .3s ease}.sleep-tab:hover{background:var(--hover-bg);border-color:var(--accent-blue)}.sleep-tab-active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.sleep-tab-active:hover{background:var(--accent-blue-dark);border-color:var(--accent-blue-dark)}.sleep-calculator-input-section{display:flex;justify-content:center;margin-bottom:20px}.sleep-time-select{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;font-size:1.5rem;font-weight:600;padding:12px 16px;text-align:center;transition:all .3s ease;width:150px}.sleep-time-select:focus,.sleep-time-select:hover{border-color:var(--accent-blue)}.sleep-time-select:focus{box-shadow:0 0 0 3px #fd7f2c1a;outline:none}.sleep-calculator-message{color:var(--text-color-secondary);font-size:.95rem;line-height:1.5;margin-bottom:20px;text-align:center}.sleep-calculator-results{display:flex;flex-direction:column;gap:12px}.sleep-result-item{align-items:center;background:var(--main-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;gap:16px;padding:16px;position:relative;transition:all .3s ease}.sleep-result-item:hover{border-color:var(--accent-blue);box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.sleep-result-recommended{background:var(--accent-blue-low-opacity);border-color:var(--accent-blue)}.sleep-result-time{color:var(--accent-blue);font-size:1.8rem;font-weight:700;min-width:100px;text-align:center}.sleep-result-info{color:var(--text-color-secondary);flex:1 1;font-size:.9rem;line-height:1.4}.sleep-result-badge{background:var(--accent-blue);border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;white-space:nowrap}@media (max-width:768px){.sleep-calculator-widget{width:95vw}.sleep-calculator-tabs{flex-direction:column}.sleep-tab{font-size:.9rem;padding:10px 12px}.sleep-time-select{font-size:1.3rem}.sleep-result-item{flex-direction:column;gap:8px;text-align:center}.sleep-result-time{font-size:1.5rem;min-width:auto}.sleep-result-badge{align-self:center}.sleep-result-item:hover{transform:translateX(0) scale(1.02)}}.calendar-widget{max-height:90vh;overflow-y:auto;width:340px}.calendar-widget-header{align-items:center;background:var(--main-bg);border-bottom:1px solid var(--border-color);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;cursor:move;display:flex;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.calendar-widget-header span{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:8px}.calendar-widget__info-bar{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);padding:12px 12px 8px}.calendar-widget__info-item{align-items:center;background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;flex-direction:column;justify-content:center;padding:8px 4px;transition:transform .2s ease}.calendar-widget__info-item:hover{transform:scale(1.05)}.calendar-widget__info-item--accent{background:linear-gradient(135deg,#fd7f2c26,#fd7f2c0d);border-color:#fd7f2c4d}.calendar-widget__info-value{color:var(--text-color-primary);font-size:1.1rem;font-weight:700;line-height:1.2}.calendar-widget__info-item--accent .calendar-widget__info-value{color:var(--accent-blue)}.calendar-widget__info-label{color:var(--text-color-secondary);font-size:.6rem;letter-spacing:.5px;margin-top:2px;text-align:center;text-transform:uppercase}.calendar-widget__progress{padding:4px 12px 8px}.calendar-widget__progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.calendar-widget__progress-header span{color:var(--text-color-secondary);font-size:.7rem}.calendar-widget__progress-pct{color:var(--accent-blue)!important;font-weight:700}.calendar-widget__progress-bar{background:var(--main-bg);border:1px solid var(--border-color);border-radius:3px;height:6px;overflow:hidden;width:100%}.calendar-widget__progress-fill{background:linear-gradient(90deg,var(--accent-blue),#fd7f2cb3);border-radius:3px;height:100%;transition:width .5s ease}.calendar-widget__mini-infos{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}.calendar-widget__mini-item{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);font-size:.72rem;padding:4px 8px;white-space:nowrap}.calendar-widget__mini-item strong{color:var(--text-color-primary)}.calendar-widget__nav{align-items:center;display:flex;justify-content:space-between;padding:4px 12px 8px}.calendar-widget__nav-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.75rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.calendar-widget__nav-btn:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.calendar-widget__nav-title{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:4px 12px;transition:all .2s ease}.calendar-widget__nav-title:hover{background:var(--hover-bg);color:var(--accent-blue)}.calendar-widget__grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);padding:0 12px 10px}.calendar-widget__day-header{color:var(--text-color-secondary);font-size:.65rem;font-weight:700;padding:4px 0;text-align:center;text-transform:uppercase}.calendar-widget__day{border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:default;font-size:.75rem;font-weight:500;padding:6px 2px;text-align:center;transition:all .15s ease}.calendar-widget__day:hover{background:var(--hover-bg)}.calendar-widget__day--other{color:var(--text-color-secondary);opacity:.4}.calendar-widget__day--weekend{color:var(--accent-blue);opacity:.7}.calendar-widget__day--today{background:var(--accent-blue);border-radius:50%;box-shadow:0 2px 8px #fd7f2c66;color:#fff!important;font-weight:700;opacity:1!important}.calendar-widget__clock{font-feature-settings:"tnum";background:var(--main-bg);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);border-top:1px solid var(--border-color);color:var(--text-color-primary);font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:2px;padding:8px 12px 12px;text-align:center}@media (max-width:768px){.calendar-widget{width:300px}.calendar-widget__info-bar{grid-template-columns:repeat(2,1fr)}}.floating-toolbar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:12px;padding:12px 8px;position:fixed;right:20px;transform:translateY(-50%);transition:box-shadow .2s ease;z-index:9999}.floating-toolbar.dragging{box-shadow:0 8px 32px #0000004d;cursor:grabbing}.toolbar-drag-handle{align-items:center;background:var(--main-bg);border-bottom:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:grab;display:flex;font-size:1rem;height:32px;justify-content:center;margin-bottom:4px;touch-action:none;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:48px}.toolbar-drag-handle:hover{background:var(--hover-bg);color:var(--accent-blue)}.toolbar-drag-handle:active{background:var(--accent-blue);color:#fff;cursor:grabbing}.toolbar-btn{align-items:center;background:var(--main-bg);border:none;border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.3rem;height:48px;justify-content:center;position:relative;transition:all .3s ease;width:48px}.toolbar-btn:hover{background:var(--hover-bg);color:var(--accent-blue);transform:scale(1.1)}.toolbar-btn.active{background:var(--accent-blue);box-shadow:0 0 15px #fd7f2c66;color:#fff}.toolbar-btn.active:hover{background:var(--accent-blue-dark)}.floating-toolbar-toggle.collapsed{align-items:center;background:var(--card-bg);border:none;border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:0 2px 12px #00000026;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;position:fixed;right:10px;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:40px;z-index:9999}.floating-toolbar-toggle.collapsed:hover{background:var(--accent-blue);box-shadow:0 4px 20px #fd7f2c66;color:#fff;transform:translateY(-50%) scale(1.1)}.toolbar-collapse-btn{align-items:center;background:var(--main-bg);border:none;border-bottom:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;margin-bottom:4px;transition:all .3s ease;width:48px}.toolbar-collapse-btn:hover{background:var(--hover-bg);color:var(--accent-blue)}.toolbar-collapse-btn:active{background:var(--accent-blue);color:#fff}@media (max-width:768px){.floating-toolbar{gap:8px;padding:8px 6px;right:10px}.toolbar-btn{font-size:1.1rem;height:40px;width:40px}.floating-toolbar-toggle.collapsed{font-size:1rem;height:36px;right:5px;width:36px}.toolbar-collapse-btn{font-size:.8rem;height:28px;width:40px}}.dashboard-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:.5rem}.dashboard-container .dashboard-header{animation:bentoFadeIn .4s ease-out both;border-bottom:1px solid var(--border-color);margin-bottom:.6rem;padding-bottom:.4rem}.dashboard-container .dashboard-header .header-content{align-items:center;display:flex;justify-content:space-between}.dashboard-container .dashboard-header .header-text h1{align-items:center;color:var(--text-color-primary);display:flex;font-size:1.05rem;font-weight:700;gap:.5rem;margin:0}.dashboard-container .dashboard-header .header-text h1 svg{color:var(--accent-blue);font-size:.85rem}.dashboard-container .dashboard-header .header-subtitle{color:var(--text-color-secondary);font-size:.68rem;font-weight:400;margin-top:.1rem}.dashboard-container .dashboard-header .header-date{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);display:flex;font-size:.68rem;font-weight:500;gap:.3rem;padding:.25rem .55rem}.dashboard-container .dashboard-header .header-date svg{color:var(--accent-blue)}.dashboard-container .dashboard-bento-grid{grid-column-gap:1rem;grid-row-gap:2rem;column-gap:1rem;display:grid;grid-template-columns:repeat(12,1fr);row-gap:2rem}.dashboard-container .bento-cell{animation:bentoFadeIn .4s ease-out both;animation-delay:0s;animation-delay:calc(var(--anim-order, 0)*.07s);min-height:0}.dashboard-container .bento-cell>div,.dashboard-container .bento-cell>section{height:100%}.dashboard-container .bento-cashflow{grid-column:span 8}.dashboard-container .bento-goal{grid-column:span 4}.dashboard-container .bento-tasks{grid-column:span 5}.dashboard-container .bento-daily-habits,.dashboard-container .bento-habit-chart{grid-column:span 7}.dashboard-container .bento-events{grid-column:span 5}@media (max-width:1024px){.dashboard-container .dashboard-bento-grid{grid-template-columns:repeat(2,1fr)}.dashboard-container .bento-cashflow,.dashboard-container .bento-daily-habits,.dashboard-container .bento-events,.dashboard-container .bento-goal,.dashboard-container .bento-habit-chart,.dashboard-container .bento-tasks{grid-column:span 1}}@media (max-width:768px){.dashboard-container{padding:.4rem}.dashboard-container .dashboard-header .header-content{align-items:flex-start;flex-direction:column;gap:.4rem}.dashboard-container .dashboard-header .header-date{justify-content:center;width:100%}.dashboard-container .dashboard-bento-grid{gap:.45rem;grid-template-columns:1fr}.dashboard-container .bento-cashflow,.dashboard-container .bento-daily-habits,.dashboard-container .bento-events,.dashboard-container .bento-goal,.dashboard-container .bento-habit-chart,.dashboard-container .bento-tasks{grid-column:span 1}}.dashboard-container .dashboard-cashflow{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:0;padding:.75rem;transition:box-shadow .3s ease}.dashboard-container .dashboard-cashflow:hover{box-shadow:var(--glass-shadow-hover)}.dashboard-container .dashboard-cashflow .cf-header{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:space-between}.dashboard-container .dashboard-cashflow h3{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0;width:100%}.dashboard-container .dashboard-cashflow .cf-totals{display:flex;gap:.6rem;justify-content:space-between;width:100%}.dashboard-container .dashboard-cashflow .cf-total{background:var(--hover-bg);border-radius:var(--border-radius-sm);display:flex;flex:1 1;flex-direction:column;padding:.4rem;text-align:center}.dashboard-container .dashboard-cashflow .cf-total .label{color:var(--text-color-secondary);font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.dashboard-container .dashboard-cashflow .cf-total .value{color:var(--text-color-primary);font-size:.95rem;font-weight:700;margin-top:.2rem}.dashboard-container .dashboard-cashflow .cf-income .value{color:var(--success-green)}.dashboard-container .dashboard-cashflow .cf-expense .value,.dashboard-container .dashboard-cashflow .cf-net.negative .value{color:var(--danger-red)}.dashboard-container .dashboard-cashflow .cf-net.positive .value{color:var(--accent-blue)}.dashboard-container .dashboard-cashflow .cf-graph{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:160px;padding:.3rem 0}.dashboard-container .dashboard-cashflow .cf-loading,.dashboard-container .dashboard-cashflow .chart-empty{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.85rem;justify-content:center;min-height:160px}.custom-tooltip{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:0 2px 8px #00000026;padding:.6rem}.custom-tooltip .label{color:var(--text-color-primary);font-size:.8rem;font-weight:600;margin-bottom:.4rem}.custom-tooltip p{color:var(--text-color-secondary);font-size:.75rem;margin:0}.dashboard-cashflow .recharts-wrapper{font-family:Inter,sans-serif}@media (max-width:768px){.dashboard-container .dashboard-cashflow{min-height:0;padding:.6rem}.dashboard-container .dashboard-cashflow h3{font-size:.85rem}.dashboard-container .dashboard-cashflow .cf-totals{gap:.4rem}.dashboard-container .dashboard-cashflow .cf-total{padding:.3rem}.dashboard-container .dashboard-cashflow .cf-total .value{font-size:.85rem}}.habit-tracker-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:0;padding:.75rem;transition:box-shadow .3s ease}.habit-tracker-container:hover{box-shadow:var(--glass-shadow-hover)}.habit-tracker-header{margin-bottom:.3rem}.habit-tracker-header h3{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0}.habit-tracker-header p{color:var(--text-color-secondary);font-size:.75rem;margin:.2rem 0 0}.habit-tracker-container.loading-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:250px}.habit-tracker-container.loading-state svg{color:var(--accent-blue)}.habit-tracker-container.empty-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;min-height:250px}.habit-tracker-container .recharts-wrapper{flex:1 1;font-family:Inter,sans-serif}@media (max-width:768px){.habit-tracker-container{min-height:0;padding:.6rem}.habit-tracker-header h3{font-size:.85rem}}.random-goal-widget{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:0;overflow:hidden;padding:.75rem;transition:box-shadow .3s ease}.random-goal-widget:hover{box-shadow:var(--glass-shadow-hover)}.random-goal-widget .goal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:.3rem;padding-bottom:.4rem}.random-goal-widget .goal-header h3{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0}.random-goal-widget .goal-header h3 svg{color:var(--accent-blue)}.random-goal-widget .refresh-btn{background:#0000;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;padding:.4rem .5rem;transition:all .2s ease}.random-goal-widget .refresh-btn:hover{background:var(--hover-bg);color:var(--accent-blue);transform:rotate(180deg)}.random-goal-widget.empty,.random-goal-widget.loading{align-items:center;justify-content:center}.random-goal-widget .goal-empty-state,.random-goal-widget .goal-loading{padding:2rem .5rem;text-align:center}.random-goal-widget .goal-loading svg{color:var(--accent-blue);margin-bottom:.5rem}.random-goal-widget .goal-loading p{color:var(--text-color-secondary);font-size:.8rem}.random-goal-widget .goal-empty-state .empty-icon{color:var(--text-color-secondary);font-size:2rem;margin-bottom:.5rem}.random-goal-widget .goal-empty-state p{color:var(--text-color-secondary);font-size:.9rem;font-weight:600;margin-bottom:.3rem}.random-goal-widget .goal-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.75rem}.random-goal-widget .goal-content{display:flex;flex:1 1;flex-direction:column;gap:.3rem;overflow-y:auto}.random-goal-widget .goal-category{align-self:flex-start;border-radius:12px;box-shadow:0 1px 2px #0000001a;color:#fff;display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.3px;padding:.2rem .5rem;text-transform:uppercase}.random-goal-widget .goal-title{color:var(--text-color-primary);font-size:.9rem;font-weight:700;line-height:1.2;margin:0}.random-goal-widget .goal-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:var(--text-color-secondary);display:-webkit-box;font-size:.65rem;line-height:1.3;margin:0;overflow:hidden}.random-goal-widget .goal-progress-section{background:var(--hover-bg);border-radius:6px;margin-top:auto;padding:.4rem}.random-goal-widget .goal-stats{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:.4rem}.random-goal-widget .stat-item{display:flex;flex-direction:column;gap:.15rem}.random-goal-widget .stat-label{color:var(--text-color-secondary);font-size:.6rem;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.random-goal-widget .stat-value{color:var(--text-color-primary);font-size:.85rem;font-weight:700}.random-goal-widget .progress-bar-container{align-items:center;display:flex;gap:.4rem;margin-bottom:.4rem}.random-goal-widget .progress-bar-wrapper{background:var(--border-color);border-radius:6px;flex:1 1;height:6px;overflow:hidden}.random-goal-widget .progress-bar-fill{background:var(--accent-blue);border-radius:6px;height:100%;transition:width .6s ease}.random-goal-widget .progress-percent{color:var(--text-color-primary);font-size:.75rem;font-weight:700;min-width:35px;text-align:right}.random-goal-widget .goal-deadline{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.65rem;gap:.3rem}.random-goal-widget .deadline-label{font-weight:600}.random-goal-widget .deadline-value{font-weight:400}.random-goal-widget .goal-status{border-radius:4px;font-size:.7rem;font-weight:600;margin-top:.3rem;padding:.35rem;text-align:center}.random-goal-widget .goal-status.status-in_progress{background:var(--status-info-bg);color:var(--status-info-text)}.random-goal-widget .goal-status.status-completed{background:var(--status-success-bg);color:var(--status-success-text)}.random-goal-widget .goal-status.status-on_hold{background:var(--status-pending-bg);color:var(--status-pending-text)}@media (max-width:768px){.random-goal-widget{padding:.75rem}.random-goal-widget .goal-title{font-size:1rem}.random-goal-widget .goal-stats{gap:.5rem;grid-template-columns:1fr}}.daily-habits-widget{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:.75rem;height:100%;min-height:0;padding:.75rem;transition:box-shadow .3s ease}.daily-habits-widget:hover{box-shadow:var(--glass-shadow-hover)}.daily-habits-widget .widget-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:.5rem}.daily-habits-widget .widget-header h3{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0}.daily-habits-widget .widget-header h3 svg{color:var(--accent-blue)}.daily-habits-widget .habits-stats{display:flex;gap:.5rem}.daily-habits-widget .stat{border-radius:12px;font-size:.7rem;font-weight:600;padding:.25rem .5rem}.daily-habits-widget .stat.pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.daily-habits-widget .stat.completed{background:var(--status-success-bg);color:var(--status-success-text)}.daily-habits-widget.loading{align-items:center;justify-content:center}.daily-habits-widget .widget-loading{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;gap:.5rem}.daily-habits-widget .widget-loading svg{color:var(--accent-blue)}.daily-habits-widget .habits-list{display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow-y:auto;padding-right:.25rem}.daily-habits-widget .habits-list::-webkit-scrollbar{width:6px}.daily-habits-widget .habits-list::-webkit-scrollbar-track{background:var(--hover-bg);border-radius:3px}.daily-habits-widget .habits-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.daily-habits-widget .habits-list::-webkit-scrollbar-thumb:hover{background:var(--text-color-secondary)}.daily-habits-widget .habit-item{align-items:center;background:var(--hover-bg);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;gap:.6rem;padding:.6rem;transition:all .2s ease}.daily-habits-widget .habit-item:hover{background:var(--border-color);transform:translateX(4px)}.daily-habits-widget .habit-item.completed{opacity:.7}.daily-habits-widget .habit-checkbox{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.2rem;padding:0;transition:all .2s ease}.daily-habits-widget .habit-checkbox:hover{color:var(--accent-blue);transform:scale(1.1)}.daily-habits-widget .habit-checkbox.checked{color:var(--success-green)}.daily-habits-widget .habit-info{flex:1 1;min-width:0}.daily-habits-widget .habit-name{color:var(--text-color-primary);font-size:.85rem;font-weight:500;margin:0}.daily-habits-widget .habit-item.completed .habit-name{text-decoration:line-through}.daily-habits-widget .habit-description{color:var(--text-color-secondary);font-size:.7rem;line-height:1.3;margin-top:.2rem}.daily-habits-widget .habit-category{border-radius:10px;color:#fff;font-size:.65rem;font-weight:600;padding:.2rem .5rem;white-space:nowrap}.daily-habits-widget .empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:2rem 1rem;text-align:center}.daily-habits-widget .empty-state .success-icon{color:var(--success-green);font-size:3rem;margin-bottom:.75rem}.daily-habits-widget .empty-state p{color:var(--text-color-primary);font-size:.9rem;font-weight:500;margin:0 0 .4rem}.daily-habits-widget .empty-state .congrats{color:var(--text-color-secondary);font-size:.8rem}.daily-habits-widget .completed-section{border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.daily-habits-widget .completed-section summary{align-items:center;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.4rem;transition:background .2s ease}.daily-habits-widget .completed-section summary:hover{background:var(--hover-bg)}.daily-habits-widget .completed-section summary svg{color:var(--success-green)}.daily-habits-widget .completed-section[open] summary{margin-bottom:.5rem}@media (max-width:768px){.daily-habits-widget{min-height:0;padding:.6rem}.daily-habits-widget .widget-header h3{font-size:.85rem}.daily-habits-widget .habits-list{max-height:280px}}.task-overview-widget{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:.6rem;height:100%;padding:.75rem;transition:box-shadow .3s ease}.task-overview-widget:hover{box-shadow:var(--glass-shadow-hover)}.task-overview-widget .tow-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:.4rem}.task-overview-widget .tow-header h3{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0}.task-overview-widget .tow-header h3 svg{color:var(--accent-blue);font-size:.85rem}.task-overview-widget .tow-count{background:#fd7f2c1f;border-radius:12px;color:var(--accent-blue);font-size:.7rem;font-weight:600;padding:.2rem .5rem}.task-overview-widget .tow-loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.5rem;justify-content:center;padding:1.5rem 0}.task-overview-widget .tow-loading svg{color:var(--accent-blue)}.task-overview-widget .tow-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.4rem;justify-content:center;padding:1.5rem 0}.task-overview-widget .tow-empty-icon{color:var(--border-color);font-size:1.6rem}.task-overview-widget .tow-empty p{color:var(--text-color-secondary);font-size:.8rem;margin:0}.task-overview-widget .tow-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;max-height:350px;overflow-y:auto}.task-overview-widget .tow-body::-webkit-scrollbar{width:4px}.task-overview-widget .tow-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.task-overview-widget .tow-group-label{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.72rem;font-weight:600;gap:.4rem;letter-spacing:.4px;margin-bottom:.35rem;text-transform:uppercase}.task-overview-widget .tow-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.task-overview-widget .tow-dot.today{background-color:var(--accent-blue)}.task-overview-widget .tow-dot.tomorrow{background-color:var(--accent-green)}.task-overview-widget .tow-group-count{background:var(--hover-bg);border-radius:8px;color:var(--text-color-secondary);font-size:.65rem;font-weight:700;margin-left:auto;padding:.1rem .35rem}.task-overview-widget .tow-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.task-overview-widget .tow-item{align-items:center;background:var(--hover-bg);border-radius:var(--border-radius-sm);display:flex;gap:.5rem;justify-content:space-between;padding:.45rem .5rem;transition:transform .15s ease,background .15s ease}.task-overview-widget .tow-item:hover{background:var(--border-color);transform:translateX(3px)}.task-overview-widget .tow-item-left{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.task-overview-widget .tow-urgency-bar{border-radius:2px;flex-shrink:0;height:28px;width:3px}.task-overview-widget .tow-item-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.task-overview-widget .tow-item-title{color:var(--text-color-primary);font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-overview-widget .tow-item-time{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.65rem;gap:.25rem}.task-overview-widget .tow-item-time svg{font-size:.55rem}.task-overview-widget .tow-time-arrow{font-size:.5rem!important;opacity:.5}.task-overview-widget .tow-category{border-radius:8px;color:#fff;flex-shrink:0;font-size:.6rem;font-weight:600;padding:.15rem .4rem;white-space:nowrap}@media (max-width:768px){.task-overview-widget{padding:.6rem}.task-overview-widget .tow-header h3{font-size:.85rem}.task-overview-widget .tow-body{max-height:280px}}.month-events-widget{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:.6rem;height:100%;padding:.75rem;transition:box-shadow .3s ease}.month-events-widget:hover{box-shadow:var(--glass-shadow-hover)}.month-events-widget .mew-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:.4rem}.month-events-widget .mew-header h3{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:.4rem;margin:0}.month-events-widget .mew-header h3 svg{color:var(--accent-blue);font-size:.85rem}.month-events-widget .mew-month-label{background:var(--hover-bg);border-radius:8px;color:var(--text-color-secondary);font-size:.7rem;font-weight:600;padding:.2rem .5rem;text-transform:capitalize}.month-events-widget .mew-loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.5rem;justify-content:center;padding:2rem 0}.month-events-widget .mew-loading svg{color:var(--accent-blue)}.month-events-widget .mew-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem 1rem}.month-events-widget .mew-empty-icon{color:var(--border-color);font-size:1.8rem}.month-events-widget .mew-empty p{color:var(--text-color-secondary);font-size:.8rem;margin:0}.month-events-widget .mew-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;max-height:380px;overflow-y:auto;padding-right:.15rem}.month-events-widget .mew-body::-webkit-scrollbar{width:4px}.month-events-widget .mew-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.month-events-widget .mew-day-group{align-items:flex-start;display:flex;gap:.6rem}.month-events-widget .mew-day-group.is-today .mew-day-number{background:var(--accent-blue);color:#fff}.month-events-widget .mew-day-label{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.1rem;min-width:38px;padding-top:.25rem}.month-events-widget .mew-day-number{align-items:center;background:var(--hover-bg);border-radius:50%;color:var(--text-color-primary);display:flex;font-size:.85rem;font-weight:700;height:30px;justify-content:center;transition:background .2s ease;width:30px}.month-events-widget .mew-day-name{color:var(--text-color-secondary);font-size:.6rem;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.month-events-widget .mew-today-badge{color:var(--accent-blue);font-size:.5rem;font-weight:700;letter-spacing:.3px;margin-top:.1rem;text-transform:uppercase}.month-events-widget .mew-day-events{display:flex;flex:1 1;flex-direction:column;gap:.3rem;min-width:0}.month-events-widget .mew-event-item{align-items:center;background:var(--hover-bg);border-radius:var(--border-radius-sm);display:flex;gap:.45rem;padding:.4rem .5rem;position:relative;transition:transform .15s ease,background .15s ease}.month-events-widget .mew-event-item:hover{background:var(--border-color);transform:translateX(2px)}.month-events-widget .mew-event-indicator{border-radius:2px;flex-shrink:0;height:22px;width:3px}.month-events-widget .mew-event-icon{flex-shrink:0;font-size:.7rem;opacity:.8}.month-events-widget .mew-event-content{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.month-events-widget .mew-event-title{color:var(--text-color-primary);font-size:.78rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-events-widget .mew-event-time{color:var(--text-color-secondary);font-size:.6rem}.month-events-widget .mew-event-badge{border-radius:6px;flex-shrink:0;font-size:.55rem;font-weight:600;padding:.12rem .35rem;white-space:nowrap}@media (max-width:768px){.month-events-widget{padding:.6rem}.month-events-widget .mew-header h3{font-size:.85rem}.month-events-widget .mew-body{max-height:300px}.month-events-widget .mew-day-label{min-width:32px}}.notes-header-container{margin-bottom:2rem}.notes-header-section{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.notes-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:var(--text-color-primary);font-size:2rem;font-weight:800;margin:0 0 .5rem}.notes-header-left p{color:var(--text-color-secondary);font-size:1rem;margin:0}.notes-header-actions{align-items:center;display:flex;gap:1rem}.btn-header{border-radius:8px}.notes-toolbar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;gap:1.5rem;justify-content:space-between;padding:1rem 1.5rem}.notes-toolbar,.toolbar-left{align-items:center;display:flex;flex-wrap:wrap}.toolbar-left{gap:1rem}.toolbar-right{flex:1 1;max-width:400px;min-width:250px}.filter-item{align-items:center;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.filter-item:hover{border-color:#f59e0b}.filter-icon{color:#f59e0b;flex-shrink:0;font-size:.95rem}.filter-select{background:#0000;border:none;color:var(--text-color-primary);cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;outline:none;padding:0}.filter-select option{background:var(--card-bg);color:var(--text-color-primary)}.btn-icon-toolbar{align-items:center;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.btn-icon-toolbar:hover{background:linear-gradient(135deg,#f59e0b1a,#f973161a);border-color:#f59e0b;color:#f59e0b;transform:scale(1.05)}@media (max-width:1024px){.toolbar-right{max-width:100%;min-width:200px}}@media (max-width:768px){.notes-header-section{gap:1rem}.notes-header-left h1{font-size:1.75rem}.notes-header-left p{font-size:.9rem}.btn-header span{display:none}.btn-header{height:44px;justify-content:center;padding:.75rem;width:44px}.notes-toolbar{gap:1rem;padding:1rem}.notes-toolbar,.toolbar-left{align-items:stretch;flex-direction:column}.toolbar-left{gap:.75rem}.toolbar-right{max-width:100%;width:100%}.filter-item{width:-webkit-fill-available}.filter-select{flex:1 1;min-width:0}.btn-icon-toolbar{height:44px;width:100%}}@media (max-width:480px){.notes-header-left h1{font-size:1.5rem}.notes-header-left p{font-size:.85rem}.notes-toolbar{padding:.875rem}}.note-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex-direction:column;min-height:300px;overflow:hidden;padding:var(--spacing-md);position:relative;transition:box-shadow .2s,transform .2s}.note-card:hover{box-shadow:0 4px 10px #0000000d;transform:translateY(-2px)}.note-card .card-label{align-items:center;border-radius:var(--border-radius-sm);color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;gap:5px;margin-bottom:var(--spacing-sm);max-width:-webkit-fit-content;max-width:fit-content;padding:3px 8px;text-transform:uppercase}.note-card .card-title{color:var(--heading-color);font-size:1.1rem;font-weight:700;line-height:1.3;margin:0 0 var(--spacing-sm) 0}.note-card .card-content{color:var(--text-color-secondary);flex-grow:1;font-size:.9rem;line-height:1.6;margin-bottom:var(--spacing-md);max-height:90%;overflow:hidden}.note-card .card-content p{margin:.5em 0}.note-card .card-content ol,.note-card .card-content ul{margin:.5em 0;padding-left:1.5em}.note-card .card-content li{margin:.25em 0}.note-card .card-content strong{color:var(--text-color-primary);font-weight:700}.note-card .card-content em{font-style:italic}.note-card .card-content h1,.note-card .card-content h2,.note-card .card-content h3,.note-card .card-content h4,.note-card .card-content h5,.note-card .card-content h6{color:var(--heading-color);font-weight:700;margin:.5em 0 .3em}.note-card .card-content br{content:"";display:block;margin:.25em 0}.note-card .card-footer{border-top:1px dashed var(--border-color);color:var(--text-color-secondary);display:flex;font-size:.75rem;justify-content:space-between;padding-top:var(--spacing-sm)}.note-card .card-metadata{align-items:center;display:flex;gap:5px}.notes-list-area{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.notes-list-area .error-state,.notes-list-area .loading-state,.notes-list-area .placeholder-text{color:var(--text-color-secondary);font-style:italic;grid-column:1/-1;padding:var(--spacing-xl);text-align:center}.tiny-editor-wrapper{display:flex;flex-direction:column;width:100%}.tiny-editor-wrapper .tox-tinymce{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.tiny-editor-wrapper .tox-toolbar{background:var(--card-bg)!important;border-bottom:1px solid var(--border-color)!important}.tiny-editor-wrapper .tox-editor-header{border-bottom:1px solid var(--border-color)}.tox-tinymce-aux{z-index:9999!important}.tiny-editor-wrapper .tox-statusbar{display:none!important}.note-modal-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.note-modal-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;padding:var(--spacing-md);position:relative;width:90%}.tox.tox-tinymce{height:100%!important;min-height:300px!important}@media (max-width:768px){.note-modal-content{border-radius:0;height:100%;max-height:100vh;padding:var(--spacing-sm);width:100%}.tox.tox-tinymce{min-height:250px!important}.note-modal-content .modal-footer{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.note-modal-content .footer-actions{justify-content:space-between;width:100%}.note-modal-content .save-btn{padding:.75rem;width:100%}}.note-modal-content form{display:flex;flex:1 1;flex-direction:column;min-height:0}.note-modal-content .modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:var(--spacing-md)}.note-modal-content .note-title-input{background:#0000;border:none;border-bottom:1px solid #0000;color:var(--heading-color);flex-grow:1;font-size:1.25rem;font-weight:700;outline:none;padding:0;transition:border-color .2s}.note-modal-content .note-title-input:focus{border-bottom:1px solid var(--border-color)}.note-modal-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;margin-left:var(--spacing-md);transition:color .2s}.note-modal-content .close-btn:hover{color:var(--danger-red)}.note-modal-content .note-content-textarea{background:#0000;border:none;color:var(--text-color-primary);font-size:1rem;margin-bottom:var(--spacing-md);min-height:150px;outline:none;padding:0;resize:none;width:100%}.note-modal-content .tiny-editor-wrapper{display:flex;flex:1 1;flex-direction:column;margin:var(--spacing-md) 0;min-height:0}.note-modal-content .tiny-editor-wrapper .tox-tinymce{flex:1 1;height:100%!important}.note-modal-content .modal-footer{align-items:flex-end;display:flex;flex-shrink:0;justify-content:space-between;padding-top:var(--spacing-sm)}.note-modal-content .footer-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.note-modal-content .label-select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;font-size:.9rem;margin-right:var(--spacing-sm);padding:.5rem .75rem}.note-modal-content .footer-actions button{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:.5rem;transition:background-color .2s,color .2s}.note-modal-content .footer-actions button:hover{background-color:var(--hover-bg);color:var(--accent-blue)}.note-modal-content .save-btn{background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1.5rem;transition:background-color .2s}.note-modal-content .save-btn:disabled{background-color:var(--text-color-secondary);cursor:not-allowed;opacity:.6}.note-view-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.note-view-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 15px 40px #0000004d;display:flex;flex-direction:column;height:80vh;max-width:700px;overflow-y:auto;padding:var(--spacing-lg);position:relative;width:90%}@media (max-width:768px){.note-view-content{border-radius:0;height:100%;max-height:100vh;padding:var(--spacing-md);width:100%}.note-view-content .view-title-input{font-size:1.4rem}.note-view-content .view-modal-footer{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.note-view-content .utility-actions{display:flex;justify-content:space-around;width:100%}}.note-view-content .view-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.note-view-content .view-title-input{background:#0000;border:none;color:var(--heading-color);flex-grow:1;font-size:1.75rem;font-weight:700;line-height:1.2;margin:0;outline:none;padding:0;transition:border-bottom-color .2s}.note-view-content .view-title-input:focus{border-bottom:2px solid var(--accent-blue)}.note-view-content .unsaved-indicator{color:var(--danger-red);font-size:.8rem;margin-right:var(--spacing-md)}.note-view-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;flex-shrink:0;font-size:1.3rem;transition:color .2s}.note-view-content .close-btn:hover{color:var(--danger-red)}.note-view-content .view-content-area{display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow:hidden;padding-right:var(--spacing-sm)}.note-view-content .view-metadata{border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.note-view-content .view-metadata .label-select{-webkit-appearance:none;appearance:none;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;font-size:.85rem;padding:.25rem .5rem}.note-view-content .view-date{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.85rem}.note-view-content .view-content-textarea{background:#0000;border:none;box-sizing:border-box;color:var(--text-color-primary);font-size:1rem;height:90%;line-height:1.6;outline:none;padding:var(--spacing-sm) 0;resize:none;width:100%}.note-view-content .view-content-area .tiny-editor-wrapper{flex:1 1;margin:0;min-height:0}.note-view-content .view-modal-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.note-view-content .utility-actions button{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:1rem;margin-right:var(--spacing-xs);padding:.5rem;transition:color .2s}.note-view-content .utility-actions button:hover{color:var(--accent-blue)}.note-view-content .utility-actions .export-btn:hover{color:#10b981}.note-view-content .utility-actions .delete-btn:hover{color:var(--danger-red)}.note-view-content .autosave-info{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.note-tts-bar{align-items:center;background-color:#0000000d;background-color:var(--input-bg,#0000000d);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;flex-shrink:0;gap:.5rem;margin-bottom:var(--spacing-sm);padding:.5rem .75rem;transition:background-color .2s}.note-tts-bar--active{background-color:#3b82f614;background-color:rgba(var(--accent-blue-rgb,59,130,246),.08);border-color:var(--accent-blue)}.note-tts-play-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:.4rem;padding:.25rem .5rem;transition:color .2s}.note-tts-btn,.note-tts-play-btn:hover{color:var(--accent-blue)}.note-tts-btn{background:none;border:none;border-radius:var(--border-radius-sm);cursor:pointer;flex-shrink:0;font-size:.95rem;padding:.25rem .4rem;transition:opacity .2s}.note-tts-btn:hover{opacity:.75}.note-tts-progress{background-color:var(--border-color);border-radius:2px;flex:1 1;height:4px;min-width:60px;overflow:hidden}.note-tts-progress-fill{background-color:var(--accent-blue);border-radius:2px;height:100%;transition:width .3s ease}.note-tts-progress-text{color:var(--text-color-secondary);flex-shrink:0;font-size:.75rem;min-width:2.5rem;text-align:right}.label-management-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.label-management-content{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:70vh;max-width:550px;padding:var(--spacing-lg);position:relative;width:90%}.label-management-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding-bottom:var(--spacing-md)}.label-management-content h2{color:var(--heading-color);font-size:1.5rem;margin:0}.label-management-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.label-management-content .close-btn:hover{color:var(--danger-red)}.label-management-content .add-label-section{flex-shrink:0;padding:var(--spacing-lg) 0}.label-management-content .add-label-section form{align-items:center;background-color:var(--hover-bg);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.label-management-content .add-icon{color:var(--accent-blue);margin-left:var(--spacing-xs)}.label-management-content .new-label-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);flex-grow:1;font-size:.9rem;outline:none;padding:.5rem}.label-management-content .color-picker{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:35px;padding:0;width:35px}.label-management-content .btn-add{background-color:var(--accent-green);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1rem;transition:opacity .2s}.label-management-content .btn-add:disabled{cursor:not-allowed;opacity:.6}.label-management-content .label-list-section{flex-grow:1;overflow-y:auto}.label-management-content .label-list-section h3{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.8rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-md);padding-bottom:var(--spacing-xs);text-transform:uppercase}.label-management-content .label-row{align-items:center;border-bottom:1px dashed var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.label-management-content .label-display-area{align-items:center;display:flex;flex-grow:1;gap:var(--spacing-sm)}.label-management-content .label-color-preview{border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;height:15px;width:15px}.label-management-content .label-input-edit,.label-management-content .label-name-view{color:var(--text-color-primary);font-size:1rem}.label-management-content .label-input-edit{background-color:var(--card-bg);border:1px solid var(--accent-blue);border-radius:var(--border-radius-sm);flex-grow:1;outline:none;padding:.2rem .5rem}.label-management-content .label-actions button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:.4rem;transition:color .2s}.label-management-content .label-actions button:hover{color:var(--accent-blue)}.label-management-content .label-actions button:last-child:hover{color:var(--danger-red)}.label-management-content .no-labels{color:var(--text-color-secondary);font-style:italic;padding:var(--spacing-lg);text-align:center}.notes-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:2rem}.notes-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.notes-page-container .back-button:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.notes-page-container .back-button svg{font-size:1rem}.tasks-header-container{animation:headerSlideIn .3s ease-out;margin-bottom:2rem}@keyframes headerSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tasks-header-container .tasks-header-section{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.tasks-header-container .tasks-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-hover) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-color-primary);font-size:2rem;font-weight:800;margin:0 0 .5rem}.tasks-header-container .tasks-header-left p{color:var(--text-color-secondary);font-size:1rem;margin:0}.tasks-header-container .tasks-header-actions{align-items:center;display:flex;gap:1rem}.tasks-header-container .btn-header{align-items:center;border:none;border-radius:5px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.tasks-header-container .btn-header svg{font-size:1rem}.tasks-header-container .btn-add{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-hover) 100%);box-shadow:var(--glass-shadow);color:var(--white)}.tasks-header-container .btn-add:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-2px)}.tasks-header-container .btn-header:active{transform:translateY(0)}.tasks-header-container .tasks-toolbar{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:1rem 1.5rem}.tasks-header-container .toolbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.tasks-header-container .toolbar-right{flex:1 1;max-width:400px;min-width:250px}.tasks-header-container .filter-item{align-items:center;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.tasks-header-container .filter-item:hover{border-color:var(--accent-blue)}.tasks-header-container .filter-icon{color:var(--accent-blue);flex-shrink:0;font-size:.95rem}.tasks-header-container .filter-select{background:#0000;border:none;color:var(--text-color-primary);cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;outline:none;padding:0}.tasks-header-container .filter-select option{background:var(--card-bg);color:var(--text-color-primary)}.tasks-header-container .btn-icon-toolbar{align-items:center;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.tasks-header-container .btn-icon-toolbar:hover{background:var(--hover-bgs);border-color:var(--accent-blue);color:var(--accent-blue);transform:scale(1.05)}.tasks-header-container .search-bar{position:relative;width:100%}.tasks-header-container .search-icon{color:var(--text-color-secondary);font-size:.95rem;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tasks-header-container .search-bar input[type=text]{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);font-size:.9rem;padding:.75rem 3rem;transition:all .2s ease;width:-webkit-fill-available}.tasks-header-container .search-bar input[type=text]:focus{background:var(--card-bg);border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--hover-bgs);outline:none}.tasks-header-container .search-bar input[type=text]::placeholder{color:var(--text-color-secondary)}.tasks-header-container .clear-search-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.95rem;height:24px;justify-content:center;padding:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.tasks-header-container .clear-search-btn:hover{background:var(--danger-red-low-opacity);color:var(--danger-red)}@media (max-width:1024px){.tasks-header-container .toolbar-right{max-width:100%;min-width:200px}}@media (max-width:768px){.tasks-header-container .tasks-header-section{gap:1rem}.tasks-header-container .tasks-header-left h1{font-size:1.75rem}.tasks-header-container .tasks-header-left p{font-size:.9rem}.tasks-header-container .btn-header span{display:none}.tasks-header-container .btn-header{height:44px;justify-content:center;padding:.75rem;width:44px}.tasks-header-container .tasks-toolbar{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.tasks-header-container .toolbar-left{align-items:stretch;flex-direction:column;gap:.75rem}.tasks-header-container .toolbar-right{max-width:100%;width:100%}.tasks-header-container .filter-item{width:-webkit-fill-available}.tasks-header-container .filter-select{flex:1 1;min-width:0}.tasks-header-container .btn-icon-toolbar{height:44px;width:100%}}@media (max-width:480px){.tasks-header-container .tasks-header-left h1{font-size:1.5rem}.tasks-header-container .tasks-header-left p{font-size:.85rem}.tasks-header-container .tasks-toolbar{padding:.875rem}}.task-options-menu{animation:menuSlideIn .15s ease-out;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:var(--glass-shadow-hover);min-width:200px;padding:var(--spacing-xs) 0;position:absolute;right:0;top:100%;z-index:100}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.task-options-menu ul{list-style:none;margin:0;padding:0}.task-options-menu ul li{align-items:center;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.9rem;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background-color .2s}.task-options-menu ul li:hover{background-color:var(--hover-bg)}.task-options-menu .menu-divider{background-color:var(--border-color);height:1px;margin:var(--spacing-xs) 0}.task-options-menu .delete-option{color:var(--danger-red)}.task-options-menu .delete-option:hover{background-color:var(--danger-red);color:var(--white)}.task-row{align-items:center;animation:taskRowAppear .2s ease-out both;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;justify-content:space-between;padding:.6rem .9rem;position:relative;transition:all .2s ease}@keyframes taskRowAppear{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.task-row:hover{border-color:var(--hover-bgs);box-shadow:var(--glass-shadow);transform:translateX(4px);z-index:5}.task-row.menu-open{z-index:100}.task-row.completed{opacity:.7}.task-row .task-main-content{align-items:center;display:flex;flex-grow:1;gap:.6rem}.task-row .task-checkbox{cursor:pointer;flex-shrink:0;height:18px;width:18px}.task-row .task-title{color:var(--text-color-primary);cursor:pointer;flex-grow:1;font-size:.95rem;font-weight:500}.task-row.completed .task-title{text-decoration:line-through}.task-row .task-category-tag{background-color:var(--card-bg);border:1px solid;border-radius:5px;flex-shrink:0;font-size:.8rem;opacity:.8;padding:2px 6px}.task-row .task-time-slot{align-items:center;color:var(--text-color-secondary);display:flex;flex-shrink:0;font-size:.85rem;gap:.4rem;justify-content:flex-end;margin-left:.8rem;min-width:90px}.task-row .task-options-wrapper{flex-shrink:0;position:relative}.task-row .task-options-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;flex-shrink:0;font-size:.9rem;padding:.3rem;transition:color .2s}.task-row .task-options-btn:hover{color:var(--accent-blue)}@media (max-width:768px){.task-row{align-items:stretch;flex-direction:column;gap:.75rem;padding:1rem}.task-row .task-main-content{align-items:flex-start;flex-direction:row;gap:.75rem}.task-row .task-checkbox{margin-top:2px}.task-row .task-title{font-size:.95rem;line-height:1.4;text-align:left}.task-row .task-category-tag{font-size:.75rem;padding:3px 8px;white-space:nowrap}.task-row .task-time-slot{font-size:.85rem;justify-content:flex-start;margin-left:0;min-width:auto;padding-left:28px}.task-row .task-options-wrapper{position:absolute;right:1rem;top:1rem}}@media (max-width:480px){.task-row{padding:.875rem}.task-row .task-title{font-size:.9rem}.task-row .task-category-tag{font-size:.7rem;padding:2px 6px}.task-row .task-time-slot{font-size:.8rem}}.task-row-container{display:flex;flex-direction:column}.task-row-container.is-subtask{width:100%}.task-expand-btn{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;margin-right:.5rem;padding:2px;transition:color .2s}.task-expand-btn:hover{color:var(--accent-blue)}.task-subtasks-list{border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:.25rem;margin-left:1.5rem;margin-top:.25rem;padding-left:.5rem}.task-row-container.is-subtask .task-row{background-color:initial;border:none;box-shadow:none;font-size:.9rem;padding:.4rem .6rem}.task-row-container.is-subtask .task-row:hover{background-color:var(--hover-bg);transform:none}.task-row-container.is-subtask .task-title{font-size:.9rem}.task-row-container.is-subtask .task-checkbox{height:16px;width:16px}.tasks-list-area{display:flex;flex-direction:column;gap:.8rem}.tasks-list-area .error-state,.tasks-list-area .loading-state,.tasks-list-area .placeholder-text{color:var(--text-color-secondary);font-style:italic;text-align:center}.tasks-list-area .loading-state{animation:tasksPulse 1.5s ease-in-out infinite;padding:3rem 1rem}@keyframes tasksPulse{0%,to{opacity:.6}50%{opacity:1}}.tasks-list-area .task-category-group{animation:categorySlideIn .25s ease-out both;display:flex;flex-direction:column;gap:.4rem}@keyframes categorySlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tasks-list-area .category-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--hover-bg);border-left:4px solid #0000;border-radius:5px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .8rem;position:-webkit-sticky;position:sticky;top:0;transition:opacity .15s ease;-webkit-user-select:none;user-select:none;z-index:10}.tasks-list-area .category-header:hover{opacity:.85}.tasks-list-area .category-chevron{color:var(--text-color-secondary);flex-shrink:0;font-size:.75rem;transition:transform .2s ease}.tasks-list-area .category-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.tasks-list-area .category-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-hover) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-color-primary);flex-grow:1;font-size:.95rem;font-weight:700;margin:0}.tasks-list-area .category-count{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-color-secondary);font-size:.8rem;font-weight:600;padding:.2rem .6rem}.tasks-list-area .category-tasks{display:flex;flex-direction:column;gap:.3rem;padding-left:.3rem}@media (max-width:768px){.tasks-list-area{gap:1.5rem}.tasks-list-area .category-header{gap:.5rem;padding:.625rem .875rem}.tasks-list-area .category-title{font-size:.95rem}.tasks-list-area .category-count{font-size:.8rem;padding:.2rem .6rem}.tasks-list-area .category-indicator{height:10px;width:10px}.tasks-list-area .category-tasks{gap:.5rem;padding-left:0}}@media (max-width:480px){.tasks-list-area{gap:1.25rem}.tasks-list-area .category-header{padding:.5rem .75rem}.tasks-list-area .category-title{font-size:.9rem}.tasks-list-area .category-count{font-size:.75rem}}.daily-planner{animation:plannerFadeIn .3s ease-out}@keyframes plannerFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.daily-planner .planner-date-nav{background:var(--card-bg);border-radius:5px;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem}.daily-planner .planner-date-nav,.daily-planner .planner-nav-btn{align-items:center;border:1px solid var(--border-color);display:flex;justify-content:center}.daily-planner .planner-nav-btn{background:none;border-radius:5px;color:var(--text-color-primary);cursor:pointer;height:32px;transition:all .2s;width:32px}.daily-planner .planner-nav-btn:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.daily-planner .planner-date-info{align-items:center;display:flex;gap:.75rem}.daily-planner .planner-date-text{color:var(--text-color-primary);font-size:1rem;font-weight:600;text-transform:capitalize}.daily-planner .planner-date-text.is-today{color:var(--accent-blue)}.daily-planner .planner-today-btn{background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 10px;transition:all .2s}.daily-planner .planner-today-btn:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.daily-planner .planner-summary{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.6rem 1rem}.daily-planner .summary-count{color:var(--text-color-secondary);font-size:.85rem;font-weight:500;white-space:nowrap}.daily-planner .summary-bar{background:var(--border-color);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.daily-planner .summary-bar-fill{background:var(--accent-blue);border-radius:2px;height:100%;transition:width .3s ease}.daily-planner .planner-timeline{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;overflow:hidden}.daily-planner .planner-slot{align-items:stretch;border-bottom:1px solid var(--border-color);display:flex;min-height:40px;transition:background-color .15s}.daily-planner .planner-slot:last-child{border-bottom:none}.daily-planner .planner-slot:hover{background:var(--hover-bg)}.daily-planner .planner-slot.current-slot{background:var(--hover-bgs)}.daily-planner .planner-slot.has-tasks{min-height:52px}.daily-planner .slot-time{align-items:flex-start;color:var(--text-color-secondary);display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;justify-content:center;padding-top:10px;width:56px}.daily-planner .planner-slot.current-slot .slot-time{color:var(--accent-blue)}.daily-planner .slot-indicator{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative;width:20px}.daily-planner .slot-line{background:var(--border-color);height:100%;width:1px}.daily-planner .planner-slot.current-slot .slot-line{background:var(--accent-blue);width:2px}.daily-planner .current-time-dot{background:var(--accent-blue);border-radius:50%;height:8px;position:absolute;top:12px;width:8px}.daily-planner .slot-content{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;padding:4px 8px}.daily-planner .planner-task{align-items:center;border:1px solid #0000;border-radius:5px;cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:all .15s}.daily-planner .planner-task:hover{background:var(--hover-bg);border-color:var(--border-color)}.daily-planner .planner-task.completed{opacity:.5}.daily-planner .planner-task.completed .planner-task-title{color:var(--text-color-secondary);text-decoration:line-through}.daily-planner .planner-task-check{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;padding:0;transition:color .2s}.daily-planner .planner-task-check:hover,.daily-planner .planner-task.completed .planner-task-check{color:var(--accent-blue)}.daily-planner .planner-task-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.daily-planner .planner-task-title{color:var(--text-color-primary);font-size:.88rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-planner .planner-task-time{align-items:center;color:var(--text-color-secondary);display:flex;flex-shrink:0;font-size:.75rem;gap:4px;white-space:nowrap}.daily-planner .planner-task-category{border:1px solid;border-radius:5px;flex-shrink:0;font-size:.7rem;font-weight:600;padding:2px 6px;white-space:nowrap}.daily-planner .planner-unscheduled{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;margin-top:1rem;padding:.75rem}.daily-planner .unscheduled-title{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.85rem;font-weight:600;gap:6px;margin:0 0 .5rem}.daily-planner .unscheduled-list{display:flex;flex-direction:column;gap:2px}.daily-planner .planner-empty{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);font-style:italic;margin-top:1rem;padding:2rem;text-align:center}.daily-planner .planner-empty p{font-size:.9rem;margin:0}@media (max-width:768px){.daily-planner .planner-date-nav{gap:.5rem;padding:.5rem}.daily-planner .planner-date-text{font-size:.9rem}.daily-planner .slot-time{font-size:.7rem;width:44px}.daily-planner .planner-task-title{font-size:.82rem}.daily-planner .planner-task-category{display:none}}.task-creation-modal-wrapper.task-modal-overlay{align-items:center;animation:modalOverlayIn .15s ease-out;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.task-creation-modal-wrapper .task-modal-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow-hover);max-width:600px;padding:var(--spacing-lg);position:relative;width:90%}.task-creation-modal-wrapper .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.task-creation-modal-wrapper .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.task-creation-modal-wrapper .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.task-creation-modal-wrapper .close-btn:hover{color:var(--danger-red)}.task-creation-modal-wrapper form{display:flex;flex-direction:column}.task-creation-modal-wrapper .input-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.task-creation-modal-wrapper .input-group.full-width{width:100%}.task-creation-modal-wrapper .input-group label{color:var(--text-color-secondary);font-size:.9rem;font-weight:700;margin-bottom:var(--spacing-xs)}.task-creation-modal-wrapper .input-group input[type=date],.task-creation-modal-wrapper .input-group input[type=text],.task-creation-modal-wrapper .input-group input[type=time],.task-creation-modal-wrapper .input-group select{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:1rem;padding:var(--spacing-sm);transition:border-color .2s}.task-creation-modal-wrapper .input-group input:focus,.task-creation-modal-wrapper .input-group select:focus{border-color:var(--accent-blue);outline:none}.task-creation-modal-wrapper .form-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}@media (max-width:600px){.task-creation-modal-wrapper .form-grid{grid-template-columns:1fr}}.task-creation-modal-wrapper .task-type-selector{display:flex;gap:var(--spacing-md)}.task-creation-modal-wrapper .type-btn{align-items:center;background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;flex:1 1;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm);transition:all .2s}.task-creation-modal-wrapper .type-btn.active{background-color:var(--accent-blue);border-color:var(--accent-blue);color:var(--white)}.task-creation-modal-wrapper .type-btn:hover:not(.active){background-color:var(--hover-bg)}.task-creation-modal-wrapper .subtasks-section{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm)}.task-creation-modal-wrapper .subtasks-section label{color:var(--text-color-secondary);display:block;font-size:.9rem;font-weight:700;margin-bottom:var(--spacing-sm)}.task-creation-modal-wrapper .subtasks-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.task-creation-modal-wrapper .subtask-row{align-items:center;display:flex;gap:var(--spacing-sm)}.task-creation-modal-wrapper .subtask-row input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);flex:1 1;font-size:.9rem;padding:var(--spacing-sm)}.task-creation-modal-wrapper .remove-subtask-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;padding:var(--spacing-xs);transition:color .2s}.task-creation-modal-wrapper .remove-subtask-btn:hover{color:var(--danger-red)}.task-creation-modal-wrapper .add-subtask-btn{align-items:center;background:none;border:1px dashed var(--border-color);border-radius:var(--border-radius-sm);color:var(--accent-blue);cursor:pointer;display:flex;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm);transition:background-color .2s;width:100%}.task-creation-modal-wrapper .add-subtask-btn:hover{background-color:var(--hover-bg)}.task-creation-modal-wrapper .modal-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-sm)}.task-creation-modal-wrapper .save-btn{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-sm);color:var(--white);cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:background-color .2s}.task-creation-modal-wrapper .save-btn:hover{background-color:var(--accent-blue-hover)}.task-creation-modal-wrapper .save-btn:disabled{background-color:var(--border-color);cursor:not-allowed}.task-category-overlay{align-items:center;animation:modalOverlayIn .15s ease-out;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.task-category-content{animation:categoryModalIn .2s ease-out;background-color:var(--card-bg);border-radius:5px;box-shadow:var(--glass-shadow-hover);display:flex;flex-direction:column;height:70vh;max-width:550px;padding:var(--spacing-lg);position:relative;width:90%}@keyframes categoryModalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.task-category-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding-bottom:var(--spacing-md)}.task-category-content h2{color:var(--heading-color);font-size:1.5rem;margin:0}.task-category-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.task-category-content .close-btn:hover{color:var(--danger-red)}.task-category-content .add-category-section{flex-shrink:0;padding:var(--spacing-lg) 0}.task-category-content .add-category-section form{align-items:center;background-color:var(--hover-bg);border-radius:5px;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.task-category-content .add-icon{color:var(--accent-blue);margin-left:var(--spacing-xs)}.task-category-content .new-category-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);flex-grow:1;font-size:.9rem;outline:none;padding:.5rem}.task-category-content .color-picker{background:none;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;height:35px;padding:0;width:35px}.task-category-content .btn-add{background-color:var(--accent-green);border:none;border-radius:5px;color:var(--white);cursor:pointer;font-weight:700;padding:.5rem 1rem;transition:opacity .2s}.task-category-content .btn-add:disabled{cursor:not-allowed;opacity:.6}.task-category-content .category-list-section{flex-grow:1;overflow-y:auto}.task-category-content .category-list-section h3{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.8rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-md);padding-bottom:var(--spacing-xs);text-transform:uppercase}.task-category-content .category-row{align-items:center;border-bottom:1px dashed var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.task-category-content .category-display-area{align-items:center;display:flex;flex-grow:1;gap:var(--spacing-sm)}.task-category-content .category-color-preview{border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;height:15px;width:15px}.task-category-content .category-input-edit,.task-category-content .category-name-view{color:var(--text-color-primary);font-size:1rem}.task-category-content .category-input-edit{background-color:var(--card-bg);border:1px solid var(--accent-blue);border-radius:5px;flex-grow:1;outline:none;padding:.2rem .5rem}.task-category-content .color-picker-inline{background:none;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;height:30px;margin-left:var(--spacing-sm);padding:0;width:30px}.task-category-content .category-actions button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:.4rem;transition:color .2s}.task-category-content .category-actions button:hover{color:var(--accent-blue)}.task-category-content .category-actions .delete-btn:hover{color:var(--danger-red)}.task-category-content .no-categories{color:var(--text-color-secondary);font-style:italic;padding:var(--spacing-lg);text-align:center}.tasks-page-container{animation:tasksPageFadeIn .3s ease-out;background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:1.5rem}@keyframes tasksPageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tasks-page-container .tasks-top-bar{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.tasks-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.5rem 1rem;transition:all .2s ease}.tasks-page-container .back-button:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateX(-4px)}.tasks-page-container .back-button svg{font-size:1rem}.tasks-view-toggle{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;gap:2px;padding:3px}.view-toggle-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s}.view-toggle-btn:hover{background:var(--hover-bg);color:var(--text-color-primary)}.view-toggle-btn.active{background:var(--accent-blue);box-shadow:var(--box-shadow-sm);color:#fff}.tasks-page-container .switch-page-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s}.tasks-page-container .switch-page-btn:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.tasks-page-container .tasks-actions{align-items:center;display:flex;gap:var(--spacing-md)}.tasks-page-container .btn-primary,.tasks-page-container .btn-secondary{align-items:center;border:none;border-radius:5px;cursor:pointer;display:flex;font-weight:700;gap:var(--spacing-sm);padding:.75rem 1.5rem;transition:background-color .2s,opacity .2s}.tasks-page-container .create-task-btn{background-color:var(--accent-green);color:var(--white)}.tasks-page-container .create-task-btn:hover{background-color:var(--accent-green-dark)}.tasks-page-container .filter-btn{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color-primary)}.tasks-page-container .filter-btn:hover{opacity:.8}.tasks-page-container .tasks-content-area{display:flex;flex-direction:column;gap:1rem}.tasks-page-container .tasks-section h2{border-bottom:2px solid var(--border-color);color:var(--heading-color);font-size:1.3rem;margin-bottom:.75rem;padding-bottom:.5rem}.tasks-page-container .placeholder-text{border-left:3px solid var(--border-color);color:var(--text-color-secondary);font-style:italic;padding:var(--spacing-md)}@media (max-width:768px){.tasks-page-container .tasks-header{align-items:center;flex-direction:row;justify-content:space-between}.tasks-page-container .tasks-title{flex-grow:1;font-size:1.5rem;margin-left:var(--spacing-md);text-align:left}.tasks-page-container .tasks-actions{align-items:stretch;flex-direction:column;margin-top:var(--spacing-md);order:3;width:100%}.tasks-page-container .btn-primary,.tasks-page-container .btn-secondary{justify-content:center;width:100%}}.quotes-header-container{margin-bottom:2rem}.quotes-header-section{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.quotes-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;color:var(--text-color-primary);font-size:2rem;font-weight:800;margin:0 0 .5rem}.quotes-header-left p{color:var(--text-color-secondary);font-size:1rem;margin:0}.quotes-header-actions{align-items:center;display:flex;gap:1rem}.btn-header{align-items:center;border:none;border-radius:5px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.btn-header svg{font-size:1rem}.btn-add{background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 4px 12px #f59e0b4d;color:#fff}.btn-add:hover{box-shadow:0 6px 16px #f59e0b66;transform:translateY(-2px)}.btn-header:active{transform:translateY(0)}.quotes-toolbar{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;justify-content:center;padding:1rem 1.5rem}.search-bar{max-width:600px;position:relative;width:100%}.search-icon{color:var(--text-color-secondary);font-size:.95rem;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-bar input[type=text]{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);font-size:.9rem;padding:.75rem 3rem;transition:all .2s ease;width:-webkit-fill-available}.search-bar input[type=text]:focus{background:var(--card-bg);border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.clear-search-btn,.search-bar input[type=text]::placeholder{color:var(--text-color-secondary)}.clear-search-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.95rem;height:24px;justify-content:center;padding:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.clear-search-btn:hover{background:#ef44441a;color:#ef4444}@media (max-width:768px){.quotes-header-section{gap:1rem}.quotes-header-left h1{font-size:1.75rem}.quotes-header-left p{font-size:.9rem}.btn-header span{display:none}.btn-header{height:44px;justify-content:center;padding:.75rem;width:44px}.quotes-toolbar{padding:1rem}.search-bar{max-width:100%}}@media (max-width:480px){.quotes-header-left h1{font-size:1.5rem}.quotes-header-left p{font-size:.85rem}.quotes-toolbar{padding:.875rem}}.quote-card-item{background-color:var(--card-bg);border-left:5px solid var(--accent-blue);border-radius:var(--border-radius-md);box-shadow:var(--shadow-small);overflow:hidden;padding:var(--spacing-lg);position:relative;transition:box-shadow .2s,transform .2s}.quote-card-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.quote-text{color:var(--text-color-primary);font-size:1.1rem;font-style:italic;line-height:1.5;margin-bottom:var(--spacing-md);margin-top:0}.quote-author{font-size:.95rem;font-weight:700;margin-bottom:0;text-align:right}.quote-author,.quote-profession{color:var(--text-color-secondary)}.quote-profession{font-size:.85rem;font-weight:400}.quote-actions-overlay{background-color:var(--card-bg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-small);display:flex;gap:5px;opacity:0;padding:3px;position:absolute;right:var(--spacing-sm);top:var(--spacing-sm);transition:opacity .2s ease,visibility .2s ease;visibility:hidden;z-index:10}.quote-card-item:hover .quote-actions-overlay{opacity:1;visibility:visible}.quote-actions-overlay .btn-action{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.85rem;justify-content:center;padding:6px;transition:background-color .2s,color .2s}.quote-actions-overlay .btn-action.btn-edit{color:var(--text-color-secondary)}.quote-actions-overlay .btn-action.btn-edit:hover{background-color:var(--hover-bg);color:var(--accent-blue)}.quote-actions-overlay .btn-action.btn-export{color:var(--text-color-secondary)}.quote-actions-overlay .btn-action.btn-export:hover{background-color:#ffc1071a;color:var(--accent-yellow)}.quote-actions-overlay .btn-action.btn-delete{color:var(--danger-red)}.quote-actions-overlay .btn-action.btn-delete:hover{background-color:var(--danger-red);color:#fff}.quote-export-template{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2d2d2d);box-sizing:border-box;font-family:Segoe UI,Arial,sans-serif;height:675px;left:-9999px;padding:80px;pointer-events:none;position:fixed;top:-9999px;width:1200px}.quote-export-content,.quote-export-template{align-items:center;display:flex;justify-content:center}.quote-export-content{flex-direction:column;gap:40px;text-align:center;width:100%}.quote-export-icon{color:#fd7f2c;font-size:80px;opacity:.9}.quote-export-text{color:#fff;font-size:42px;font-style:italic;font-weight:400;line-height:1.6;margin:0;max-width:900px;text-shadow:0 2px 10px #0000004d}.quote-export-author{align-items:center;display:flex;flex-direction:column;gap:15px;margin-top:20px}.author-line{background:#fd7f2c;border-radius:2px;height:3px;width:100px}.author-name{color:#fff;font-size:32px;font-weight:600;letter-spacing:1px;margin:0}.author-profession{color:#ffffffb3;font-size:24px;font-weight:300;margin:0}.modal-overlay{z-index:2000}.quote-modal-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-width:550px;padding:var(--spacing-lg);width:90%}.quote-modal-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.quote-modal-content .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.quote-modal-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.quote-modal-content .close-btn:hover{color:var(--danger-red)}.quote-modal-content .input-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.quote-modal-content label{color:var(--text-color-secondary);font-size:.9rem;font-weight:700;margin-bottom:var(--spacing-xs)}.quote-modal-content input[type=text],.quote-modal-content textarea{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:1rem;outline:none;padding:.6rem .75rem;transition:border-color .2s}.quote-modal-content input:focus,.quote-modal-content textarea:focus{border-color:var(--accent-blue)}.quote-modal-content .modal-footer{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);gap:10px;justify-content:flex-end;padding-top:var(--spacing-md)}.quote-modal-content .btn-cancel{transition:background-color .2s}.quote-modal-content .btn-primary{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:opacity .2s,background-color .2s}.quote-modal-content .btn-primary:hover{background-color:var(--accent-green-dark);opacity:.9}.quote-modal-content .btn-primary:disabled{background-color:var(--text-color-secondary);color:var(--card-bg);cursor:not-allowed;opacity:.6}.quote-modal-content .modal-footer .btn-primary{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:opacity .2s,background-color .2s}.quote-modal-content .modal-footer .btn-primary:hover{background-color:var(--accent-blue-dark);opacity:.9}.quote-modal-content .modal-footer .btn-primary:disabled{background-color:var(--text-color-secondary);cursor:not-allowed;opacity:.6}.quote-modal-content .btn-cancel{background:none;border:1px solid var(--text-color-secondary);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;padding:10px 20px;transition:background-color .2s,color .2s}.quote-modal-content .btn-cancel:hover{background-color:var(--hover-bg);color:var(--text-color-primary)}.quote-modal-content .btn-primary .svg-inline--fa{margin-right:8px}button.btn-primary{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:700;gap:8px;padding:.75rem 1.5rem;transition:opacity .2s}.quotes-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:2rem}.quotes-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.quotes-page-container .back-button:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.quotes-page-container .back-button svg{font-size:1rem}.quotes-list-section{margin-top:2rem}.quotes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.content-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.content-state.loading-state{color:#f59e0b}.content-state svg{font-size:2.5rem;margin-bottom:1rem}.content-state p{font-size:1rem;margin:0}.content-state.error-state{color:#ef4444}@media (max-width:768px){.quotes-page-container{padding:1.5rem 1rem}.quotes-grid{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.quotes-page-container{padding:1rem .75rem}.quotes-grid{gap:.875rem}}.habits-header{display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.habits-header__top{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between}.habits-header__title{display:flex;flex-direction:column}.habits-header__title-text{color:var(--text-color-primary);font-size:1.75rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.habits-header__subtitle{color:var(--text-color-secondary);font-size:.9rem;margin:0}.habits-header__actions{align-items:center;display:flex;gap:var(--spacing-md);margin:auto 0}.habits-header__view-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-hover);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-xs);padding:4px}.habits-header__view-btn{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;padding:var(--spacing-sm);transition:all .2s ease;width:36px}.habits-header__view-btn:hover{background:var(--accent-blue-low-opacity);color:var(--accent-blue)}.habits-header__view-btn--active{background:#fd7f2c26;box-shadow:0 2px 8px #fd7f2c33;color:var(--accent-blue)}.habits-header__btn-new{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fd7f2c26;border:1.5px solid var(--accent-blue);border-radius:var(--border-radius-lg);box-shadow:0 4px 15px #fd7f2c33;color:var(--accent-blue);cursor:pointer;display:flex;font-size:.95rem;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease;white-space:nowrap}.habits-header__btn-new:hover{background:#fd7f2c40;box-shadow:0 6px 20px #fd7f2c4d;color:var(--accent-blue);transform:translateY(-1px)}.habits-header__tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid #00000014;border-radius:var(--border-radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:flex-start;padding:var(--spacing-sm)}.habits-header__tab-btn{align-items:center;background-color:initial;border:none;border-radius:var(--border-radius-lg);color:var(--text-color-secondary);cursor:pointer;display:flex;flex:0 1 auto;font-size:.9rem;font-weight:var(--font-weight-bold);gap:6px;justify-content:center;padding:10px var(--spacing-md);transition:all .3s ease;white-space:nowrap}.habits-header__tab-btn:hover{background:var(--accent-blue-low-opacity);color:var(--text-color-primary)}.habits-header__tab-btn--active{background:#fd7f2c33;border:1px solid #fd7f2c4d;box-shadow:0 4px 12px #fd7f2c26;color:var(--accent-blue)}.habits-header__tab-icon{flex-shrink:0;font-size:.95rem}.habits-header__dropdown{display:none;position:relative}.habits-header__filter-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-hover);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;width:100%}.habits-header__filter-btn:hover{background:var(--accent-blue-low-opacity);border-color:#fd7f2c33}.habits-header__filter-btn svg{color:var(--accent-blue);flex-shrink:0;font-size:1.1rem}.habits-header__filter-label{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.habits-header__dropdown-menu{animation:dropdownSlideIn .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:0 4px 12px #00000026;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.habits-header__dropdown-item{align-items:center;background:#0000;border:none;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.95rem;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:all .2s ease;width:100%}.habits-header__dropdown-item:hover{background:#fd7f2c14;color:var(--accent-blue)}.habits-header__dropdown-item--active{background:#fd7f2c26;color:var(--accent-blue);font-weight:600}.habits-header__dropdown-icon{flex-shrink:0;font-size:.95rem;min-width:1rem}@media (max-width:768px){.habits-header__top{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.habits-header__title{margin-bottom:var(--spacing-xs)}.habits-header__title-text{font-size:1.3rem}.habits-header__subtitle{font-size:.8rem}.habits-header__actions{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between;width:100%}.habits-header__view-toggle{flex:0 0 auto;order:1}.habits-header__btn-new{flex:1 1;font-size:.85rem;justify-content:center;min-width:120px;order:2;padding:var(--spacing-sm)}.habits-header__tabs{display:none}.habits-header__dropdown{display:block;width:100%}}@media (max-width:480px){.habits-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.habits-header__top{gap:var(--spacing-xs)}.habits-header__title-text{font-size:1.1rem}.habits-header__subtitle{font-size:.75rem}.habits-header__actions{gap:var(--spacing-xs)}.habits-header__view-btn{font-size:1rem;height:32px;padding:6px;width:32px}.habits-header__btn-new{font-size:.75rem;padding:8px var(--spacing-sm)}.habits-header__btn-new svg{font-size:.9rem}.habits-header__dropdown-item,.habits-header__filter-btn{font-size:.85rem;padding:.65rem .75rem}}.habit-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.habit-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--overlay-bg);bottom:0;left:0;position:absolute;right:0;top:0}.habit-modal__content{animation:slideIn .3s ease;background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.habit-modal__header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.habit-modal__title{color:var(--text-color-primary);font-size:1.5rem;font-weight:var(--font-weight-bold);margin:0}.habit-modal__close-btn{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;padding:var(--spacing-xs);transition:all .2s ease;width:32px}.habit-modal__close-btn:hover{background:var(--hover-bg);color:var(--danger-red)}.habit-modal__error{background:var(--danger-red-low-opacity);border:1px solid var(--danger-red);border-radius:var(--border-radius-md);color:var(--danger-red);font-size:.9rem;font-weight:var(--font-weight-bold);margin:var(--spacing-lg) var(--spacing-lg) 0;padding:var(--spacing-md)}.habit-modal__form{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.habit-modal__field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.habit-modal__label{color:var(--text-color-primary);font-size:.9rem;font-weight:var(--font-weight-bold)}.habit-modal__required{color:var(--danger-red);margin-left:var(--spacing-xs)}.habit-modal__input,.habit-modal__select{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);font-family:var(--font-family);font-size:1rem;padding:var(--spacing-md);transition:all .2s ease}.habit-modal__input:focus,.habit-modal__select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-low-opacity);outline:none}.habit-modal__input::placeholder{color:var(--text-color-secondary)}.habit-modal__input--error,.habit-modal__select--error{border-color:var(--danger-red)}.habit-modal__input--error:focus,.habit-modal__select--error:focus{border-color:var(--danger-red);box-shadow:0 0 0 3px var(--danger-red-low-opacity)}.habit-modal__select{cursor:pointer}.habit-modal__select option{padding:var(--spacing-sm)}.habit-modal__frequency-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}.habit-modal__frequency-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;font-family:var(--font-family);font-size:.9rem;font-weight:var(--font-weight-bold);padding:var(--spacing-md);transition:all .2s ease}.habit-modal__frequency-btn:hover{background:var(--hover-bg);border-color:var(--accent-blue)}.habit-modal__frequency-btn--active{background:#fd7f2c26;border-color:var(--accent-blue);color:var(--accent-blue)}.habit-modal__frequency-btn--error{border-color:var(--danger-red)}.habit-modal__footer{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.habit-modal__btn{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex:1 1;font-family:var(--font-family);font-size:1rem;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:all .2s ease}.habit-modal__btn:disabled{cursor:not-allowed;opacity:.6}.habit-modal__btn--cancel{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color-primary)}.habit-modal__btn--cancel:hover:not(:disabled){background:var(--hover-bg);border-color:var(--text-color-secondary)}.habit-modal__btn--submit{background:#fd7f2c26;border:1px solid var(--accent-blue);color:var(--accent-blue)}.habit-modal__btn--submit:hover:not(:disabled){background:#fd7f2c40;box-shadow:0 4px 12px #fd7f2c33;transform:translateY(-1px)}.habit-modal__btn--submit:active:not(:disabled){transform:translateY(0)}@keyframes tableRowSlideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.habits-table-view{width:100%}.habits-table-view__empty,.habits-table-view__loading{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;max-height:850px;min-height:300px}.habits-table-view__main{display:flex;flex-direction:column;gap:var(--spacing-sm);height:100%;width:100%}.habits-table-view__container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);border-radius:1rem;box-shadow:var(--glass-shadow);height:100%;max-height:850px;overflow-y:auto;scrollbar-width:none;transition:box-shadow .3s ease}.habits-table-view__table{border-collapse:collapse;table-layout:auto;width:100%}.habits-table-view__header{background:linear-gradient(90deg,#fd7f2c1f,#fd7f2c0f);border-bottom:2px solid #fd7f2c33;box-shadow:0 2px 8px #0000000d}.habits-table-view__header-cell{border-right:1px solid var(--glass-hover);color:var(--accent-blue);font-size:.85rem;font-weight:var(--font-weight-bold);padding:6px 2px;text-align:center;text-shadow:0 1px 2px #0000001a;vertical-align:middle;white-space:nowrap}.habits-table-view__header-cell:last-child{border-right:none}.habits-table-view__header-cell--fixed{background:linear-gradient(90deg,#fd7f2c1f,#fd7f2c14);border-radius:1rem;border-right:2px solid #fd7f2c33;left:0;min-width:200px;padding-left:var(--spacing-sm);position:-webkit-sticky;position:sticky;text-align:left;width:200px;z-index:10}.habits-table-view__header-cell--date{min-width:90px;padding:8px 4px;width:90px}.habits-table-view__header-cell--stats{min-width:60px;text-align:center;width:60px}.habits-table-view__controls-row{background:linear-gradient(135deg,var(--glass-bg-to) 0,var(--glass-hover) 100%);border-bottom:2px solid #fd7f2c26}.habits-table-view__controls-cell{padding:var(--spacing-md);text-align:left}.habits-table-view__controls-cell .habits-table-view__controls-group{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.habits-table-view__date-label{font-size:.75rem;line-height:1.2;margin-bottom:1px}.habits-table-view__completion{color:var(--accent-blue);font-size:.65rem;font-weight:var(--font-weight-bold);line-height:1.1;text-shadow:0 1px 2px #fd7f2c4d}.habits-table-view__body{background:#0000}.habits-table-view__row{animation:tableRowSlideIn .4s cubic-bezier(.22,1,.36,1) both;border-bottom:1px solid var(--glass-hover);transition:background-color .3s ease}.habits-table-view__row:first-child{animation-delay:.05s}.habits-table-view__row:nth-child(2){animation-delay:.08s}.habits-table-view__row:nth-child(3){animation-delay:.11s}.habits-table-view__row:nth-child(4){animation-delay:.14s}.habits-table-view__row:nth-child(5){animation-delay:.17s}.habits-table-view__row:nth-child(6){animation-delay:.2s}.habits-table-view__row:nth-child(7){animation-delay:.23s}.habits-table-view__row:nth-child(8){animation-delay:.26s}.habits-table-view__row:nth-child(n+9){animation-delay:.29s}.habits-table-view__row:hover{background-color:var(--glass-hover)}.habits-table-view__row:last-child{border-bottom:none}.habits-table-view__cell{border-right:1px solid var(--glass-hover);padding:6px 2px;position:relative;text-align:center}.habits-table-view__cell:last-child{border-right:none}.habits-table-view__cell--habit{background:linear-gradient(90deg,var(--glass-hover) 0,var(--glass-hover) 100%);border-right:2px solid #fd7f2c1a;left:0;min-width:200px;padding:8px var(--spacing-sm);position:-webkit-sticky;position:sticky;text-align:left;width:200px;z-index:5}.habits-table-view__row:hover .habits-table-view__cell--habit{background:linear-gradient(90deg,#fd7f2c14,#fd7f2c08)}.habits-table-view__habit-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.habits-table-view__habit-name{word-wrap:break-word;color:var(--text-color-primary);font-size:.8rem;font-weight:var(--font-weight-bold);-webkit-hyphens:auto;hyphens:auto;line-height:1.3;overflow-wrap:break-word}.habits-table-view__category{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);box-shadow:0 2px 6px #00000026,inset 0 1px 0 var(--glass-border-strong);color:var(--white);display:inline-block;font-size:.65rem;font-weight:var(--font-weight-bold);margin-top:2px;padding:2px 6px;width:-webkit-fit-content;width:fit-content}.habits-table-view__cell--checkbox{display:table-cell;min-width:90px;text-align:center;vertical-align:middle;width:90px}.habits-table-view__checkbox{align-items:center;background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:2px solid var(--glass-border-strong);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #0000001a,inset 0 1px 0 var(--glass-inset);color:#0000;cursor:pointer;display:flex;font-size:.7rem;height:24px;justify-content:center;margin:0 auto;transition:all .3s ease;width:24px}.habits-table-view__checkbox:hover{background:linear-gradient(135deg,#fd7f2c26,#fd7f2c14);border-color:var(--accent-blue);box-shadow:0 4px 8px #fd7f2c33,inset 0 1px 0 var(--glass-border-strong);transform:scale(1.05)}.habits-table-view__checkbox--checked{background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);border-color:var(--accent-blue);box-shadow:0 4px 12px #fd7f2c66,inset 0 1px 0 #ffffff4d;color:var(--white)}.habits-table-view__checkbox--checked:hover{background:linear-gradient(135deg,var(--accent-blue-hover) 0,#ff8c3d 100%);border-color:var(--accent-blue-hover);box-shadow:0 6px 16px #fd7f2c80,inset 0 1px 0 #fff6;transform:scale(1.08)}.habits-table-view__cell--stats{font-weight:var(--font-weight-bold);min-width:60px;text-align:center;width:60px}.habits-table-view__streak{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);-webkit-background-clip:text;background-clip:text;font-size:.9rem;font-weight:var(--font-weight-bold);text-shadow:0 2px 4px #fd7f2c33}.habits-table-view__desktop{display:flex;flex-direction:column;gap:var(--spacing-sm);height:100%;width:100%}.habits-table-view__day-controls{align-items:center;border-radius:var(--border-radius-sm);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md)}.habits-table-view__controls-group{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.habits-table-view__range-select{background:var(--bg-color-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;font-size:.85rem;font-weight:var(--font-weight-bold);padding:8px 14px;transition:all .3s ease}.habits-table-view__range-select:hover{background:var(--bg-color-hover);border-color:var(--accent-blue);box-shadow:0 4px 12px #fd7f2c4d}.habits-table-view__range-select:focus{box-shadow:0 0 0 2px #fd7f2c66;outline:none}.habits-table-view__range-select option{background:var(--bg-color-secondary);color:var(--text-color-primary)}.habits-table-view__toggle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.8rem;font-weight:var(--font-weight-bold);gap:var(--spacing-xs);padding:6px 14px;transition:all .3s ease}.habits-table-view__toggle-btn:hover{background:linear-gradient(135deg,#fd7f2c26,#fd7f2c14);border-color:var(--accent-blue);box-shadow:0 4px 12px #fd7f2c33;transform:translateY(-1px)}.habits-table-view__day-nav{align-items:center;background:linear-gradient(90deg,#fd7f2c1f,#fd7f2c0f);border-bottom:2px solid #fd7f2c33;border-radius:1rem 1rem 0 0;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;padding:var(--spacing-md)}.habits-table-view__day-list{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm)}.habits-table-view__day-item{align-items:center;border-radius:var(--border-radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);transition:background-color .2s ease}.habits-table-view__day-item:hover{background-color:var(--glass-hover)}.habits-table-view__day-habit{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.habits-table-view__day-meta{align-items:center;display:flex;gap:var(--spacing-sm)}.habits-table-view__day-streak{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);-webkit-background-clip:text;background-clip:text;font-size:.8rem;font-weight:var(--font-weight-bold)}.habits-table-view__container--full{overflow:hidden}.habits-table-view__table-scroll{max-width:100%;overflow-x:auto}@media (max-width:768px){.habits-table-view__desktop{display:none}.habits-table-view__mobile{display:block}}@media (min-width:769px){.habits-table-view__mobile{display:none}}.habits-table-view__mobile{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:0 8px 32px #0000001a,inset 0 1px 0 var(--glass-inset);overflow:hidden}.habits-table-view__mobile-nav{align-items:center;background:linear-gradient(90deg,#fd7f2c1f,#fd7f2c0f);border-bottom:2px solid #fd7f2c33;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;padding:var(--spacing-md)}.habits-table-view__nav-btn{align-items:center;background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #0000001a,inset 0 1px 0 var(--glass-inset);color:var(--text-color-primary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:var(--spacing-sm);transition:all .3s ease;width:36px}.habits-table-view__nav-btn:hover:not(:disabled){background:linear-gradient(135deg,#fd7f2c26,#fd7f2c14);border-color:var(--accent-blue);box-shadow:0 4px 8px #fd7f2c33,inset 0 1px 0 var(--glass-border-strong);transform:scale(1.05)}.habits-table-view__nav-btn:disabled{cursor:not-allowed;opacity:.3}.habits-table-view__current-date{color:var(--text-color-primary);display:flex;flex:1 1;flex-direction:column;font-size:1rem;font-weight:var(--font-weight-bold);gap:2px;text-align:center}.habits-table-view__current-date .habits-table-view__completion{color:var(--accent-blue);font-size:.75rem;font-weight:var(--font-weight-normal)}.habits-table-view__mobile-list{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.habits-table-view__mobile-item{align-items:center;background:linear-gradient(135deg,var(--glass-hover) 0,var(--glass-hover) 100%);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);box-shadow:0 2px 8px #00000014,inset 0 1px 0 var(--glass-inset);display:flex;justify-content:space-between;padding:var(--spacing-md);transition:all .3s ease}.habits-table-view__mobile-item:hover{background:linear-gradient(135deg,#fd7f2c1a,#fd7f2c0d);border-color:#fd7f2c33;box-shadow:0 4px 12px #fd7f2c26,inset 0 1px 0 var(--glass-border);transform:translateX(4px)}.habits-table-view__mobile-habit{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.habits-table-view__mobile-habit-name{color:var(--text-color-primary);font-size:.95rem;font-weight:var(--font-weight-bold)}.habits-table-view__mobile-checkbox{align-items:center;background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:2px solid var(--glass-border-strong);border-radius:var(--border-radius-sm);box-shadow:0 2px 4px #0000001a,inset 0 1px 0 var(--glass-inset);color:#0000;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;height:32px;justify-content:center;transition:all .3s ease;width:32px}.habits-table-view__mobile-checkbox:hover{background:linear-gradient(135deg,#fd7f2c26,#fd7f2c14);border-color:var(--accent-blue);box-shadow:0 4px 8px #fd7f2c33,inset 0 1px 0 var(--glass-border-strong);transform:scale(1.05)}.habits-table-view__mobile-checkbox--checked{background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);border-color:var(--accent-blue);box-shadow:0 4px 12px #fd7f2c66,inset 0 1px 0 #ffffff4d;color:var(--white)}.habits-table-view__mobile-checkbox--checked:hover{background:linear-gradient(135deg,var(--accent-blue-hover) 0,#ff8c3d 100%);border-color:var(--accent-blue-hover);box-shadow:0 6px 16px #fd7f2c80,inset 0 1px 0 #fff6;transform:scale(1.08)}.habits-table-view__mobile-streak{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);-webkit-background-clip:text;background-clip:text;font-size:.8rem;font-weight:var(--font-weight-bold)}@media (max-width:768px){.habits-table-view{flex-direction:column;gap:var(--spacing-md)}.habits-table-view__main,.habits-table-view__sidebar{width:100%}.habits-table-view__container{display:none}.habits-table-view__mobile{display:block}}.habits-analytics-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-inset);display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:var(--spacing-md);position:relative;transition:box-shadow .3s ease}.habits-analytics-panel:hover{box-shadow:var(--glass-shadow-hover),inset 0 1px 0 var(--glass-inset)}.habits-analytics-panel__header{align-items:center;background:linear-gradient(90deg,#fd7f2c0d,#fd7f2c05 50%,#0000);border-bottom:1px solid var(--glass-border);display:flex;gap:var(--spacing-xs);margin:calc(var(--spacing-md)*-1) calc(var(--spacing-md)*-1) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.habits-analytics-panel__icon{color:var(--accent-blue);font-size:1rem}.habits-analytics-panel__title{color:var(--text-color-primary);font-size:.85rem;font-weight:var(--font-weight-bold);margin:0}.habits-analytics-panel__loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:1.2rem;justify-content:center;padding:var(--spacing-lg)}.habits-analytics-panel__table-container{flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto}.habits-analytics-panel__table-container::-webkit-scrollbar{height:6px;width:6px}.habits-analytics-panel__table-container::-webkit-scrollbar-track{background:var(--glass-hover);border-radius:3px}.habits-analytics-panel__table-container::-webkit-scrollbar-thumb{background:#fd7f2c80;border-radius:3px}.habits-analytics-panel__table-container::-webkit-scrollbar-thumb:hover{background:#fd7f2cb3}.habits-analytics-panel__table{border-collapse:collapse;table-layout:fixed;width:100%}.habits-analytics-panel__thead{background:linear-gradient(90deg,#fd7f2c14,#fd7f2c0a);border-bottom:2px solid #fd7f2c33}.habits-analytics-panel__th{color:var(--accent-blue);font-size:.7rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-xs);text-align:left;text-shadow:0 1px 2px #0000001a;text-transform:uppercase}.habits-analytics-panel__th--habit{width:40%}.habits-analytics-panel__th--count{text-align:center;width:20%}.habits-analytics-panel__th--progress{width:40%}.habits-analytics-panel__tr{border-bottom:1px solid var(--glass-hover);transition:background-color .3s ease}.habits-analytics-panel__tr:hover{background-color:var(--glass-hover)}.habits-analytics-panel__td{padding:var(--spacing-sm) var(--spacing-xs)}.habits-analytics-panel__habit-info{display:flex;flex-direction:column;gap:.15rem}.habits-analytics-panel__habit-name{word-wrap:break-word;color:var(--text-color-primary);font-size:.8rem;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;overflow-wrap:break-word}.habits-analytics-panel__category{border-radius:var(--border-radius-sm);box-shadow:0 2px 6px #00000026,inset 0 1px 0 var(--glass-inset);color:var(--white);font-size:.6rem;font-weight:600;padding:.3rem .6rem;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.habits-analytics-panel__td--count{text-align:center;vertical-align:middle}.habits-analytics-panel__count-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-color-primary) 0,var(--accent-blue) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-color-primary);font-size:.85rem;font-weight:700}.habits-analytics-panel__td--progress{vertical-align:middle}.habits-analytics-panel__progress-wrapper{align-items:center;display:flex;gap:var(--spacing-xs)}.habits-analytics-panel__progress-container{background:linear-gradient(90deg,#00000026,#00000014);border:1px solid #0000001a;border-radius:7px;box-shadow:inset 0 2px 4px #0000001a;flex:1 1;height:14px;overflow:hidden;position:relative}.habits-analytics-panel__progress-bar{animation:shimmer 2s infinite;background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);border-radius:8px;bottom:0;box-shadow:0 2px 12px #4caf5066,inset 0 1px 0 var(--glass-inset);height:100%;left:0;position:relative;right:0;top:0;transition:width .8s cubic-bezier(.4,0,.2,1)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.habits-analytics-panel__percentage{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,#ff9d5c 100%);-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:.75rem;font-weight:700;min-width:32px;text-align:right;text-shadow:0 2px 4px #fd7f2c33}@media (max-width:768px){.habits-analytics-panel{margin-top:var(--spacing-md);padding:var(--spacing-md)}.habits-analytics-panel__header{margin-bottom:var(--spacing-sm)}.habits-analytics-panel__title{font-size:.85rem}.habits-analytics-panel__th{font-size:.7rem;padding:var(--spacing-xs) .25rem}.habits-analytics-panel__th--habit{width:35%}.habits-analytics-panel__th--count{width:20%}.habits-analytics-panel__th--progress{width:45%}.habits-analytics-panel__td{padding:var(--spacing-sm) .25rem}.habits-analytics-panel__habit-name{font-size:.8rem}.habits-analytics-panel__category{font-size:.6rem;padding:.1rem .35rem}.habits-analytics-panel__count-value{font-size:.8rem}.habits-analytics-panel__progress-container{height:14px}.habits-analytics-panel__percentage{font-size:.75rem;min-width:32px}}@media (max-width:480px){.habits-analytics-panel{padding:var(--spacing-sm)}.habits-analytics-panel__title{font-size:.8rem}.habits-analytics-panel__icon{font-size:1rem}.habits-analytics-panel__th{font-size:.65rem}.habits-analytics-panel__count-value,.habits-analytics-panel__habit-name{font-size:.75rem}.habits-analytics-panel__progress-container{height:12px}.habits-analytics-panel__percentage{font-size:.7rem;min-width:28px}}@keyframes heatmapCellPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.habits-heatmap{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:var(--spacing-md);transition:box-shadow .3s ease}.habits-heatmap:hover{box-shadow:var(--glass-shadow-hover)}.habits-heatmap__header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-md)}.habits-heatmap__title{color:var(--text-color-primary);font-size:1rem;font-weight:var(--font-weight-bold);margin:0}.habits-heatmap__legend{align-items:center;display:flex;gap:var(--spacing-xs)}.habits-heatmap__legend-label{color:var(--text-color-secondary);font-size:.7rem}.habits-heatmap__legend-scale{display:flex;gap:2px}.habits-heatmap__container{flex:1 1;overflow-x:auto;overflow-y:auto;padding:2px;width:100%}.habits-heatmap::-webkit-scrollbar{height:6px;width:6px}.habits-heatmap::-webkit-scrollbar-track{background:var(--glass-hover);border-radius:3px}.habits-heatmap::-webkit-scrollbar-thumb{background:#fd7f2c80;border-radius:3px}.habits-heatmap::-webkit-scrollbar-thumb:hover{background:#fd7f2cb3}.habits-heatmap__months{display:flex;gap:1px;margin-bottom:2px;padding-left:0;width:100%}.habits-heatmap__month-label{color:var(--text-color-secondary);flex:0.5 1;font-size:.65rem;font-weight:var(--font-weight-bold);min-width:0;text-align:left}.habits-heatmap__grid{display:flex;gap:1px;width:100%}.habits-heatmap__week{display:flex;flex:0.5 1;flex-direction:column;gap:1px;min-width:0}.habits-heatmap__cell{animation:heatmapCellPop .3s cubic-bezier(.22,1,.36,1) both;aspect-ratio:1;border:1px solid var(--glass-border);border-radius:2px;cursor:pointer;transition:all .2s ease;width:100%}.habits-heatmap__cell:hover{border-color:var(--accent-blue);box-shadow:0 0 8px #fd7f2c80;transform:scale(1.2);z-index:10}.habits-heatmap__cell--level-0{background:var(--glass-hover)}.habits-heatmap__cell--level-1{background:#fd7f2c33}.habits-heatmap__cell--level-2{background:#fd7f2c66}.habits-heatmap__cell--level-3{background:#fd7f2cb3}.habits-heatmap__cell--level-4{background:#fd7f2c;box-shadow:0 0 4px #fd7f2c66}@media (max-width:768px){.habits-heatmap{padding:var(--spacing-md)}.habits-heatmap__header{align-items:flex-start;flex-direction:column}.habits-heatmap__cell{min-width:8px}.habits-heatmap__month-label{font-size:.6rem}}.habits-streak-chart{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:50%;overflow:hidden;overflow-y:auto;padding:var(--spacing-md);transition:box-shadow .3s ease}.habits-streak-chart:hover{box-shadow:var(--glass-shadow-hover)}.habits-streak-chart__header{align-items:center;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;padding-bottom:var(--spacing-sm)}.habits-streak-chart__title{color:var(--text-color-primary);font-size:1rem;font-weight:var(--font-weight-bold);margin:0}.habits-streak-chart__selector{display:flex;flex-direction:column;gap:var(--spacing-xs)}.habits-streak-chart__selector-label{color:var(--text-color-secondary);font-size:.8rem;font-weight:var(--font-weight-bold);margin:0}.habits-streak-chart__habits-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.habits-streak-chart__habit-btn{align-items:center;background:var(--glass-hover);border:1.5px solid var(--glass-border);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.75rem;font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:4px 10px;transition:all .2s ease}.habits-streak-chart__habit-btn:hover{background:var(--glass-bg-to);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.habits-streak-chart__habit-btn--active{background:var(--glass-bg-from);border-width:2px}.habits-streak-chart__habit-color{border-radius:50%;flex-shrink:0;height:8px;width:8px}.habits-streak-chart__chart-container{align-items:center;display:flex;justify-content:center;min-height:250px;width:100%}.habits-streak-chart__empty,.habits-streak-chart__loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.9rem;justify-content:center;min-height:200px}.habits-streak-chart__tooltip{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:0 4px 12px #0003;padding:var(--spacing-sm)}.habits-streak-chart__tooltip-label{color:var(--text-color-primary);font-size:.8rem;font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-xs) 0}.habits-streak-chart__tooltip p{font-size:.75rem;margin:2px 0}@media (max-width:768px){.habits-streak-chart{padding:var(--spacing-sm)}.habits-streak-chart__chart-container{min-height:200px}.habits-streak-chart__habit-btn{font-size:.7rem;padding:3px 8px}}@keyframes statsCardSlideIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.habits-stats-cards{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-sm)}.habits-stats-cards__card{align-items:center;animation:statsCardSlideIn .5s cubic-bezier(.22,1,.36,1) both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-inset);display:flex;gap:10px;padding:10px 12px;transition:all .3s cubic-bezier(.22,1,.36,1)}.habits-stats-cards__card:first-child{animation-delay:.05s}.habits-stats-cards__card:nth-child(2){animation-delay:.12s}.habits-stats-cards__card:nth-child(3){animation-delay:.19s}.habits-stats-cards__card:hover{box-shadow:var(--glass-shadow-hover),inset 0 1px 0 var(--glass-inset);transform:translateY(-2px)}.habits-stats-cards__icon{align-items:center;background:var(--glass-hover);border-radius:var(--border-radius-sm);display:flex;flex-shrink:0;font-size:1rem;height:34px;justify-content:center;width:34px}.habits-stats-cards__content{display:flex;flex:1 1;flex-direction:column;gap:1px}.habits-stats-cards__label{color:var(--text-color-secondary);font-size:.65rem;font-weight:var(--font-weight-medium);letter-spacing:.4px;line-height:1.2;text-transform:uppercase}.habits-stats-cards__value{align-items:baseline;color:var(--text-color-primary);display:flex;font-size:1.2rem;font-weight:var(--font-weight-bold);gap:3px;line-height:1}.habits-stats-cards__unit{color:var(--text-color-secondary);font-size:.7rem;font-weight:var(--font-weight-medium)}.habits-stats-cards__subtitle{color:var(--text-color-secondary);font-size:.6rem;margin-top:0}@media (max-width:1024px){.habits-stats-cards{gap:6px;grid-template-columns:repeat(3,1fr)}.habits-stats-cards__card{padding:8px 10px}.habits-stats-cards__icon{font-size:.9rem;height:30px;width:30px}.habits-stats-cards__value{font-size:1.1rem}}@media (max-width:768px){.habits-stats-cards{grid-template-columns:repeat(3,1fr)}.habits-stats-cards__card{padding:8px 10px}.habits-stats-cards__icon{font-size:.9rem;height:30px;width:30px}.habits-stats-cards__value{font-size:1.1rem}}.habits-completion-chart{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:50%;overflow:hidden;overflow-y:auto;padding:var(--spacing-md);transition:box-shadow .3s ease}.habits-completion-chart:hover{box-shadow:var(--glass-shadow-hover)}.habits-completion-chart__header{align-items:flex-start;border-bottom:1px solid var(--glass-border);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between;padding-bottom:var(--spacing-sm)}.habits-completion-chart__title{color:var(--text-color-primary);font-size:1rem;font-weight:var(--font-weight-bold);margin:0}.habits-completion-chart__legend{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.habits-completion-chart__legend-item{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.7rem;gap:4px}.habits-completion-chart__legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.habits-completion-chart__chart-container{align-items:center;display:flex;justify-content:center;min-height:280px;width:100%}.habits-completion-chart__empty,.habits-completion-chart__loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.9rem;justify-content:center;min-height:250px}.habits-completion-chart__tooltip{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:var(--border-radius-md);box-shadow:0 4px 12px #0003;padding:var(--spacing-sm)}.habits-completion-chart__tooltip-label{color:var(--text-color-primary);font-size:.85rem;font-weight:var(--font-weight-bold);margin:0 0 4px}.habits-completion-chart__tooltip-value{color:var(--accent-blue);font-size:.95rem;font-weight:var(--font-weight-bold);margin:0 0 2px}.habits-completion-chart__tooltip-details{color:var(--text-color-secondary);font-size:.75rem;margin:0}.habits-completion-chart__summary{border-top:1px solid var(--glass-border);padding-top:var(--spacing-sm)}.habits-completion-chart__summary-text{color:var(--text-color-secondary);font-size:.85rem;margin:0;text-align:center}.habits-completion-chart__summary-text strong{color:var(--text-color-primary);font-weight:var(--font-weight-bold)}@media (max-width:1024px){.habits-completion-chart__legend{gap:var(--spacing-sm)}.habits-completion-chart__legend-item{font-size:.65rem}}@media (max-width:768px){.habits-completion-chart{padding:var(--spacing-sm)}.habits-completion-chart__header{align-items:flex-start;flex-direction:column}.habits-completion-chart__legend{justify-content:space-between;width:100%}.habits-completion-chart__chart-container{min-height:240px}}.habits-table-layout{display:flex;flex-direction:column;gap:var(--spacing-lg)}.habits-table-layout__top{animation:bentoFadeUp .5s cubic-bezier(.22,1,.36,1) both;width:100%}.habits-table-layout__bento{grid-gap:var(--spacing-lg);align-items:stretch;display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr 1fr 1fr}.habits-table-layout__col{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:850px;min-width:0}.habits-table-layout__col--table{animation:bentoFadeUp .6s cubic-bezier(.22,1,.36,1) .1s both}.habits-table-layout__col--charts{animation:bentoFadeUp .6s cubic-bezier(.22,1,.36,1) .2s both}.habits-table-layout__col--analytics{animation:bentoFadeUp .6s cubic-bezier(.22,1,.36,1) .3s both}.habits-table-layout__col>*{animation:bentoFadeIn .5s cubic-bezier(.22,1,.36,1) both}.habits-table-layout__col>:first-child{animation-delay:.15s}.habits-table-layout__col>:nth-child(2){animation-delay:.3s}.habits-table-layout__col>:nth-child(3){animation-delay:.45s}@media (max-width:1400px){.habits-table-layout__bento{grid-template-columns:1fr 1fr 1fr}.habits-table-layout__col--table{grid-column:1/-1}}@media (max-width:768px){.habits-table-layout__bento{grid-template-columns:1fr}.habits-table-layout__col{height:auto;max-height:-webkit-fit-content;max-height:fit-content;min-height:none}}@keyframes bentoFadeUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bentoFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.habits-cards-view{display:flex;flex-direction:column;gap:var(--spacing-lg)}.habits-cards-view__top{animation:bentoFadeUp .5s cubic-bezier(.22,1,.36,1) both;width:100%}.habits-cards-view__bento{grid-gap:var(--spacing-lg);align-items:stretch;display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr 1fr}.habits-cards-view__col{border-radius:1rem;display:flex;flex-direction:column;gap:var(--spacing-md);max-height:850px;min-width:0;overflow:hidden}.habits-cards-view__col--cards{animation:bentoFadeUp .6s cubic-bezier(.22,1,.36,1) .1s both}.habits-cards-view__col--charts{animation:bentoFadeUp .6s cubic-bezier(.22,1,.36,1) .2s both}.habits-cards-view__col--analytics{animation:bentoFadeUp .6s cubic-bezier(.22,1,.36,1) .3s both}.habits-cards-view__col>*{animation:bentoFadeIn .5s cubic-bezier(.22,1,.36,1) both}.habits-cards-view__col>:first-child{animation-delay:.15s}.habits-cards-view__col>:nth-child(2){animation-delay:.3s}.habits-cards-view__col>:nth-child(3){animation-delay:.45s}@media (max-width:1400px){.habits-cards-view__bento{grid-template-columns:1fr 1fr}.habits-cards-view__col--cards{grid-column:1/-1}}@media (max-width:768px){.habits-cards-view__bento{grid-template-columns:1fr}.habits-cards-view__col--cards{grid-column:auto}}.habits-cards-view__grid{grid-gap:var(--spacing-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--glass-bg-from) 0,var(--glass-bg-to) 100%);border:1px solid var(--glass-border-strong);border-radius:.8rem;box-shadow:var(--glass-shadow);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:850px;overflow-y:auto;padding:1rem}@keyframes habitCardAppear{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.habits-cards-view__card{animation:habitCardAppear .5s cubic-bezier(.22,1,.36,1) both;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);transition:all .3s cubic-bezier(.22,1,.36,1)}.habits-cards-view__card:first-child{animation-delay:.05s}.habits-cards-view__card:nth-child(2){animation-delay:.1s}.habits-cards-view__card:nth-child(3){animation-delay:.15s}.habits-cards-view__card:nth-child(4){animation-delay:.2s}.habits-cards-view__card:nth-child(5){animation-delay:.25s}.habits-cards-view__card:nth-child(6){animation-delay:.3s}.habits-cards-view__card:nth-child(n+7){animation-delay:.35s}.habits-cards-view__card:hover{border-color:var(--accent-blue);box-shadow:0 8px 20px #fd7f2c26;transform:translateY(-4px)}.habits-cards-view__card--completed{background:#4caf500d;border-color:var(--accent-green);opacity:.65}.habits-cards-view__card--completed:hover{border-color:var(--accent-green);box-shadow:0 4px 12px #4caf5026}.habits-cards-view__card-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:space-between;padding-bottom:var(--spacing-sm)}.habits-cards-view__card-title{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.habits-cards-view__habit-name{color:var(--text-color-primary);font-size:1.1rem;font-weight:var(--font-weight-bold);margin:0}.habits-cards-view__category{border-radius:var(--border-radius-sm);color:var(--white);font-size:.75rem;font-weight:var(--font-weight-bold);padding:var(--spacing-xs) var(--spacing-sm);width:-webkit-fit-content;width:fit-content}.habits-cards-view__btn-complete{align-items:center;background:#4caf501a;border:1.5px solid var(--accent-green);border-radius:var(--border-radius-md);color:var(--accent-green);cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;min-width:40px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.habits-cards-view__btn-complete:hover{background:#4caf5033;transform:scale(1.05)}.habits-cards-view__btn-complete--checked,.habits-cards-view__btn-complete:active{background:var(--accent-green);color:var(--white)}.habits-cards-view__btn-complete--checked{border-color:var(--accent-green)}.habits-cards-view__btn-complete--checked:hover{background:#4caf50e6;transform:scale(1.05)}.habits-cards-view__card-footer{align-items:center;display:flex;justify-content:space-between;padding-top:var(--spacing-sm)}.habits-cards-view__streak{align-items:center;display:flex;gap:var(--spacing-sm)}.habits-cards-view__streak-label{color:var(--text-color-secondary);font-size:.85rem;font-weight:var(--font-weight-bold)}.habits-cards-view__streak-count{color:var(--accent-blue);font-size:1rem;font-weight:var(--font-weight-bold)}.habits-cards-view__actions{display:flex;gap:var(--spacing-sm)}.habits-cards-view__btn-delete,.habits-cards-view__btn-edit{background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:1rem;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.habits-cards-view__btn-edit:hover{background:var(--accent-blue-low-opacity);color:var(--accent-blue)}.habits-cards-view__btn-delete:hover{background:var(--danger-red-low-opacity);color:var(--danger-red)}.habits-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.habits-section__header{margin-bottom:var(--spacing-md)}.habits-section__title{border-bottom:2px solid var(--accent-orange);color:var(--text-color-primary);font-size:1.5rem;font-weight:600;margin:0;padding-bottom:var(--spacing-sm)}.habits-section__loading{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-color-secondary);display:flex;gap:var(--spacing-md);justify-content:center;min-height:300px}.habits-section__spinner{animation:habits-section-spin 1s linear infinite;font-size:1.5rem}@keyframes habits-section-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.habits-section__error{background:var(--danger-red-low-opacity);border:1px solid var(--danger-red);border-radius:var(--border-radius-lg);color:var(--danger-red)}.habits-section__empty,.habits-section__error{align-items:center;display:flex;justify-content:center;min-height:300px}.habits-section__empty{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg)}.habits-section__empty-text{color:var(--text-color-secondary);font-size:1rem;margin:0}.habits-page{background:var(--main-bg);box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:100vh;min-height:100dvh;overflow-y:auto;padding:var(--spacing-md);width:100%}.habits-page>section:not(:first-child){margin-top:var(--spacing-lg)}.calendar-grid-container{background-color:var(--card-bg);border-radius:5px;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.calendar-grid-container .week-days-header{background-color:var(--main-bg);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:repeat(7,1fr)}.calendar-grid-container .week-day-name{color:var(--text-color-secondary);font-size:.85rem;font-weight:700;padding:var(--spacing-sm);text-align:center;text-transform:uppercase}.calendar-grid-container .days-grid{display:grid;flex-grow:1;grid-template-columns:repeat(7,minmax(0,1fr));overflow-y:auto}.calendar-grid-container .calendar-day-cell{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;min-height:120px;overflow:hidden;padding:var(--spacing-xs);transition:background-color .2s}.calendar-grid-container .calendar-day-cell:hover{background-color:var(--hover-bg)}.calendar-grid-container .calendar-day-cell.other-month{background-color:var(--main-bg);color:var(--text-color-secondary);opacity:.6}.calendar-grid-container .calendar-day-cell.today{background-color:var(--hover-bgs)}.calendar-grid-container .day-number{align-items:center;border-radius:50%;display:flex;font-size:.9rem;font-weight:700;height:28px;justify-content:center;margin-bottom:var(--spacing-xs);width:28px}.calendar-grid-container .calendar-day-cell.today .day-number{background-color:var(--accent-blue);color:var(--white)}.calendar-grid-container .day-events{display:flex;flex-direction:column;gap:2px;max-height:100px;overflow-y:auto}.calendar-grid-container .event-item{align-items:center;border-radius:5px;color:var(--white);cursor:pointer;display:flex;font-size:.75rem;gap:4px;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.calendar-grid-container .event-item.completed{background-color:var(--text-color-secondary)!important;cursor:default;opacity:.4;text-decoration:line-through}.calendar-grid-container .event-time{font-size:.7rem;font-weight:700;opacity:.9}.calendar-grid-container .event-item.holiday-event{background-color:initial;cursor:default;font-size:.7rem;font-weight:600;opacity:.85;padding:1px 4px}.day-view{border-radius:5px;box-shadow:var(--box-shadow-sm);flex:1 1;flex-direction:column;overflow:hidden}.day-view,.day-view .dv-allday-row{background-color:var(--card-bg);display:flex}.day-view .dv-allday-row{align-items:flex-start;border-bottom:1px solid var(--border-color);flex-shrink:0;gap:0;padding:6px 0}.day-view .dv-allday-label{color:var(--text-color-secondary);flex-shrink:0;font-size:.72rem;font-weight:500;padding-right:12px;padding-top:2px;text-align:right;width:60px}.day-view .dv-allday-events{display:flex;flex:1 1;flex-wrap:wrap;gap:4px;padding-right:12px}.day-view .dv-allday-event{border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;opacity:1;padding:3px 8px;transition:opacity .15s}.day-view .dv-allday-event:hover{opacity:.85}.day-view .dv-allday-event.completed{opacity:.5;text-decoration:line-through}.day-view .dv-grid-scroll{flex:1 1;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin}.day-view .dv-grid{display:flex;position:relative}.day-view .dv-hours-col{border-right:1px solid var(--border-color);flex-shrink:0;position:relative;width:60px}.day-view .dv-hour-label{align-items:flex-start;color:var(--text-color-secondary);display:flex;font-size:.72rem;justify-content:flex-end;padding-top:4px;position:absolute;right:8px;user-select:none;-webkit-user-select:none}.day-view .dv-events-col{cursor:pointer;flex:1 1;position:relative}.day-view .dv-half-line,.day-view .dv-hour-line{background-color:var(--border-color);height:1px;left:0;position:absolute;right:0}.day-view .dv-half-line{border-top:1px dashed var(--border-color);opacity:.4}.day-view .dv-now-line{background-color:#ef4444;height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:5}.day-view .dv-now-dot{background-color:#ef4444;border-radius:50%;height:10px;left:-4px;position:absolute;top:-4px;width:10px}.day-view .dv-event{border-left:3px solid #00000040;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.8rem;gap:1px;left:6px;overflow:hidden;padding:3px 7px;position:absolute;right:6px;transition:opacity .15s,transform .1s;z-index:2}.day-view .dv-event:hover{opacity:.9;transform:translateX(1px)}.day-view .dv-event.completed{opacity:.45;text-decoration:line-through}.day-view .dv-event-time{font-size:.7rem;font-weight:600;opacity:.9;white-space:nowrap}.day-view .dv-event-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-view{border-radius:5px;box-shadow:var(--box-shadow-sm);flex:1 1;flex-direction:column;overflow:hidden}.week-view,.week-view .wv-headers{background-color:var(--card-bg);display:flex}.week-view .wv-headers{border-bottom:1px solid var(--border-color);flex-shrink:0}.week-view .wv-corner{border-right:1px solid var(--border-color);flex-shrink:0;width:60px}.week-view .wv-day-header{align-items:center;border-right:1px solid var(--border-color);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:8px 4px;transition:background .15s}.week-view .wv-day-header:last-child{border-right:none}.week-view .wv-day-header:hover{background-color:var(--hover-bg)}.week-view .wv-day-header.today{background-color:#3b82f60f}.week-view .wv-day-name{color:var(--text-color-secondary);font-size:.72rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.week-view .wv-day-num{align-items:center;border-radius:50%;color:var(--text-color-primary);display:flex;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;width:32px}.week-view .wv-day-num.today{background-color:var(--accent-blue);color:#fff}.week-view .wv-allday-row{border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;min-height:28px}.week-view .wv-allday-corner{align-items:center;border-right:1px solid var(--border-color);color:var(--text-color-secondary);display:flex;flex-shrink:0;font-size:.65rem;justify-content:flex-end;padding:4px 6px 4px 0;text-align:right;width:60px}.week-view .wv-allday-cell{border-right:1px solid var(--border-color);display:flex;flex:1 1;flex-direction:column;gap:2px;padding:2px}.week-view .wv-allday-cell:last-child{border-right:none}.week-view .wv-allday-event{border-radius:3px;color:#fff;cursor:pointer;font-size:.72rem;font-weight:500;overflow:hidden;padding:1px 5px;text-overflow:ellipsis;transition:opacity .15s;white-space:nowrap}.week-view .wv-allday-event:hover{opacity:.85}.week-view .wv-allday-event.completed{opacity:.45;text-decoration:line-through}.week-view .wv-grid-scroll{flex:1 1;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin}.week-view .wv-grid{display:flex;position:relative}.week-view .wv-hours-col{border-right:1px solid var(--border-color);flex-shrink:0;position:relative;width:60px}.week-view .wv-hour-label{align-items:flex-start;color:var(--text-color-secondary);display:flex;font-size:.7rem;justify-content:flex-end;padding-top:4px;position:absolute;right:8px;user-select:none;-webkit-user-select:none}.week-view .wv-day-col{border-right:1px solid var(--border-color);cursor:pointer;flex:1 1;position:relative}.week-view .wv-day-col:last-child{border-right:none}.week-view .wv-day-col.today{background-color:#3b82f608}.week-view .wv-half-line,.week-view .wv-hour-line{background-color:var(--border-color);height:1px;left:0;pointer-events:none;position:absolute;right:0}.week-view .wv-half-line{border-top:1px dashed var(--border-color);opacity:.35}.week-view .wv-now-line{background-color:#ef4444;height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:5}.week-view .wv-now-dot{background-color:#ef4444;border-radius:50%;height:10px;left:-4px;position:absolute;top:-4px;width:10px}.week-view .wv-event{border-left:3px solid #00000040;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.72rem;gap:0;overflow:hidden;padding:2px 4px;position:absolute;transition:opacity .15s,transform .1s;z-index:2}.week-view .wv-event:hover{opacity:.9;transform:translateX(1px);z-index:3}.week-view .wv-event.completed{opacity:.4;text-decoration:line-through}.week-view .wv-event-time{font-size:.65rem;font-weight:600;line-height:1.2;opacity:.9;white-space:nowrap}.week-view .wv-event-title{font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-filters{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:var(--box-shadow-sm);margin-bottom:var(--spacing-md);overflow:hidden}.calendar-filters.collapsed .cf-content{display:none}.cf-toggle-btn{align-items:center;background:none;border:none;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 14px;transition:background-color .15s;width:100%}.cf-toggle-btn:hover{background-color:var(--hover-bg)}.cf-toggle-label{flex:1 1;text-align:left}.cf-toggle-chevron{color:var(--text-color-secondary);font-size:.7rem}.cf-content{gap:var(--spacing-md);padding:0 14px 14px}.cf-content,.cf-section{display:flex;flex-direction:column}.cf-section{gap:6px}.cf-section-title{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.75rem;font-weight:700;gap:6px;letter-spacing:.4px;margin-bottom:2px;text-transform:uppercase}.cf-bell-icon{color:var(--accent-blue);font-size:.7rem}.cf-checkbox-row{align-items:center;border-radius:4px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:4px 6px;transition:background-color .12s}.cf-checkbox-row:hover{background-color:var(--hover-bg)}.cf-checkbox-row input[type=checkbox]{accent-color:var(--accent-blue);cursor:pointer;flex-shrink:0;height:14px;width:14px}.cf-color-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.cf-cat-icon{flex-shrink:0;font-size:.78rem;text-align:center;width:14px}.cf-cat-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-reminders-list{display:flex;flex-direction:column;gap:6px}.cf-reminder-item{align-items:center;animation:cfReminderPulse 2s ease-in-out infinite alternate;background-color:var(--main-bg);border-radius:4px;display:flex;gap:8px;padding:6px 8px}@keyframes cfReminderPulse{0%{box-shadow:none}to{box-shadow:0 0 6px #3b82f626}}.cf-reminder-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.cf-reminder-info{display:flex;flex-direction:column;min-width:0}.cf-reminder-title{color:var(--text-color-primary);font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-reminder-date{color:var(--accent-blue);font-size:.72rem;font-weight:500}@media (max-width:768px){.calendar-filters{margin-bottom:var(--spacing-sm)}.cf-content{padding:0 10px 10px}}.event-view-modal{overflow:hidden;padding:0}.event-view-modal .evm-header{align-items:flex-start;color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.event-view-modal .evm-type-label{font-size:.65rem;font-weight:700;letter-spacing:.5px;margin-bottom:2px;opacity:.9;text-transform:uppercase}.event-view-modal .evm-title{font-size:1.3rem;font-weight:700;line-height:1.1;margin:0}.event-view-modal .evm-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .15s;width:28px}.event-view-modal .evm-close-btn:hover{background:#ffffff59}.event-view-modal .evm-body{max-height:45vh;overflow-y:auto;padding:14px 16px}.event-view-modal .evm-meta{color:var(--text-color-secondary);display:flex;flex-wrap:wrap;font-size:.88rem;gap:12px;margin-bottom:12px}.event-view-modal .evm-meta-item{align-items:center;display:flex;gap:6px}.event-view-modal .evm-meta-item span{font-weight:500}.event-view-modal .evm-description{background-color:var(--main-bg);border-left:3px solid #0000;border-radius:6px;margin-bottom:10px;padding:10px 12px}.event-view-modal .evm-desc-text{color:var(--text-color-primary);font-size:.85rem;line-height:1.4;margin:0;white-space:pre-wrap}.event-view-modal .evm-no-desc{color:var(--text-color-secondary);font-size:.82rem;font-style:italic;margin-bottom:10px}.event-view-modal .evm-badge-completed{align-items:center;background-color:#10b9811a;border-radius:6px;color:#10b981;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;padding:6px 10px}.event-view-modal .evm-actions{align-items:center;background-color:var(--main-bg);border-top:1px solid var(--border-color);display:flex;gap:8px;padding:10px 16px}.event-view-modal .evm-delete-btn{background:#0000;border:1px solid var(--danger-red);border-radius:5px;color:var(--danger-red);cursor:pointer;font-size:.85rem;margin-right:auto;padding:6px 10px;transition:background .15s,color .15s}.event-view-modal .evm-delete-btn:hover{background:var(--danger-red);color:#fff}.event-view-modal .evm-task-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:5px;color:var(--accent-blue);cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:6px 10px;transition:background .15s}.event-view-modal .evm-task-btn:hover{background:var(--hover-bg)}.event-view-modal .evm-edit-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.85rem;justify-content:center;padding:6px 10px;transition:background .15s}.event-view-modal .evm-edit-btn:hover{background:var(--hover-bg)}.event-view-modal .evm-complete-btn{align-items:center;background-color:#10b981;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 14px;transition:opacity .15s}.event-view-modal .evm-complete-btn:hover{opacity:.85}.event-edit-modal{overflow:hidden;padding:0}.event-edit-modal .eem-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.event-edit-modal .eem-title{font-size:1.2rem;font-weight:700;margin:0}.event-edit-modal .eem-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .15s;width:28px}.event-edit-modal .eem-close-btn:hover{background:#ffffff59}.event-edit-modal .eem-form{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow-y:auto;padding:14px 16px}.event-edit-modal .eem-group{display:flex;flex-direction:column;gap:4px}.event-edit-modal .eem-label{color:var(--text-color-secondary);font-size:.8rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.event-edit-modal .eem-input,.event-edit-modal .eem-select,.event-edit-modal .eem-textarea{background:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-color-primary);font-size:.88rem;padding:7px 10px;transition:border-color .15s;width:100%}.event-edit-modal .eem-input:focus,.event-edit-modal .eem-select:focus,.event-edit-modal .eem-textarea:focus{border-color:var(--accent-blue);outline:none}.event-edit-modal .eem-input:disabled{cursor:not-allowed;opacity:.4}.event-edit-modal .eem-textarea{line-height:1.4;resize:vertical}.event-edit-modal .eem-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.event-edit-modal .eem-row-item{display:flex;flex-direction:column;gap:4px}.event-edit-modal .eem-inline-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.event-edit-modal .eem-checkbox-label{color:var(--text-color-primary);cursor:pointer;font-size:.88rem}.event-edit-modal .eem-checkbox-label,.event-edit-modal .eem-color-wrap{align-items:center;display:flex;gap:8px}.event-edit-modal .eem-color{background:#0000;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;height:28px;padding:2px;width:32px}.event-edit-modal .eem-footer{background-color:var(--main-bg);border-top:1px solid var(--border-color);display:flex;gap:8px;justify-content:flex-end;padding:10px 16px}.event-edit-modal .eem-btn-cancel{background:#0000;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.88rem;padding:7px 16px;transition:background .15s}.event-edit-modal .eem-btn-cancel:hover{background:var(--hover-bg)}.event-edit-modal .eem-btn-save{background:var(--accent-blue);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:7px 16px;transition:opacity .15s}.event-edit-modal .eem-btn-save:hover{opacity:.85}.event-edit-modal .eem-btn-save:disabled{cursor:not-allowed;opacity:.5}.calendar-page-container{display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0 auto;max-width:1600px;padding:var(--spacing-lg)}.calendar-body{display:flex;flex:1 1;gap:var(--spacing-md);min-height:0}.calendar-sidebar{flex-shrink:0;width:240px}.calendar-main{flex:1 1;min-width:0}.calendar-header{align-items:center;background-color:var(--card-bg);border-radius:5px;box-shadow:var(--box-shadow-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.calendar-controls{align-items:center;display:flex;gap:var(--spacing-md)}.calendar-nav-btn{background:none;border:none;border-radius:50%;color:var(--text-color-primary);cursor:pointer;font-size:1.2rem;padding:var(--spacing-sm);transition:background-color .2s}.calendar-nav-btn:hover{background-color:var(--hover-bg)}.current-date-display{color:var(--heading-color);font-size:1.5rem;font-weight:700;min-width:200px;text-align:center}.view-select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;font-size:.9rem;font-weight:500;outline:none;padding:6px 12px;transition:border-color .2s}.view-select:focus,.view-select:hover{border-color:var(--accent-blue)}.view-btn{background:none;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-weight:500;padding:6px 12px;transition:all .2s}.view-btn.active{background-color:var(--card-bg);box-shadow:var(--box-shadow-sm);color:var(--accent-blue)}.add-event-btn{align-items:center;background-color:var(--accent-blue);border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:var(--spacing-sm);padding:.75rem 1.5rem;transition:background-color .2s}.add-event-btn:hover{background-color:var(--accent-blue-hover)}.calendar-header-actions{align-items:center;display:flex;gap:.75rem}.switch-page-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s}.switch-page-btn:hover{background-color:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.event-modal-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.event-modal-content{background-color:var(--card-bg);border-radius:5px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-lg);width:90%}.event-view-details{margin-bottom:var(--spacing-lg)}.event-view-row{align-items:center;color:var(--text-color-primary);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.event-view-icon{color:var(--text-color-secondary);text-align:center;width:20px}.event-view-description{background-color:var(--bg-color);border-radius:5px;margin-top:var(--spacing-md);padding:var(--spacing-md);white-space:pre-wrap}.modal-actions-bar{border-top:1px solid var(--border-color);justify-content:space-between;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.action-btn,.modal-actions-bar{align-items:center;display:flex}.action-btn{background:none;border:none;border-radius:5px;cursor:pointer;font-weight:500;gap:6px;padding:8px;transition:all .2s}.action-btn.delete{color:var(--danger-red)}.action-btn.delete:hover{background-color:#ef44441a}.action-btn.edit{color:var(--text-color-secondary)}.action-btn.edit:hover{background-color:var(--hover-bg);color:var(--accent-blue)}.action-btn.complete{background-color:#10b981;color:#fff;padding:8px 16px}.action-btn.complete:hover{background-color:#059669}.action-btn.task-link{background-color:var(--accent-blue);color:#fff;padding:8px 16px}.event-form-group{margin-bottom:10px}.event-form-group label{color:var(--text-color-secondary);display:block;font-size:.85rem;font-weight:500;margin-bottom:4px}.event-form-group input,.event-form-group select,.event-form-group textarea{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);font-size:.9rem;padding:8px;width:100%}.event-form-row{display:flex;gap:12px}.event-form-row .event-form-group{flex:1 1}@media (max-width:768px){.calendar-page-container{height:auto;padding:var(--spacing-sm)}.calendar-header{flex-wrap:wrap;gap:8px;padding:var(--spacing-sm)}.current-date-display{font-size:1rem;min-width:140px}.calendar-body{flex-direction:column}.calendar-sidebar{width:100%}}.courses-header-container{margin-bottom:var(--spacing-xl)}.courses-header-container .courses-header-left,.courses-header-container .courses-header-section{margin-bottom:var(--spacing-lg)}.courses-header-container .courses-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-dark) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-color-primary);font-size:2rem;font-weight:800;margin:0 0 var(--spacing-sm) 0}.courses-header-container .courses-header-left p{color:var(--text-color-secondary);font-size:1rem;margin:0}.courses-header-container .courses-header-controls{grid-gap:var(--spacing-md);align-items:center;display:grid;gap:var(--spacing-md);grid-template-columns:1fr auto auto auto}.courses-header-container .search-bar{position:relative;width:100%}.courses-header-container .search-bar input{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);font-size:.95rem;padding:.75rem 2.5rem .75rem 3rem;transition:all .2s;width:-webkit-fill-available}.courses-header-container .search-bar input:focus{border-color:var(--accent-blue);outline:none}.courses-header-container .search-bar .search-icon{pointer-events:none}.courses-header-container .search-bar .clear-icon,.courses-header-container .search-bar .search-icon{color:var(--text-color-secondary);position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%)}.courses-header-container .search-bar .clear-icon{cursor:pointer;transition:color .2s}.courses-header-container .search-bar .clear-icon:hover{color:var(--accent-blue)}.courses-header-container .filter-select{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;font-size:.95rem;min-width:200px;padding:.75rem var(--spacing-lg);transition:all .2s;white-space:nowrap}.courses-header-container .filter-select:focus{border-color:var(--accent-blue);outline:none}.courses-header-container .courses-header-button{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:var(--spacing-sm);padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap}.courses-header-container .courses-header-add-button{background-color:var(--accent-blue);color:var(--card-bg)}.courses-header-container .courses-header-add-button:hover{background-color:var(--accent-blue-dark);transform:translateY(-1px)}.courses-header-container .courses-header-manage-button{background-color:var(--main-bg);color:var(--text-color-primary);padding:.75rem var(--spacing-md)}.courses-header-container .courses-header-manage-button:hover{background-color:var(--hover-bg);transform:translateY(-1px)}@media (max-width:1024px){.courses-header-container .courses-header-controls{grid-template-columns:1fr}.courses-header-container .filter-select{width:100%}.courses-header-container .courses-header-button{justify-content:center;width:100%}}@media (max-width:768px){.courses-header-container .courses-header-left{text-align:center}.courses-header-container .courses-header-left h1{font-size:1.5rem}.courses-header-container .courses-header-left p{font-size:.9rem}}.courses-list-area{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:var(--spacing-sm) 0}.courses-list-area.loading-state{align-items:center;color:var(--accent-blue);display:flex;justify-content:center;min-height:300px}.courses-list-area .error-message{background:var(--card-bg);border:2px solid var(--danger-red);border-radius:var(--border-radius-md);color:var(--danger-red);font-weight:var(--font-weight-bold);grid-column:1/-1;padding:var(--spacing-xl);text-align:center}.courses-list-area .empty-message{background:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);grid-column:1/-1;padding:3rem;text-align:center}.courses-list-area .empty-message svg{color:var(--text-color-secondary);font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.courses-list-area .empty-message p{font-size:1.1rem;margin:0}@media (max-width:768px){.courses-list-area{gap:var(--spacing-md);grid-template-columns:1fr}}.course-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.course-card:before{background:linear-gradient(90deg,var(--accent-blue),#f97316);content:"";height:4px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.course-card:hover{border-color:var(--accent-blue);box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.course-card:hover:before{transform:scaleX(1)}.course-card .card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.course-card .card-title{color:var(--text-color-primary);flex:1 1;font-size:1.1rem;font-weight:700;line-height:1.4;margin:0}.course-card .language-badge{border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;padding:.4rem .8rem;white-space:nowrap}.course-card .card-meta{color:var(--text-color-secondary);display:flex;flex-direction:column;font-size:.85rem;gap:.5rem}.course-card .card-meta .meta-item{align-items:center;display:flex;gap:.5rem}.course-card .card-meta .meta-item svg{color:var(--accent-blue);font-size:.9rem}@media (max-width:768px){.course-card{padding:1.25rem}.course-card .card-title{font-size:1rem}.course-card .language-badge{font-size:.7rem;padding:.3rem .6rem}}.language-management-modal-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.language-management-modal-overlay .language-management-modal-content{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 8px 24px var(--overlay-bg);display:flex;flex-direction:column;max-height:85vh;max-width:600px;width:100%}.language-management-modal-overlay .language-management-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px}.language-management-modal-overlay .language-management-modal-header h2{color:var(--text-color-primary);font-size:1.5rem;font-weight:var(--font-weight-bold);margin:0}.language-management-modal-overlay .language-management-modal-close{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.language-management-modal-overlay .language-management-modal-close:hover{background-color:var(--hover-bg);color:var(--text-color-primary)}.language-management-modal-overlay .language-management-modal-body{flex:1 1;overflow-y:auto;padding:24px}.language-management-modal-overlay .language-management-add-section{margin-bottom:24px}.language-management-modal-overlay .language-management-add-button{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:var(--card-bg);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:var(--spacing-sm);justify-content:center;padding:12px 20px;transition:all .2s ease;width:100%}.language-management-modal-overlay .language-management-add-button:hover:not(:disabled){background-color:var(--accent-blue-dark);transform:translateY(-1px)}.language-management-modal-overlay .language-management-add-button:disabled{cursor:not-allowed;opacity:.5}.language-management-modal-overlay .language-management-form{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.language-management-modal-overlay .language-management-form-inline{align-items:center;display:flex;gap:12px;width:100%}.language-management-modal-overlay .language-management-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:1rem;padding:12px;transition:all .2s ease}.language-management-modal-overlay .language-management-form-inline .language-management-input{flex:1 1}.language-management-modal-overlay .language-management-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-low-opacity);outline:none}.language-management-modal-overlay .language-management-input:disabled{cursor:not-allowed;opacity:.5}.language-management-modal-overlay .language-management-color-picker{align-items:center;display:flex;gap:12px}.language-management-modal-overlay .language-management-color-picker label{color:var(--text-color-secondary);font-size:.95rem;font-weight:500}.language-management-modal-overlay .language-management-color-picker input[type=color]{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:40px;transition:all .2s ease;width:50px}.language-management-modal-overlay .language-management-color-input{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;flex-shrink:0;height:44px;transition:all .2s ease;width:50px}.language-management-modal-overlay .language-management-color-input:hover:not(:disabled){border-color:var(--accent-blue)}.language-management-modal-overlay .language-management-color-input:disabled{cursor:not-allowed;opacity:.5}.language-management-modal-overlay .language-management-color-picker input[type=color]:hover:not(:disabled){border-color:var(--accent-blue)}.language-management-modal-overlay .language-management-color-picker input[type=color]:disabled{cursor:not-allowed;opacity:.5}.language-management-modal-overlay .language-management-color-value{color:var(--text-color-secondary);font-family:monospace;font-size:.9rem}.language-management-modal-overlay .language-management-form-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.language-management-modal-overlay .language-management-cancel-button,.language-management-modal-overlay .language-management-save-button{align-items:center;border:none;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.language-management-modal-overlay .language-management-save-button{background-color:var(--accent-green);color:var(--card-bg)}.language-management-modal-overlay .language-management-save-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.language-management-modal-overlay .language-management-cancel-button{background-color:var(--text-color-secondary);color:var(--card-bg)}.language-management-modal-overlay .language-management-cancel-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.language-management-modal-overlay .language-management-cancel-button:disabled,.language-management-modal-overlay .language-management-save-button:disabled{cursor:not-allowed;opacity:.5}.language-management-modal-overlay .language-management-list{display:flex;flex-direction:column;gap:12px}.language-management-modal-overlay .language-management-empty,.language-management-modal-overlay .language-management-loading{color:var(--text-color-secondary);font-size:1rem;padding:32px;text-align:center}.language-management-modal-overlay .language-management-item{align-items:center;background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;padding:var(--spacing-md);transition:all .2s ease}.language-management-modal-overlay .language-management-item:hover{border-color:var(--accent-blue);box-shadow:0 2px 8px var(--accent-blue-low-opacity)}.language-management-modal-overlay .language-management-item-info{align-items:center;display:flex;flex:1 1;gap:12px}.language-management-modal-overlay .language-management-item-color{border:2px solid var(--border-color);border-radius:var(--border-radius-sm);flex-shrink:0;height:24px;width:24px}.language-management-modal-overlay .language-management-item-name{color:var(--text-color-primary);font-size:1rem;font-weight:500}.language-management-modal-overlay .language-management-item-actions{display:flex;gap:var(--spacing-sm)}.language-management-modal-overlay .language-management-delete-button,.language-management-modal-overlay .language-management-edit-button{align-items:center;border:none;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:.9rem;justify-content:center;padding:var(--spacing-sm) 12px;transition:all .2s ease}.language-management-modal-overlay .language-management-edit-button{background-color:var(--accent-blue);color:var(--card-bg)}.language-management-modal-overlay .language-management-edit-button:hover:not(:disabled){background-color:var(--accent-blue-dark);transform:translateY(-1px)}.language-management-modal-overlay .language-management-delete-button{background-color:var(--danger-red);color:var(--card-bg)}.language-management-modal-overlay .language-management-delete-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.language-management-modal-overlay .language-management-delete-button:disabled,.language-management-modal-overlay .language-management-edit-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.language-management-modal-overlay .language-management-modal-content{max-height:90vh;max-width:100%}.language-management-modal-overlay .language-management-modal-body,.language-management-modal-overlay .language-management-modal-header{padding:20px}.language-management-modal-overlay .language-management-form-actions{flex-direction:column}.language-management-modal-overlay .language-management-item{align-items:flex-start;flex-direction:column;gap:12px}.language-management-modal-overlay .language-management-item-actions{justify-content:flex-end;width:100%}}.courses-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:var(--spacing-xl)}.courses-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:.75rem 1.25rem;transition:all .2s ease}.courses-page-container .back-button:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateX(-4px)}.courses-page-container .back-button svg{font-size:1rem}@media (max-width:768px){.courses-page-container{padding:var(--spacing-md)}}.course-detail-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:1.5rem}.course-detail-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.4rem;margin-bottom:1rem;padding:.6rem 1rem;transition:all .2s ease}.course-detail-page-container .back-button:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.course-detail-page-container .course-detail-header{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;overflow:hidden;padding:1.5rem;position:relative}.course-detail-page-container .course-detail-header:before{background:linear-gradient(90deg,var(--accent-blue),#f97316);content:"";height:4px;left:0;position:absolute;top:0;width:100%}.course-detail-page-container .header-top{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1rem}.course-detail-page-container .header-content h1{color:var(--text-color-primary);font-size:1.75rem;font-weight:800;margin:0 0 .5rem}.course-detail-page-container .language-badge{border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;white-space:nowrap}.course-detail-page-container .header-actions{display:flex;gap:.75rem}.course-detail-page-container .btn-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.6rem 1rem;transition:all .2s}.course-detail-page-container .btn-pdf{background:#ef4444;color:#fff}.course-detail-page-container .btn-pdf:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.course-detail-page-container .btn-edit{background:var(--accent-blue);color:#fff}.course-detail-page-container .btn-edit:hover{background:var(--accent-blue-dark)}.course-detail-page-container .btn-delete{background:#0000;border:2px solid var(--danger-red);color:var(--danger-red)}.course-detail-page-container .btn-delete:hover{background:var(--danger-red);color:#fff}.course-detail-page-container .header-meta{color:var(--text-color-secondary);display:flex;font-size:.9rem;gap:2rem}.course-detail-page-container .meta-item{align-items:center;display:flex;gap:.5rem}.course-detail-page-container .meta-item svg{color:var(--accent-blue)}.course-detail-page-container .course-intro-section{background:#f59e0b0d;border-left:4px solid var(--accent-blue);border-radius:8px;color:var(--text-color-primary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;padding:1.25rem}.course-detail-page-container .course-content-section{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;overflow-x:auto;padding:1.5rem}.course-detail-page-container .section-title{align-items:center;color:var(--text-color-primary);display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin-bottom:1.5rem}.course-detail-page-container .section-title svg{color:var(--accent-blue)}.course-detail-page-container .course-table{background:var(--card-bg);border-collapse:collapse;table-layout:fixed;width:100%}.course-detail-page-container .course-table thead{background:linear-gradient(135deg,#f59e0b26,#f9731626)}.course-detail-page-container .course-conclusion-section{background:#f59e0b08;border-color:#f59e0b;margin-top:2rem}.course-detail-page-container .course-conclusion-section .section-title svg{color:#f59e0b}.course-detail-page-container .conclusion-content{background-color:#f59e0b14;border-left:4px solid #f59e0b;border-radius:8px;color:var(--text-color-primary);font-size:1rem;line-height:1.6;padding:1.25rem;white-space:pre-wrap}.course-detail-page-container .course-table th{border-bottom:2px solid var(--border-color);color:var(--text-color-primary);font-weight:700;padding:.8rem 1rem;text-align:left;white-space:nowrap}.course-detail-page-container .course-table th:first-child{width:10%}.course-detail-page-container .course-table th:nth-child(2){width:17%}.course-detail-page-container .course-table th:nth-child(3){width:18%}.course-detail-page-container .course-table th:nth-child(4){width:23%}.course-detail-page-container .course-table th:nth-child(5){width:34%}.course-detail-page-container .course-table td{border-bottom:1px solid var(--border-color);color:var(--text-color-primary);padding:.8rem 1rem;vertical-align:top;word-break:break-word}.course-detail-page-container .course-table tbody tr:hover{background:var(--hover-bg)}.course-detail-page-container .course-table pre{background:#0000000d;border-radius:6px;color:var(--text-color-primary);font-size:.85rem;line-height:1.5;margin:0;overflow-x:auto;padding:.75rem;white-space:pre-wrap;word-break:break-word}.course-detail-page-container .empty-content{color:var(--text-color-secondary);padding:3rem;text-align:center}.course-detail-page-container .empty-content svg{font-size:3rem;margin-bottom:1rem;opacity:.5}.course-detail-page-container.pdf-export-mode{padding:.5rem}.course-detail-page-container.pdf-export-mode .course-detail-header{margin-bottom:1rem;padding:1rem}.course-detail-page-container.pdf-export-mode .header-content h1{font-size:1.5rem;margin-bottom:.25rem}.course-detail-page-container.pdf-export-mode .header-meta{font-size:.8rem;gap:1rem}.course-detail-page-container.pdf-export-mode .course-intro-section{font-size:.85rem;line-height:1.4;margin-bottom:1rem;padding:.75rem}.course-detail-page-container.pdf-export-mode .course-content-section{padding:1rem}.course-detail-page-container.pdf-export-mode .section-title{font-size:1.2rem;margin-bottom:.75rem}.course-detail-page-container.pdf-export-mode .course-table td,.course-detail-page-container.pdf-export-mode .course-table th{font-size:.75rem;padding:.5rem}.course-detail-page-container.pdf-export-mode .course-table pre{font-size:.7rem;line-height:1.3;padding:.4rem}.course-detail-page-container.pdf-export-mode .language-badge{font-size:.75rem;padding:.3rem .6rem}.course-detail-page-container .loading-state{align-items:center;color:var(--accent-blue);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:300px}@media (max-width:1024px){.course-detail-page-container .header-top{flex-direction:column}.course-detail-page-container .header-actions{width:100%}.course-detail-page-container .btn-action{flex:1 1;justify-content:center;width:-webkit-fill-available}}@media (max-width:768px){.course-detail-page-container{padding:1rem}.course-detail-page-container .course-detail-header{padding:1.5rem}.course-detail-page-container .header-content h1{font-size:1.5rem}.course-detail-page-container .header-meta{flex-direction:column;gap:.75rem}.course-detail-page-container .course-content-section{padding:1rem}.course-detail-page-container .course-table{display:block;overflow-x:auto}.course-detail-page-container .course-table thead{display:none}.course-detail-page-container .course-table tbody,.course-detail-page-container .course-table td,.course-detail-page-container .course-table tr{display:block;width:100%}.course-detail-page-container .course-table tr{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.course-detail-page-container .course-table td{border:none;padding:.5rem 0}.course-detail-page-container .course-table td:before{color:var(--accent-blue);content:attr(data-label);display:block;font-weight:700;margin-bottom:.25rem}}.course-form-container{margin:0 auto;max-width:1700px;padding:var(--spacing-xl)}.course-form-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:.75rem 1.25rem;transition:all .2s ease}.course-form-container .back-button:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateX(-4px)}.course-form-container .back-button svg{font-size:1rem}.course-form-container .course-form-header{margin-bottom:var(--spacing-xl)}.course-form-container .course-form-header h1{color:var(--text-color-primary);font-size:2rem;font-weight:700;margin:0}.course-form-container .course-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.course-form-container .course-form-section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl)}.course-form-container .course-form-section h2{color:var(--text-color-primary);font-size:1.5rem;font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.course-form-container .course-form-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.course-form-container .course-form-section-header h2{margin:0}.course-form-container .course-form-group{margin-bottom:var(--spacing-lg)}.course-form-container .course-form-group label{color:var(--text-color-primary);display:block;font-size:.95rem;font-weight:500;margin-bottom:var(--spacing-sm)}.course-form-container .course-form-row{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-lg)}.course-form-container .course-form-input,.course-form-container .course-form-select,.course-form-container .course-form-textarea{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.course-form-container .course-form-input:focus,.course-form-container .course-form-select:focus,.course-form-container .course-form-textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-low-opacity);outline:none}.course-form-container .course-form-textarea{font-family:inherit;min-height:80px;resize:vertical}.course-form-container .course-form-select{cursor:pointer}.course-form-container .course-form-color-picker{align-items:center;display:flex;gap:var(--spacing-md)}.course-form-container .course-form-color-input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;height:40px;width:60px}.course-form-container .course-form-color-value{color:var(--text-color-secondary);font-family:monospace;font-size:.9rem}.course-form-container .course-form-add-row-button{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:var(--card-bg);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:var(--spacing-sm);padding:.75rem 1.25rem;transition:all .2s ease}.course-form-container .course-form-add-row-button:hover{background-color:var(--accent-blue-dark);transform:translateY(-1px)}.course-form-container .course-form-empty{background-color:var(--main-bg);border:2px dashed var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);font-size:1rem;padding:3rem;text-align:center}.course-form-container .course-form-rows{display:flex;flex-direction:column;gap:var(--spacing-lg)}.course-form-container .course-form-row-item{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);transition:all .2s ease}.course-form-container .course-form-row-item:hover{border-color:var(--accent-blue);box-shadow:0 2px 8px var(--accent-blue-low-opacity)}.course-form-container .course-form-row-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:.75rem}.course-form-container .course-form-row-controls{align-items:center;display:flex;gap:var(--spacing-sm)}.course-form-container .course-form-row-move-button{align-items:center;background-color:var(--card-bg);border:none;border-radius:6px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.8rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.course-form-container .course-form-row-move-button:hover:not(:disabled){background-color:var(--hover-bg)}.course-form-container .course-form-row-move-button:disabled{cursor:not-allowed;opacity:.3}.course-form-container .course-form-row-grip{color:var(--text-color-secondary);font-size:1rem;margin-left:.25rem}.course-form-container .course-form-row-number{color:var(--text-color-primary);font-size:.9rem;font-weight:var(--font-weight-bold)}.course-form-container .course-form-row-delete-button{align-items:center;background-color:var(--danger-red);border:none;border-radius:6px;color:var(--card-bg);cursor:pointer;display:flex;font-size:.9rem;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.course-form-container .course-form-row-delete-button:hover{opacity:.9;transform:translateY(-1px)}.course-form-container .course-form-row-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.course-form-container .course-form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-md)}.course-form-container .course-form-cancel-button,.course-form-container .course-form-submit-button{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:var(--spacing-sm);padding:.75rem 2rem;transition:all .2s ease}.course-form-container .course-form-cancel-button{background-color:var(--main-bg);color:var(--text-color-primary)}.course-form-container .course-form-cancel-button:hover:not(:disabled){background-color:var(--hover-bg)}.course-form-container .course-form-submit-button{background-color:var(--accent-green);color:var(--card-bg)}.course-form-container .course-form-submit-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.course-form-container .course-form-cancel-button:disabled,.course-form-container .course-form-submit-button:disabled{cursor:not-allowed;opacity:.5}.course-form-container .course-form-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;min-height:400px}.course-form-container .spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-blue);height:48px;width:48px}.course-form-container .button-spinner{animation:spin .8s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--card-bg);height:16px;width:16px}@media (max-width:768px){.course-form-container{padding:var(--spacing-md)}.course-form-container .course-form-section{padding:var(--spacing-lg)}.course-form-container .course-form-row{grid-template-columns:1fr}.course-form-container .course-form-section-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.course-form-container .course-form-add-row-button{justify-content:center;width:100%}.course-form-container .course-form-actions{flex-direction:column}.course-form-container .course-form-cancel-button,.course-form-container .course-form-submit-button{justify-content:center;width:100%}.course-form-container .course-form-row-header{align-items:flex-start;flex-direction:column;gap:.75rem}}.fitness-hero-section{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:12px;box-shadow:0 4px 15px #0003;color:#fff;display:flex;height:200px;justify-content:center;margin-bottom:var(--spacing-lg);overflow:hidden;position:relative;text-align:center;width:100%}.fitness-hero-section:before{background:#0006;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero-content{max-width:700px;padding:var(--spacing-md);position:relative;z-index:2}.hero-content h1{font-size:1.8rem;font-weight:700;margin-bottom:var(--spacing-sm);text-shadow:2px 2px 4px #00000080}.hero-content p{font-size:1rem;line-height:1.4;margin-bottom:0;text-shadow:1px 1px 3px #0006}@media (max-width:768px){.fitness-hero-section{border-radius:8px;height:160px;margin-bottom:var(--spacing-md)}.hero-content h1{font-size:1.5rem}.hero-content p{font-size:.9rem}}@media (max-width:480px){.fitness-hero-section{height:140px}.hero-content h1{font-size:1.3rem}.hero-content p{font-size:.85rem}}.modal-overlay{background-color:#000000b3}.modal-content.exercise-modal{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 5px 15px #00000080;color:var(--text-color-primary);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.modal-header .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.5rem;transition:color .2s}.modal-header .close-btn:hover{color:var(--danger-red)}.exercise-modal .modal-body{flex-grow:1;padding:var(--spacing-lg)}.exercise-modal .form-group{margin-bottom:var(--spacing-md)}.exercise-modal label{display:block;font-size:.95rem;font-weight:600;margin-bottom:5px}.exercise-modal input[type=text],.exercise-modal select,.exercise-modal textarea{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-sizing:border-box;color:var(--text-color-primary);font-size:1rem;padding:10px;width:100%}.exercise-modal .modal-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding:var(--spacing-lg)}.exercise-modal .btn-cancel{background:none;border:1px solid var(--text-color-secondary);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;padding:10px 20px;transition:background-color .2s}.exercise-modal .btn-cancel:hover{background-color:var(--hover-bg)}.exercise-modal .btn-primary{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:opacity .2s}.exercise-modal .btn-primary:hover{opacity:.9}.exercise-modal .image-upload-group{border:1px dashed var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;padding:var(--spacing-md);position:relative;text-align:center}.exercise-modal .file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.exercise-modal .image-preview{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-sm)}.exercise-modal .image-preview img{border:1px solid var(--border-color);border-radius:var(--border-radius-md);max-height:150px;max-width:100%;object-fit:contain}.exercise-modal .btn-remove-image{align-items:center;background:none;border:none;color:var(--danger-red);cursor:pointer;display:flex;font-size:.9rem;gap:5px;margin-top:5px;padding:0}.exercise-modal .no-image-text{color:var(--text-color-secondary);font-style:italic;margin:0;padding:10px}.fitness-dashboard .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding:0 var(--spacing-xl)}.fitness-dashboard .section-header h2{color:var(--heading-color);font-size:1.8rem;margin:0}.fitness-dashboard .section-header .btn-add-group{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 15px;transition:opacity .2s}.fitness-dashboard .section-header .btn-add-group:hover{opacity:.9}.fitness-dashboard .muscle-slider-wrapper{position:relative}.fitness-dashboard .muscle-group-slider{-ms-overflow-style:none;display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:10px 0;scroll-behavior:smooth;scrollbar-width:none;white-space:nowrap}.fitness-dashboard .muscle-group-slider::-webkit-scrollbar{display:none}.fitness-dashboard .slider-nav-btn{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;box-shadow:var(--shadow-small);color:var(--text-color-primary);cursor:pointer;height:40px;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s,color .2s;width:40px;z-index:100}.fitness-dashboard .slider-nav-btn:hover{background-color:var(--hover-bg);color:var(--accent-blue)}.fitness-dashboard .slider-nav-btn.left-btn{left:var(--spacing-md)}.fitness-dashboard .slider-nav-btn.right-btn{right:var(--spacing-md)}@media (max-width:991px){.fitness-dashboard .slider-nav-btn{display:none}.fitness-dashboard .muscle-slider-wrapper{padding:0}}.muscle-group-circle{align-items:center;border-radius:50%;box-shadow:0 4px 10px #0003;display:flex;flex-shrink:0;height:120px;justify-content:center;margin-bottom:25px;transition:transform .2s ease;width:120px}.muscle-group-circle:hover{box-shadow:0 6px 15px #0000004d;transform:scale(1.05)}.muscle-group-circle .circle-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.muscle-group-circle .group-image-circle{border-radius:50%;height:100%;object-fit:cover;width:100%}.muscle-group-circle .group-icon-circle{color:#fff;font-size:3rem}.muscle-group-circle .group-name-label{bottom:-25px;color:var(--text-color-primary);font-size:.9rem;font-weight:500;left:50%;position:absolute;text-align:center;transform:translateX(-50%);white-space:nowrap}.muscle-group-circle{position:relative}.muscle-group-circle .group-action-buttons{background-color:#000000b3;border-radius:15px;display:flex;gap:10px;left:50%;padding:10px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1000}.muscle-group-circle:hover .circle-content .group-icon-circle,.muscle-group-circle:hover .circle-content .group-image-circle{opacity:.2}.muscle-group-circle .btn-group-action{align-items:center;background-color:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;cursor:pointer;display:flex;font-size:.8rem;height:30px;justify-content:center;padding:0;transition:background-color .2s,color .2s;width:30px}.muscle-group-circle .btn-group-action.btn-edit{color:var(--accent-blue)}.muscle-group-circle .btn-group-action.btn-delete{color:var(--danger-red)}.muscle-group-circle .btn-group-action:hover{background-color:var(--hover-bg)}.muscle-group-circle:hover .group-name-label{opacity:0}@media (max-width:768px){.fitness-dashboard .section-header{display:flex;flex-direction:column;gap:5px;justify-content:space-between;margin:auto;text-align:center}.fitness-dashboard .section-header h2{color:var(--heading-color);display:flex;flex-direction:column;font-size:1.5rem;justify-content:center;margin:0;text-align:center}.fitness-dashboard .section-header h2 svg{display:none}.muscle-group-circle{height:100px;width:100px}}:root{--level-0-color:#2c2c2c;--level-1-color:#0d4a2a;--level-2-color:#007634;--level-3-color:#27ad42;--level-4-color:#3fdd58}.fitness-page{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:var(--spacing-xl)}.fitness-page .page-header{margin-bottom:var(--spacing-lg);text-align:center}.fitness-page .page-header h1{align-items:center;color:var(--heading-color);display:flex;font-size:2rem;justify-content:center;margin-bottom:.5rem}.fitness-page .page-header h1 .fa-dumbbell{color:var(--accent-blue);margin-right:var(--spacing-sm)}.fitness-page .page-header p{color:var(--text-color-secondary);font-size:.95rem;margin:0 auto;max-width:650px}@media (max-width:768px){.fitness-page{padding:var(--spacing-lg)}.fitness-page .page-header{margin-bottom:var(--spacing-md)}.fitness-page .page-header h1{flex-direction:column;font-size:1.6rem;gap:.5rem;margin:1rem 0}.fitness-page .page-header p{font-size:.9rem}}.exercises-list-page .fitness-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:40px}.exercises-list-page .fitness-card-overlay{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);cursor:pointer;height:280px;overflow:hidden;position:relative;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.exercises-list-page .fitness-card-overlay:hover{box-shadow:0 8px 15px #0000004d;transform:translateY(-5px)}.exercises-list-page .card-no-image-fallback,.exercises-list-page .exercise-card-bg-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .4s ease-in-out;width:100%;z-index:10}.exercises-list-page .fitness-card-overlay:hover .exercise-card-bg-image{transform:scale(1.05)}.exercises-list-page .card-no-image-fallback{align-items:center;background-color:var(--sidebar-bg);display:flex;justify-content:center}.exercises-list-page .card-icon-fallback{color:var(--accent-blue);font-size:4rem}.exercises-list-page .card-overlay-content{display:flex;flex-direction:column;height:100%;justify-content:flex-end;left:0;position:absolute;top:0;width:100%;z-index:20}.exercises-list-page .card-overlay-content:before{background:linear-gradient(180deg,#0000 0,#0006 50%,#000c);content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:21}.exercises-list-page .card-text-bottom{align-items:flex-start;display:flex;flex-direction:column;gap:6px;padding:15px;position:relative;text-align:left;z-index:22}.exercises-list-page .card-text-bottom .card-title-overlay{color:#fff;font-size:1.3rem;font-weight:800;line-height:1.2;margin:0;order:2;text-shadow:1px 1px 3px #000000b3}.exercises-list-page .card-text-bottom .muscle-group-tag-overlay{border-radius:4px;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;order:1;padding:3px 8px}.exercises-list-page .card-action-buttons{display:flex;flex-direction:column;gap:8px;opacity:0;position:absolute;right:10px;top:10px;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:30}.exercises-list-page .fitness-card-overlay:hover .card-action-buttons{opacity:1;visibility:visible}.exercises-list-page .btn-action{align-items:center;background-color:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;cursor:pointer;display:flex;font-size:.9rem;height:35px;justify-content:center;transition:background-color .2s,color .2s;width:35px}.exercises-list-page .btn-action.btn-edit{color:var(--accent-blue)}.exercises-list-page .btn-action.btn-delete{color:var(--danger-red)}.exercises-list-page .btn-action:hover{background-color:var(--hover-bg)}.exercises-list-page .dashboard-section{margin-bottom:var(--spacing-xxl);padding:var(--spacing-xl) 0}.exercises-list-page .section-header.exercises-header-layout{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.exercises-list-page .exercises-header-layout .header-text{flex-grow:1;margin-right:20px}.exercises-list-page .exercises-header-layout h2{align-items:center;color:var(--heading-color);display:flex;font-size:1.8rem;gap:10px;margin:0}.exercises-list-page .exercises-header-layout p{color:var(--text-color-secondary);font-size:.9rem;margin:5px 0 0}.exercises-list-page .btn-view-all{align-items:center;background-color:var(--accent-blue);border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:10px;padding:10px 15px;transition:background-color .2s;white-space:nowrap}.exercises-list-page .btn-view-all:hover{opacity:.9}.exercises-list-page .btn-add-group{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 15px;transition:opacity .2s}.exercises-list-page .btn-add-group:hover{opacity:.9}.exercises-list-page .content-state{color:var(--text-color-secondary);font-size:1.1rem;padding:50px;text-align:center}.exercises-list-page .loading-state .fa-spinner{color:var(--accent-blue);margin-bottom:20px}.exercises-list-page.full-list-page .page-header{padding-left:var(--spacing-xxl);position:relative}.exercises-list-page.full-list-page .back-button{background:none;border:none;color:var(--text-color-primary);cursor:pointer;font-size:1.5rem;left:var(--spacing-lg);position:absolute;top:50%;transform:translateY(-50%);transition:color .2s}@media (max-width:768px){.exercises-list-page .fitness-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:0}.exercises-list-page.full-list-page .page-header{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;margin:1rem auto}.exercises-list-page .dashboard-section{padding:var(--spacing-md) 0}.exercises-list-page .section-header.exercises-header-layout{align-items:flex-start;flex-direction:column;padding:0;text-align:center}.exercises-list-page .exercises-header-layout .btn-view-all{justify-content:center;margin-top:10px;width:100%}.exercises-list-page .exercises-header-layout .header-text{margin-right:0;width:100%}.exercises-list-page .exercises-header-layout h2{display:flex;flex-direction:column;font-size:1.5rem;justify-content:center;text-align:center}.exercises-list-page .exercises-header-layout h2 svg{display:none}}@media (max-width:480px){.exercises-list-page .fitness-grid{grid-template-columns:repeat(auto-fill,minmax(40%,1fr))}.exercises-list-page.full-list-page .back-button{top:0}.exercises-list-page .card-text-bottom .card-title-overlay{font-size:1rem}}.exercises-list-page.full-list-page .page-header{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.exercises-list-page .header-top-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.exercises-list-page .page-header h1{flex-grow:1;text-align:center}.exercises-list-page .control-filter-row{align-items:center;display:flex;gap:var(--spacing-md);justify-content:center}.exercises-list-page .search-bar{flex-grow:1;max-width:400px;position:relative}.exercises-list-page .search-icon{color:var(--text-color-secondary);font-size:.9rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.exercises-list-page .search-bar input[type=text]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-sizing:border-box;color:var(--text-color-primary);padding:10px 10px 10px 40px;transition:border-color .2s;width:100%}.exercises-list-page .search-bar input[type=text]:focus{border-color:var(--accent-blue);outline:none}.exercises-list-page .clear-search-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;padding:0;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:color .2s}.exercises-list-page .clear-search-btn:hover{color:var(--danger-red)}.exercises-list-page .filter-item{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;height:40px;width:250px}.exercises-list-page .filter-item .filter-icon{color:var(--text-color-secondary);flex-shrink:0;font-size:.9rem;margin-left:var(--spacing-md)}.exercises-list-page .filter-item .category-select{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:var(--text-color-primary);cursor:pointer;flex-grow:1;font-size:.95rem;height:100%;outline:none;padding:0 10px}.exercises-list-page .page-header .btn-view-all{flex-shrink:0;font-weight:600}@media (max-width:991px){.exercises-list-page .page-header{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.exercises-list-page .control-filter-row{align-items:stretch;flex-direction:column;margin-top:var(--spacing-md);width:100%}.exercises-list-page .filter-item,.exercises-list-page .search-bar{max-width:none;width:100%}.btnHeadexercices{display:flex;flex-direction:column;width:100%}.exercises-list-page .btn-view-all,.exercises-list-page .filter-item{width:100%!important}}.panel-overlay{background-color:#0006;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;visibility:hidden;width:100%;z-index:5000}.panel-overlay.is-open{opacity:1;visibility:visible}.session-details-panel{background-color:var(--card-bg);box-shadow:-4px 0 20px #0000004d;color:var(--text-color-primary);display:flex;flex-direction:column;height:100vh;max-width:450px;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:100%}.panel-overlay.is-open .session-details-panel{transform:translateX(0)}.session-details-panel .panel-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.session-details-panel .panel-header h2{color:var(--heading-color);font-size:1.3rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-details-panel .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.3rem;transition:color .2s}.session-details-panel .close-btn:hover{color:var(--danger-red)}.session-details-panel .panel-body{flex-grow:1;overflow-y:auto;padding:var(--spacing-lg)}.session-details-panel .session-log-card{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.session-details-panel .session-log-card h3{color:var(--heading-color);font-size:1.1rem;margin-bottom:var(--spacing-sm);margin-top:0;padding-bottom:5px}.session-details-panel .details-group p{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;gap:10px;margin:5px 0}.session-details-panel .detail-item-groups-label{align-items:flex-start!important;flex-direction:column}.session-details-panel .group-tags-container{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.session-details-panel .group-tag{border-radius:4px;color:#fff;font-size:.8rem;font-weight:500;padding:3px 8px;white-space:nowrap}.session-details-panel .no-group-tag{color:var(--danger-red);font-size:.9rem;font-style:italic;font-weight:400}.session-details-panel .detail-item-notes{border-top:1px dashed var(--border-color);margin-top:var(--spacing-md);padding-top:var(--spacing-sm)}.session-details-panel .notes-content{background-color:var(--hover-bg);border-radius:var(--border-radius-sm);font-size:.9rem;padding:var(--spacing-sm);white-space:pre-wrap}.session-details-panel .feeling-1{color:var(--danger-red)}.session-details-panel .feeling-2{color:#ff9800}.session-details-panel .feeling-3{color:var(--text-color-secondary)}.session-details-panel .feeling-4{color:#27ad42}.session-details-panel .feeling-5{color:var(--accent-blue)}.session-details-panel .panel-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:flex-end;padding:var(--spacing-lg)}.session-details-panel .btn-cancel{background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:opacity .2s}.session-details-panel .btn-cancel:hover{opacity:.9}@media (max-width:480px){.session-details-panel{max-width:90%}}:root{--github-level-0:#ebedf0;--github-level-1:#9be9a8;--github-level-2:#40c463;--github-level-3:#30a14e;--github-level-4:#216e39;--github-level-0-dark:#161b22;--github-level-1-dark:#0e4429;--github-level-2-dark:#006d32;--github-level-3-dark:#26a641;--github-level-4-dark:#39d353}.session-calendar-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000000f;color:var(--text-color-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:.75rem;margin:0;overflow:hidden;padding:1.5rem;position:relative}.session-calendar-container .calendar-year-navigation{align-items:center;background:linear-gradient(135deg,#40c4630d,#30a14e0d);border:1px solid #40c4631a;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.session-calendar-container .year-nav-button{align-items:center;background-color:initial;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;transition:all .15s ease;width:32px}.session-calendar-container .year-nav-button:hover:not(:disabled){background-color:#40c463;border-color:#40c463;color:#fff}.session-calendar-container .year-nav-button:active:not(:disabled){background-color:#30a14e;border-color:#30a14e}.session-calendar-container .year-nav-button:disabled{cursor:not-allowed;opacity:.3}.session-calendar-container .year-selector{align-items:center;display:flex;gap:.5rem}.session-calendar-container .year-dropdown{background-color:initial;border:none;color:var(--text-color-primary);cursor:pointer;font-size:1rem;font-weight:700;min-width:70px;padding:.25rem .5rem;text-align:center;transition:color .15s ease}.session-calendar-container .year-dropdown:hover{color:#30a14e}.session-calendar-container .year-dropdown:focus{color:#30a14e;outline:none}.session-calendar-container .calendar-grid{grid-gap:0;display:grid;gap:0;overflow-x:auto;padding-bottom:.5rem}.session-calendar-container .calendar-days-columns{display:flex;position:relative}.session-calendar-container .day-name-column{display:flex;flex-direction:column;flex-shrink:0;padding-right:.5rem;position:relative}.session-calendar-container .day-name-vertical{color:var(--text-color-secondary);font-size:.625rem;font-weight:400;height:11px;letter-spacing:.02em;line-height:11px;margin-bottom:2px;padding-right:.375rem;text-align:right}.session-calendar-container .empty-day-name-vertical{visibility:hidden}.session-calendar-container .empty-corner-top{height:16px;margin-bottom:.25rem}.session-calendar-container .calendar-scrollable-container{flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden;position:relative}.session-calendar-container .calendar-scrollable-container::-webkit-scrollbar{height:10px}.session-calendar-container .calendar-scrollable-container::-webkit-scrollbar-track{background:var(--hover-bg);border-radius:5px;margin:0 .5rem}.session-calendar-container .calendar-scrollable-container::-webkit-scrollbar-thumb{background:#40c463;border:2px solid var(--card-bg);border-radius:5px}.session-calendar-container .calendar-scrollable-container::-webkit-scrollbar-thumb:hover{background:#30a14e}.session-calendar-container .calendar-cells-container{grid-gap:2px;display:grid;gap:2px;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);margin-top:.25rem;padding-bottom:.375rem;position:relative}.session-calendar-container .calendar-cell{background-color:#ebedf0;background-color:var(--github-level-0);border:1px solid #1b1f230f;border-radius:2px;cursor:pointer;flex-shrink:0;height:11px;position:relative;transition:all .1s ease;width:11px}.session-calendar-container .calendar-cell:hover{border-color:#1b1f2326;outline:1px solid #1b1f2326;outline-offset:0}.session-calendar-container .calendar-cell.empty{visibility:hidden}.session-calendar-container .calendar-separators{height:calc(100% - 20px);left:0;pointer-events:none;position:absolute;top:20px;width:100%;z-index:1}.session-calendar-container .month-separator{background:#1b1f230f;height:100%;pointer-events:none;position:absolute;width:1px;z-index:1}.session-calendar-container .calendar-cell.level-0{background-color:#ebedf0;background-color:var(--github-level-0)}.session-calendar-container .calendar-cell.level-1{background-color:#9be9a8;background-color:var(--github-level-1)}.session-calendar-container .calendar-cell.level-2{background-color:#40c463;background-color:var(--github-level-2)}.session-calendar-container .calendar-cell.level-3{background-color:#30a14e;background-color:var(--github-level-3)}.session-calendar-container .calendar-cell.level-4{background-color:#216e39;background-color:var(--github-level-4)}.session-calendar-container .calendar-cell.level-1:hover{background-color:#7bc96f}.session-calendar-container .calendar-cell.level-2:hover{background-color:#239a3b}.session-calendar-container .calendar-cell.level-3:hover{background-color:#196127}.session-calendar-container .calendar-cell.level-4:hover{background-color:#0e4429}.session-calendar-container .calendar-months-labels{display:block;height:16px;margin-bottom:.5rem;margin-top:0;overflow:visible;position:relative}.session-calendar-container .calendar-months-labels .month-label{background-color:initial;border-radius:0;box-shadow:none;color:var(--text-color-secondary);font-size:.625rem;font-weight:400;letter-spacing:.01em;padding:0;position:absolute;text-align:left;text-transform:capitalize;top:0;white-space:nowrap;z-index:2}.session-calendar-container .calendar-legend{align-items:center;border-top:1px solid var(--border-color);color:var(--text-color-secondary);display:flex;font-size:.625rem;gap:.25rem;justify-content:flex-end;margin-top:1rem;padding-top:.75rem}.session-calendar-container .calendar-legend span{margin:0 .25rem}.session-calendar-container .calendar-legend .level-0{background-color:#ebedf0;background-color:var(--github-level-0);border:1px solid #1b1f230f;border-radius:2px;height:11px;width:11px}.session-calendar-container .calendar-legend .level-1{background-color:#9be9a8;background-color:var(--github-level-1);border:1px solid #1b1f230f;border-radius:2px;height:11px;width:11px}.session-calendar-container .calendar-legend .level-2{background-color:#40c463;background-color:var(--github-level-2);border:1px solid #1b1f230f;border-radius:2px;height:11px;width:11px}.session-calendar-container .calendar-legend .level-3{background-color:#30a14e;background-color:var(--github-level-3);border:1px solid #1b1f230f;border-radius:2px;height:11px;width:11px}.session-calendar-container .calendar-legend .level-4{background-color:#216e39;background-color:var(--github-level-4);border:1px solid #1b1f230f;border-radius:2px;height:11px;width:11px}.session-calendar-container .content-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:3rem 1.5rem;text-align:center}.session-calendar-container .loading-state{color:var(--text-color-secondary);gap:1rem}.session-calendar-container .loading-state svg{color:#40c463;font-size:2rem}.session-calendar-container .loading-state p{font-size:.875rem;font-weight:500;margin:0}.session-calendar-container .error-state{color:#d73a49}.session-calendar-container .error-state p{font-size:.875rem;font-weight:500;margin:0}@media (max-width:1024px){.session-calendar-container .calendar-cell{height:13px;width:13px}.session-calendar-container .day-name-vertical{height:13px;line-height:13px}.session-calendar-container .calendar-months-labels .month-label{font-size:.75rem}}@media (max-width:768px){.session-calendar-container{padding:1rem}.session-calendar-container .calendar-year-navigation{margin-bottom:.75rem;padding:.5rem .75rem}.session-calendar-container .year-nav-button{font-size:.75rem;height:28px;width:28px}.session-calendar-container .year-dropdown{font-size:.875rem;min-width:60px}.session-calendar-container .calendar-cells-container{gap:2px}.session-calendar-container .calendar-cell{height:10px;width:10px}.session-calendar-container .day-name-vertical{font-size:.5625rem;height:10px;line-height:10px}.session-calendar-container .calendar-months-labels{height:14px}.session-calendar-container .calendar-months-labels .month-label{font-size:.5625rem}.session-calendar-container .calendar-legend{font-size:.5625rem;gap:.1875rem;margin-top:.75rem;padding-top:.5rem}.session-calendar-container .calendar-legend .level-0,.session-calendar-container .calendar-legend .level-1,.session-calendar-container .calendar-legend .level-2,.session-calendar-container .calendar-legend .level-3,.session-calendar-container .calendar-legend .level-4{height:10px;width:10px}}@media (max-width:480px){.session-calendar-container{padding:.75rem}.session-calendar-container .calendar-year-navigation{padding:.375rem .5rem}.session-calendar-container .year-nav-button{height:30px;width:30px}.session-calendar-container .year-selector{order:-1}.session-calendar-container .calendar-cell{height:10px;width:10px}.session-calendar-container .day-name-vertical{font-size:.65rem;height:10px;line-height:10px}.session-calendar-container .calendar-months-labels .month-label{font-size:.65rem;padding:1px 3px}}.plan-edit-overlay{align-items:center;background-color:var(--overlay-bg);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:6000}.plan-edit-modal{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 5px 25px #0006;color:var(--text-color-primary);display:flex;flex-direction:column;max-height:90vh;max-width:650px;overflow-y:auto;padding:1rem;width:90%}.plan-edit-modal .modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.plan-edit-modal button.btn-secondary{align-items:center;background:var(--hover-bg);border:none;border-radius:var(--border-radius-lg);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:10px;padding:15px 25px;transition:opacity .2s}.plan-edit-modal .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.plan-edit-modal .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.5rem}.plan-edit-modal .modal-body{flex-grow:1;padding:var(--spacing-lg)}.plan-edit-modal .form-group{margin-bottom:var(--spacing-md)}.plan-edit-modal label{display:block;font-size:.95rem;font-weight:600;margin-bottom:5px}.plan-edit-modal input[type=text],.plan-edit-modal select{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-sizing:border-box;color:var(--text-color-primary);font-size:1rem;padding:10px;width:100%}.plan-edit-modal .form-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}@media (max-width:500px){.plan-edit-modal .form-grid{grid-template-columns:1fr}}.plan-edit-modal .day-selector-group{display:flex;flex-wrap:wrap;gap:8px}.plan-edit-modal .day-btn{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);cursor:pointer;font-weight:500;padding:8px 12px;transition:all .2s}.plan-edit-modal .day-btn.selected{background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff;font-weight:700}.plan-edit-modal .image-upload-group{border:2px dashed var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;padding:var(--spacing-md);position:relative;text-align:center;transition:border-color .2s}.plan-edit-modal .image-upload-group:hover{border-color:var(--accent-blue)}.plan-edit-modal .file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.plan-edit-modal .image-preview{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-sm)}.plan-edit-modal .image-preview img{border:1px solid var(--border-color);border-radius:var(--border-radius-md);max-height:150px;max-width:100%;object-fit:cover}.plan-edit-modal .btn-remove-image{align-items:center;background:none;border:none;color:var(--danger-red);cursor:pointer;display:flex;font-size:.9rem;gap:5px;padding:0}.plan-edit-modal .no-image-text{color:var(--text-color-secondary);font-style:italic;margin:0;padding:10px}.plan-edit-modal .modal-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}.plan-edit-modal .btn-cancel{background:none;border:1px solid var(--text-color-secondary);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;padding:10px 20px}.plan-edit-modal .btn-primary{background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.modal-overlay{z-index:7000}.exercise-search-modal{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 5px 25px #0006;color:var(--text-color-primary);display:flex;flex-direction:column;height:70vh;max-width:550px;width:90%}.exercise-search-modal .modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.exercise-search-modal .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.exercise-search-modal .close-btn{background:none;border:none;color:var(--danger-red);cursor:pointer;font-size:1.5rem}.exercise-search-modal .modal-search-body{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;padding:var(--spacing-lg)}.exercise-search-modal .search-input-group{flex-shrink:0;margin-bottom:var(--spacing-lg);position:relative}.exercise-search-modal .search-input-group .search-icon{color:var(--text-color-secondary);font-size:.9rem;left:15px;position:absolute;top:50%;transform:translateY(-50%)}.exercise-search-modal .search-input-group input{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-color-primary);font-size:1rem;outline:none;padding:10px 10px 10px 40px;width:-webkit-fill-available}.exercise-search-modal .exercise-list-results{flex-grow:1;overflow-y:auto;padding-right:5px}.exercise-search-modal .exercise-list-results ul{list-style:none;padding:0}.exercise-search-modal .exercise-search-row{align-items:center;background-color:var(--hover-bg);border-left:3px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-sm)}.exercise-search-modal .exercise-info{display:flex;flex-direction:column;flex-grow:1;margin-right:15px;text-align:left}.exercise-search-modal .exercise-name{color:var(--heading-color);font-size:1rem;font-weight:600}.exercise-search-modal .group-tag-search{font-size:.85rem;font-weight:500}.exercise-search-modal .btn-add-to-plan{background-color:var(--accent-green);border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;height:35px;transition:opacity .2s;width:35px}.exercise-search-modal .btn-add-to-plan:hover{opacity:.9}.exercise-search-modal .loading-state,.exercise-search-modal .placeholder-state{color:var(--text-color-secondary);padding:30px;text-align:center}.workout-plan-detail-panel .action-buttons-group{align-items:center;display:flex;gap:10px}.workout-plan-detail-panel .btn-add-exercise{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 15px;transition:opacity .2s}.workout-plan-detail-panel .btn-add-exercise:hover{opacity:.9}.workout-plan-detail-panel .btn-delete-exercise{background:none;border:none;border-radius:50%;color:var(--danger-red);cursor:pointer;flex-shrink:0;font-size:1.1rem;margin-left:auto;padding:5px;transition:background-color .2s}.workout-plan-detail-panel .exercise-row-detail:hover .btn-delete-exercise{background-color:rgba(var(--danger-red-rgb),.1)}.workout-plan-detail-panel .exercise-row-detail{justify-content:space-between}.modal-overlay{background-color:var(--overlay-bg);height:100%;width:100%;z-index:5000}.exercise-edit-form{gap:15px}.exercise-edit-form,.exercise-edit-form .form-group{display:flex;flex-direction:column}.exercise-edit-form label{color:var(--heading-color);font-size:.95rem;font-weight:600;margin-bottom:5px}.exercise-edit-form input[type=number],.exercise-edit-form input[type=text]{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);padding:10px;transition:border-color .2s}.exercise-edit-form input[type=number]:focus,.exercise-edit-form input[type=text]:focus{border-color:var(--accent-blue);outline:none}.checkbox-group{align-items:center;background-color:var(--hover-bg);border-radius:var(--border-radius-md);flex-direction:row;justify-content:space-between;padding:10px}.checkbox-group label{margin-bottom:0}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;width:20px}.modal-footer-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.active-session-panel{background-color:var(--main-bg);color:var(--text-color-primary);display:flex;flex-direction:column;height:100vh;justify-content:space-evenly;left:0;overflow-y:auto;padding:1rem;position:fixed;top:0;width:100%;z-index:5500}.active-session-panel .session-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin:AUTO;width:90%}.active-session-panel .plan-name{color:var(--heading-color);font-size:1.5rem;margin:0}.active-session-panel .btn-stop-session{align-items:center;background-color:var(--danger-red);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 15px;transition:opacity .2s}.active-session-panel .btn-stop-session:hover{opacity:.9}.active-session-panel .current-exercise-view{align-items:center;display:flex;flex-direction:column;margin:auto;overflow-y:auto;text-align:center;width:90%}.active-session-panel .exercise-index{color:var(--text-color-secondary);font-size:1rem;margin-bottom:var(--spacing-md)}.active-session-panel .exercise-image-container{align-items:center;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);display:flex;height:300px;justify-content:center;margin-bottom:var(--spacing-lg);max-width:400px;overflow:hidden;width:100%}.active-session-panel .exercise-image-container .exercise-image{max-height:100%;max-width:100%;object-fit:contain}.active-session-panel .exercise-name-title{color:var(--accent-blue);font-size:2rem;margin-bottom:var(--spacing-lg)}.active-session-panel .exercise-details-box{border-top:1px solid var(--border-color);display:flex;justify-content:space-around;margin-top:var(--spacing-md);max-width:500px;padding:var(--spacing-md) 0;width:100%}.active-session-panel .detail-item{display:flex;flex-direction:column;text-align:center}.active-session-panel .detail-label{color:var(--text-color-secondary);font-size:.85rem}.active-session-panel .detail-value{color:var(--heading-color);font-size:1.2rem;font-weight:700;margin-top:5px}.active-session-panel .navigation-controls{display:flex;flex-shrink:0;justify-content:space-between;margin:AUTO;width:90%}.active-session-panel .nav-btn{align-items:center;border:none;border-radius:var(--border-radius-lg);cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:10px;padding:15px 25px;transition:opacity .2s}.active-session-panel .nav-btn.prev-btn{background:var(--hover-bg);color:var(--text-color-secondary)}.active-session-panel .nav-btn.prev-btn:disabled{cursor:not-allowed;opacity:.5}.active-session-panel .nav-btn.next-btn{background-color:var(--accent-blue);color:#fff}.active-session-panel .nav-btn.next-btn:last-child{background-color:var(--accent-green)}.finish-modal-overlay{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:8000}.finish-modal-content{background-color:var(--card-bg);border-radius:var(--border-radius-lg);max-width:450px;padding:var(--spacing-xl);text-align:center;width:90%}.finish-modal-content h2{color:var(--heading-color);font-size:1.5rem;margin-bottom:var(--spacing-lg)}.finish-modal-content textarea{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);margin:var(--spacing-md) 0;min-height:100px;padding:10px;resize:vertical;width:-webkit-fill-available}.finish-modal-content .feeling-selector{display:flex;justify-content:space-around;margin-bottom:var(--spacing-lg)}.finish-modal-content .feeling-btn{align-items:center;background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:5px;padding:10px 15px}.finish-modal-content .feeling-btn.selected{background-color:var(--active-link-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.finish-modal-content .modal-actions{display:flex;justify-content:space-between}.finish-modal-content .btn-confirm-finish{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;display:flex;font-weight:700;gap:8px;padding:10px 15px}@media (max-width:768px){.active-session-panel{padding:1rem 5px}.active-session-panel .plan-name{font-size:1.2rem}.active-session-panel .btn-stop-session{font-size:.8rem;padding:8px 10px}.active-session-panel .exercise-image-container{height:250px}.active-session-panel .exercise-name-title{font-size:1.6rem;margin-bottom:var(--spacing-md)}.active-session-panel .exercise-details-box{flex-wrap:wrap;justify-content:space-between;padding:var(--spacing-sm) 0}.active-session-panel .detail-item{margin-bottom:var(--spacing-sm);width:48%}.active-session-panel .detail-item:last-child{border-top:1px dashed var(--border-color);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);width:100%}.active-session-panel .detail-value{font-size:1rem}.active-session-panel .navigation-controls{gap:var(--spacing-md)}.active-session-panel .nav-btn{flex-grow:1;font-size:1rem;justify-content:center;padding:12px 15px}.finish-modal-content{padding:var(--spacing-md)}.finish-modal-content .feeling-selector{flex-wrap:wrap;gap:10px;justify-content:center}.finish-modal-content .modal-actions{flex-direction:column;gap:10px}.finish-modal-content .modal-actions button{justify-content:center;width:100%}}button.btn-cancel{align-items:center;background:var(--hover-bg);border:none;border-radius:var(--border-radius-lg);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:10px;padding:15px 25px;transition:opacity .2s}.plan-detail-overlay{background-color:#0006;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;visibility:hidden;width:100%;z-index:5000}.plan-detail-overlay.is-open{opacity:1;visibility:visible}.workout-plan-detail-panel{background-color:var(--card-bg);box-shadow:-4px 0 20px #0000004d;color:var(--text-color-primary);display:flex;flex-direction:column;height:100vh;max-width:450px;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:100%}.plan-detail-overlay.is-open .workout-plan-detail-panel{transform:translateX(0)}.workout-plan-detail-panel .plan-header-cover{background-position:50%;background-size:cover;box-shadow:inset 0 -80px 50px -10px #000000b3;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:250px;justify-content:space-between;padding:var(--spacing-lg);position:relative;width:100%}.workout-plan-detail-panel .plan-header-cover:before{background:linear-gradient(0deg,#000c,#0000 50%);content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.workout-plan-detail-panel .back-btn{background-color:#0006;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:40px;position:relative;transition:background-color .2s;width:40px;z-index:2}.workout-plan-detail-panel .plan-cover-title{font-size:2rem;font-weight:700;margin:0;position:relative;text-shadow:1px 1px 3px #000000b3;z-index:2}.workout-plan-detail-panel .plan-metadata-bar{grid-gap:var(--spacing-md);background-color:var(--main-bg);display:grid;flex-shrink:0;gap:var(--spacing-md);grid-template-columns:1fr 1fr;padding:var(--spacing-md) var(--spacing-lg)}.workout-plan-detail-panel .meta-card{background-color:var(--card-bg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-small);padding:var(--spacing-sm);text-align:center}.workout-plan-detail-panel .meta-card strong{color:var(--accent-blue);display:block;font-size:1.5rem;line-height:1.2}.workout-plan-detail-panel .meta-card span{color:var(--text-color-secondary);font-size:.8rem}.workout-plan-detail-panel .btn-modify{transition:opacity .2s}.workout-plan-detail-panel .plan-exercise-list-container ul{list-style:none;margin:0;padding:0}.workout-plan-detail-panel .exercise-detail-img{border-radius:4px;height:50px;object-fit:contain;width:50px}.workout-plan-detail-panel .exercise-info{display:flex;flex-direction:column;flex-grow:1}.workout-plan-detail-panel .exercise-name{color:var(--text-color-primary);font-size:1rem;font-weight:600}.workout-plan-detail-panel .exercise-reps-sets{color:var(--text-color-secondary);font-size:.85rem}.workout-plan-detail-panel .exercise-order-handle{color:var(--border-color)}.workout-plan-detail-panel .plan-footer-actions{background-color:var(--card-bg);border-top:1px solid var(--border-color);flex-shrink:0;padding:var(--spacing-lg)}.workout-plan-detail-panel .btn-start-session{background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-lg);color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px;transition:opacity .2s;width:100%}.workout-plan-detail-panel .btn-start-session:hover{opacity:.9}.workout-plan-detail-panel .edit-options{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.workout-plan-detail-panel .edit-options span{color:var(--heading-color);font-size:1.2rem;font-weight:600}.workout-plan-detail-panel .btn-modify{transition:opacity .2s,color .2s}.workout-plan-detail-panel .btn-modify.unsaved{background-color:var(--accent-orange)}.workout-plan-detail-panel .btn-modify:disabled{opacity:.5}.workout-plan-detail-panel .plan-exercise-list-container{flex-grow:1;overflow-y:auto;padding:0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.workout-plan-detail-panel .plan-exercise-list-container ul.draggable-list{list-style:none;margin:0;padding:0}.workout-plan-detail-panel .exercise-row-detail{align-items:center;background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:grab;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);transition:transform .1s,box-shadow .2s}.workout-plan-detail-panel .exercise-row-detail:hover{box-shadow:var(--shadow-small)}.workout-plan-detail-panel .exercise-row-detail:active{cursor:grabbing}.workout-plan-detail-panel .exercise-order-handle{color:var(--text-color-secondary);cursor:grab;font-size:1.2rem;transform:rotate(90deg)}.workout-plan-detail-panel .exercise-swap-icon{color:var(--text-color-secondary);font-size:.9rem;margin-left:auto}.workout-plan-detail-panel .btn-modify{background:none;border:none;color:var(--accent-blue);cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s}.workout-plan-detail-panel .btn-modify.unsaved{background-color:var(--accent-green);border-radius:var(--border-radius-md);box-shadow:var(--shadow-small);color:#fff;padding:8px 15px}.workout-plan-detail-panel .btn-modify.unsaved:hover{opacity:.9}.workout-plan-detail-panel .btn-modify:disabled{background-color:var(--text-color-secondary);box-shadow:none;color:#fff;cursor:not-allowed;opacity:0}.workout-plan-detail-panel .back-btn{align-self:flex-start}.workout-plan-detail-panel .edit-plan-btn{background-color:#0006;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:40px;position:absolute;right:60px;top:var(--spacing-lg);transition:background-color .2s;width:40px;z-index:2}.workout-plan-detail-panel .edit-plan-btn:hover{background-color:var(--accent-blue)}.workout-plan-section{padding:var(--spacing-xl)}.workout-plan-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.workout-plan-section .section-header h2{align-items:center;color:var(--heading-color);display:flex;font-size:1.8rem;gap:10px;margin:0}.workout-plan-section .btn-add-plan{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-lg);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 15px;transition:opacity .2s}.workout-plan-section .btn-add-plan:hover{opacity:.9}@media (max-width:768px){.workout-plan-section .section-header h2{font-size:1.5rem}.workout-plan-section .section-header h2 svg{display:none}}.workout-plan-section .plan-filter-container{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);overflow-x:auto;padding-bottom:var(--spacing-xs);scrollbar-width:none}.workout-plan-section .plan-category-filter{display:flex;flex-wrap:nowrap;gap:var(--spacing-sm);white-space:nowrap}.workout-plan-section .filter-btn{background-color:var(--hover-bg);border:none;border-radius:50px;color:var(--text-color-primary);cursor:pointer;flex-shrink:0;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .2s ease-in-out}.workout-plan-section .filter-btn:hover{background-color:var(--border-color);color:var(--text-color-primary)}.workout-plan-section .filter-btn.active{background-color:var(--accent-blue);box-shadow:var(--shadow-small);color:#fff;font-weight:600}.workout-plan-section .plans-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.workout-plan-section .workout-plan-card{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);cursor:pointer;display:flex;flex-direction:row;overflow:hidden;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.workout-plan-section .workout-plan-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-5px)}.workout-plan-section .plan-image-container{flex-shrink:0;height:100%;width:120px}.workout-plan-section .plan-image{display:block;height:100%;object-fit:cover;width:100%}.workout-plan-section .card-content-plan{flex-grow:1;padding:var(--spacing-md) var(--spacing-lg)}.workout-plan-section .plan-title{color:var(--heading-color);font-size:1.2rem;line-height:1.3;margin:0 0 var(--spacing-xs) 0}.workout-plan-section .plan-meta{color:var(--text-color-secondary);font-size:.9rem;margin:0 0 var(--spacing-sm) 0}.workout-plan-section .plan-difficulty{display:flex;font-size:1rem;gap:3px}.workout-plan-section .plan-difficulty .active-bolt{color:var(--accent-orange)}.workout-plan-section .plan-difficulty .inactive-bolt{color:var(--border-color)}.workout-plan-section .content-state{color:var(--text-color-secondary);font-size:1.1rem;grid-column:1/-1;padding:50px;text-align:center}.workout-plan-section .loading-state .fa-spinner{color:var(--accent-blue);margin-bottom:20px}@media (max-width:768px){.workout-plan-section .plans-grid{grid-template-columns:repeat(auto-fill,minmax(40%,1fr))}.workout-plan-section .workout-plan-card{align-items:flex-start;flex-direction:column}.workout-plan-section .plan-image-container{height:150px;width:100%}.workout-plan-section .card-content-plan{padding:var(--spacing-md)}.workout-plan-section .filter-btn{font-size:.9rem;padding:8px 15px}}.finances-hero-section{margin-bottom:var(--spacing-md)}.finances-hero-section .hero-banner{background-position:center 30%;background-size:cover;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-large);height:150px;overflow:hidden;position:relative}.finances-hero-section .hero-overlay{align-items:center;background:#0006;display:flex;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%}.finances-hero-section .hero-content h1{color:#fff;font-size:2rem;margin:0 0 var(--spacing-xs) 0;text-shadow:0 2px 5px #00000080}.finances-hero-section .hero-content p{color:#ffffffe6;font-size:1rem;margin:0;max-width:600px}.finances-hero-section .hero-actions-bar{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm)}.finances-hero-section .btn-action{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:.5rem .8rem;transition:opacity .2s,transform .2s}.finances-hero-section .btn-action:hover{opacity:.9;transform:translateY(-1px)}.finances-hero-section .btn-add-transaction{background-color:var(--accent-green);color:#fff}.finances-hero-section .btn-manage-categories,.finances-hero-section .btn-manage-types{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--accent-blue)}@media (max-width:768px){.finances-hero-section .hero-content h1{font-size:2rem}.finances-hero-section .hero-content p{font-size:1rem}.finances-hero-section .hero-actions-bar{flex-direction:column;padding:0 var(--spacing-lg)}.finances-hero-section .btn-action{justify-content:center;width:100%}}.transaction-filter-container{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);margin:var(--spacing-md) 0;padding:var(--spacing-sm)}.transaction-filter-container h2{border-bottom:1px solid var(--border-color);color:var(--heading-color);font-size:1rem;margin-bottom:var(--spacing-sm);margin-top:0;padding-bottom:var(--spacing-sm)}.transaction-filter-container .filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.transaction-filter-container .filter-group{align-items:center;background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;flex-grow:1;max-width:250px}.transaction-filter-container .filter-icon{color:var(--text-color-secondary);flex-shrink:0;font-size:.9rem;margin-left:var(--spacing-sm)}.transaction-filter-container .filter-input-date,.transaction-filter-container .filter-select{background:#0000;border:none;color:var(--text-color-primary);cursor:pointer;flex-grow:1;font-size:.9rem;outline:none;padding:.5rem}.transaction-filter-container .currency-dropdown-wrapper{flex-grow:1;max-width:250px;position:relative}.transaction-filter-container .btn-currency-select{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:.5rem 1rem;transition:opacity .2s;width:100%}.transaction-filter-container .btn-currency-select:hover{opacity:.9}.transaction-filter-container .dropdown-arrow{margin-left:var(--spacing-sm);transition:transform .2s}.transaction-filter-container .dropdown-arrow.open{transform:rotate(180deg)}.transaction-filter-container .currency-dropdown{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-medium);left:0;list-style:none;margin-top:5px;padding:0;position:absolute;right:0;top:100%;z-index:100}.transaction-filter-container .currency-dropdown li{cursor:pointer;font-size:.9rem;padding:.6rem 1rem;transition:background-color .2s}.transaction-filter-container .currency-dropdown li:hover{background-color:var(--hover-bg)}.transaction-filter-container .currency-dropdown li.active{background-color:var(--active-link-bg);font-weight:700}@media (max-width:600px){.transaction-filter-container .filter-controls{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.transaction-filter-container .currency-dropdown-wrapper,.transaction-filter-container .filter-group{max-width:100%}}.transaction-annual-filter-container{align-items:center;display:flex;justify-content:flex-start}.transaction-annual-filter-container .filter-group{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex}.transaction-annual-filter-container .filter-icon{color:var(--text-color-secondary);flex-shrink:0;font-size:.9rem;margin-left:var(--spacing-md)}.transaction-annual-filter-container .filter-select{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:var(--text-color-primary);cursor:pointer;font-size:1rem;outline:none;padding:.5rem 1rem .5rem var(--spacing-sm)}.cash-flow-summary-container{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--spacing-lg)}.cash-flow-summary-container.summary-loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:var(--font-size-base);justify-content:center;padding:var(--spacing-md)}.cash-flow-summary-container .summary-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);transition:all .2s ease}.cash-flow-summary-container .summary-card:hover{box-shadow:0 4px 12px #00000014}.cash-flow-summary-container .card-header{margin:0;width:100%}.cash-flow-summary-container .card-title{color:var(--text-color-primary);font-size:.8125rem;font-weight:500;line-height:1.3;margin:0;text-align:left}.cash-flow-summary-container .card-subtitle{color:var(--text-color-secondary);font-size:.75rem;font-weight:400}.cash-flow-summary-container .card-layout{align-items:flex-end;display:flex;gap:var(--spacing-sm);justify-content:space-between;width:100%}.cash-flow-summary-container .card-left{display:flex;flex-direction:column;gap:2px}.cash-flow-summary-container .card-right{align-items:flex-end;display:flex;flex-shrink:0}.cash-flow-summary-container .card-value{color:var(--heading-color);font-size:1.625rem;font-weight:700;line-height:1;margin:0}.cash-flow-summary-container .card-value.text-danger{color:#ef4444}.cash-flow-summary-container .card-value.text-success{color:#22c55e}.cash-flow-summary-container .card-variation{align-items:center;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px}.cash-flow-summary-container .card-variation.positive{color:var(--accent-green)}.cash-flow-summary-container .card-variation.negative{color:var(--danger-red)}.cash-flow-summary-container .card-variation svg{font-size:.65rem}.cash-flow-summary-container .variation-label{color:var(--text-color-secondary);font-weight:400;margin-left:1px}.cash-flow-summary-container .mini-sparkline{height:50px;position:relative;width:100px}.cash-flow-summary-container .sparkline-percentage{background:#ffffffe6;border-radius:3px;color:var(--text-color-primary);font-size:.65rem;font-weight:600;padding:1px 4px;position:absolute;right:1px;top:1px}@media (max-width:991px){.cash-flow-summary-container{grid-template-columns:1fr;padding:0 var(--spacing-md)}.cash-flow-summary-container .card-layout{align-items:flex-start;flex-direction:column}.cash-flow-summary-container .card-value{font-size:1.5rem}.cash-flow-summary-container .mini-sparkline{height:50px;width:100%}}.transaction-view-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:4000}.transaction-view-panel{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0000004d;color:var(--text-color-primary);display:flex;flex-direction:column;max-height:90vh;max-width:550px;width:90%}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.transaction-view-panel .panel-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.transaction-view-panel .header-info{align-items:center;display:flex;gap:var(--spacing-md)}.transaction-view-panel .header-info h2{color:var(--heading-color);font-size:1.5rem;margin:0}.transaction-view-panel .flow-icon{font-size:1.5rem}.transaction-view-panel .flow-icon.income-amount{color:var(--accent-green)}.transaction-view-panel .flow-icon.expense-amount{color:var(--danger-red)}.transaction-view-panel .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.3rem;transition:color .2s}.transaction-view-panel .close-btn:hover{color:var(--danger-red)}.transaction-view-panel .panel-body{overflow-y:auto;padding:var(--spacing-lg)}.transaction-view-panel .amount-display{background-color:var(--main-bg);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);text-align:center}.transaction-view-panel .amount-label{color:var(--text-color-secondary);font-size:.9rem;margin:0}.transaction-view-panel .main-amount{display:block;font-size:2.5rem;font-weight:900;line-height:1}.transaction-view-panel .main-amount.income-amount{color:var(--accent-green)}.transaction-view-panel .main-amount.expense-amount{color:var(--danger-red)}.transaction-view-panel .metadata-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.transaction-view-panel .metadata-item{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:.9rem;padding:var(--spacing-sm)}.transaction-view-panel .metadata-item strong{margin-right:5px}.transaction-view-panel .metadata-item .svg-inline--fa{color:var(--accent-blue);margin-right:8px}.transaction-view-panel .category-detail-tag{border-radius:var(--border-radius-sm);color:#fff;display:inline-block;font-size:.8rem;font-weight:600;padding:3px 8px}.transaction-view-panel .description-box{background-color:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.transaction-view-panel .description-box .description-icon{color:var(--text-color-secondary);margin-right:var(--spacing-sm)}.transaction-view-panel .description-box p{font-size:1rem;margin:10px 0 0;white-space:pre-wrap}.transaction-view-panel .panel-footer{border-top:1px solid var(--border-color);flex-shrink:0;padding:var(--spacing-lg);text-align:right}.transaction-view-panel .btn-edit-footer{background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:opacity .2s}.edit-modal-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:5000}.edit-modal-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0000004d;color:var(--text-color-primary);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.edit-modal-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.edit-modal-content .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.edit-modal-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.3rem;transition:color .2s}.edit-modal-content .close-btn:hover{color:var(--danger-red)}.edit-modal-content .modal-body{flex-grow:1;padding:var(--spacing-lg)}.edit-modal-content .form-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-md)}.edit-modal-content .input-group{display:flex;flex-direction:column}.edit-modal-content .input-group.full-width{grid-column:1/-1}.edit-modal-content label{color:var(--text-color-secondary);font-size:.9rem;font-weight:700;margin-bottom:var(--spacing-xs)}.edit-modal-content input,.edit-modal-content select,.edit-modal-content textarea{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:1rem;outline:none;padding:.6rem .75rem;transition:border-color .2s}.edit-modal-content input:focus,.edit-modal-content select:focus,.edit-modal-content textarea:focus{border-color:var(--accent-blue)}.edit-modal-content textarea{resize:vertical}.edit-modal-content .modal-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-md)}.edit-modal-content .btn-cancel{background:none;border:1px solid var(--text-color-secondary);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;padding:.75rem 1.5rem;transition:background-color .2s}.edit-modal-content .btn-cancel:hover{background-color:var(--hover-bg)}.edit-modal-content .btn-primary{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:700;gap:8px;padding:.75rem 1.5rem;transition:opacity .2s}@media (max-width:500px){.edit-modal-content .form-grid{grid-template-columns:1fr}}.cash-flow-table-container{background:var(--card-bg);border-radius:var(--border-radius-md);box-shadow:0 2px 8px var(--border-color);margin-bottom:var(--spacing-lg);overflow:hidden;width:100%}.cash-flow-table-container.error-state,.cash-flow-table-container.loading-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.cash-flow-table-container .error-message{background:var(--danger-red-low-opacity);border:1px solid var(--danger-red);border-radius:var(--border-radius-md);color:var(--danger-red);font-size:.875rem;margin-top:var(--spacing-sm);max-width:500px;padding:var(--spacing-sm) var(--spacing-md)}.cash-flow-table-container .cash-flow-table-desktop{display:block}.cash-flow-table-container .transactions-table{border-collapse:collapse;font-size:.875rem;width:100%}.cash-flow-table-container .transactions-table thead{background:var(--sidebar-bg)}.cash-flow-table-container .transactions-table thead th{color:var(--card-bg);font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-lg);text-align:left;text-transform:uppercase;white-space:nowrap}.cash-flow-table-container .transactions-table thead th.column-actions{text-align:center}.cash-flow-table-container .transactions-table tbody tr{border-bottom:1px solid var(--border-color);transition:all .2s ease}.cash-flow-table-container .transactions-table tbody tr:hover{background:var(--hover-bg);box-shadow:-4px 0 0 var(--accent-blue);transform:translateX(4px)}.cash-flow-table-container .transactions-table tbody tr:last-child{border-bottom:none}.cash-flow-table-container .transactions-table tbody td{color:var(--text-color-primary);padding:var(--spacing-md) var(--spacing-lg);vertical-align:middle}.cash-flow-table-container .column-date{color:var(--text-color-secondary);font-weight:500;min-width:120px}.cash-flow-table-container .column-type{min-width:100px}.cash-flow-table-container .column-category{min-width:140px}.cash-flow-table-container .column-description{color:var(--text-color-primary)}.cash-flow-table-container .column-amount{font-size:.9375rem;font-weight:var(--font-weight-bold);min-width:120px;text-align:right}.cash-flow-table-container .column-actions{min-width:140px;text-align:center}.cash-flow-table-container .type-tag{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.cash-flow-table-container .type-tag.tag-income{background:var(--accent-green-low-opacity);color:var(--accent-green)}.cash-flow-table-container .type-tag.tag-expense{background:var(--danger-red-low-opacity);color:var(--danger-red)}.cash-flow-table-container .category-tag{border-radius:20px;color:var(--card-bg);display:inline-block;font-size:.75rem;font-weight:var(--font-weight-bold);padding:6px 14px}.cash-flow-table-container .income-amount{color:var(--accent-green)}.cash-flow-table-container .expense-amount{color:var(--danger-red)}.cash-flow-table-container .btn-action{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:.875rem;margin:0 var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-sm);transition:all .2s ease}.cash-flow-table-container .btn-action:hover{transform:translateY(-2px)}.cash-flow-table-container .btn-action.view{color:var(--accent-blue)}.cash-flow-table-container .btn-action.view:hover{background:var(--accent-blue-low-opacity)}.cash-flow-table-container .btn-action.edit{color:var(--accent-blue-dark)}.cash-flow-table-container .btn-action.edit:hover{background:var(--hover-bgs)}.cash-flow-table-container .btn-action.delete{color:var(--danger-red)}.cash-flow-table-container .btn-action.delete:hover{background:var(--danger-red-low-opacity)}.cash-flow-table-container .cash-flow-cards{display:none}@media (max-width:768px){.cash-flow-table-container .cash-flow-table-desktop{display:none}.cash-flow-table-container .cash-flow-cards{display:block;padding:var(--spacing-md)}.cash-flow-table-container .flow-card{background:var(--card-bg);border-left:4px solid #0000;border-radius:var(--border-radius-lg);box-shadow:0 4px 12px var(--border-color);margin-bottom:var(--spacing-md);padding:var(--spacing-md);transition:all .3s ease}.cash-flow-table-container .flow-card:hover{box-shadow:0 8px 20px var(--border-color);transform:translateY(-4px)}.cash-flow-table-container .flow-card.income{border-left-color:var(--accent-green)}.cash-flow-table-container .flow-card.expense{border-left-color:var(--danger-red)}.cash-flow-table-container .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.cash-flow-table-container .card-type{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:700;gap:var(--spacing-xs);letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.cash-flow-table-container .flow-card.income .card-type{background:var(--accent-green-low-opacity);color:var(--accent-green)}.cash-flow-table-container .flow-card.expense .card-type{background:var(--danger-red-low-opacity);color:var(--danger-red)}.cash-flow-table-container .card-actions-group{display:flex;gap:var(--spacing-xs)}.cash-flow-table-container .view-mobile-btn{background:var(--accent-blue);border-radius:var(--border-radius-md);color:var(--card-bg);padding:var(--spacing-xs) var(--spacing-sm)}.cash-flow-table-container .view-mobile-btn:hover{background:var(--accent-blue-dark)}.cash-flow-table-container .card-title{color:var(--text-color-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.4;margin:var(--spacing-sm) 0}.cash-flow-table-container .card-metadata{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.cash-flow-table-container .card-date{align-items:center;color:var(--text-color-secondary);display:inline-flex;font-size:.8125rem;font-weight:500;gap:6px}.cash-flow-table-container .card-metadata .category-tag{font-size:.6875rem;padding:5px 12px}.cash-flow-table-container .card-amount{background:var(--main-bg);border-radius:var(--border-radius-lg);margin:var(--spacing-md) 0;padding:var(--spacing-md);text-align:center}.cash-flow-table-container .amount-value{display:block;font-size:1.5rem;font-weight:700}.cash-flow-table-container .amount-value.income{color:var(--accent-green)}.cash-flow-table-container .amount-value.expense{color:var(--danger-red)}.cash-flow-table-container .btn-action.view{color:var(--card-bg)!important}.cash-flow-table-container .card-edit-delete{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.cash-flow-table-container .card-edit-delete .btn-action{align-items:center;border:2px solid;border-radius:var(--border-radius-md);display:flex;flex:1 1;font-size:.875rem;font-weight:var(--font-weight-bold);gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm)}.cash-flow-table-container .card-edit-delete .btn-action.edit{background:var(--hover-bgs);border-color:var(--accent-blue-dark);color:var(--accent-blue-dark)}.cash-flow-table-container .card-edit-delete .btn-action.delete{background:var(--danger-red-low-opacity);border-color:var(--danger-red);color:var(--danger-red)}}@media (min-width:769px) and (max-width:1024px){.cash-flow-table-container .transactions-table{font-size:.8125rem}.cash-flow-table-container .transactions-table tbody td,.cash-flow-table-container .transactions-table thead th{padding:var(--spacing-sm) var(--spacing-md)}.cash-flow-table-container .column-description{max-width:200px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cash-flow-table-container .flow-card{animation:fadeInUp .3s ease forwards}.cash-flow-table-container .flow-card:first-child{animation-delay:.05s}.cash-flow-table-container .flow-card:nth-child(2){animation-delay:.1s}.cash-flow-table-container .flow-card:nth-child(3){animation-delay:.15s}.cash-flow-table-container .flow-card:nth-child(4){animation-delay:.2s}.cash-flow-table-container .flow-card:nth-child(5){animation-delay:.25s}.monthly-flow-chart-container{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000014;margin-bottom:.25rem;padding:.25rem;transition:box-shadow .3s ease,transform .3s ease}.monthly-flow-chart-container:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.monthly-flow-chart-container h3{align-items:center;color:var(--text-color);display:flex;font-size:.75rem;font-weight:600;gap:.25rem;margin-bottom:.125rem}.monthly-flow-chart-container h3 svg{color:var(--primary-color)}.monthly-flow-chart-container .chart-legend{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:.25rem;justify-content:center;margin-bottom:.25rem;padding:.125rem 0}.monthly-flow-chart-container .legend-item{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.65rem;font-weight:500;gap:.2rem}.monthly-flow-chart-container .legend-color{border-radius:3px;display:block;height:12px;width:12px}.monthly-flow-chart-container .legend-color.income{background-color:#22c55e}.monthly-flow-chart-container .legend-color.expense{background-color:#ef4444}.monthly-flow-chart-container .chart-wrapper{overflow-x:auto;padding-bottom:.25rem}.monthly-flow-chart-container .chart-wrapper::-webkit-scrollbar{height:3px}.monthly-flow-chart-container .chart-wrapper::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.monthly-flow-chart-container .chart-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.monthly-flow-chart-container .chart-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-color-secondary)}.monthly-flow-chart-container .chart-bar-area{align-items:flex-end;background:linear-gradient(to top,var(--background-color) 0,#0000 100%);border-bottom:2px solid var(--border-color);border-left:2px solid var(--border-color);display:flex;gap:4px;height:60px;min-width:600px;padding:3px 2px}.monthly-flow-chart-container .month-column{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:flex-end;min-width:0}.monthly-flow-chart-container .bars{align-items:flex-end;display:flex;gap:3px;height:170px;justify-content:center;margin-bottom:5px;width:100%}.monthly-flow-chart-container .bar{border-radius:6px 6px 0 0;cursor:pointer;margin:0 2px;min-height:3px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:40%}.monthly-flow-chart-container .bar:hover{box-shadow:0 4px 8px #00000026;filter:brightness(1.15);transform:translateY(-2px)}.monthly-flow-chart-container .income-bar{background:linear-gradient(0deg,#22c55e,#4ade80)}.monthly-flow-chart-container .expense-bar{background:linear-gradient(0deg,#ef4444,#f87171)}.monthly-flow-chart-container .month-label{color:var(--text-color-secondary);font-size:.8rem;font-weight:500;margin-top:.5rem}.monthly-flow-chart-container .chart-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:3rem 1rem;text-align:center}.monthly-flow-chart-container .chart-empty-state .empty-icon{color:var(--border-color);font-size:3rem;margin-bottom:1rem;opacity:.5}.monthly-flow-chart-container .chart-empty-state p{color:var(--text-color);font-size:1.1rem;font-weight:500;margin:0 0 .5rem}.monthly-flow-chart-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.9rem}.monthly-flow-chart-container.chart-state{color:var(--text-color-secondary)}.monthly-flow-chart-container.chart-error,.monthly-flow-chart-container.chart-state{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:300px}.monthly-flow-chart-container.chart-error{color:var(--error-color)}@media (max-width:768px){.monthly-flow-chart-container{padding:1rem}.monthly-flow-chart-container h3{font-size:1rem}.monthly-flow-chart-container .chart-bar-area{gap:16px;height:280px}}.compact-charts-grid .monthly-flow-chart-container{height:100%;padding:1rem}.compact-charts-grid .monthly-flow-chart-container .chart-bar-area{gap:16px;height:250px;min-width:100%;padding:10px 5px}.compact-charts-grid .monthly-flow-chart-container .bars{height:220px}.treasury-evolution-container{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);margin-top:var(--spacing-xl);padding:var(--spacing-xl)}.treasury-evolution-container h3{align-items:center;border-bottom:1px solid var(--border-color);color:var(--heading-color);display:flex;font-size:1.4rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.treasury-evolution-container.chart-error,.treasury-evolution-container.chart-state{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center;min-height:100px}.treasury-evolution-container.chart-error{color:var(--danger-red)}.treasury-evolution-container .chart-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:var(--spacing-xxxl) var(--spacing-xl);text-align:center}.treasury-evolution-container .chart-empty-state .empty-icon{color:var(--text-color-secondary);font-size:3rem;margin-bottom:var(--spacing-md);opacity:.3}.treasury-evolution-container .chart-empty-state p{color:var(--text-color);font-size:1rem;font-weight:500;margin:0 0 var(--spacing-sm) 0}.treasury-evolution-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.treasury-stats{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--background-color);border-radius:var(--border-radius-md);flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.stat-label{font-size:.85rem}.stat-value{align-items:center;display:flex;font-size:1.5rem;gap:var(--spacing-xs)}.stat-value.positive{color:var(--accent-green)}.stat-value.negative{color:var(--danger-red)}.treasury-chart-wrapper{overflow-x:auto;padding-bottom:var(--spacing-md);width:100%}.treasury-chart-svg{height:auto;min-width:800px;width:100%}.treasury-line{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.treasury-point{cursor:pointer;transition:r .2s ease}.treasury-point:hover{r:7}.treasury-area{opacity:.6}.treasury-chart-wrapper::-webkit-scrollbar{height:8px}.treasury-chart-wrapper::-webkit-scrollbar-track{background:var(--background-color);border-radius:10px}.treasury-chart-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.treasury-chart-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-color-secondary)}@media (max-width:1024px){.treasury-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.treasury-evolution-container{padding:var(--spacing-md)}.treasury-evolution-container h3{font-size:1.2rem}.treasury-stats{grid-template-columns:1fr}.stat-value{font-size:1.3rem}}@media (max-width:480px){.stat-card{padding:var(--spacing-sm)}.stat-value{font-size:1.1rem}}.savings-ratio-gauge-container{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);margin-top:var(--spacing-xl);padding:var(--spacing-xl)}.savings-ratio-gauge-container h3{align-items:center;border-bottom:1px solid var(--border-color);color:var(--heading-color);display:flex;font-size:1.4rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.savings-ratio-gauge-container.chart-error,.savings-ratio-gauge-container.chart-state{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center;min-height:100px}.savings-ratio-gauge-container.chart-error{color:var(--danger-red)}.savings-ratio-gauge-container .chart-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:var(--spacing-xxxl) var(--spacing-xl);text-align:center}.savings-ratio-gauge-container .chart-empty-state .empty-icon{color:var(--text-color-secondary);font-size:3rem;margin-bottom:var(--spacing-md);opacity:.3}.savings-ratio-gauge-container .chart-empty-state p{color:var(--text-color);font-size:1rem;font-weight:500;margin:0 0 var(--spacing-sm) 0}.savings-ratio-gauge-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.gauge-wrapper{display:flex;justify-content:center;margin:var(--spacing-xl) 0}.gauge-svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.gauge-progress{transition:stroke-dashoffset 1s ease-out,stroke .3s ease}.gauge-percentage{font-size:2.5rem;font-weight:700}.gauge-label{font-size:1rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.gauge-details{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin:var(--spacing-lg) 0;padding:var(--spacing-md)}.detail-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.detail-row:last-child{border-bottom:none}.detail-row.highlight{background:var(--hover-bg);border-radius:var(--border-radius-sm);margin:0 calc(var(--spacing-md)*-1);padding:var(--spacing-sm) var(--spacing-md)}.detail-label{color:var(--text-color-secondary);font-size:.95rem;font-weight:500}.detail-value{font-size:1.1rem;font-weight:700}.detail-value.income{color:var(--accent-green)}.detail-value.expense{color:var(--danger-red)}.detail-value.positive{color:var(--accent-green)}.detail-value.negative{color:var(--danger-red)}.gauge-legend{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(4,1fr);margin-top:var(--spacing-lg)}.legend-item{font-size:.8rem}.legend-dot{height:12px;width:12px}.legend-item.critical .legend-dot{background-color:#ef4444}.legend-item.warning .legend-dot{background-color:#f97316}.legend-item.ok .legend-dot{background-color:#eab308}.legend-item.excellent .legend-dot{background-color:#22c55e}@media (max-width:768px){.savings-ratio-gauge-container{padding:var(--spacing-md)}.savings-ratio-gauge-container h3{font-size:1.2rem}.gauge-percentage{font-size:2rem}.gauge-label{font-size:.9rem}.gauge-legend{grid-template-columns:repeat(2,1fr)}.detail-value{font-size:1rem}}@media (max-width:480px){.gauge-legend{grid-template-columns:1fr}.gauge-wrapper svg{height:auto;width:180px}}.year-comparison-container{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);margin-top:var(--spacing-xl);padding:var(--spacing-xl)}.year-comparison-container h3{align-items:center;border-bottom:1px solid var(--border-color);color:var(--heading-color);display:flex;font-size:1.4rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.year-comparison-container.chart-error,.year-comparison-container.chart-state{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center;min-height:100px}.year-comparison-container.chart-error{color:var(--danger-red)}.year-comparison-container .chart-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:var(--spacing-xxxl) var(--spacing-xl);text-align:center}.year-comparison-container .chart-empty-state .empty-icon{color:var(--text-color-secondary);font-size:3rem;margin-bottom:var(--spacing-md);opacity:.3}.year-comparison-container .chart-empty-state p{color:var(--text-color);font-size:1rem;font-weight:500;margin:0 0 var(--spacing-sm) 0}.year-comparison-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.comparison-legend{background:var(--background-color);border-radius:var(--border-radius-md);display:flex;justify-content:space-around;margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.legend-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.legend-label{color:var(--heading-color);font-size:1.1rem;font-weight:700}.legend-bars{display:flex;gap:var(--spacing-md)}.legend-item{color:var(--text-color-secondary)}.legend-color{border-radius:4px;height:16px;width:16px}.legend-color.income-current{background-color:#22c55e}.legend-color.expense-current{background-color:#ef4444}.legend-color.income-previous{background-color:#22c55e66}.legend-color.expense-previous{background-color:#ef444466}.comparison-chart-wrapper{overflow-x:auto;padding-bottom:var(--spacing-md)}.comparison-chart{align-items:flex-end;border-bottom:2px solid var(--border-color);border-left:2px solid var(--border-color);display:flex;gap:var(--spacing-lg);min-height:300px;min-width:900px;padding:var(--spacing-md)}.month-group{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.bars-container{gap:8px;height:280px;justify-content:center;width:100%}.bar-pair,.bars-container{align-items:flex-end;display:flex}.bar-pair{gap:3px;height:100%}.bar{border-radius:4px 4px 0 0;cursor:pointer;min-height:2px;position:relative;transition:all .3s ease;width:14px}.bar:hover{opacity:.8;transform:scaleX(1.1)}.bar.income-current{background-color:#22c55e;box-shadow:0 -2px 4px #22c55e4d}.bar.expense-current{background-color:#ef4444;box-shadow:0 -2px 4px #ef44444d}.bar.income-previous{background-color:#22c55e66;border:1px solid #22c55e99}.bar.expense-previous{background-color:#ef444466;border:1px solid #ef444499}.month-label{color:var(--text-color-secondary);font-size:.85rem;font-weight:500}.month-label,.variations{margin-top:var(--spacing-xs)}.variations{display:flex;gap:var(--spacing-xs)}.variation{align-items:center;border-radius:4px;display:flex;font-size:.75rem;font-weight:600;gap:2px;padding:2px 6px}.variation.positive{background-color:#22c55e1a;color:var(--accent-green)}.variation.negative{background-color:#ef44441a;color:var(--danger-red)}.comparison-chart-wrapper::-webkit-scrollbar{height:8px}.comparison-chart-wrapper::-webkit-scrollbar-track{background:var(--background-color);border-radius:10px}.comparison-chart-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.comparison-chart-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-color-secondary)}@media (max-width:1024px){.comparison-legend{flex-direction:column;gap:var(--spacing-md)}.legend-group{align-items:center}}@media (max-width:768px){.year-comparison-container{padding:var(--spacing-md)}.year-comparison-container h3{font-size:1.2rem}.comparison-chart{gap:var(--spacing-md);min-width:700px}.bar{width:12px}}@media (max-width:480px){.legend-bars{flex-direction:column;gap:var(--spacing-xs)}.comparison-chart{gap:var(--spacing-sm);min-width:600px}.bar{width:10px}}.category-pie-chart-container{background-color:var(--card-bg-color);border-radius:var(--border-radius);box-shadow:var(--card-shadow);margin-bottom:1.5rem;padding:1.5rem}.category-pie-chart-container h3{align-items:center;color:var(--text-color);display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.category-pie-chart-container h3 svg{color:var(--primary-color)}.category-pie-chart-container.income-chart h3 svg{color:#22c55e}.category-pie-chart-container.expense-chart h3 svg{color:#ef4444}.category-pie-chart-container .chart-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:3rem 1rem;text-align:center}.category-pie-chart-container .chart-empty-state .empty-icon{color:var(--border-color);font-size:3rem;margin-bottom:1rem;opacity:.5}.category-pie-chart-container .chart-empty-state p{color:var(--text-color);font-size:1.1rem;font-weight:500;margin:0 0 .5rem}.category-pie-chart-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.9rem}.category-pie-chart-container.chart-state{color:var(--text-color-secondary)}.category-pie-chart-container.chart-error,.category-pie-chart-container.chart-state{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:250px}.category-pie-chart-container.chart-error{color:var(--error-color)}.pie-chart-content{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:300px 1fr}.pie-chart-svg-container{align-items:center;display:flex;height:300px;justify-content:center;position:relative;width:300px}.pie-chart-svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));height:100%;transform:rotate(-90deg);width:100%}.pie-slice{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.pie-slice:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));opacity:.85;transform:scale(1.02)}.pie-center-text{font-family:var(--font-primary);transform:rotate(90deg);transform-origin:center}.pie-total-label{fill:var(--text-color-secondary);font-size:4px;font-weight:400}.pie-total-amount{fill:var(--heading-color);font-size:8px;font-weight:700}.pie-currency{fill:var(--text-color-secondary);font-size:4px;font-weight:500}.pie-legend{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.pie-legend::-webkit-scrollbar{width:6px}.pie-legend::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.pie-legend::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.pie-legend::-webkit-scrollbar-thumb:hover{background:var(--text-color-secondary)}.legend-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;gap:.75rem;padding:.75rem;transition:all .2s ease}.legend-item:hover{background:var(--card-bg-color);border-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;transform:translateX(4px)}.legend-color{border-radius:3px;box-shadow:0 2px 4px #00000026;flex-shrink:0;height:14px;width:14px}.legend-details{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:space-between}.legend-category{align-items:center;color:var(--text-color);display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.legend-icon{font-size:.9rem;opacity:.7}.legend-amount{align-items:flex-end;color:var(--text-color);display:flex;flex-direction:column;font-size:1rem;font-weight:600}.legend-percentage{color:var(--primary-color);font-size:.85rem;font-weight:600;margin-left:.25rem}@media (max-width:1200px){.pie-chart-content{gap:1.5rem;grid-template-columns:250px 1fr}.pie-chart-svg-container{height:250px;width:250px}}@media (max-width:768px){.category-pie-chart-container{padding:1rem}.pie-chart-content{grid-template-columns:1fr;justify-items:center}.pie-chart-svg-container{height:auto;margin-bottom:1rem;max-width:300px;width:100%}.pie-legend{max-height:none;width:100%}.legend-item{padding:.6rem}.legend-amount{font-size:.9rem}.category-pie-chart-container h3{font-size:1rem}}@media (max-width:480px){.pie-chart-svg-container{height:200px;width:200px}.category-pie-chart-container{padding:var(--spacing-md)}.legend-details{flex-direction:column;gap:var(--spacing-xs)}.legend-amount,.legend-details{align-items:flex-start}}.top-variable-expenses-container{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);margin-top:var(--spacing-xl);padding:var(--spacing-xl)}.top-variable-expenses-container h3{align-items:center;border-bottom:1px solid var(--border-color);color:var(--heading-color);display:flex;font-size:1.4rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-md)}.chart-subtitle{font-size:.9rem;font-style:italic;margin-bottom:var(--spacing-lg)}.top-variable-expenses-container.chart-error,.top-variable-expenses-container.chart-state{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center;min-height:100px}.top-variable-expenses-container.chart-error{color:var(--danger-red)}.top-variable-expenses-container .chart-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;padding:var(--spacing-xxxl) var(--spacing-xl);text-align:center}.top-variable-expenses-container .chart-empty-state .empty-icon{color:var(--text-color-secondary);font-size:3rem;margin-bottom:var(--spacing-md);opacity:.3}.top-variable-expenses-container .chart-empty-state p{color:var(--text-color);font-size:1rem;font-weight:500;margin:0 0 var(--spacing-sm) 0}.top-variable-expenses-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.expenses-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.expense-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease}.expense-item:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.expense-header{justify-content:space-between;margin-bottom:var(--spacing-sm)}.expense-header,.expense-info{align-items:center;display:flex}.expense-info{gap:var(--spacing-sm)}.expense-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.expense-details{display:flex;flex-direction:column;gap:2px}.expense-name{color:var(--heading-color);font-size:1rem;font-weight:600}.expense-count{color:var(--text-color-secondary);font-size:.8rem}.expense-amount{align-items:flex-end;display:flex;flex-direction:column;gap:var(--spacing-xs)}.amount-value{color:var(--danger-red);font-size:1.2rem;font-weight:700}.volatility-badge{align-items:center;border-radius:12px;display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:3px 8px}.volatility-badge.low{background-color:#22c55e1a;color:#22c55e}.volatility-badge.medium{background-color:#eab3081a;color:#eab308}.volatility-badge.high{background-color:#ef44441a;color:#ef4444}.expense-bar-container{background-color:var(--border-color);border-radius:4px;height:8px;margin-bottom:var(--spacing-sm);overflow:hidden;width:100%}.expense-bar{border-radius:4px;height:100%;transition:width .5s ease}.expense-stats{border-top:1px solid var(--border-color);display:flex;justify-content:space-around;padding-top:var(--spacing-sm)}.stat-item{align-items:center;display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:var(--text-color);font-size:.9rem;font-weight:600}.volatility-legend{align-items:center;background:var(--background-color);border-radius:var(--border-radius-md);display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.legend-title{color:var(--heading-color);font-size:.9rem;font-weight:600}.legend-items{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.legend-item{align-items:center;display:flex;font-size:.85rem;gap:var(--spacing-xs)}.legend-dot{border-radius:50%;height:10px;width:10px}.legend-item.low{color:#22c55e}.legend-item.low .legend-dot{background-color:#22c55e}.legend-item.medium{color:#eab308}.legend-item.medium .legend-dot{background-color:#eab308}.legend-item.high{color:#ef4444}.legend-item.high .legend-dot{background-color:#ef4444}@media (max-width:768px){.top-variable-expenses-container{padding:var(--spacing-md)}.top-variable-expenses-container h3{font-size:1.2rem}.expense-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.expense-amount{align-items:flex-start;width:100%}.expense-stats{flex-wrap:wrap;gap:var(--spacing-sm)}.volatility-legend{align-items:flex-start;flex-direction:column}}.treasury-forecast-container{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000014;margin-bottom:.25rem;padding:.25rem;transition:box-shadow .3s ease,transform .3s ease}.treasury-forecast-container:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.treasury-forecast-container h3{align-items:center;color:var(--text-color);display:flex;font-size:.75rem;gap:.25rem;margin-bottom:.125rem}.treasury-forecast-container h3 svg{color:var(--primary-color)}.treasury-forecast-container .chart-subtitle{color:var(--text-color-secondary);font-size:.6rem;margin-bottom:.15rem}.treasury-forecast-container .forecast-stats{grid-gap:.15rem;display:grid;gap:.15rem;grid-template-columns:repeat(3,1fr);margin-bottom:.25rem}.treasury-forecast-container .forecast-stats .stat-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.1rem;padding:.15rem}.treasury-forecast-container .forecast-stats .stat-label{color:var(--text-color-secondary);font-size:.5rem;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.treasury-forecast-container .forecast-stats .stat-value{font-size:.7rem;font-weight:700}.treasury-forecast-container .forecast-stats .stat-value.income{color:#22c55e}.treasury-forecast-container .forecast-stats .stat-value.expense{color:#ef4444}.treasury-forecast-container .forecast-stats .stat-value.positive{color:#22c55e}.treasury-forecast-container .forecast-stats .stat-value.negative{color:#ef4444}.treasury-forecast-container .forecast-chart-wrapper{height:auto;margin-bottom:.25rem;width:100%}.treasury-forecast-container .forecast-chart-svg{height:auto;width:100%}.treasury-forecast-container .forecast-line,.treasury-forecast-container .historical-line{transition:stroke-width .2s}.treasury-forecast-container .data-point{cursor:pointer;transition:all .2s}.treasury-forecast-container .data-point:hover{r:7;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.treasury-forecast-container .forecast-point{opacity:.9}.treasury-forecast-container .forecast-legend{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;margin-bottom:.5rem;padding-bottom:.5rem}.treasury-forecast-container .forecast-legend .legend-item{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:.35rem}.treasury-forecast-container .forecast-legend .legend-line{border-radius:2px;display:block;height:3px;width:30px}.treasury-forecast-container .forecast-legend .legend-line.historical{background-color:#3b82f6}.treasury-forecast-container .forecast-legend .legend-line.forecast{background:repeating-linear-gradient(90deg,#22c55e 0,#22c55e 8px,#0000 0,#0000 16px);height:3px}.treasury-forecast-container .chart-state{color:var(--text-color-secondary)}.treasury-forecast-container .chart-error,.treasury-forecast-container .chart-state{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:400px}.treasury-forecast-container .chart-error{color:var(--error-color)}.treasury-forecast-container .chart-empty-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.treasury-forecast-container .chart-empty-state .empty-icon{color:var(--border-color);font-size:3rem;margin-bottom:1rem;opacity:.5}.treasury-forecast-container .chart-empty-state p{color:var(--text-color);font-size:1.1rem;margin-bottom:.5rem}.treasury-forecast-container .chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.9rem}@media (max-width:1200px){.treasury-forecast-container .forecast-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.treasury-forecast-container{padding:1rem}.treasury-forecast-container .forecast-stats{gap:.75rem;grid-template-columns:1fr}.treasury-forecast-container .forecast-stats .stat-value{font-size:1.1rem}.treasury-forecast-container .forecast-legend{flex-direction:column;gap:.75rem}.treasury-forecast-container .chart-subtitle{font-size:.8rem}}@media (max-width:480px){.treasury-forecast-container h3{font-size:1rem}.treasury-forecast-container .forecast-stats .stat-label{font-size:.75rem}.treasury-forecast-container .forecast-stats .stat-value{font-size:1rem}}.compact-charts-grid .treasury-forecast-container{height:100%;padding:1rem}.compact-charts-grid .treasury-forecast-container h3{font-size:1.1rem;margin-bottom:.5rem}.compact-charts-grid .treasury-forecast-container .forecast-stats{gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1rem}.compact-charts-grid .treasury-forecast-container .forecast-stats .stat-card{padding:.5rem}.compact-charts-grid .treasury-forecast-container .forecast-stats .stat-value{font-size:1.1rem}.income-breakdown-donut-container{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000014;height:100%;margin-bottom:0;padding:1rem;transition:box-shadow .3s ease,transform .3s ease}.income-breakdown-donut-container:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.income-breakdown-donut-container h3{align-items:center;color:var(--text-color);display:flex;font-size:.75rem;gap:.25rem;margin-bottom:.125rem}.income-breakdown-donut-container h3 svg{color:var(--primary-color)}.chart-subtitle{color:var(--text-color-secondary);font-size:.6rem;margin-bottom:.25rem}.donut-wrapper{grid-gap:.35rem;align-items:center;display:grid;gap:.35rem;grid-template-columns:70px 1fr;margin-bottom:.25rem}.donut-chart{height:70px;width:70px}.donut-svg{height:100%;width:100%}.donut-segment{cursor:pointer;transition:all .3s}.donut-segment:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));opacity:.8}.active-segment{fill:#3b82f6}.passive-segment{fill:#22c55e}.donut-center-label{font-size:6px;font-weight:500}.donut-center-value{font-size:10px;font-weight:700}.donut-center-currency{font-size:5px;font-weight:500}.donut-legend{display:flex;flex-direction:column;gap:.25rem}.donut-legend .legend-item{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.1rem;padding:.15rem}.donut-legend .legend-header{align-items:center;display:flex;gap:.15rem;margin-bottom:.08rem}.donut-legend .legend-color{border-radius:2px;display:block;height:10px;width:10px}.donut-legend .legend-color.active{background-color:#3b82f6}.donut-legend .legend-color.passive{background-color:#22c55e}.donut-legend .legend-label{color:var(--text-color);font-size:.6rem;font-weight:600}.donut-legend .legend-details{align-items:baseline;display:flex;justify-content:space-between}.donut-legend .legend-amount{color:var(--text-color);font-size:.7rem;font-weight:700}.donut-legend .legend-percentage{color:var(--primary-color);font-size:.6rem;font-weight:600}.donut-legend .legend-count{color:var(--text-color-secondary);font-size:.75rem}.independence-score{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:.5rem}.independence-score .score-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.independence-score .score-label{color:var(--text-color);font-size:.8rem;font-weight:600}.independence-score .score-badge{border-radius:12px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.2rem .5rem;text-transform:uppercase}.independence-score .score-bar{background-color:var(--border-color);border-radius:4px;height:6px;margin-bottom:.5rem;overflow:hidden;width:100%}.independence-score .score-fill{height:100%;transition:width .6s ease-out,background-color .3s}.independence-score .score-hint{color:var(--text-color-secondary);font-size:.75rem;line-height:1.4;margin:0}.chart-state{color:var(--text-color-secondary)}.chart-error,.chart-state{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:400px}.chart-error{color:var(--error-color)}.chart-empty-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.chart-empty-state .empty-icon{color:var(--border-color);font-size:3rem;margin-bottom:1rem;opacity:.5}.chart-empty-state p{color:var(--text-color);font-size:1.1rem;margin-bottom:.5rem}.chart-empty-state .empty-hint{color:var(--text-color-secondary);font-size:.9rem}@media (max-width:1200px){.donut-wrapper{gap:1.5rem;grid-template-columns:250px 1fr}.donut-chart{height:250px;width:250px}.donut-center-value{font-size:24px}}@media (max-width:768px){.income-breakdown-donut-container{padding:1rem}.donut-wrapper{gap:1rem;grid-template-columns:1fr}.donut-chart{height:auto;margin:0 auto;max-width:300px;width:100%}.donut-legend{gap:1rem}.donut-legend .legend-amount{font-size:1.1rem}.independence-score .score-hint{font-size:.8rem}}@media (max-width:480px){.income-breakdown-donut-container h3{font-size:1rem}.chart-subtitle{font-size:.8rem}.donut-legend .legend-item{padding:.75rem}.donut-legend .legend-label{font-size:.85rem}.donut-legend .legend-amount{font-size:1rem}.donut-legend .legend-percentage{font-size:.9rem}.independence-score .score-label{font-size:.85rem}.independence-score .score-badge{font-size:.7rem;padding:.2rem .6rem}}.creation-modal-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:5000}.creation-modal-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0000004d;color:var(--text-color-primary);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.creation-modal-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.creation-modal-content .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.creation-modal-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.3rem;transition:color .2s}.creation-modal-content .close-btn:hover{color:var(--danger-red)}.creation-modal-content .modal-body{flex-grow:1;padding:var(--spacing-lg)}.creation-modal-content .form-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-md)}.creation-modal-content .input-group{display:flex;flex-direction:column}.creation-modal-content .input-group.full-width{grid-column:1/-1}.creation-modal-content label{color:var(--text-color-secondary);font-size:.9rem;font-weight:700;margin-bottom:var(--spacing-xs)}.creation-modal-content input,.creation-modal-content select,.creation-modal-content textarea{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:1rem;outline:none;padding:.6rem .75rem;transition:border-color .2s}.creation-modal-content input:focus,.creation-modal-content select:focus,.creation-modal-content textarea:focus{border-color:var(--accent-blue)}.creation-modal-content textarea{resize:vertical}.creation-modal-content .modal-footer{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-md)}.creation-modal-content .btn-cancel{background:none;border:1px solid var(--text-color-secondary);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;padding:.75rem 1.5rem;transition:background-color .2s}.creation-modal-content .btn-cancel:hover{background-color:var(--hover-bg)}.creation-modal-content .btn-primary{align-items:center;background-color:var(--accent-green);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-weight:700;gap:8px;padding:.75rem 1.5rem;transition:opacity .2s}@media (max-width:500px){.creation-modal-content .form-grid{grid-template-columns:1fr}}.category-management-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:5500}.category-management-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:80vh;max-width:700px;padding:var(--spacing-lg);width:90%}.category-management-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding-bottom:var(--spacing-md)}.category-management-content h2{color:var(--heading-color);font-size:1.5rem;margin:0}.category-management-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.category-management-content .close-btn:hover{color:var(--danger-red)}.category-management-content .add-category-section{flex-shrink:0;padding:var(--spacing-lg) 0}.category-management-content .add-category-section form{align-items:center;background-color:var(--hover-bg);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.category-management-content .add-icon{color:var(--accent-blue);margin-left:var(--spacing-xs)}.category-management-content .new-category-input{flex-grow:1;outline:none}.category-management-content .new-category-input,.category-management-content .new-category-type-select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:.9rem;padding:.5rem}.category-management-content .color-picker{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:35px;padding:0;width:35px}.category-management-content .btn-add{background-color:var(--accent-green);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1rem;transition:opacity .2s}.category-management-content .btn-add:disabled{cursor:not-allowed;opacity:.6}.category-management-content .category-list-section{flex-grow:1;overflow-y:auto}.category-management-content .category-list-section h3{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.8rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-md);padding-bottom:var(--spacing-xs);text-transform:uppercase}.category-management-content .loading-state{text-align:center}.category-management-content .category-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.category-management-content .category-row{align-items:center;border-bottom:1px dashed var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.category-management-content .category-display-area{align-items:center;display:flex;flex-grow:1;gap:var(--spacing-sm)}.category-management-content .category-color-preview{border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;height:15px;width:15px}.category-management-content .category-name-view,.category-management-content .category-type-view{color:var(--text-color-primary);font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-management-content .category-input-edit{background-color:var(--card-bg);border:1px solid var(--accent-blue);border-radius:var(--border-radius-sm);color:var(--text-color-primary);flex-grow:1;font-size:1rem;max-width:200px;outline:none;padding:.2rem .5rem}.category-management-content .category-display-area select{background-color:var(--card-bg);border:1px solid var(--accent-blue);color:var(--text-color-primary);padding:.2rem .5rem}.category-management-content .category-actions button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:.4rem;transition:color .2s}.category-management-content .category-actions button:hover{color:var(--accent-blue)}.category-management-content .category-actions .delete-btn:hover{color:var(--danger-red)}.type-management-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:5500}.type-management-content{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:60vh;max-width:500px;padding:var(--spacing-lg);width:90%}.type-management-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding-bottom:var(--spacing-md)}.type-management-content h2{color:var(--heading-color);font-size:1.5rem;margin:0}.type-management-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.type-management-content .close-btn:hover{color:var(--danger-red)}.type-management-content .add-type-section{flex-shrink:0;padding:var(--spacing-lg) 0}.type-management-content .add-type-section form{align-items:center;background-color:var(--hover-bg);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.type-management-content .add-icon{color:var(--accent-blue);margin-left:var(--spacing-xs)}.type-management-content .new-type-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);flex-grow:1;font-size:.9rem;outline:none;padding:.5rem}.type-management-content .color-picker{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:35px;padding:0;width:35px}.type-management-content .btn-add{background-color:var(--accent-green);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1rem;transition:opacity .2s}.type-management-content .type-list-section{flex-grow:1;overflow-y:auto}.type-management-content .type-list-section h3{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.8rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-md);padding-bottom:var(--spacing-xs);text-transform:uppercase}.type-management-content .loading-state{text-align:center}.type-management-content .type-row{align-items:center;border-bottom:1px dashed var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.type-management-content .type-display-area{align-items:center;display:flex;flex-grow:1;gap:var(--spacing-sm)}.type-management-content .type-color-preview{border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;height:15px;width:15px}.type-management-content .type-input-edit,.type-management-content .type-name-view{color:var(--text-color-primary);font-size:1rem}.type-management-content .type-input-edit{background-color:var(--card-bg);border:1px solid var(--accent-blue);border-radius:var(--border-radius-sm);flex-grow:1;max-width:200px;outline:none;padding:.2rem .5rem}.type-management-content .type-actions button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:.4rem;transition:color .2s}.type-management-content .type-actions button:hover{color:var(--accent-blue)}.type-management-content .type-actions .delete-btn:hover{color:var(--danger-red)}.transactions-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:0 var(--spacing-md) 1rem var(--spacing-md)}.transactions-page-container .compact-charts-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr;margin:1rem auto}.transactions-page-container .analytics-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:400px 1fr;margin-top:var(--spacing-md)}.transactions-page-container .pie-charts-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);margin-top:var(--spacing-md)}@media (min-width:1200px){.transactions-page-container .compact-charts-grid{align-items:flex-start;grid-template-columns:repeat(3,1fr)}}@media (max-width:1200px){.transactions-page-container .analytics-grid,.transactions-page-container .pie-charts-grid{grid-template-columns:1fr}}@media (max-width:768px){.transactions-page-container{padding:var(--spacing-sm)}.transactions-page-container .analytics-grid,.transactions-page-container .compact-charts-grid,.transactions-page-container .pie-charts-grid{gap:var(--spacing-sm)}}.goals-hero-section{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.goals-hero-section .hero-content{align-items:center;display:flex;gap:15px;text-shadow:none!important}.hero-content h1{text-shadow:none!important}.goals-hero-section .hero-icon{color:var(--accent-blue);font-size:2rem}.goals-hero-section .hero-title{color:var(--text-color-primary);font-size:1.8rem;font-weight:700;margin:0}.goals-hero-section .hero-actions{display:flex;gap:10px}.goals-hero-section .hero-actions .btn-primary,.goals-hero-section .hero-actions .manage-categories-btn{align-items:center;border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:.75rem 1.25rem;transition:opacity .2s,background-color .2s}.goals-hero-section .hero-actions .btn-primary{background-color:var(--accent-blue);border:none;color:var(--card-bg)}.goals-hero-section .hero-actions .btn-primary:hover{background-color:var(--accent-blue-dark)}.goals-hero-section .hero-actions .manage-categories-btn{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color-secondary)}.goals-hero-section .hero-actions .manage-categories-btn:hover{background-color:var(--hover-bg);color:var(--accent-blue)}@media (max-width:768px){.goals-hero-section{align-items:flex-start;flex-direction:column;gap:1rem;padding-bottom:1rem}.goals-hero-section .hero-title{font-size:1.6rem}.goals-hero-section .hero-actions{flex-direction:column;gap:8px;width:100%}.goals-hero-section .hero-actions .btn-primary,.goals-hero-section .hero-actions .manage-categories-btn{justify-content:center;width:100%}}.goal-details-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:5000}.goal-details-panel{animation:fadeInScale .2s ease-out;background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0000004d;color:var(--text-color-primary);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.goal-details-panel .details-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.goal-details-panel .header-info{align-items:center;display:flex;gap:var(--spacing-md)}.goal-details-panel .header-info h2{color:var(--heading-color);font-size:1.5rem;margin:0}.goal-details-panel .header-icon{color:var(--accent-blue);font-size:1.3rem}.goal-details-panel .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.3rem;transition:color .2s}.goal-details-panel .close-btn:hover{color:var(--danger-red)}.goal-details-panel .panel-body{flex-grow:1;overflow-y:auto;padding:var(--spacing-lg)}.goal-details-panel .goal-summary-section{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-md)}.goal-details-panel .summary-title{border-bottom:1px dashed var(--border-color);color:var(--heading-color);font-size:1.6rem;margin-bottom:var(--spacing-md);margin-top:0;padding-bottom:var(--spacing-xs)}.goal-details-panel .summary-metrics{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}.goal-details-panel .metric-box{background-color:var(--card-bg);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;font-size:.9rem;gap:2px;padding:var(--spacing-sm)}.goal-details-panel .metric-box strong{color:var(--text-color-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.goal-details-panel .status-tag{align-self:flex-start;border-radius:4px;font-weight:700;padding:3px 6px}.goal-details-panel .status-tag.status-completed{background-color:var(--accent-green);color:#fff}.goal-details-panel .status-tag.status-in_progress{background-color:var(--accent-blue);color:#fff}.goal-details-panel .current-value,.goal-details-panel .target-value{font-size:1.2rem;font-weight:800}.goal-details-panel .progress-percent{color:var(--accent-blue);font-size:1.2rem;font-weight:800}.goal-details-panel .goal-description{border-top:1px dashed var(--border-color);color:var(--text-color-primary);font-size:.9rem;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.goal-details-panel .history-section-title{align-items:center;color:var(--heading-color);display:flex;font-size:1.4rem;gap:10px;margin-bottom:var(--spacing-lg)}.goal-details-panel .progress-history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.goal-details-panel .history-log-item{background-color:var(--main-bg);border-left:4px solid var(--accent-green);border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.goal-details-panel .history-log-item.withdrawal{border-left-color:var(--danger-red)}.goal-details-panel .log-header{align-items:center;display:flex;justify-content:space-between}.goal-details-panel .log-amount,.goal-details-panel .log-date,.goal-details-panel .log-time{align-items:center;display:flex;font-size:.9rem;gap:8px}.goal-details-panel .log-amount span{font-weight:700}.goal-details-panel .log-amount.positive span,.goal-details-panel .log-amount.positive svg{color:var(--accent-green)}.goal-details-panel .log-amount.negative span,.goal-details-panel .log-amount.negative svg{color:var(--danger-red)}.goal-details-panel .log-date span,.goal-details-panel .log-time span{color:var(--text-color-secondary)}.goal-details-panel .log-time{font-size:.85rem;padding-left:var(--spacing-lg)}.goal-details-panel .log-notes{background-color:var(--card-bg);border-radius:var(--border-radius-xs);display:flex;font-size:.85rem;gap:8px;margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.goal-details-panel .log-notes svg{color:var(--accent-blue);flex-shrink:0;margin-top:2px}.goal-details-panel .log-notes p{word-wrap:break-word;color:var(--text-color-primary);line-height:1.4;margin:0}.goal-details-panel .history-status{color:var(--text-color-secondary);font-style:italic;padding:var(--spacing-xl);text-align:center}.goals-list-section{margin-top:2rem}.goals-list-section .goals-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.goals-list-section .goal-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;padding:12px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.goals-list-section .goal-card:hover{border-color:var(--accent-blue);box-shadow:0 8px 15px #0000001a;transform:translateY(-5px)}.goals-list-section .goal-card.completed{border-left:5px solid var(--accent-green);opacity:.95}.goals-list-section .card-header{align-items:flex-start;border-bottom:1px solid var(--border-color-light);display:flex;flex-direction:column;margin-bottom:6px;padding-bottom:6px}.goals-list-section .goal-title{color:var(--heading-color);font-size:1.1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.goals-list-section .goal-category-tag{border-radius:20px;color:var(--card-bg);flex-shrink:0;font-size:.65rem;font-weight:700;padding:2px 6px;text-transform:uppercase}.goals-list-section .goal-details{display:flex;flex-direction:column;flex-grow:1}.goals-list-section .goal-status{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.85rem;font-weight:500;gap:8px;margin-bottom:6px}.goals-list-section .goal-status svg{color:var(--accent-blue)}.goals-list-section .goal-card.completed .goal-status svg{color:var(--accent-green)}.goals-list-section .goal-metrics{color:var(--text-color-primary);font-size:1.2rem;font-weight:600;margin:5px 0}.goals-list-section .current-value{color:var(--accent-blue);font-weight:800;margin-right:5px}.goals-list-section .target-value{color:var(--text-color-secondary);font-size:.85rem;font-weight:400}.goals-list-section .progress-bar-container{background-color:var(--hover-bg);border-radius:5px;height:6px;margin:5px 0;overflow:hidden}.goals-list-section .progress-bar-fill{background-color:var(--accent-blue);border-radius:5px;height:100%;transition:width .5s ease}.goals-list-section .progress-percent{color:var(--accent-blue);font-size:.85rem;font-weight:700;margin-bottom:10px;text-align:right}.goals-list-section .target-date{align-items:center;border-top:1px dashed var(--border-color-light);color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:5px;margin-top:auto;padding-top:8px}.goals-list-section .card-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:5px;justify-content:flex-end;padding-top:8px}.goals-list-section .card-actions .btn-action{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);font-size:.8rem;padding:6px}.goals-list-section .card-actions .btn-action:hover{background-color:var(--hover-bg);color:var(--heading-color)}.goals-list-section .card-actions .progress{background-color:var(--accent-blue);border:none;color:var(--card-bg);font-size:.8rem;font-weight:600;padding:6px 10px}.goals-list-section .card-actions .progress:hover{background-color:var(--accent-blue-dark)}.goals-list-section .goals-list-status{color:var(--text-color-secondary);padding:40px;text-align:center}.goals-list-section .goals-list-status h2{color:var(--heading-color)}.goal-modal-overlay{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.goal-modal-overlay .goal-modal-content{background-color:var(--main-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.goal-modal-overlay .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.goal-modal-overlay .modal-header h2{color:var(--heading-color);font-size:1.5rem;margin:0}.goal-modal-overlay .modal-header .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.2rem;transition:color .2s ease}.goal-modal-overlay .modal-header .close-btn:hover{color:var(--danger-red)}.goal-modal-overlay .modal-body{display:flex;flex-direction:column;gap:15px;padding:1.5rem}.goal-modal-overlay .goal-form{grid-gap:15px;display:grid;gap:15px}.goal-modal-overlay .goal-form .input-group{display:flex;flex-direction:column}.goal-modal-overlay .goal-form .input-group.full-width{grid-column:1/-1}.goal-modal-overlay .goal-form label{color:var(--text-color-primary);font-size:.9rem;font-weight:var(--font-weight-bold);margin-bottom:5px}.goal-modal-overlay .goal-form input[type=date],.goal-modal-overlay .goal-form input[type=number],.goal-modal-overlay .goal-form input[type=text],.goal-modal-overlay .goal-form select,.goal-modal-overlay .goal-form textarea{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-sizing:border-box;color:var(--text-color-primary);font-size:var(--font-size-base);padding:10px;transition:border-color .2s ease;width:100%}.goal-modal-overlay .transaction-type-toggle{align-items:center;display:flex;gap:10px}.goal-modal-overlay button.toggle-btn{align-items:center;border:none;border-radius:6px;color:var(--card-bg);cursor:pointer;display:inline-flex;font-weight:var(--font-weight-bold);gap:8px;min-width:96px;padding:8px 15px;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.goal-modal-overlay .goal-status-info{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:calc(var(--border-radius-md));color:var(--text-color-primary);display:flex;font-weight:600;gap:12px;justify-content:space-between;padding:12px 14px}.goal-modal-overlay .goal-status-info .remaining-amount{background:linear-gradient(90deg,#4ade800f,#0000);border:1px solid #4ade8014;border-radius:8px;color:var(--accent-green);display:inline-block;font-size:1.05rem;font-weight:800;padding:6px 10px}.goal-modal-overlay .goal-status-info.negative .remaining-amount{background:linear-gradient(90deg,#ef44440f,#0000);border-color:#ef444414;color:var(--danger-red)}.goal-modal-overlay button.toggle-btn.add{background:linear-gradient(135deg,#4ade80,#16a34a);border:1px solid #10b9811f;color:#fff}.goal-modal-overlay button.toggle-btn.withdraw{background:linear-gradient(135deg,#fb7185,#ef4444);border:1px solid #ef44441f;color:#fff}.goal-modal-overlay button.toggle-btn.add:focus,.goal-modal-overlay button.toggle-btn.add:hover{box-shadow:0 10px 30px #22c55e1f;transform:translateY(-2px)}.goal-modal-overlay button.toggle-btn.withdraw:focus,.goal-modal-overlay button.toggle-btn.withdraw:hover{box-shadow:0 10px 30px #ef44441f;transform:translateY(-2px)}.goal-modal-overlay button.toggle-btn:not(.add):not(.withdraw){background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color-primary)}.goal-modal-overlay .modal-footer{border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;margin-top:auto;padding:1rem O}.goal-modal-overlay .modal-footer .btn-cancel{background-color:initial;border:1px solid var(--text-color-secondary);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;padding:8px 15px;transition:background-color .2s ease,color .2s ease}.goal-modal-overlay .modal-footer .btn-cancel:hover{background-color:var(--hover-bg);color:var(--text-color-primary)}.goal-modal-overlay .modal-footer .btn-primary{align-items:center;background-color:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:var(--card-bg);cursor:pointer;display:flex;font-weight:var(--font-weight-bold);gap:8px;padding:8px 15px;transition:background-color .2s ease}.goal-modal-overlay .modal-footer .btn-primary:hover{background-color:var(--accent-blue-dark)}.goal-modal-overlay .modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:500px){.goal-modal-overlay .goal-modal-content{margin:10px;max-width:100%}.goal-modal-overlay .goal-form{grid-template-columns:1fr}.goal-modal-overlay .modal-footer{flex-direction:column}}.progress-modal-overlay{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.progress-modal-overlay .progress-modal-content{background-color:var(--main-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:400px;overflow-y:auto;width:90%}.progress-modal-overlay .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.progress-modal-overlay .modal-header h2{align-items:center;color:var(--heading-color);display:flex;font-size:1.2rem;gap:8px;margin:0}.progress-modal-overlay .modal-header .close-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.2rem;transition:color .2s ease}.progress-modal-overlay .transaction-type-toggle{align-items:center;background-color:initial;border:none;border-radius:calc(var(--border-radius-md) + 2px);display:flex;gap:var(--spacing-sm);margin-bottom:calc(var(--spacing-lg) - 6px);padding:6px}.progress-modal-overlay .transaction-type-toggle .toggle-btn{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;flex:1 1;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:10px 12px;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.progress-modal-overlay .transaction-type-toggle .toggle-btn:hover{box-shadow:0 6px 18px #1018280f;transform:translateY(-2px)}.progress-modal-overlay .transaction-type-toggle .toggle-btn.add.active{background:linear-gradient(135deg,var(--accent-green),#16a34a);border-color:#0000;box-shadow:0 10px 30px #22c55e1f;color:#fff}.progress-modal-overlay .transaction-type-toggle .toggle-btn.withdraw.active{background:linear-gradient(135deg,var(--danger-red),#b91c1c);border-color:#0000;box-shadow:0 10px 30px #dc26261f;color:#fff}.progress-modal-overlay .transaction-type-toggle .toggle-btn.add svg,.progress-modal-overlay .transaction-type-toggle .toggle-btn.withdraw svg{font-size:.95rem}.progress-modal-overlay .transaction-type-toggle .toggle-btn:not(.active){opacity:.95}.progress-modal-overlay .modal-header .close-btn:hover{color:var(--color-error)}.progress-modal-overlay .modal-body{display:flex;flex-direction:column;gap:15px;padding:1.5rem}.progress-modal-overlay .goal-status-info{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:calc(var(--border-radius) + 2px);color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:500;gap:12px;justify-content:space-between;margin:0 0 4px;padding:12px 14px}.progress-modal-overlay .goal-status-info .remaining-amount{background:linear-gradient(90deg,#00000005,#0000);border-radius:6px;color:var(--accent-green);font-size:1.08rem;font-weight:800;padding:4px 8px}.progress-modal-overlay .progress-form{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr}.progress-modal-overlay .progress-form .input-group{display:flex;flex-direction:column}.progress-modal-overlay .progress-form label{color:var(--text-color-primary);font-size:.9rem;font-weight:600;margin-bottom:5px}.progress-modal-overlay .progress-form input[type=date],.progress-modal-overlay .progress-form input[type=number],.progress-modal-overlay .progress-form textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;color:var(--text-color-primary);font-size:1rem;padding:10px;width:100%}.progress-modal-overlay .modal-footer{border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;margin-top:auto;padding:1rem 1.5rem 1.5rem}.progress-modal-overlay .modal-footer .btn-cancel{background-color:initial;border:1px solid var(--color-text-secondary);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;padding:8px 15px}.progress-modal-overlay .modal-footer .btn-primary{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--border-radius);color:var(--main-bg);cursor:pointer;display:flex;font-weight:700;gap:8px;padding:8px 15px}.progress-modal-overlay .modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5}.goal-cat-management-overlay{align-items:center;background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:5500}.goal-cat-management-content{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:60vh;max-width:500px;overflow-y:auto;padding:var(--spacing-lg);position:relative;width:80%}.goal-cat-management-content .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding-bottom:var(--spacing-md)}.goal-cat-management-content h2{color:var(--heading-color);font-size:1.5rem;margin:0}.goal-cat-management-content .close-btn{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;transition:color .2s}.goal-cat-management-content .close-btn:hover{color:var(--danger-red)}.goal-cat-management-content .goal-cat-add-section{flex-shrink:0;padding:var(--spacing-lg) 0}.goal-cat-management-content .goal-cat-add-section form{align-items:center;background-color:var(--hover-bg);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.goal-cat-management-content .goal-cat-add-icon{color:var(--accent-blue);margin-left:var(--spacing-xs)}.goal-cat-management-content .goal-cat-new-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);flex-grow:1;font-size:.9rem;outline:none;padding:.5rem}.goal-cat-management-content .goal-cat-color-picker{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:35px;padding:0;width:35px}.goal-cat-management-content .goal-cat-btn-add{background-color:var(--accent-green);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1rem;transition:opacity .2s}.goal-cat-management-content .goal-cat-btn-add:disabled{cursor:not-allowed;opacity:.6}.goal-cat-management-content .goal-cat-list-section{flex-grow:1;overflow-y:auto}.goal-cat-management-content .goal-cat-list-section h3{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.8rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-md);padding-bottom:var(--spacing-xs);text-transform:uppercase}.goal-cat-management-content .goal-cat-loading-state{text-align:center}.goal-cat-management-content .goal-cat-row{align-items:center;border-bottom:1px dashed var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.goal-cat-management-content .goal-cat-display-area{align-items:center;display:flex;flex-grow:1;gap:var(--spacing-sm)}.goal-cat-management-content .goal-cat-color-preview{border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;height:15px;width:15px}.goal-cat-management-content .goal-cat-name-view{color:var(--text-color-primary);font-size:1rem}.goal-cat-management-content .goal-cat-input-edit{background-color:var(--card-bg);border:1px solid var(--accent-blue);border-radius:var(--border-radius-sm);color:var(--text-color-primary);flex-grow:1;font-size:1rem;max-width:200px;outline:none;padding:.2rem .5rem}.goal-cat-management-content .goal-cat-color-picker-inline{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:30px;margin-left:var(--spacing-sm);padding:0;width:30px}.goal-cat-management-content .goal-cat-actions button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.9rem;padding:.4rem;transition:color .2s}.goal-cat-management-content .goal-cat-actions button:hover{color:var(--accent-blue)}.goal-cat-management-content .goal-cat-actions .delete-btn:hover{color:var(--danger-red)}.goal-cat-management-content .goal-cat-no-categories{color:var(--text-color-secondary);font-style:italic;padding:var(--spacing-lg);text-align:center}.goals-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:var(--spacing-xl)}.goals-page-container .goals-back-btn{align-items:center;background:#0000;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;margin-bottom:2rem;padding:.5rem;transition:color .2s ease,transform .2s ease}.goals-page-container .goals-back-btn:hover{color:var(--color-primary);transform:translateX(-3px)}@media (max-width:768px){.goals-page-container{padding:var(--spacing-lg);padding-bottom:4rem}.goals-page-container .goals-back-btn{font-size:.9rem;margin-bottom:1rem}.goals-hero-section .hero-content{flex-direction:column;gap:5px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.projection-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projection-modal .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.projection-modal .modal-header h2{color:var(--accent-green);font-size:1.5rem;margin:0}.modal-header .header-actions{align-items:center;display:flex;gap:8px}.btn-manage-categories{align-items:center;background:none;border:1px solid #e9ecef;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:1rem;gap:6px;padding:6px 12px;transition:all .2s}.btn-manage-categories:hover{background-color:#f8f9fa;border-color:var(--accent-green);color:var(--accent-green)}.modal-close-btn{background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;font-size:1.5rem;padding:4px 8px;transition:all .2s}.modal-close-btn:hover{background-color:#f8f9fa;color:#212529}.modal-loading{color:#6c757d;padding:40px;text-align:center}.form-hint{color:#6c757d;display:block;font-size:.85rem;font-style:italic;margin-top:4px}.modal-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:var(--accent-green);display:block;font-size:.95rem;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .2s;width:-webkit-fill-available!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 4px #fd7f2c1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:#adb5bd}.type-selector{display:flex;gap:12px}.type-option{align-items:center;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:12px 20px;position:relative;transition:all .2s}.type-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.type-option span{color:#6c757d;font-weight:600;transition:color .2s}.type-option:hover{background-color:#fd7f2c0d;border-color:var(--accent-blue)}.type-option.active{background-color:#fd7f2c1a;border-color:var(--accent-blue)}.type-option.active span{color:var(--accent-blue)}.modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;margin-top:28px;padding-top:20px}.modal-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.btn-cancel{background-color:#f8f9fa;color:#6c757d}.btn-cancel:hover{background-color:#e9ecef;color:#495057}.btn-save{background-color:var(--accent-blue);color:#fff}.btn-save:hover:not(:disabled){background-color:#e66d1f;box-shadow:0 4px 12px #fd7f2c4d;transform:translateY(-1px)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.loading-text{animation:pulse 1.5s infinite;color:var(--accent-blue);font-size:.85rem;font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.projection-modal{max-height:95vh;width:95%}.projection-modal .modal-header{padding:16px 20px}.projection-modal .modal-header h2{font-size:1.25rem}.modal-form{padding:20px}.form-group{margin-bottom:16px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.projections-page{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:var(--spacing-xl)}.projections-back-btn{align-items:center;background:#0000;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;margin-bottom:2rem;padding:.5rem;transition:color .2s ease,transform .2s ease}.projections-back-btn:hover{color:var(--color-primary);transform:translateX(-3px)}.projections-header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.header-content h1{align-items:center;color:var(--heading-color);display:flex;font-size:1.5rem;gap:var(--spacing-sm);margin-bottom:.25rem}.header-content p{color:var(--text-color-secondary);font-size:.9rem}.header-actions{align-items:center;display:flex;gap:12px}.btn-add-projection{align-items:center;background:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.btn-add-projection:hover{background:var(--accent-blue-dark);box-shadow:0 4px 12px #fd7f2c4d;transform:translateY(-2px)}.btn-manage-categories-header{align-items:center;background:#fff;border:2px solid var(--accent-green);border-radius:var(--border-radius-md);color:var(--accent-green);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease;white-space:nowrap}.btn-manage-categories-header:hover{background:var(--accent-green);box-shadow:0 4px 12px #34a8534d;color:#fff;transform:translateY(-2px)}.projections-summary{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--spacing-lg)}.summary-card{align-items:center;background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:transform .2s ease}.summary-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.summary-icon{align-items:center;border-radius:var(--border-radius-md);display:flex;font-size:1.4rem;height:48px;justify-content:center;width:48px}.summary-card.revenue .summary-icon{background:#4caf501a;color:var(--accent-green)}.summary-card.expense .summary-icon{background:#f443361a;color:var(--danger-red)}.summary-card.balance .summary-icon{background:#fd7f2c1a;color:var(--accent-blue)}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-label{color:var(--text-color-secondary);font-size:.8rem;font-weight:500}.summary-amount{color:var(--text-color-primary);font-size:1.4rem;font-weight:700}.summary-card.balance.positive .summary-amount{color:var(--accent-green)}.summary-card.balance.negative .summary-amount{color:var(--danger-red)}.projections-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.projection-category{background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);overflow:hidden}.category-header{align-items:center;background:var(--main-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.category-title{align-items:center;color:var(--text-color-primary);display:flex;font-size:.95rem;font-weight:600;gap:var(--spacing-sm)}.category-color-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.category-type-badge{background:var(--border-color);border-radius:12px;color:var(--text-color-secondary);font-size:.75rem;font-weight:500;padding:2px 8px}.category-title svg{color:var(--accent-blue);font-size:1rem}.category-total{border-radius:var(--border-radius-md);font-size:.95rem;font-weight:700;padding:4px 12px}.category-total.revenue{background:#4caf501a;color:var(--accent-green)}.category-total.expense{background:#f443361a;color:var(--danger-red)}.category-items{display:flex;flex-direction:column;gap:6px;padding:var(--spacing-sm)}.projection-item{align-items:center;background:var(--main-bg);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);transition:background .2s ease}.projection-item:hover{background:var(--hover-bg)}.item-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.item-label{color:var(--text-color-primary);font-size:.9rem;font-weight:600}.item-comment{color:var(--text-color-secondary);font-size:.8rem;font-style:italic}.item-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.item-amount{font-size:1rem;font-weight:700;min-width:100px;text-align:right}.item-amount.revenu{color:var(--accent-green)}.item-amount.depense{color:var(--danger-red)}.btn-icon{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:.95rem;padding:6px 10px;transition:all .2s ease}.btn-icon:hover{background:var(--hover-bg)}.btn-icon.confirm:hover{background:#4caf501a;color:var(--accent-green)}.btn-icon.adjust:hover{background:#ff98001a;color:var(--accent-orange)}.btn-icon.edit:hover{color:var(--accent-blue)}.btn-icon.delete:hover{background:#f443361a;color:var(--danger-red)}.adjust-modal{background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:450px;padding:var(--spacing-lg);width:90%}.adjust-content{margin-top:var(--spacing-md)}.adjust-info{color:var(--text-color-primary);font-size:1.1rem;margin-bottom:var(--spacing-sm)}.adjust-hint{color:var(--text-color-secondary);font-size:.9rem;margin-bottom:var(--spacing-lg)}.adjust-hint strong{color:var(--accent-blue)}.empty-state{background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-small);padding:var(--spacing-xl) var(--spacing-lg)}.empty-state svg{font-size:4rem;opacity:.5}.empty-state p,.empty-state svg{color:var(--text-color-secondary);margin-bottom:var(--spacing-lg)}.empty-state p{font-size:1.1rem}.btn-empty{background:var(--accent-blue);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-empty:hover{background:var(--accent-blue-dark);transform:translateY(-2px)}@media (max-width:768px){.projections-page{padding:var(--spacing-lg)}.projections-header{align-items:flex-start;flex-direction:column}.header-actions{flex-direction:column;gap:10px;width:100%}.btn-add-projection,.btn-manage-categories-header{justify-content:center;width:100%}.projections-summary{grid-template-columns:1fr}.projection-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.item-actions{justify-content:space-between;width:100%}.item-amount{min-width:auto}}.profile-header-container{margin-bottom:2rem}.profile-header-section{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.profile-header-left{flex:1 1;text-align:center}.profile-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1.2;margin:0 0 .5rem}.profile-header-left p{color:var(--text-color-secondary);font-size:1rem;line-height:1.5;margin:0}@media (max-width:768px){.profile-header-section{gap:1rem;margin-bottom:1rem}.profile-header-left h1{font-size:1.75rem}.profile-header-left p{font-size:.9rem}}@media (max-width:480px){.profile-header-left h1{font-size:1.5rem}.profile-header-left p{font-size:.85rem}}.profile-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:2rem}.profile-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.profile-page-container .back-button:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.profile-page-container .back-button svg{font-size:1rem}.profile-content{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1700px}.profile-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem}.section-header{gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.section-header .section-icon,.section-header h2{font-size:1.5rem}.info-card{gap:1.5rem}.info-card,.info-item{display:flex;flex-direction:column}.info-item{gap:.5rem}.info-item label{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.9rem;font-weight:600;gap:.5rem}.info-item label svg{color:#f59e0b}.info-item p{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);font-size:1rem;margin:0;padding:.75rem 1rem}.info-display{align-items:center;display:flex;gap:1rem}.info-display p{flex:1 1;margin:0}.btn-edit-email{background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.btn-edit-email:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.email-edit-form{display:flex;flex-direction:column;gap:1rem}.email-actions{display:flex;gap:.75rem}.btn-save-email{align-items:center;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease}.btn-save-email:hover:not(:disabled){box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.btn-save-email:disabled{cursor:not-allowed;opacity:.6}.btn-cancel-email{background:var(--hover-bg);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.btn-cancel-email:hover{border-color:#ef4444;color:#ef4444}.password-form{display:flex;flex-direction:column;gap:1.5rem}.message-alert{animation:slideDown .3s ease-out;border-radius:8px;font-size:.9rem;font-weight:500;padding:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message-alert.success{background:#22c55e1a;border:1px solid #22c55e4d;color:#22c55e}.message-alert.error{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-color-primary);font-size:.9rem;font-weight:600}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .input-icon{color:var(--text-color-secondary);left:1rem;pointer-events:none;position:absolute}.input-with-icon input{background:var(--hover-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);font-size:.95rem;padding:.875rem 3rem;transition:all .2s ease;width:100%}.input-with-icon input:focus{background:var(--card-bg);border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.input-with-icon input::placeholder{color:var(--text-color-secondary);opacity:.6}.toggle-password{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;padding:.5rem;position:absolute;right:1rem;transition:color .2s ease}.toggle-password:hover{color:#f59e0b}.btn-submit{align-items:center;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:8px;box-shadow:0 4px 12px #f59e0b4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .2s ease}.btn-submit:hover:not(:disabled){box-shadow:0 6px 16px #f59e0b66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.profile-page-container{padding:1.5rem 1rem}.profile-section{padding:1.5rem}.section-header .section-icon,.section-header h2{font-size:1.25rem}}@media (max-width:480px){.profile-page-container{padding:1rem .75rem}.profile-section{padding:1.25rem}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.section-header h2{font-size:1.1rem}.input-with-icon input{font-size:.9rem;padding:.75rem 2.5rem}.btn-submit{font-size:.95rem;padding:.75rem 1.25rem}}.security-header-container{margin-bottom:2rem}.security-header-section{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.security-header-left{flex:1 1;text-align:center}.security-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1.2;margin:0 0 .5rem}.security-header-left p{color:var(--text-color-secondary);font-size:1rem;line-height:1.5;margin:0}@media (max-width:768px){.security-header-section{gap:1rem;margin-bottom:1rem}.security-header-left h1{font-size:1.75rem}.security-header-left p{font-size:.9rem}}@media (max-width:480px){.security-header-left h1{font-size:1.5rem}.security-header-left p{font-size:.85rem}}.security-page-container{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:1rem}.security-page-container .back-button{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.35rem;margin-bottom:.75rem;padding:.4rem .8rem;transition:all .2s ease}.security-page-container .back-button:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.security-page-container .back-button svg{font-size:1rem}.security-content{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1700px}.security-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.section-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem;padding-bottom:.6rem}.section-header .section-icon{color:#f59e0b;font-size:1.15rem}.section-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:700;margin:0}.security-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:.65rem;padding:.75rem;transition:all .2s ease}.stat-card:hover{border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b1a}.stat-icon{align-items:center;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:8px;color:#fff;display:flex;font-size:1.1rem;height:40px;justify-content:center;width:40px}.stat-info{display:flex;flex-direction:column;gap:.15rem}.stat-label{color:var(--text-color-secondary);font-size:.8rem;font-weight:500}.stat-value{color:var(--text-color-primary);font-size:1.3rem;font-weight:700}.login-history-list{display:flex;flex-direction:column;gap:.6rem}.login-entry{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:.6rem;padding:.75rem;transition:all .2s ease}.login-entry:hover{background:var(--card-bg);border-color:#f59e0b;transform:translateX(4px)}.entry-icon{align-items:center;background:linear-gradient(135deg,#f59e0b1a,#f973161a);border-radius:8px;color:#f59e0b;display:flex;flex-shrink:0;font-size:1rem;height:38px;justify-content:center;width:38px}.entry-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.entry-header{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.entry-device{color:var(--text-color-primary);font-size:.95rem;font-weight:600}.status-badge{align-items:center;border-radius:5px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;padding:.2rem .6rem}.status-badge.success{background:#22c55e1a;border:1px solid #22c55e4d;color:#22c55e}.status-badge.failed{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444}.entry-info{align-items:center;color:var(--text-color-secondary);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.4rem}.entry-separator{color:var(--border-color)}.entry-location{align-items:center;display:flex;gap:.35rem}.entry-location svg{color:#f59e0b}.entry-ip{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;font-family:Courier New,monospace;padding:.2rem .5rem}.entry-time{color:var(--text-color-secondary);font-size:.85rem;font-style:italic}.empty-state,.error-state,.loading-state{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;justify-content:center;padding:1.5rem 1rem;text-align:center}.loading-state svg{color:#f59e0b;font-size:1.75rem;margin-bottom:.6rem}.error-state{align-items:stretch;color:#ef4444}.error-state>p{font-size:1rem;margin-bottom:1.5rem}.setup-instructions{background:var(--hover-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);max-width:600px;padding:1rem;text-align:left}.setup-instructions h3{color:#f59e0b;font-size:1.1rem;margin:0 0 1rem}.setup-instructions ol{margin:0;padding-left:1.5rem}.setup-instructions li{line-height:1.6;margin-bottom:.75rem}.setup-instructions code{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:#f59e0b;font-family:Courier New,monospace;padding:.2rem .5rem}.empty-state p{font-size:1rem;margin:0}.empty-hint{font-size:.9rem;margin-top:.5rem!important;opacity:.7}@media (max-width:768px){.security-page-container{padding:.75rem .6rem}.security-section{padding:.875rem}.section-header .section-icon,.section-header h2{font-size:1.25rem}.security-stats{gap:1rem;grid-template-columns:1fr}.stat-card{padding:.65rem}.stat-icon{font-size:1rem;height:36px;width:36px}.stat-value{font-size:1.2rem}.login-entry{flex-direction:column;gap:.75rem}.entry-header{gap:.5rem}.entry-header,.entry-info{align-items:flex-start;flex-direction:column}.entry-info{gap:.35rem}.entry-separator{display:none}}@media (max-width:480px){.security-page-container{padding:.75rem .5rem}.security-section{padding:.875rem}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.section-header h2{font-size:1.1rem}.login-entry{padding:.75rem}.entry-icon{font-size:.9rem;height:34px;width:34px}}.settings-header-container{margin-bottom:2rem}.settings-header-section{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.settings-header-left{flex:1 1;text-align:center}.settings-header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#f97316);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1.2;margin:0 0 .5rem}.settings-header-left p{color:var(--text-color-secondary);font-size:1rem;line-height:1.5;margin:0}@media (max-width:768px){.settings-header-section{gap:1rem;margin-bottom:1rem}.settings-header-left h1{font-size:1.75rem}.settings-header-left p{font-size:.9rem}}@media (max-width:480px){.settings-header-left h1{font-size:1.5rem}.settings-header-left p{font-size:.85rem}}.settings-hub-page{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:2rem}.settings-hub-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-width:1000px}.settings-hub-card{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:14px;color:var(--text-color-primary);display:flex;gap:1rem;padding:1.25rem 1.5rem;position:relative;text-decoration:none;transition:all .2s ease}.settings-hub-card:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.settings-hub-card.active,.settings-hub-card:hover{border-color:#f59e0b;border-color:var(--section-color,#f59e0b)}.settings-hub-card.active{background:color-mix(in srgb,#f59e0b 5%,var(--card-bg));background:color-mix(in srgb,var(--section-color,#f59e0b) 5%,var(--card-bg))}.settings-hub-card__icon{align-items:center;background:color-mix(in srgb,#f59e0b 15%,#0000);background:color-mix(in srgb,var(--section-color,#f59e0b) 15%,#0000);border-radius:12px;color:#f59e0b;color:var(--section-color,#f59e0b);display:flex;flex-shrink:0;font-size:1.2rem;height:46px;justify-content:center;width:46px}.settings-hub-card__content{flex:1 1;min-width:0}.settings-hub-card__title{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin:0 0 .2rem}.settings-hub-card__description{color:var(--text-color-secondary);font-size:.8rem;line-height:1.4;margin:0}.settings-hub-card__arrow{color:var(--text-color-secondary);flex-shrink:0;font-size:.85rem;transition:transform .15s ease}.settings-hub-card:hover .settings-hub-card__arrow{color:#f59e0b;color:var(--section-color,#f59e0b);transform:translateX(4px)}@media (max-width:600px){.settings-hub-page{padding:1rem}.settings-hub-grid{grid-template-columns:1fr}}.api-endpoint-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.api-endpoint-card:not(.api-endpoint-card--disabled):hover{border-color:var(--category-color,var(--border-color));box-shadow:0 2px 12px #00000014}.api-endpoint-card--disabled{filter:grayscale(.6);opacity:.45}.api-endpoint-card__header{align-items:center;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:.85rem 1.1rem;-webkit-user-select:none;user-select:none}.api-endpoint-card--disabled .api-endpoint-card__header{cursor:not-allowed}.api-endpoint-card__header:focus-visible{outline:2px solid #f59e0b;outline:2px solid var(--category-color,#f59e0b);outline-offset:-2px}.api-endpoint-card__header-left{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.api-endpoint-card__header-right{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.api-method-badge{border-radius:5px;color:#fff;display:inline-block;flex-shrink:0;font-size:.72rem;font-weight:800;letter-spacing:.05em;min-width:52px;padding:.2rem .55rem;text-align:center}.api-endpoint-card__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.api-endpoint-card__url{color:var(--text-color-primary);font-family:Courier New,Courier,monospace;font-size:.82rem}.api-endpoint-card__summary,.api-endpoint-card__url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-endpoint-card__summary{color:var(--text-color-secondary);font-size:.78rem}.api-endpoint-card__auth-badge{align-items:center;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:4px;color:#f59e0b;display:inline-flex;flex-shrink:0;font-size:.7rem;font-weight:600;gap:.3rem;padding:.15rem .45rem}.api-endpoint-card__toggle-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;transition:transform .15s ease}.api-endpoint-card__toggle-btn:hover{transform:scale(1.15)}.api-endpoint-card__chevron{color:var(--text-color-secondary);font-size:.8rem}.api-endpoint-card__body{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem}.api-endpoint-card__description{color:var(--text-color-secondary);font-size:.875rem;line-height:1.5;margin:0}.api-endpoint-card__example h4,.api-endpoint-card__params h4{color:var(--text-color-secondary);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin:0 0 .6rem;text-transform:uppercase}.api-params-grid{display:flex;flex-direction:column;gap:.65rem}.api-param-row{grid-gap:.4rem;align-items:center;background:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;display:grid;gap:.4rem;grid-template-columns:1fr 1fr 1fr;padding:.55rem .75rem}.api-param-info{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.api-param-name{background:none;color:var(--text-color-primary);color:var(--category-color,var(--text-color-primary));font-size:.8rem;font-weight:700}.api-param-in{background:var(--border-color);border-radius:5px;padding:.05rem .3rem}.api-param-in,.api-param-type{color:var(--text-color-secondary);font-size:.68rem}.api-param-type{font-style:italic}.api-param-required{color:#ef4444;font-size:.68rem;font-weight:600}.api-param-desc{color:var(--text-color-secondary);font-size:.78rem;line-height:1.4}.api-param-input{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-color-primary);font-family:Courier New,Courier,monospace;font-size:.82rem;padding:.4rem .65rem;transition:border-color .15s ease;width:100%}.api-param-input:focus{border-color:#f59e0b;border-color:var(--category-color,#f59e0b);outline:none}.api-endpoint-card__url-preview{background:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;font-size:.78rem;padding:.5rem .75rem;word-break:break-all}.api-endpoint-card__url-preview code{color:var(--text-color-secondary);font-family:Courier New,Courier,monospace}.api-endpoint-card__test-btn{align-items:center;align-self:flex-start;background:#f59e0b;background:var(--btn-color,#f59e0b);border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:700;gap:.5rem;padding:.6rem 1.25rem;transition:opacity .15s ease,transform .1s ease}.api-endpoint-card__test-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.api-endpoint-card__test-btn:disabled{cursor:not-allowed;opacity:.6}.api-code-block{background:#1e1e2e;border-radius:5px;color:#cdd6f4;font-family:Courier New,Courier,monospace;font-size:.78rem;line-height:1.6;margin:0;max-height:300px;overflow-x:auto;overflow-y:auto;padding:.85rem 1rem;white-space:pre}.api-code-block--example{background:#0f172a;color:#94a3b8}.api-endpoint-card__response{border:1px solid;border-radius:5px;overflow:hidden}.api-endpoint-card__response--ok{border-color:#22c55e4d}.api-endpoint-card__response--error{border-color:#ef44444d}.api-response-header{align-items:center;display:flex;font-size:.8rem;font-weight:600;gap:1rem;padding:.5rem .85rem}.api-endpoint-card__response--ok .api-response-header{background:#22c55e1a;color:#22c55e}.api-endpoint-card__response--error .api-response-header{background:#ef44441a;color:#ef4444}.api-response-duration{font-size:.75rem;font-weight:400;margin-left:auto;opacity:.8}.api-response-copy{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.3rem;opacity:.85;padding:0;transition:opacity .15s}.api-response-copy:hover{opacity:1}@media (max-width:768px){.api-param-row{grid-template-columns:1fr}.api-endpoint-card__header-left{flex-wrap:wrap}.api-endpoint-card__url{white-space:normal;word-break:break-all}}.api-category-accordion{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;overflow:hidden;transition:border-color .2s ease}.api-category-accordion:hover{border-color:var(--cat-color,var(--border-color))}.api-category-accordion--disabled{opacity:.5}.api-category-accordion__header{align-items:center;border-bottom:1px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:background .15s ease;-webkit-user-select:none;user-select:none}.api-category-accordion__header:hover{background:var(--hover-bg)}.api-category-accordion__header:focus-visible{outline:2px solid #f59e0b;outline:2px solid var(--cat-color,#f59e0b);outline-offset:-2px}.api-category-accordion[aria-expanded=true] .api-category-accordion__header,.api-category-accordion__header--open{border-bottom-color:var(--border-color)}.api-category-accordion__header-left{align-items:center;display:flex;flex:1 1;gap:.85rem;min-width:0}.api-category-accordion__header-right{align-items:center;display:flex;flex-shrink:0;gap:.85rem}.api-category-accordion__dot{border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 20%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--cat-color,#f59e0b) 20%,#0000);flex-shrink:0;height:10px;width:10px}.api-category-accordion__title-group{min-width:0}.api-category-accordion__title{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin:0}.api-category-accordion__description{color:var(--text-color-secondary);font-size:.78rem;margin:.15rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-category-accordion__count{background:color-mix(in srgb,#f59e0b 12%,#0000);background:color-mix(in srgb,var(--cat-color,#f59e0b) 12%,#0000);border:1px solid color-mix(in srgb,#f59e0b 30%,#0000);border:1px solid color-mix(in srgb,var(--cat-color,#f59e0b) 30%,#0000);border-radius:5px;color:#f59e0b;color:var(--cat-color,#f59e0b);flex-shrink:0;font-size:.72rem;font-weight:600;padding:.15rem .6rem}.api-category-accordion__cat-toggle{background:none;border:none;cursor:pointer;line-height:1;padding:0;transition:transform .15s ease}.api-category-accordion__cat-toggle:hover{transform:scale(1.1)}.api-category-accordion__chevron{color:var(--text-color-secondary);font-size:.85rem}.api-category-accordion__body{background:var(--main-bg);display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem}.api-category-accordion__empty{color:var(--text-color-secondary);font-size:.85rem;margin:0;padding:1rem;text-align:center}@media (max-width:600px){.api-category-accordion__count,.api-category-accordion__description{display:none}}.perf-empty{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;gap:.75rem;padding:4rem 2rem;text-align:center}.perf-empty svg{font-size:2.5rem;opacity:.3}.perf-empty h3{color:var(--text-color-primary);font-size:1.1rem;font-weight:700;margin:0}.perf-empty p{font-size:.875rem;line-height:1.5;margin:0;max-width:380px}.perf-dashboard{display:flex;flex-direction:column;gap:1.5rem}.perf-actions{flex-wrap:wrap;gap:1rem;justify-content:space-between}.perf-actions,.perf-disclaimer{align-items:center;display:flex}.perf-disclaimer{color:var(--text-color-secondary);font-size:.75rem;gap:.4rem}.perf-reset-btn{align-items:center;background:#ef444412;border:1.5px solid #ef444459;border-radius:5px;color:#ef4444;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:600;gap:.45rem;padding:.5rem 1rem;transition:all .15s ease}.perf-reset-btn:hover{background:#ef444424;border-color:#ef4444}.perf-stat-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.perf-stat-card{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;display:flex;gap:.85rem;padding:1rem 1.1rem;transition:border-color .2s ease}.perf-stat-card:hover{border-color:#f59e0b;border-color:var(--sc,#f59e0b)}.perf-stat-card--highlight{background:#22c55e0a;border-color:#22c55e80}.perf-stat-card__icon{align-items:center;background:color-mix(in srgb,#f59e0b 15%,#0000);background:color-mix(in srgb,var(--sc,#f59e0b) 15%,#0000);border-radius:5px;color:#f59e0b;color:var(--sc,#f59e0b);display:flex;flex-shrink:0;font-size:1rem;height:38px;justify-content:center;width:38px}.perf-stat-card__body{display:flex;flex-direction:column;gap:.05rem;min-width:0}.perf-stat-card__value{color:var(--text-color-primary);font-size:1.3rem;font-weight:800;line-height:1.1;white-space:nowrap}.perf-stat-card__label{color:var(--text-color-secondary);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.perf-stat-card__sub{color:var(--text-color-secondary);font-size:.68rem;margin-top:.15rem}.perf-highlights{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.perf-highlight-card{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem}.perf-highlight-card__header{color:var(--text-color-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.perf-highlight-card__body,.perf-highlight-card__header{align-items:center;display:flex;gap:.5rem}.perf-highlight-card__method{border-radius:5px;color:#fff;flex-shrink:0;font-size:.65rem;font-weight:800;padding:.15rem .4rem}.perf-highlight-card__url{color:var(--text-color-primary);font-family:Courier New,Courier,monospace;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-highlight-card__stat{align-items:baseline;display:flex;gap:.35rem}.perf-highlight-card__value{color:var(--text-color-primary);font-size:1.1rem;font-weight:800}.perf-highlight-card__value-label{color:var(--text-color-secondary);font-size:.72rem}.perf-table-wrapper{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;overflow-x:auto}.perf-table{border-collapse:collapse;font-size:.82rem;min-width:900px;width:100%}.perf-th{background:var(--main-bg);border-bottom:1.5px solid var(--border-color);color:var(--text-color-secondary);cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.7rem .85rem;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.perf-th:hover{color:#f59e0b}.perf-th--sparkline,.perf-th:last-child{cursor:default}.perf-sort-icon{color:#f59e0b;font-size:.7rem;margin-left:.3rem}.perf-sort-icon--idle{color:var(--text-color-secondary);opacity:.4}.perf-tr{border-bottom:1px solid var(--border-color);transition:background .12s ease}.perf-tr:last-child{border-bottom:none}.perf-tr:hover{background:var(--hover-bg)}.perf-td{color:var(--text-color-primary);padding:.65rem .85rem;vertical-align:middle}.perf-td--num{font-family:Courier New,Courier,monospace;font-size:.8rem;text-align:right}.perf-td--good{color:#22c55e}.perf-td--warn{color:#f59e0b}.perf-td--cost{color:#f97316;font-weight:700}.perf-td-sub{font-size:.65rem;margin-left:.25rem}.perf-td--ts,.perf-td-sub{color:var(--text-color-secondary)}.perf-td--ts{font-size:.75rem;white-space:nowrap}.perf-td--sparkline{text-align:center}.perf-td--endpoint{min-width:200px}.perf-ep-cell{align-items:center;display:flex;gap:.6rem}.perf-ep-method{border-radius:5px;color:#fff;flex-shrink:0;font-size:.62rem;font-weight:800;padding:.15rem .4rem}.perf-ep-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.perf-ep-url{color:var(--text-color-primary);font-family:Courier New,Courier,monospace;font-size:.76rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-ep-cat{font-size:.65rem;font-weight:600}.perf-success-cell{align-items:flex-start;display:flex;flex-direction:column;gap:.2rem}.perf-pct{font-size:.8rem;font-weight:700}.perf-pct--good{color:#22c55e}.perf-pct--warn{color:#f59e0b}.perf-pct--bad{color:#ef4444}.perf-success-bar{background:#ef444440;border-radius:5px;height:4px;overflow:hidden;width:60px}.perf-success-bar__fill{background:#22c55e;border-radius:2px;height:100%;transition:width .3s ease}.perf-sparkline{display:block}.perf-sparkline-empty{color:var(--text-color-secondary);font-size:.75rem}.perf-reset-row-btn{background:none;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.8rem;padding:.3rem .5rem;transition:all .15s ease}.perf-reset-row-btn:hover{background:#ef44441a;color:#ef4444}@media (max-width:768px){.perf-stat-grid{grid-template-columns:repeat(2,1fr)}.perf-highlights{grid-template-columns:1fr}}.api-explorer-page{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:2rem}.api-explorer-back-btn{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.api-explorer-back-btn:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.api-explorer-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:2rem}.api-explorer-header__left{align-items:center;display:flex;gap:1rem}.api-explorer-icon{align-items:center;border-radius:5px;box-shadow:0 4px 16px #f59e0b4d;color:#fff;display:flex;flex-shrink:0;font-size:1.4rem;height:52px;justify-content:center;width:52px}.api-explorer-icon,.api-explorer-title{background:linear-gradient(135deg,#f59e0b,#f97316)}.api-explorer-title{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800;line-height:1.2;margin:0}.api-explorer-subtitle{color:var(--text-color-secondary);font-size:.875rem;margin:.3rem 0 0}.api-explorer-stats{gap:1rem}.api-explorer-stats,.api-stat{align-items:center;display:flex}.api-stat{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;flex-direction:column;min-width:60px;padding:.6rem 1rem}.api-stat--active{background:#22c55e0f;border-color:#22c55e66}.api-stat__value{color:var(--text-color-primary);font-size:1.4rem;font-weight:800;line-height:1}.api-stat--active .api-stat__value{color:#22c55e}.api-stat__label{color:var(--text-color-secondary);font-size:.68rem;font-weight:500;letter-spacing:.04em;margin-top:.2rem;text-transform:uppercase}.api-explorer-toolbar{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.api-explorer-search{align-items:center;display:flex;flex:1 1;position:relative}.api-search-icon{color:var(--text-color-secondary);font-size:.9rem;left:.9rem;pointer-events:none;position:absolute}.api-search-input{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-color-primary);font-size:.9rem;padding:.7rem 2.5rem;transition:border-color .15s ease;width:100%}.api-search-input:focus{border-color:#f59e0b;outline:none}.api-search-clear{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;padding:.2rem;position:absolute;right:.8rem;transition:color .15s}.api-search-clear:hover{color:var(--text-color-primary)}.api-explorer-expand-btn{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.82rem;font-weight:600;gap:.45rem;padding:.65rem 1rem;transition:all .15s ease;white-space:nowrap}.api-explorer-expand-btn:hover{border-color:#f59e0b;color:#f59e0b}.api-method-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.api-method-legend__badge{border-radius:5px;color:#fff;display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.05em;padding:.15rem .55rem}.api-explorer-search-results{color:var(--text-color-secondary);font-size:.82rem;margin:0 0 .75rem}.api-explorer-categories{display:flex;flex-direction:column;gap:1.25rem;max-width:1700px}.api-explorer-tabs{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;display:flex;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;width:-webkit-fit-content;width:fit-content}.api-tab-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.55rem 1.1rem;position:relative;transition:all .15s ease}.api-tab-btn:hover{background:var(--hover-bg);color:var(--text-color-primary)}.api-tab-btn--active{box-shadow:0 2px 8px #f59e0b59}.api-tab-btn--active,.api-tab-btn--active:hover{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.api-tab-badge{background:#ffffff40;border-radius:5px;color:#fff;font-size:.65rem;font-weight:800;line-height:1.5;min-width:18px;padding:.05rem .45rem;text-align:center}.api-tab-btn:not(.api-tab-btn--active) .api-tab-badge{background:#f59e0b26;color:#f59e0b}.api-stat--calls{background:#f59e0b0f;border-color:#f59e0b66}.api-stat--calls .api-stat__value{color:#f59e0b}.api-explorer-empty{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);display:flex;flex-direction:column;font-size:1rem;gap:.75rem;padding:3rem}.api-explorer-empty svg{font-size:2rem;opacity:.4}@media (max-width:768px){.api-explorer-page{padding:1rem}.api-explorer-header{flex-direction:column}.api-explorer-stats{justify-content:flex-start;width:100%}.api-explorer-toolbar{align-items:stretch;flex-direction:column}.api-explorer-expand-btn{justify-content:center}}.simulation-business-scope{background-color:var(--main-bg);min-height:100vh;padding:var(--spacing-lg)}.simulation-business-scope .simulation-grid{grid-gap:var(--spacing-lg);align-items:start;display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 380px}@media (max-width:991px){.simulation-business-scope .simulation-grid{grid-template-columns:1fr}}.simulation-header-scope{margin-bottom:var(--spacing-lg)}.simulation-header-scope .header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.simulation-header-scope .back-btn{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:var(--font-weight-bold);gap:8px;padding:0;transition:color .2s}.simulation-header-scope .back-btn:hover{color:var(--accent-blue)}.simulation-header-scope .manage-types-btn{align-items:center;background:var(--accent-blue);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:var(--font-weight-bold);gap:8px;padding:8px 16px;transition:background .2s}.simulation-header-scope .manage-types-btn:hover{background:var(--accent-blue-hover)}.simulation-header-scope .header-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.simulation-header-scope .title-section h1{align-items:center;color:var(--heading-color);display:flex;font-size:1.8rem;gap:12px;margin:0 0 var(--spacing-xs) 0}.simulation-header-scope .title-section h1 svg{color:var(--accent-blue)}.simulation-header-scope .title-section p{color:var(--text-color-secondary);font-size:.95rem;margin:0}@media (max-width:768px){.simulation-header-scope .header-top{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.simulation-header-scope .title-section h1{font-size:1.4rem}}.config-panel-scope .panel-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md)}.config-panel-scope .card-header{color:var(--heading-color);font-size:.7rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.config-panel-scope .simulation-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.config-panel-scope .input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.config-panel-scope .input-row{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr}.config-panel-scope label{color:var(--text-color-secondary);font-size:.75rem;font-weight:var(--font-weight-bold)}.config-panel-scope input,.config-panel-scope select{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:.85rem;padding:8px 10px;transition:border-color .2s}.config-panel-scope input:focus,.config-panel-scope select:focus{border-color:var(--accent-blue);outline:none}.config-panel-scope .margin-field{display:flex;gap:var(--spacing-xs)}.config-panel-scope .margin-field input,.config-panel-scope .margin-field select{flex:1 1}.config-panel-scope .action-bar{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.config-panel-scope .btn-primary{background:var(--accent-blue);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;flex:2 1;font-size:.85rem;font-weight:var(--font-weight-bold);padding:8px 14px;transition:background .2s}.config-panel-scope .btn-primary:hover{background:var(--accent-blue-hover)}.config-panel-scope .btn-secondary{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;flex:1 1;font-size:.85rem;padding:8px 12px;transition:background .2s;white-space:nowrap}.config-panel-scope .btn-secondary:hover{background:var(--hover-bg)}.config-panel-scope .btn-icon{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;font-size:.85rem;padding:8px;transition:all .2s}.config-panel-scope .btn-icon:hover{background:var(--hover-bg);color:var(--accent-blue)}@media (max-width:768px){.config-panel-scope .input-row{grid-template-columns:1fr}.config-panel-scope .action-bar{flex-wrap:wrap}.config-panel-scope .btn-secondary{flex:1 1 calc(50% - var(--spacing-xs))}}.results-panel-scope .sticky-results{display:flex;flex-direction:column;gap:var(--spacing-md);position:sticky;position:-webkit-sticky;top:20px}.results-panel-scope .result-main-card{background:var(--accent-blue);border-radius:var(--border-radius-lg);box-shadow:0 10px 20px var(--accent-blue-low-opacity);color:#fff;padding:var(--spacing-lg);text-align:center}.results-panel-scope .result-label{font-size:.85rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;opacity:.9;text-transform:uppercase}.results-panel-scope .result-value-big{font-size:2.2rem;font-weight:800;line-height:1;margin:10px 0}.results-panel-scope .result-sub-value{font-size:.9rem;opacity:.85}.results-panel-scope .metrics-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr}.results-panel-scope .metric-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md)}.results-panel-scope .metric-item .label{color:var(--text-color-secondary);font-size:.7rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;text-transform:uppercase}.results-panel-scope .metric-item .val{color:var(--heading-color);font-size:1.1rem;font-weight:var(--font-weight-bold)}.results-panel-scope .metric-item.highlight.pos{background:var(--accent-green-low-opacity);border-left:4px solid var(--accent-green)}.results-panel-scope .metric-item.highlight.neg{background:var(--danger-red-low-opacity);border-left:4px solid var(--danger-red)}@media (max-width:991px){.results-panel-scope .sticky-results{position:relative;top:0}}@media (max-width:768px){.results-panel-scope .result-value-big{font-size:1.8rem}.results-panel-scope .metrics-grid{grid-template-columns:1fr}}.save-modal-scope .modal-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.save-modal-scope .modal-content{background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 20px 60px var(--overlay-bg);max-width:500px;padding:var(--spacing-xl);width:90%}.save-modal-scope .modal-content h3{color:var(--heading-color);font-size:1.3rem;margin:0 0 var(--spacing-lg) 0}.save-modal-scope .modal-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.save-modal-scope .input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.save-modal-scope label{color:var(--text-color-secondary);font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.5px;text-transform:uppercase}.save-modal-scope input,.save-modal-scope select{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-size:.9rem;padding:10px 12px;transition:border-color .2s}.save-modal-scope input:focus,.save-modal-scope select:focus{border-color:var(--accent-blue);outline:none}.save-modal-scope .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.save-modal-scope .btn-primary{align-items:center;background:var(--accent-blue);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:var(--font-weight-bold);gap:8px;padding:10px 20px;transition:background .2s}.save-modal-scope .btn-primary:hover{background:var(--accent-blue-hover)}.save-modal-scope .btn-secondary{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);cursor:pointer;font-size:.9rem;padding:10px 20px;transition:background .2s}.save-modal-scope .btn-secondary:hover{background:var(--hover-bg)}@media (max-width:576px){.save-modal-scope .modal-content{padding:var(--spacing-lg)}.save-modal-scope .modal-actions{flex-direction:column-reverse}.save-modal-scope .btn-primary,.save-modal-scope .btn-secondary{justify-content:center;width:100%}}.business-type-modal{background:var(--card-bg);border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.business-type-modal .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.business-type-modal .modal-header h2{color:var(--text-color-primary);font-size:1.25rem;margin:0}.business-type-modal .btn-close{background:#0000;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.25rem;padding:.5rem;transition:color .2s}.business-type-modal .btn-close:hover{color:var(--text-color-primary)}.business-type-modal .modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.business-type-modal .loading-state{color:var(--text-color-secondary);padding:2rem;text-align:center}.business-type-modal .btn-add-type{align-items:center;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:1.5rem;padding:.75rem;transition:transform .2s;width:100%}.business-type-modal .btn-add-type:hover{transform:translateY(-2px)}.business-type-modal .type-form{background:var(--hover-bg);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.business-type-modal .form-group{margin-bottom:1rem}.business-type-modal .form-group:last-child{margin-bottom:0}.business-type-modal .form-group label{color:var(--text-color-primary);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.business-type-modal .form-group input,.business-type-modal .form-group textarea{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);font-size:.95rem;padding:.75rem;transition:border-color .2s;width:100%}.business-type-modal .form-group input:focus,.business-type-modal .form-group textarea:focus{border-color:#f59e0b;outline:none}.business-type-modal .form-group textarea{font-family:inherit;resize:vertical}.business-type-modal .form-actions{display:flex;gap:.75rem;margin-top:1rem}.business-type-modal .btn-cancel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .2s}.business-type-modal .btn-cancel:hover{background:var(--hover-bg)}.business-type-modal .btn-save{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:transform .2s}.business-type-modal .btn-save:hover{transform:translateY(-2px)}.business-type-modal .types-list{display:flex;flex-direction:column;gap:.75rem}.business-type-modal .empty-state{color:var(--text-color-secondary);padding:2rem;text-align:center}.business-type-modal .type-item{align-items:center;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.business-type-modal .type-item:hover{border-color:#f59e0b}.business-type-modal .type-item.editing{background:#f59e0b0d;border-color:#f59e0b}.business-type-modal .type-info{flex:1 1}.business-type-modal .type-info h3{color:var(--text-color-primary);font-size:1rem;margin:0 0 .25rem}.business-type-modal .type-info p{color:var(--text-color-secondary);font-size:.875rem;margin:0}.business-type-modal .type-actions{display:flex;gap:.5rem}.business-type-modal .btn-icon-delete,.business-type-modal .btn-icon-edit{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.business-type-modal .btn-icon-edit{background:#3b82f61a;color:#3b82f6}.business-type-modal .btn-icon-edit:hover{background:#3b82f6;color:#fff}.business-type-modal .btn-icon-delete{background:#ef44441a;color:#ef4444}.business-type-modal .btn-icon-delete:hover{background:#ef4444;color:#fff}@media (max-width:768px){.business-type-modal{max-height:95vh;width:95%}.business-type-modal .modal-body{padding:1rem}.business-type-modal .type-item{align-items:flex-start;flex-direction:column;gap:.75rem}.business-type-modal .type-actions{justify-content:flex-end;width:100%}}.simulations-page{animation:spPageFadeIn .3s ease-out;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1700px;padding:var(--spacing-lg);width:100%}@keyframes spPageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.simulations-page .sp-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.simulations-page .sp-back-btn{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:6px 0;transition:color .15s}.simulations-page .sp-back-btn:hover{color:var(--accent-blue)}.simulations-page .sp-title{color:var(--heading-color);font-size:1.6rem;font-weight:700;margin:0}.simulations-page .sp-subtitle{color:var(--text-color-secondary);font-size:.88rem;margin-top:2px}.simulations-page .sp-header-right{align-items:center;display:flex;gap:var(--spacing-sm)}.simulations-page .sp-new-btn{align-items:center;background-color:var(--accent-blue);border:none;border-radius:5px;color:var(--white);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:9px 18px;transition:opacity .15s}.simulations-page .sp-new-btn:hover{opacity:.85}.simulations-page .sp-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.simulations-page .sp-empty{color:var(--text-color-secondary);font-size:1rem;padding:60px 20px;text-align:center}.simulations-page .sp-card{animation:spCardAppear .25s ease-out backwards;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:var(--glass-shadow);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:var(--spacing-md);position:relative;transition:box-shadow .2s,transform .15s}@keyframes spCardAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.simulations-page .sp-card:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-2px)}.simulations-page .sp-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.simulations-page .sp-card-title{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin:0}.simulations-page .sp-card-product{color:var(--text-color-secondary);font-size:.8rem;margin-top:2px}.simulations-page .sp-card-date{color:var(--text-color-secondary);flex-shrink:0;font-size:.75rem;white-space:nowrap}.simulations-page .sp-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.simulations-page .sp-stat{background-color:var(--main-bg);border-radius:5px;padding:8px 10px}.simulations-page .sp-stat-label{color:var(--text-color-secondary);font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.simulations-page .sp-stat-value{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin-top:2px}.simulations-page .sp-stat-value.positive{color:var(--accent-green)}.simulations-page .sp-stat-value.negative{color:var(--danger-red)}.simulations-page .sp-card-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:8px}.simulations-page .sp-view-btn{align-items:center;background:none;border:none;color:var(--accent-blue);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:0;transition:opacity .15s}.simulations-page .sp-view-btn:hover{opacity:.75}.simulations-page .sp-delete-btn{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.82rem;gap:5px;padding:0;transition:color .15s}.simulations-page .sp-delete-btn:hover{color:var(--danger-red)}.cost-structure-chart{align-items:center;display:flex;flex-direction:column;gap:12px;width:100%}.cost-structure-chart .csc-legend{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center}.cost-structure-chart .csc-legend-item{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.8rem;gap:6px}.cost-structure-chart .csc-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.cost-structure-chart .csc-legend-label{font-weight:500}.cost-structure-chart .csc-legend-val{color:var(--text-color-primary);font-weight:700}.profit-comparison-chart{width:100%}.profit-comparison-chart .pcc-tooltip{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:var(--box-shadow-sm);font-size:.82rem;padding:8px 12px}.profit-comparison-chart .pcc-tooltip-label{color:var(--text-color-primary);font-weight:700;margin-bottom:4px}.profit-comparison-chart .pcc-tooltip-row{align-items:center;color:var(--text-color-secondary);display:flex;gap:6px}.profit-comparison-chart .pcc-tooltip-dot{border-radius:50%;height:8px;width:8px}.margin-gauge-chart{gap:6px;width:100%}.margin-gauge-chart,.margin-gauge-chart .mgc-center{align-items:center;display:flex;flex-direction:column}.margin-gauge-chart .mgc-center{justify-content:center;line-height:1.1}.margin-gauge-chart .mgc-pct{color:var(--text-color-primary);font-size:1.6rem;font-weight:800}.margin-gauge-chart .mgc-label{color:var(--text-color-secondary);font-size:.72rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.margin-gauge-chart .mgc-note{color:var(--text-color-secondary);font-size:.78rem;padding:0 10px;text-align:center}.simulation-detail-page{animation:sdpPageFadeIn .3s ease-out;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-lg);margin:0 auto;max-width:1700px;padding:var(--spacing-lg);width:100%}@keyframes sdpPageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.simulation-detail-page .sdp-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.simulation-detail-page .sdp-back-btn{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:8px;margin-bottom:6px;padding:0;transition:color .15s}.simulation-detail-page .sdp-back-btn:hover{color:var(--accent-blue)}.simulation-detail-page .sdp-title-block{display:flex;flex-direction:column;gap:4px}.simulation-detail-page .sdp-title{color:var(--heading-color);font-size:1.7rem;font-weight:700;margin:0}.simulation-detail-page .sdp-meta{align-items:center;color:var(--text-color-secondary);display:flex;flex-wrap:wrap;font-size:.82rem;gap:14px}.simulation-detail-page .sdp-meta-badge{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;font-weight:500;padding:2px 10px}.simulation-detail-page .sdp-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.simulation-detail-page .sdp-load-btn{align-items:center;background-color:var(--accent-blue);border:none;border-radius:5px;color:var(--white);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:7px;padding:8px 16px;transition:opacity .15s}.simulation-detail-page .sdp-load-btn:hover{opacity:.85}.simulation-detail-page .sdp-delete-btn{align-items:center;background:none;border:1px solid var(--danger-red);border-radius:5px;color:var(--danger-red);cursor:pointer;display:flex;font-size:.88rem;gap:7px;padding:8px 14px;transition:background .15s,color .15s}.simulation-detail-page .sdp-delete-btn:hover{background:var(--danger-red);color:var(--white)}.simulation-detail-page .sdp-kpis{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.simulation-detail-page .sdp-kpi{animation:sdpKpiAppear .3s ease-out backwards;background-color:var(--card-bg);border-left:4px solid var(--accent-blue);border-radius:5px;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:4px;padding:var(--spacing-md)}@keyframes sdpKpiAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.simulation-detail-page .sdp-kpi.profit{border-left-color:var(--accent-green)}.simulation-detail-page .sdp-kpi.loss{border-left-color:var(--danger-red)}.simulation-detail-page .sdp-kpi.neutral{border-left-color:var(--text-color-secondary)}.simulation-detail-page .sdp-kpi-label{color:var(--text-color-secondary);font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.simulation-detail-page .sdp-kpi-value{color:var(--text-color-primary);font-size:1.5rem;font-weight:800;line-height:1}.simulation-detail-page .sdp-kpi-value.positive{color:var(--accent-green)}.simulation-detail-page .sdp-kpi-value.negative{color:var(--danger-red)}.simulation-detail-page .sdp-kpi-sub{color:var(--text-color-secondary);font-size:.78rem}.simulation-detail-page .sdp-charts{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.simulation-detail-page .sdp-chart-card{background-color:var(--card-bg);border-radius:5px;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:10px;padding:var(--spacing-md)}.simulation-detail-page .sdp-chart-title{color:var(--text-color-primary);font-size:.88rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.simulation-detail-page .sdp-details-card{background-color:var(--card-bg);border-radius:5px;box-shadow:var(--glass-shadow);padding:var(--spacing-md)}.simulation-detail-page .sdp-details-title{color:var(--text-color-primary);font-size:.88rem;font-weight:700;letter-spacing:.3px;margin-bottom:14px;text-transform:uppercase}.simulation-detail-page .sdp-table{border-collapse:collapse;font-size:.88rem;width:100%}.simulation-detail-page .sdp-table th{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.78rem;font-weight:600;padding:8px 12px;text-align:left;text-transform:uppercase}.simulation-detail-page .sdp-table td{border-bottom:1px solid var(--border-color);color:var(--text-color-primary);padding:10px 12px}.simulation-detail-page .sdp-table tr:last-child td{border-bottom:none}.simulation-detail-page .sdp-table tr:hover td{background-color:var(--hover-bg)}.simulation-detail-page .sdp-table .label-col{color:var(--text-color-secondary);font-weight:500;width:40%}.simulation-detail-page .sdp-table .value-col{font-weight:600}.simulation-detail-page .sdp-table .positive{color:var(--accent-green)}.simulation-detail-page .sdp-table .negative{color:var(--danger-red)}.simulation-detail-page .sdp-loading{color:var(--text-color-secondary);padding:80px 20px;text-align:center}.prospects-page .pp-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.prospects-page .pp-back-btn{align-items:center;background:none;border:none;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:6px 0;transition:color .15s}.prospects-page .pp-back-btn:hover{color:var(--accent-blue)}.prospects-page .pp-title{color:var(--heading-color);font-size:1.6rem;font-weight:700;margin:0}.prospects-page .pp-subtitle{color:var(--text-color-secondary);font-size:.88rem;margin-top:2px}.prospects-page .pp-header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.prospects-page .pp-add-btn{align-items:center;background-color:var(--accent-blue);border:none;border-radius:5px;color:var(--white);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:9px 18px;transition:opacity .15s}.prospects-page .pp-add-btn:hover{opacity:.85}.prospects-page .pp-export-wrapper{position:relative}.prospects-page .pp-export-btn{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.88rem;font-weight:500;gap:6px;padding:9px 14px;transition:box-shadow .15s}.prospects-page .pp-export-btn:hover{box-shadow:var(--glass-shadow)}.prospects-page .pp-export-btn:disabled{cursor:not-allowed;opacity:.5}.prospects-page .pp-chevron{font-size:.7rem;margin-left:2px}.prospects-page .pp-export-menu{animation:ppDropdown .15s ease-out;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:var(--glass-shadow-hover);min-width:120px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.prospects-page .pp-export-menu button{align-items:center;background:none;border:none;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.88rem;gap:8px;padding:10px 14px;transition:background-color .12s;width:100%}.prospects-page .pp-export-menu button:hover{background-color:var(--hover-bg)}.prospects-page .pp-toolbar{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.prospects-page .pp-search-box{flex:1 1;max-width:380px;position:relative}.prospects-page .pp-search-icon{color:var(--text-color-secondary);font-size:.85rem;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.prospects-page .pp-search-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-color-primary);font-size:.88rem;padding:9px 34px 9px 36px;transition:border-color .15s;width:100%}.prospects-page .pp-search-input:focus{border-color:var(--accent-blue);outline:none}.prospects-page .pp-search-clear{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.8rem;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.prospects-page .pp-filter-toggle{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.88rem;gap:6px;padding:9px 14px;transition:border-color .15s;white-space:nowrap}.prospects-page .pp-filter-toggle.active{border-color:var(--accent-blue);color:var(--accent-blue)}.prospects-page .pp-filter-badge{background-color:var(--accent-blue);border-radius:10px;color:var(--white);font-size:.7rem;font-weight:700;margin-left:2px;padding:1px 6px}.prospects-page .pp-filters{align-items:center;animation:ppDropdown .15s ease-out;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@keyframes ppDropdown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.prospects-page .pp-filters select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;font-size:.85rem;padding:8px 12px}.prospects-page .pp-clear-filters{align-items:center;background:none;border:none;color:var(--danger-red);cursor:pointer;display:flex;font-size:.85rem;gap:4px;padding:8px 4px;transition:opacity .15s}.prospects-page .pp-clear-filters:hover{opacity:.75}.prospects-page .pp-empty{color:var(--text-color-secondary);font-size:1rem;padding:60px 20px;text-align:center}.prospects-page .pp-empty-add{align-items:center;background:none;border:1px dashed var(--border-color);border-radius:5px;color:var(--accent-blue);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;margin-top:var(--spacing-md);padding:10px 20px;transition:background-color .15s}.prospects-page .pp-empty-add:hover{background-color:var(--hover-bg)}.prospects-page .pp-table-wrapper{border:1px solid var(--border-color);border-radius:5px;box-shadow:var(--glass-shadow);overflow-x:auto}.prospects-page .pp-table{background-color:var(--card-bg);border-collapse:collapse;width:100%}.prospects-page .pp-table thead th{background-color:var(--main-bg);border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.75rem;font-weight:600;letter-spacing:.4px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.prospects-page .pp-table tbody td{border-bottom:1px solid var(--border-color);color:var(--text-color-primary);font-size:.88rem;padding:10px 12px;vertical-align:middle}.prospects-page .pp-row{animation:ppRowAppear .2s ease-out backwards;transition:background-color .12s}@keyframes ppRowAppear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.prospects-page .pp-row:hover{background-color:var(--hover-bg)}.prospects-page .pp-name-cell{font-weight:600;white-space:nowrap}.prospects-page .pp-name-icon{color:var(--text-color-secondary);font-size:.85rem;margin-right:8px}.prospects-page .pp-source-badge{align-items:center;color:var(--text-color-secondary);display:inline-flex;font-size:.82rem;gap:5px;white-space:nowrap}.prospects-page .pp-phone{display:block;font-size:.85rem;white-space:nowrap}.prospects-page .pp-phone svg{color:var(--text-color-secondary);font-size:.7rem;margin-right:4px}.prospects-page .pp-phone-secondary{color:var(--text-color-secondary);font-size:.78rem;margin-top:2px}.prospects-page .pp-address{color:var(--text-color-secondary);font-size:.85rem;white-space:nowrap}.prospects-page .pp-address svg{font-size:.7rem;margin-right:4px}.prospects-page .pp-function-badge{background-color:var(--main-bg);border-radius:4px;color:var(--text-color-secondary);font-size:.8rem;font-weight:500;padding:3px 8px;white-space:nowrap}.prospects-page .pp-status-badge{border-radius:12px;display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;white-space:nowrap}.prospects-page .pp-status-badge.status-new{background-color:var(--main-bg);color:var(--text-color-secondary)}.prospects-page .pp-status-badge.status-contacted{background-color:var(--accent-blue-low-opacity);color:var(--accent-blue)}.prospects-page .pp-status-badge.status-discussing{background-color:var(--accent-blue-low-opacity);color:var(--accent-blue-dark)}.prospects-page .pp-status-badge.status-converted{background-color:var(--accent-green-low-opacity);color:var(--accent-green)}.prospects-page .pp-status-badge.status-abandoned{background-color:var(--danger-red-low-opacity);color:var(--danger-red)}.prospects-page .pp-notes-cell{color:var(--text-color-secondary);font-size:.82rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prospects-page .pp-actions{align-items:center;display:flex;gap:6px}.prospects-page .pp-delete-btn,.prospects-page .pp-edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:5px 7px;transition:color .15s,background-color .15s}.prospects-page .pp-edit-btn{color:var(--text-color-secondary)}.prospects-page .pp-edit-btn:hover{background-color:var(--hover-bg);color:var(--accent-blue)}.prospects-page .pp-delete-btn{color:var(--text-color-secondary)}.prospects-page .pp-delete-btn:hover{background-color:var(--danger-red-low-opacity);color:var(--danger-red)}.prospects-page .pp-modal-overlay{align-items:center;animation:ppOverlayIn .15s ease-out;background-color:var(--overlay-bg);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes ppOverlayIn{0%{opacity:0}to{opacity:1}}.prospects-page .pp-modal{animation:ppModalIn .2s ease-out;background-color:var(--card-bg);border-radius:5px;box-shadow:var(--glass-shadow-hover);display:flex;flex-direction:column;max-height:85vh;max-width:560px;width:90%}@keyframes ppModalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.prospects-page .pp-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.prospects-page .pp-modal-header h2{color:var(--heading-color);font-size:1.1rem;font-weight:700;margin:0}.prospects-page .pp-modal-close{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.1rem;padding:4px;transition:color .15s}.prospects-page .pp-modal-close:hover{color:var(--text-color-primary)}.prospects-page .pp-modal-body{display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;padding:var(--spacing-lg)}.prospects-page .pp-form-group{display:flex;flex-direction:column;gap:4px}.prospects-page .pp-form-group label{color:var(--text-color-secondary);font-size:.82rem;font-weight:600}.prospects-page .pp-form-group input,.prospects-page .pp-form-group select,.prospects-page .pp-form-group textarea{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);font-family:inherit;font-size:.9rem;padding:9px 12px;transition:border-color .15s}.prospects-page .pp-form-group input:focus,.prospects-page .pp-form-group select:focus,.prospects-page .pp-form-group textarea:focus{border-color:var(--accent-blue);outline:none}.prospects-page .pp-form-group textarea{min-height:60px;resize:vertical}.prospects-page .pp-form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.prospects-page .pp-modal-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg)}.prospects-page .pp-modal-cancel{background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;font-size:.88rem;padding:8px 16px;transition:background-color .15s}.prospects-page .pp-modal-cancel:hover{background-color:var(--hover-bg)}.prospects-page .pp-modal-save{align-items:center;background-color:var(--accent-blue);border:none;border-radius:5px;color:var(--white);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:6px;padding:8px 18px;transition:opacity .15s}.prospects-page .pp-modal-save:hover{opacity:.85}.prospects-page .pp-modal-save:disabled{cursor:not-allowed;opacity:.5}.prospects-page{animation:ppPageFadeIn .3s ease-out;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1700px;padding:var(--spacing-lg);width:100%}@keyframes ppPageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.prospects-page{padding:var(--spacing-md)}.prospects-page .pp-header{align-items:flex-start;flex-direction:column}.prospects-page .pp-header-actions{justify-content:flex-end;width:100%}.prospects-page .pp-toolbar{align-items:stretch;flex-direction:column}.prospects-page .pp-search-box{max-width:none}.prospects-page .pp-filter-toggle{align-self:flex-start}.prospects-page .pp-filters{flex-direction:column}.prospects-page .pp-filters select{width:100%}.prospects-page .pp-hide-mobile{display:none}.prospects-page .pp-form-row{grid-template-columns:1fr}.prospects-page .pp-modal{max-height:90vh;width:95%}.prospects-page .pp-table tbody td,.prospects-page .pp-table thead th{font-size:.82rem;padding:8px}.prospects-page .pp-add-btn{font-size:.82rem;padding:8px 12px}}.news-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:box-shadow .2s ease,border-color .2s ease,transform .15s ease}.news-card:hover{border-color:var(--nc-color,var(--border-color));box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.news-card--read{opacity:.75}.news-card--read:hover{opacity:1}.news-card__cat-bar{background:#f59e0b;background:var(--nc-color,#f59e0b);flex-shrink:0;height:3px}.news-card__image-wrapper{background:linear-gradient(135deg,color-mix(in srgb,#6b7280 18%,var(--card-bg)),var(--card-bg));background:linear-gradient(135deg,color-mix(in srgb,var(--nc-color,#6b7280) 18%,var(--card-bg)),var(--card-bg));flex-shrink:0;height:160px;overflow:hidden;width:100%}.news-card__image-wrapper--fallback{align-items:center;display:flex;justify-content:center}.news-card__image{display:block;height:100%;object-fit:cover;transition:transform .35s ease;width:100%}.news-card:hover .news-card__image{transform:scale(1.05)}.news-card__header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:.85rem 1rem 0}.news-card__category{border-radius:5px;color:#fff;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase}.news-card__time{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.7rem;gap:.3rem;white-space:nowrap}.news-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-color-primary);cursor:pointer;display:-webkit-box;font-size:.95rem;font-weight:700;line-height:1.35;margin:.6rem 1rem 0;overflow:hidden;transition:color .15s}.news-card__title:hover{color:#f59e0b;color:var(--nc-color,#f59e0b)}.news-card__description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:var(--text-color-secondary);display:-webkit-box;flex:1 1;font-size:.8rem;line-height:1.5;margin:.45rem 1rem 0;overflow:hidden}.news-card__keywords{display:flex;flex-wrap:wrap;gap:.35rem;padding:.6rem 1rem 0}.news-card__keyword{background:color-mix(in srgb,#f59e0b 10%,#0000);background:color-mix(in srgb,var(--nc-color,#f59e0b) 10%,#0000);border:1px solid color-mix(in srgb,#f59e0b 25%,#0000);border:1px solid color-mix(in srgb,var(--nc-color,#f59e0b) 25%,#0000);border-radius:5px;color:#f59e0b;color:var(--nc-color,#f59e0b);font-size:.65rem;font-weight:600;padding:.1rem .4rem}.news-card__footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:space-between;margin-top:auto;padding:.7rem 1rem}.news-card__meta{align-items:center;color:var(--text-color-secondary);display:flex;flex-wrap:wrap;font-size:.68rem;gap:.6rem;min-width:0}.news-card__source{color:var(--text-color-primary);font-weight:700}.news-card__author,.news-card__readtime{align-items:center;display:flex;gap:.25rem;white-space:nowrap}.news-card__actions{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.news-card__read-badge{color:#22c55e;font-size:.75rem}.news-card__bookmark-btn,.news-card__open-btn{background:none;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.8rem;padding:.3rem;transition:all .15s ease}.news-card__bookmark-btn:hover{background:#f59e0b1a;color:#f59e0b}.news-card__bookmark-btn--active{color:#f59e0b}.news-card__open-btn:hover{background:color-mix(in srgb,#3b82f6 10%,#0000);background:color-mix(in srgb,var(--nc-color,#3b82f6) 10%,#0000);color:#3b82f6;color:var(--nc-color,#3b82f6)}@media (max-width:600px){.news-card__meta{align-items:flex-start;flex-direction:column;gap:.2rem}}.news-feed{display:flex;flex-direction:column;gap:1rem}.news-feed__info{align-items:center;display:flex;gap:1rem;justify-content:space-between}.news-feed__count{color:var(--text-color-secondary);font-size:.82rem;font-weight:600}.news-feed__page-size{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.78rem;gap:.4rem}.news-feed__select{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;font-size:.78rem;padding:.3rem .5rem}.news-feed__select:focus{border-color:#f59e0b;outline:none}.news-feed__grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.news-feed__pagination{align-items:center;display:flex;gap:.35rem;justify-content:center;margin-top:.5rem}.news-feed__page-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;height:34px;justify-content:center;min-width:34px;padding:0 .5rem;transition:all .15s ease}.news-feed__page-btn:hover:not(:disabled){border-color:#f59e0b;color:#f59e0b}.news-feed__page-btn--active{background:linear-gradient(135deg,#f59e0b,#f97316);border-color:#0000;color:#fff}.news-feed__page-btn--active:hover{color:#fff}.news-feed__page-btn:disabled{cursor:not-allowed;opacity:.35}.news-feed-loading{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;gap:1rem;padding:4rem 2rem}.news-feed-loading__spinner{animation:news-spin .7s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top:3px solid #f59e0b;height:36px;width:36px}@keyframes news-spin{to{transform:rotate(1turn)}}.news-feed-empty{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);display:flex;flex-direction:column;gap:.75rem;padding:3rem 2rem;text-align:center}.news-feed-empty svg{font-size:2rem;opacity:.35}.news-feed-empty h3{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin:0}.news-feed-empty p{font-size:.85rem;margin:0}@media (max-width:1368px){.news-feed__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.news-feed__grid{grid-template-columns:1fr}.news-feed__info{align-items:flex-start;flex-direction:column}}.na-dashboard{display:flex;flex-direction:column;gap:1.5rem}.na-stat-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.na-stat-card{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;display:flex;gap:.8rem;padding:1rem;transition:border-color .2s ease}.na-stat-card:hover{border-color:#f59e0b;border-color:var(--nac,#f59e0b)}.na-stat-card__icon{align-items:center;background:color-mix(in srgb,#f59e0b 14%,#0000);background:color-mix(in srgb,var(--nac,#f59e0b) 14%,#0000);border-radius:5px;color:#f59e0b;color:var(--nac,#f59e0b);display:flex;flex-shrink:0;font-size:.95rem;height:36px;justify-content:center;width:36px}.na-stat-card__body{display:flex;flex-direction:column;gap:.05rem;min-width:0}.na-stat-card__value{color:var(--text-color-primary);font-size:1.25rem;font-weight:800;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.na-stat-card__label{color:var(--text-color-secondary);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.na-stat-card__sub{color:var(--text-color-secondary);font-size:.65rem;margin-top:.1rem}.na-section{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;padding:1.1rem}.na-section__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.85rem}.na-section__title{align-items:center;color:var(--text-color-primary);display:flex;font-size:.85rem;font-weight:700;gap:.45rem;margin:0 0 .85rem}.na-section__header .na-section__title{margin-bottom:0}.na-sort-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;gap:.3rem;padding:.3rem .6rem;transition:all .15s ease}.na-sort-btn:hover{border-color:#f59e0b;color:#f59e0b}.na-sort-btn__dir{font-size:.65rem}.na-charts-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.na-chart-card{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;padding:1.1rem}.na-chart-card__title{color:var(--text-color-primary);font-size:.82rem;font-weight:700;margin:0 0 .85rem}.na-recharts-wrapper .recharts-cartesian-axis-tick-value{fill:var(--text-color-secondary)}.na-keywords-grid{display:flex;flex-wrap:wrap;gap:.45rem}.na-keyword-chip{align-items:center;background:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;display:inline-flex;gap:.4rem;padding:.35rem .65rem;transition:border-color .15s ease}.na-keyword-chip:hover{border-color:#f59e0b}.na-keyword-chip__label{color:var(--text-color-primary);font-size:.78rem;font-weight:600}.na-keyword-chip__count{background:#f59e0b1f;border-radius:5px;color:#f59e0b;font-size:.65rem;font-weight:700;min-width:18px;padding:.05rem .35rem;text-align:center}.na-empty-msg{color:var(--text-color-secondary);font-size:.82rem;margin:0}@media (max-width:768px){.na-stat-grid{grid-template-columns:repeat(2,1fr)}.na-charts-row{grid-template-columns:1fr}}@media (max-width:480px){.na-stat-grid{grid-template-columns:1fr}}.ns-manager{display:flex;flex-direction:column;gap:1rem}.ns-manager__header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.ns-manager__header-left{align-items:center;display:flex;gap:.75rem}.ns-manager__icon{color:#f59e0b;font-size:1.3rem}.ns-manager__title{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin:0}.ns-manager__subtitle{color:var(--text-color-secondary);font-size:.75rem;margin:.1rem 0 0}.ns-manager__add-btn{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.5rem .9rem;transition:all .15s ease}.ns-manager__add-btn:hover{border-color:#f59e0b;color:#f59e0b}.ns-manager__disclaimer{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.72rem;gap:.4rem;margin:0}.ns-add-form{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;flex-direction:column;padding:1rem}.ns-add-form,.ns-add-form__row{display:flex;gap:.75rem}.ns-add-form__field{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.ns-add-form__field--small{flex:0 0 100px}.ns-add-form__field label{color:var(--text-color-secondary);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ns-add-form__field input[type=number],.ns-add-form__field input[type=text]{background:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);font-size:.82rem;padding:.45rem .65rem;transition:border-color .15s}.ns-add-form__field input:focus{border-color:#f59e0b;outline:none}.ns-add-form__field input[type=color]{background:var(--main-bg);border:1px solid var(--border-color);border-radius:5px;cursor:pointer;height:34px;padding:2px;width:100%}.ns-add-form__submit{align-items:center;align-self:flex-start;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:.4rem;padding:.55rem 1rem;transition:opacity .15s ease}.ns-add-form__submit:hover:not(:disabled){opacity:.88}.ns-add-form__submit:disabled{cursor:not-allowed;opacity:.4}.ns-source-list{display:flex;flex-direction:column;gap:.65rem}.ns-source-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;overflow:hidden;transition:border-color .2s ease}.ns-source-card:hover{border-color:var(--src-color,var(--border-color))}.ns-source-card--disabled{opacity:.55}.ns-source-card--disabled:hover{opacity:.7}.ns-source-card__bar{background:#6b7280;background:var(--src-color,#6b7280);flex-shrink:0;width:4px}.ns-source-card__body{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.ns-source-card__info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.ns-source-card__name-row{align-items:center;display:flex;gap:.5rem}.ns-source-card__name{color:var(--text-color-primary);font-size:.9rem;font-weight:700}.ns-source-card__desc{color:var(--text-color-secondary);font-size:.75rem;line-height:1.4;margin:0}.ns-source-card__endpoint{background:var(--main-bg);border-radius:5px;color:var(--text-color-secondary);display:inline-block;font-family:Courier New,Courier,monospace;font-size:.7rem;max-width:100%;overflow:hidden;padding:.15rem .4rem;text-overflow:ellipsis;white-space:nowrap}.ns-source-card__meta{color:var(--text-color-secondary);display:flex;font-size:.68rem;gap:.75rem}.ns-source-card__actions{align-items:center;display:flex;flex-shrink:0;gap:.65rem}.ns-source-card__toggle{background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;padding:0;transition:transform .15s ease}.ns-source-card__toggle:hover{transform:scale(1.1)}.ns-source-card__delete{background:none;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;padding:.3rem;transition:all .15s ease}.ns-source-card__delete:hover{background:#ef44441a;color:#ef4444}@media (max-width:600px){.ns-add-form__row{flex-direction:column}.ns-add-form__field--small{flex:1 1}.ns-source-card__body{align-items:flex-start;flex-direction:column;gap:.5rem}.ns-source-card__actions{align-self:flex-end}}.gnews-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;flex-direction:column;gap:1.1rem;margin-top:1.25rem;padding:1.25rem}.gnews-panel__header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.gnews-panel__header-left{align-items:center;display:flex;gap:.75rem}.gnews-panel__logo{align-items:center;background:linear-gradient(135deg,#4285f4,#34a853);border-radius:5px;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:800;height:36px;justify-content:center;width:36px}.gnews-panel__title{color:var(--text-color-primary);font-size:.95rem;font-weight:700;margin:0}.gnews-panel__subtitle{color:var(--text-color-secondary);font-size:.75rem;margin:.1rem 0 0}.gnews-toggle{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;padding:.35rem .75rem;transition:all .15s ease;white-space:nowrap}.gnews-toggle svg{font-size:1rem}.gnews-toggle:hover{border-color:#4285f4;color:#4285f4}.gnews-toggle--on{background:#4285f4;border-color:#4285f4;color:#fff}.gnews-toggle--on:hover{color:#fff;filter:brightness(1.1)}.gnews-section{display:flex;flex-direction:column;gap:.45rem}.gnews-section--row{flex-direction:row;flex-wrap:wrap;gap:.75rem}.gnews-label{align-items:center;color:var(--text-color-secondary);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.gnews-key-row,.gnews-label{display:flex;gap:.4rem}.gnews-input{background:var(--card-bg);background:var(--main-bg,var(--card-bg));border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);flex:1 1;font-family:Courier New,monospace;font-size:.82rem;outline:none;padding:.45rem .65rem;transition:border-color .15s ease}.gnews-input:focus{border-color:#4285f4}.gnews-icon-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .15s ease;width:34px}.gnews-icon-btn:hover{border-color:#4285f4;color:#4285f4}.gnews-link{align-items:center;color:#4285f4;display:inline-flex;font-size:.73rem;font-weight:600;gap:.3rem;text-decoration:none;transition:opacity .15s ease}.gnews-link:hover{opacity:.75;text-decoration:underline}.gnews-field{display:flex;flex:1 1;flex-direction:column;gap:.4rem;min-width:130px}.gnews-field--sm{max-width:140px}.gnews-select{-webkit-appearance:auto;appearance:auto;background:var(--card-bg);background:var(--main-bg,var(--card-bg));border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;font-size:.82rem;outline:none;padding:.42rem .6rem;transition:border-color .15s ease}.gnews-select:focus{border-color:#4285f4}.gnews-cats{display:flex;flex-wrap:wrap;gap:.35rem}.gnews-cat-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.73rem;font-weight:600;padding:.28rem .65rem;transition:all .15s ease;white-space:nowrap}.gnews-cat-btn:hover{border-color:#4285f4;color:#4285f4}.gnews-cat-btn--active{background:#4285f4;border-color:#4285f4;color:#fff}.gnews-hint{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.71rem;gap:.35rem;margin:0;opacity:.8}.gnews-topics{display:flex;flex-wrap:wrap;gap:.35rem}.gnews-topic-tag{align-items:center;background:#4285f4;border-radius:5px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;padding:.22rem .55rem}.gnews-topic-tag button{align-items:center;background:none;border:none;color:#fffc;cursor:pointer;display:flex;font-size:.7rem;line-height:1;padding:0;transition:color .12s ease}.gnews-topic-tag button:hover{color:#fff}.gnews-topic-input-row{display:flex;gap:.4rem}.gnews-icon-btn--add:not(:disabled){border-color:#4285f4;color:#4285f4}.gnews-icon-btn--add:not(:disabled):hover{background:#4285f4;color:#fff}.gnews-icon-btn--add:disabled{cursor:not-allowed;opacity:.35}.gnews-fetch-row{align-items:center;border-top:1px solid var(--border-color);flex-direction:row;flex-wrap:wrap;gap:.75rem;padding-top:.25rem}.gnews-fetch-btn{align-items:center;background:#4285f4;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:.45rem;padding:.5rem 1rem;transition:all .15s ease;white-space:nowrap}.gnews-fetch-btn:hover:not(:disabled){box-shadow:0 2px 8px #4285f459;filter:brightness(1.1)}.gnews-fetch-btn:disabled{cursor:not-allowed;opacity:.45}.gnews-status{align-items:center;display:flex;font-size:.76rem;font-weight:600;gap:.4rem}.gnews-status--ok{color:#22c55e}.gnews-status--err{color:#ef4444}@media (max-width:600px){.gnews-section--row{flex-direction:column}.gnews-field--sm{max-width:none}.gnews-fetch-row{align-items:stretch;flex-direction:column}.gnews-fetch-btn{justify-content:center}}.news-center-page{background-color:var(--main-bg);color:var(--text-color-primary);min-height:100vh;padding:2rem}.news-center-back-btn{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.news-center-back-btn:hover{background:var(--hover-bg);border-color:#f59e0b;color:#f59e0b;transform:translateX(-4px)}.news-center-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:2rem}.news-center-header__left{align-items:center;display:flex;gap:1rem}.news-center-icon{align-items:center;border-radius:5px;box-shadow:0 4px 16px #f59e0b4d;color:#fff;display:flex;flex-shrink:0;font-size:1.4rem;height:52px;justify-content:center;width:52px}.news-center-icon,.news-center-title{background:linear-gradient(135deg,#f59e0b,#f97316)}.news-center-title{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800;line-height:1.2;margin:0}.news-center-subtitle{color:var(--text-color-secondary);font-size:.875rem;margin:.3rem 0 0}.news-center-stats{flex-wrap:wrap;gap:.75rem}.news-center-stats,.news-stat{align-items:center;display:flex}.news-stat{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;flex-direction:column;min-width:55px;padding:.6rem 1rem}.news-stat--accent{background:#22c55e0f;border-color:#22c55e66}.news-stat--bookmark{background:#3b82f60f;border-color:#3b82f666}.news-stat__value{color:var(--text-color-primary);font-size:1.35rem;font-weight:800;line-height:1}.news-stat--accent .news-stat__value{color:#22c55e}.news-stat--bookmark .news-stat__value{color:#3b82f6}.news-stat__label{color:var(--text-color-secondary);font-size:.65rem;font-weight:500;letter-spacing:.04em;margin-top:.2rem;text-transform:uppercase}.news-center-tabs{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;display:flex;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;width:-webkit-fit-content;width:fit-content}.news-tab-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.55rem 1.1rem;position:relative;transition:all .15s ease}.news-tab-btn:hover{background:var(--hover-bg);color:var(--text-color-primary)}.news-tab-btn--active{box-shadow:0 2px 8px #f59e0b59}.news-tab-btn--active,.news-tab-btn--active:hover{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.news-tab-badge{background:#ffffff40;border-radius:5px;color:#fff;font-size:.65rem;font-weight:800;line-height:1.5;min-width:18px;padding:.05rem .45rem;text-align:center}.news-tab-btn:not(.news-tab-btn--active) .news-tab-badge{background:#f59e0b26;color:#f59e0b}.news-center-toolbar{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.news-center-search{align-items:center;display:flex;flex:1 1;position:relative}.news-search-icon{color:var(--text-color-secondary);font-size:.9rem;left:.9rem;pointer-events:none;position:absolute}.news-search-input{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-color-primary);font-size:.9rem;padding:.7rem 2.5rem;transition:border-color .15s ease;width:100%}.news-search-input:focus{border-color:#f59e0b;outline:none}.news-search-clear{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;padding:.2rem;position:absolute;right:.8rem;transition:color .15s}.news-search-clear:hover{color:var(--text-color-primary)}.news-bookmarks-btn{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.82rem;font-weight:600;gap:.35rem;height:40px;padding:0 .9rem;transition:all .18s ease}.news-bookmarks-btn span{font-size:.75rem;font-weight:700;min-width:1rem;text-align:center}.news-bookmarks-btn:hover{border-color:#f59e0b;color:#f59e0b}.news-bookmarks-btn--active{background:#f59e0b;border-color:#f59e0b;color:#fff}.news-bookmarks-btn--active:hover{background:#d97706;border-color:#d97706;color:#fff}.news-refresh-btn{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.9rem;height:40px;justify-content:center;transition:all .15s ease;width:40px}.news-refresh-btn:hover:not(:disabled){border-color:#f59e0b;color:#f59e0b}.news-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.news-category-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.news-cat-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;padding:.35rem .75rem;transition:all .15s ease;white-space:nowrap}.news-cat-btn:hover{color:#f59e0b;color:var(--cat-c,#f59e0b)}.news-cat-btn--active,.news-cat-btn:hover{border-color:#f59e0b;border-color:var(--cat-c,#f59e0b)}.news-cat-btn--active{background:#f59e0b;background:var(--cat-c,#f59e0b);color:#fff}.news-cat-btn--active:hover{color:#fff;opacity:.9}@media (max-width:768px){.news-center-page{padding:1rem}.news-center-header{flex-direction:column}.news-center-stats{justify-content:flex-start;width:100%}.news-center-toolbar{align-items:stretch;flex-direction:column}.news-refresh-btn{width:100%}.news-category-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}}.news-date-filters{gap:.5rem;margin-bottom:1.25rem}.news-date-filters,.news-date-presets{align-items:center;display:flex;flex-wrap:wrap}.news-date-presets{gap:.3rem}.news-date-preset-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;padding:.32rem .7rem;transition:all .15s ease;white-space:nowrap}.news-date-preset-btn:hover{border-color:#6366f1;color:#6366f1}.news-date-preset-btn--active{background:#6366f1;border-color:#6366f1;color:#fff}.news-date-preset-btn--active:hover{color:#fff;filter:brightness(1.1)}.news-date-picker-wrapper{position:relative}.news-date-picker-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.4rem;padding:.32rem .75rem;transition:all .15s ease;white-space:nowrap}.news-date-picker-btn:hover{border-color:#6366f1;color:#6366f1}.news-date-picker-btn--active{background:#6366f1;border-color:#6366f1;color:#fff}.news-date-clear{align-items:center;background:none;border:1px solid #0000;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:.35rem;margin-left:auto;padding:.32rem .7rem;transition:all .15s ease}.news-date-clear:hover{border-color:#ef4444;color:#ef4444}.news-date-calendar-popover{animation:cal-pop .18s ease;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 8px 30px #00000024;left:0;min-width:260px;padding:.75rem;position:absolute;top:calc(100% + 6px);z-index:100}@keyframes cal-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.news-date-calendar__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.6rem}.news-date-calendar__month{color:var(--text-color-primary);font-size:.82rem;font-weight:700;text-transform:capitalize}.news-date-calendar__nav{align-items:center;background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.65rem;height:26px;justify-content:center;transition:all .15s ease;width:26px}.news-date-calendar__nav:hover{border-color:#6366f1;color:#6366f1}.news-date-calendar__grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.news-date-calendar__day-label{color:var(--text-color-secondary);font-size:.62rem;font-weight:700;padding:.2rem 0;text-align:center}.news-date-calendar__empty{display:block}.news-date-calendar__day{align-items:center;background:none;border:none;border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;flex-direction:column;font-size:.72rem;font-weight:500;gap:1px;height:30px;justify-content:center;padding:0;position:relative;transition:all .12s ease;width:100%}.news-date-calendar__day:hover{background:var(--hover-bg);color:var(--text-color-primary)}.news-date-calendar__day--today{color:#6366f1;font-weight:800}.news-date-calendar__day--has-articles{color:var(--text-color-primary);font-weight:600}.news-date-calendar__day--selected{background:#6366f1!important;color:#fff!important;font-weight:700}.news-date-calendar__dot{background:#6366f1;border-radius:50%;flex-shrink:0;height:4px;width:4px}.news-date-calendar__day--selected .news-date-calendar__dot{background:#ffffffbf}.news-date-calendar-footer{border-top:1px solid var(--border-color);margin-top:.6rem;padding-top:.5rem}.news-date-selected-list{display:flex;flex-wrap:wrap;gap:.3rem}.news-date-tag{align-items:center;background:#6366f1;border-radius:5px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;padding:.15rem .45rem}.news-date-tag button{background:none;border:none;color:#ffffffd9;cursor:pointer;font-size:.85rem;line-height:1;margin-left:.1rem;padding:0}.news-date-tag button:hover{color:#fff}.news-date-calendar-close{background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.35rem;transition:all .15s ease;width:100%}.news-date-calendar-close:hover{border-color:#6366f1;color:#6366f1}@media (max-width:600px){.news-date-filters{align-items:stretch;flex-direction:column}.news-date-presets{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.news-date-picker-wrapper{width:100%}.news-date-picker-btn{justify-content:center;width:100%}.news-date-calendar-popover{left:0;min-width:0;min-width:auto;right:0}.news-date-clear{justify-content:center;margin-left:0}}.article-detail{animation:ad-fadeIn .3s ease;margin:0 auto;max-width:820px;padding:1.5rem}@keyframes ad-fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.article-detail--not-found{align-items:center;display:flex;flex-direction:column;gap:2rem;padding-top:4rem}.article-detail__empty{color:var(--text-color-secondary);text-align:center}.article-detail__empty h2{color:var(--text-color-primary);font-size:1.4rem;margin-bottom:.5rem}.article-detail__nav{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.article-detail__back{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:.45rem;padding:.5rem 1rem;transition:all .15s ease;white-space:nowrap}.article-detail__back:hover{border-color:#3b82f6;border-color:var(--ad-color,var(--accent-blue,#3b82f6));color:#3b82f6;color:var(--ad-color,var(--accent-blue,#3b82f6))}.article-detail__nav-actions{align-items:center;display:flex;gap:.5rem}.article-detail__action-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:.35rem;padding:.5rem .75rem;text-decoration:none;transition:all .15s ease}.article-detail__action-btn:hover{border-color:#3b82f6;border-color:var(--ad-color,#3b82f6);color:#3b82f6;color:var(--ad-color,#3b82f6)}.article-detail__action-btn--bookmarked{border-color:#f59e0b;color:#f59e0b}.article-detail__action-btn--external{background:#3b82f6;background:var(--ad-color,#3b82f6);border-color:#0000;color:#fff}.article-detail__action-btn--external:hover{color:#fff;filter:brightness(1.1)}.article-detail__hero{border-radius:5px;height:320px;margin-bottom:1.5rem;overflow:hidden;position:relative;width:100%}.article-detail__hero-img{display:block;height:100%;object-fit:cover;width:100%}.article-detail__hero-overlay{background:linear-gradient(180deg,#0000 40%,#00000073);inset:0;pointer-events:none;position:absolute}.article-detail__header{margin-bottom:2rem}.article-detail__meta-top{align-items:center;display:flex;gap:.8rem;margin-bottom:.8rem}.article-detail__category{border-radius:5px;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:.2rem .6rem;text-transform:uppercase}.article-detail__timeago{color:var(--text-color-secondary);font-size:.75rem}.article-detail__title{color:var(--text-color-primary);font-size:1.75rem;font-weight:800;line-height:1.3;margin:0 0 .75rem}.article-detail__description{border-left:3px solid #3b82f6;border-left:3px solid var(--ad-color,#3b82f6);color:var(--text-color-secondary);font-size:1.05rem;font-style:italic;line-height:1.6;margin:0 0 1.25rem;padding-left:1rem}.article-detail__meta-bar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;flex-wrap:wrap;gap:1rem;padding:.85rem 1rem}.article-detail__meta-item{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.78rem;gap:.35rem}.article-detail__meta-item strong{color:var(--text-color-primary)}.article-detail__meta-item--source{color:#3b82f6;color:var(--ad-color,#3b82f6);font-weight:700;margin-left:auto}.article-detail__content{margin-bottom:2rem}.article-detail__content p{color:var(--text-color-primary);font-size:.95rem;line-height:1.8;margin:0 0 1.15rem}.article-detail__content p:last-child{margin-bottom:0}.article-detail__keywords{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem;padding-top:1rem}.article-detail__keywords-icon{color:var(--text-color-secondary);font-size:.8rem;margin-right:.25rem}.article-detail__keyword{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:#3b82f6;color:var(--ad-color,#3b82f6);font-size:.72rem;font-weight:600;padding:.2rem .55rem;transition:all .15s ease}.article-detail__keyword:hover{border-color:#3b82f6;border-color:var(--ad-color,#3b82f6)}.article-detail__source-box{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:2rem;padding:1.25rem}.article-detail__source-box p{color:var(--text-color-secondary);font-size:.85rem;margin:0}.article-detail__source-box strong{color:var(--text-color-primary)}.article-detail__source-link{align-items:center;border:1px solid #3b82f6;border:1px solid var(--ad-color,#3b82f6);border-radius:5px;color:#3b82f6;color:var(--ad-color,#3b82f6);display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.45rem .85rem;text-decoration:none;transition:all .15s ease}.article-detail__source-link:hover{background:#3b82f6;background:var(--ad-color,#3b82f6);color:#fff}.article-detail__related{border-top:1px solid var(--border-color);padding-top:1.5rem}.article-detail__related-title{color:var(--text-color-primary);font-size:1.1rem;font-weight:700;margin:0 0 1rem}.article-detail__related-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.article-detail__related-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;cursor:pointer;overflow:hidden;transition:all .2s ease}.article-detail__related-card:hover{border-color:var(--ad-color,var(--border-color));box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.article-detail__related-img{display:block;height:120px;object-fit:cover;width:100%}.article-detail__related-body{padding:.75rem}.article-detail__related-cat{border-radius:5px;color:#fff;display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.05em;margin-bottom:.4rem;padding:.1rem .4rem;text-transform:uppercase}.article-detail__related-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-color-primary);display:-webkit-box;font-size:.82rem;font-weight:700;line-height:1.3;margin:0 0 .4rem;overflow:hidden}.article-detail__related-time{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.68rem;gap:.3rem}@media (max-width:768px){.article-detail{padding:1rem}.article-detail__hero{border-radius:5px;height:200px}.article-detail__title{font-size:1.35rem}.article-detail__description{font-size:.92rem}.article-detail__meta-bar{flex-direction:column;gap:.5rem}.article-detail__meta-item--source{margin-left:0}.article-detail__nav-actions{flex-wrap:wrap}.article-detail__source-box{flex-direction:column;text-align:center}.article-detail__related-grid{grid-template-columns:1fr}}@media (max-width:480px){.article-detail__nav{align-items:stretch;flex-direction:column}.article-detail__nav-actions{justify-content:flex-end}.article-detail__hero{height:160px}.article-detail__title{font-size:1.15rem}}.tts-active-paragraph{background:linear-gradient(90deg,color-mix(in srgb,#3b82f6 12%,#0000),#0000 85%);background:linear-gradient(90deg,color-mix(in srgb,var(--ad-color,#3b82f6) 12%,#0000),#0000 85%);border-left:3px solid #3b82f6;border-left:3px solid var(--ad-color,#3b82f6);border-radius:0 5px 5px 0;padding-left:.75rem;transition:background .4s ease,border-color .3s ease}.tts-bar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;margin-bottom:1.25rem;padding:.55rem .85rem;transition:all .25s ease}.tts-bar--active{border-color:#3b82f6;border-color:var(--ad-color,#3b82f6);box-shadow:0 2px 12px #0000000f}.tts-bar__controls,.tts-bar__play-btn{align-items:center;display:flex;gap:.5rem}.tts-bar__play-btn{background:#3b82f6;background:var(--ad-color,#3b82f6);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:700;justify-content:center;padding:.55rem 1.1rem;transition:all .15s ease;width:100%}.tts-bar__play-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.tts-bar__btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:.78rem;gap:.3rem;justify-content:center;padding:.4rem .55rem;transition:all .15s ease}.tts-bar__btn:hover{border-color:#3b82f6;border-color:var(--ad-color,#3b82f6);color:#3b82f6;color:var(--ad-color,#3b82f6)}.tts-bar__progress{background:var(--border-color);border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.tts-bar__progress-fill{background:#3b82f6;background:var(--ad-color,#3b82f6);border-radius:3px;height:100%;transition:width .35s ease}.tts-bar__progress-text{color:var(--text-color-secondary);flex-shrink:0;font-size:.68rem;font-weight:700;min-width:2.2rem;text-align:right}.tts-bar__speed-wrapper{flex-shrink:0;position:relative}.tts-bar__btn--speed{gap:.25rem}.tts-bar__btn--speed span{font-size:.72rem;font-weight:700}.tts-bar__chevron{font-size:.55rem;opacity:.6}.tts-bar__speed-menu{animation:tts-menu-in .15s ease;background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;bottom:calc(100% + 6px);box-shadow:0 6px 20px #0000001f;display:flex;flex-direction:column;gap:.15rem;min-width:70px;padding:.3rem;position:absolute;right:0;z-index:20}@keyframes tts-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tts-bar__speed-option{background:none;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;font-size:.78rem;font-weight:600;padding:.35rem .6rem;text-align:center;transition:all .12s ease}.tts-bar__speed-option:hover{background:var(--hover-bg);color:var(--text-color-primary)}.tts-bar__speed-option--active,.tts-bar__speed-option--active:hover{background:#3b82f6;background:var(--ad-color,#3b82f6);color:#fff}.tts-bar__speed-option--active:hover{filter:brightness(1.1)}@media (max-width:600px){.tts-bar__controls{flex-wrap:wrap}.tts-bar__progress{flex-basis:100%;order:10;width:100%}.tts-bar__progress-text{order:11}}.cp-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.cp-card:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-4px)}.cp-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.cp-card__poster{aspect-ratio:2/3;background:var(--hover-bg);flex-shrink:0;overflow:hidden;position:relative;width:100%}.cp-card__poster img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.cp-card:hover .cp-card__poster img{transform:scale(1.05)}.cp-card__poster-placeholder{align-items:center;color:var(--text-color-secondary);display:flex;font-size:2.5rem;height:100%;justify-content:center;opacity:.4;width:100%}.cp-card__badge{border-radius:var(--border-radius-sm);font-size:.65rem;font-weight:700;left:.5rem;letter-spacing:.05em;padding:.2rem .5rem;position:absolute;text-transform:uppercase;top:.5rem;z-index:2}.cp-card__badge--new{background:var(--accent-blue);color:var(--white)}.cp-card__type-badge{border-radius:var(--border-radius-sm);display:inline-flex;font-size:.65rem;font-weight:700;gap:.25rem;padding:.2rem .5rem;top:.5rem;z-index:2}.cp-card__type-badge,.cp-card__wl-btn{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0000008c;color:var(--white);position:absolute;right:.5rem}.cp-card__wl-btn{border:none;border-radius:50%;bottom:.5rem;cursor:pointer;display:flex;font-size:.75rem;height:32px;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .18s ease,transform .18s ease,background .15s ease;width:32px;z-index:3}.cp-card:hover .cp-card__wl-btn{opacity:1;transform:scale(1)}.cp-card__wl-btn--active{background:var(--success-green)!important;opacity:1!important;transform:scale(1)!important}.cp-card__wl-btn:hover{background:var(--accent-blue)}.cp-card__fav-btn{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;border:none;border-radius:50%;color:var(--white);cursor:pointer;display:flex;font-size:.72rem;height:30px;justify-content:center;left:.5rem;opacity:0;position:absolute;top:.5rem;transform:scale(.8);transition:opacity .18s ease,transform .18s ease,background .15s ease;width:30px;z-index:3}.cp-card:hover .cp-card__fav-btn{opacity:1;transform:scale(1)}.cp-card__fav-btn--active{background:var(--danger-red)!important;opacity:1!important;transform:scale(1)!important}.cp-card__fav-btn:hover{background:var(--danger-red)}.cp-card__info{display:flex;flex:1 1;flex-direction:column;gap:.3rem;padding:.65rem .7rem .75rem}.cp-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-color-primary);display:-webkit-box;font-size:.82rem;font-weight:700;line-height:1.35;margin:0;overflow:hidden}.cp-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.cp-card__score,.cp-card__year{align-items:center;color:var(--text-color-secondary);display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem}.cp-card__score svg{color:var(--warning-amber)}.cp-card__status{color:var(--text-color-secondary);color:var(--status-color,var(--text-color-secondary));display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cp-card__genres{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.1rem}.cp-card__genre{background:var(--hover-bg);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);font-size:.6rem;font-weight:600;padding:.1rem .35rem}.cp-card--compact .cp-card__info{padding:.45rem .5rem}.cp-card--compact .cp-card__title{-webkit-line-clamp:1;font-size:.73rem}@media (max-width:480px){.cp-card__wl-btn{opacity:1;transform:scale(1)}}.cp-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}@media (min-width:768px){.cp-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (min-width:1200px){.cp-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}}.cp-grid__empty{color:var(--text-color-secondary);font-size:.9rem;font-weight:500;grid-column:1/-1;padding:3rem 1rem;text-align:center}.cp-grid__skeleton{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden}.cp-grid__skeleton-poster{animation:cp-shimmer 1.4s infinite;aspect-ratio:2/3;background:linear-gradient(90deg,var(--hover-bg) 25%,var(--border-color) 50%,var(--hover-bg) 75%);background-size:200% 100%;width:100%}.cp-grid__skeleton-info{display:flex;flex-direction:column;gap:.4rem;padding:.65rem .7rem}.cp-grid__skeleton-line{animation:cp-shimmer 1.4s infinite;background:linear-gradient(90deg,var(--hover-bg) 25%,var(--border-color) 50%,var(--hover-bg) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm);height:10px}.cp-grid__skeleton-line--title{height:12px;width:90%}.cp-grid__skeleton-line--meta{width:60%}.cp-grid__skeleton-line--short{width:40%}@keyframes cp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cp-page{background:var(--main-bg);color:var(--text-color-primary);display:flex;flex-direction:column;gap:1.25rem;min-height:100vh;padding:1.5rem}.cp-page__topbar{align-items:center;display:flex;gap:.75rem}.cp-page__back-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:36px;justify-content:center;transition:all .15s ease;width:36px}.cp-page__back-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.cp-page__brand{align-items:center;color:var(--text-color-primary);display:flex;flex:1 1;font-size:1.25rem;gap:.5rem}.cp-page__brand svg{color:var(--accent-blue)}.cp-page__brand h1{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin:0}.cp-page__brand h1 span{color:var(--accent-blue)}.cp-page__topbar-actions{align-items:center;display:flex;gap:.4rem}.cp-page__action-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.85rem;height:36px;justify-content:center;position:relative;transition:all .15s ease;width:36px}.cp-page__action-btn--active,.cp-page__action-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.cp-page__action-btn--active{background:var(--hover-bg)}.cp-page__action-btn--fav:hover{border-color:var(--danger-red);color:var(--danger-red)}.cp-page__badge{align-items:center;background:var(--accent-blue);border-radius:8px;color:var(--white);display:flex;font-size:.6rem;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 3px;position:absolute;right:-4px;top:-4px}.cp-page__badge--fav,.cp-page__badge--notif{background:var(--danger-red)}.cp-page__notif-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow-hover);overflow:hidden}.cp-page__notif-header{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-color-primary);display:flex;font-size:.82rem;font-weight:700;justify-content:space-between;padding:.65rem 1rem}.cp-page__notif-clear{align-items:center;background:none;border:none;color:var(--danger-red);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;padding:0;transition:opacity .15s}.cp-page__notif-clear:hover{opacity:.7}.cp-page__notif-empty{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;font-size:.8rem;gap:.5rem;padding:1.5rem}.cp-page__notif-empty svg{font-size:1.5rem;opacity:.3}.cp-page__notif-list{max-height:320px;overflow-y:auto}.cp-page__notif-item{align-items:flex-start;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:.65rem;padding:.65rem 1rem;transition:background .12s}.cp-page__notif-item:last-child{border-bottom:none}.cp-page__notif-item:hover{background:var(--hover-bg)}.cp-page__notif-item--read{opacity:.55}.cp-page__notif-dot{background:var(--accent-blue);border-radius:50%;flex-shrink:0;height:8px;margin-top:.35rem;width:8px}.cp-page__notif-item--read .cp-page__notif-dot{background:var(--border-color)}.cp-page__notif-content{flex:1 1;min-width:0}.cp-page__notif-title{color:var(--text-color-primary);font-size:.78rem;font-weight:600;line-height:1.3;margin:0 0 .2rem}.cp-page__notif-detail{color:var(--text-color-secondary);font-size:.7rem;line-height:1.4;margin:0 0 .25rem}.cp-page__notif-time{color:var(--text-color-secondary);font-size:.65rem;opacity:.7}.cp-page__notif-read-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--success-green);cursor:pointer;display:flex;flex-shrink:0;font-size:.6rem;height:22px;justify-content:center;transition:all .12s;width:22px}.cp-page__notif-read-btn:hover{background:var(--success-green);border-color:var(--success-green);color:var(--white)}.cp-page__loadmore-wrap{display:flex;justify-content:center;padding:.5rem 0 1rem}.cp-page__loadmore-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.45rem;padding:.55rem 1.5rem;transition:all .15s ease}.cp-page__loadmore-btn:hover:not(:disabled){border-color:var(--accent-blue);color:var(--accent-blue)}.cp-page__loadmore-btn:disabled{cursor:not-allowed;opacity:.5}.cp-page__tmdb-banner{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-left:3px solid var(--accent-blue);border-radius:var(--border-radius-md);color:var(--text-color-secondary);display:flex;flex-wrap:wrap;font-size:.82rem;gap:.75rem;padding:.85rem 1rem}.cp-page__tmdb-banner>svg{color:var(--accent-blue);flex-shrink:0;font-size:1rem}.cp-page__tmdb-banner p{flex:1 1;margin:0;min-width:150px}.cp-page__tmdb-row{align-items:center;display:flex;gap:.4rem}.cp-page__tmdb-input{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-primary);font-family:Courier New,monospace;font-size:.78rem;outline:none;padding:.38rem .6rem;width:200px}.cp-page__tmdb-input:focus{border-color:var(--accent-blue)}.cp-page__tmdb-btn{background:var(--accent-blue);border:none;border-radius:var(--border-radius-sm);color:var(--white);cursor:pointer;font-size:.78rem;font-weight:700;padding:.38rem .75rem;transition:filter .15s ease;white-space:nowrap}.cp-page__tmdb-btn:hover:not(:disabled){filter:brightness(1.1)}.cp-page__tmdb-btn:disabled{cursor:not-allowed;opacity:.4}.cp-page__tmdb-link{align-items:center;color:var(--accent-blue);display:inline-flex;font-size:.73rem;font-weight:600;gap:.25rem;text-decoration:none;transition:opacity .15s;white-space:nowrap}.cp-page__tmdb-link:hover{opacity:.75;text-decoration:underline}.cp-page__search-wrap{align-items:center;display:flex;position:relative}.cp-page__search-ico{color:var(--text-color-secondary);font-size:.85rem;left:.85rem;pointer-events:none;position:absolute}.cp-page__search{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-primary);font-size:.9rem;outline:none;padding:.65rem 2.5rem .65rem 2.4rem;transition:border-color .15s ease;width:100%}.cp-page__search::placeholder{color:var(--text-color-secondary);opacity:.7}.cp-page__search:focus{border-color:var(--accent-blue)}.cp-page__search-clear{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.8rem;padding:.25rem;position:absolute;right:2.4rem;transition:color .15s}.cp-page__search-clear:hover{color:var(--danger-red)}.cp-page__search-spin{color:var(--text-color-secondary);font-size:.8rem;position:absolute;right:.85rem}.cp-page__types{display:flex;flex-wrap:wrap;gap:.4rem}.cp-page__type-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;padding:.38rem .85rem;transition:all .15s ease;white-space:nowrap}.cp-page__type-btn:hover{border-color:var(--type-color);color:var(--type-color)}.cp-page__type-btn--active{background:var(--type-color);border-color:var(--type-color);color:var(--white)}.cp-page__type-count{background:#ffffff40;border-radius:10px;font-size:.65rem;font-style:normal;line-height:1.4;padding:0 5px}.cp-page__type-btn:not(.cp-page__type-btn--active) .cp-page__type-count{background:var(--hover-bg);color:var(--text-color-secondary)}.cp-page__section-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.cp-page__section-header h2{color:var(--text-color-primary);font-size:1rem;font-weight:700;margin:0}.cp-page__refresh-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:30px;justify-content:center;transition:all .15s ease;width:30px}.cp-page__refresh-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.cp-page__error{background:#e74c3c14;border:1px solid var(--danger-red);border-radius:var(--border-radius-md);color:var(--danger-red);font-size:.82rem;font-weight:600;padding:.65rem 1rem}@media (max-width:600px){.cp-page{gap:1rem;padding:1rem}.cp-page__tmdb-banner{align-items:flex-start;flex-direction:column}.cp-page__tmdb-row{flex-wrap:wrap}.cp-page__tmdb-input{width:100%}.cp-page__types{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}}.cd-page{background:var(--main-bg);color:var(--text-color-primary);display:flex;flex-direction:column;min-height:100vh}.cd-page__not-found{color:var(--text-color-secondary);font-size:1rem;padding:3rem;text-align:center}.cd-page__topbar{-webkit-sticky:sticky;align-items:center;background:var(--main-bg);border-bottom:1px solid var(--border-color);display:flex;padding:.75rem 1.25rem;position:sticky;position:-webkit-sticky;top:0;z-index:10}.cd-page__back-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.85rem;height:36px;justify-content:center;transition:all .15s ease;width:36px}.cd-page__back-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.cd-hero{align-items:flex-end;background-image:var(--hero-img);background-position:center 20%;background-size:cover;display:flex;min-height:340px;position:relative}.cd-hero__overlay{background:linear-gradient(to bottom,#00000040 0,#000000bf 60%,var(--main-bg) 100%);inset:0;position:absolute}.cd-hero__content{align-items:flex-end;display:flex;gap:1.25rem;padding:1.5rem 1.25rem 1.75rem;position:relative;width:100%;z-index:1}.cd-hero__poster-wrap{flex-shrink:0}.cd-hero__poster{border-radius:var(--border-radius-md);box-shadow:0 4px 20px #00000080;display:block;width:110px}.cd-hero__info{display:flex;flex:1 1;flex-direction:column;gap:.55rem}.cd-hero__badge{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--border-radius-sm);color:var(--white);display:inline-flex;font-size:.73rem;font-weight:700;gap:.35rem;letter-spacing:.07em;padding:.2rem .55rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.cd-hero__title{color:var(--white);font-size:1.6rem;font-weight:800;line-height:1.2;margin:0;text-shadow:0 2px 8px #000000b3}.cd-hero__meta{display:flex;flex-wrap:wrap;gap:.4rem}.cd-hero__genre,.cd-hero__meta>span,.cd-hero__score{align-items:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#00000059;border-radius:var(--border-radius-sm);color:#ffffffd9;display:inline-flex;font-size:.75rem;gap:.3rem;padding:.15rem .5rem}.cd-hero__score{color:var(--warning-amber)}.cd-hero__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.cd-btn{align-items:center;border:1px solid #0000;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;gap:.4rem;padding:.48rem 1rem;text-decoration:none;transition:all .15s ease}.cd-btn--add{background:var(--accent-blue);color:var(--white)}.cd-btn--add:hover{filter:brightness(1.1)}.cd-btn--remove{background:var(--danger-red);color:var(--white)}.cd-btn--remove:hover{filter:brightness(1.1)}.cd-btn--trailer{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff26;border-color:#ffffff80;color:var(--white)}.cd-btn--trailer:hover{background:#ffffff40}.cd-btn--link{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff1a;border-color:#ffffff59;color:#ffffffd9}.cd-btn--link:hover{background:#fff3}.cd-body{display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem}.cd-section__title{align-items:center;color:var(--text-color-primary);display:flex;font-size:.9rem;font-weight:700;gap:.5rem;margin:0 0 .75rem}.cd-section__title svg{color:var(--accent-blue);font-size:.85rem}.cd-section__text{color:var(--text-color-secondary);font-size:.85rem;line-height:1.65;margin:0}.cd-section--wl{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:1rem}.cd-wl__row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem}.cd-wl__row:last-child{margin-bottom:0}.cd-wl__label{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.75rem;font-weight:600;gap:.35rem;min-width:120px;padding-top:.2rem}.cd-wl__label svg{color:var(--accent-blue)}.cd-wl__statuses{display:flex;flex:1 1;flex-wrap:wrap;gap:.35rem}.cd-wl__status-btn{align-items:center;background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;padding:.3rem .65rem;transition:all .15s}.cd-wl__status-btn:hover{border-color:var(--st-color);color:var(--st-color)}.cd-wl__status-btn--active{background:var(--st-color);border-color:var(--st-color);color:var(--white)}.cd-wl__progress-wrap{align-items:center;display:flex;flex:1 1;gap:.75rem}.cd-wl__range{accent-color:var(--accent-blue);cursor:pointer;flex:1 1}.cd-wl__progress-val{color:var(--accent-blue);font-size:.78rem;font-weight:700;min-width:36px}.cd-wl__score-wrap{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.25rem}.cd-wl__star{background:var(--main-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color-secondary);cursor:pointer;font-size:.72rem;font-weight:700;height:28px;transition:all .1s;width:28px}.cd-wl__star--on{background:var(--warning-amber);border-color:var(--warning-amber);color:var(--white)}.cd-wl__star:hover{border-color:var(--warning-amber);color:var(--warning-amber)}.cd-wl__score-label{align-items:center;color:var(--warning-amber);display:inline-flex;font-size:.78rem;font-weight:700;gap:.25rem;margin-left:.4rem}.cd-cast{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.cd-cast__card{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.3rem;text-align:center;width:80px}.cd-cast__avatar{object-fit:cover}.cd-cast__avatar,.cd-cast__avatar-placeholder{border:2px solid var(--border-color);border-radius:50%;height:60px;width:60px}.cd-cast__avatar-placeholder{align-items:center;background:var(--card-bg);color:var(--text-color-secondary);display:flex;font-size:1.2rem;justify-content:center}.cd-cast__name{color:var(--text-color-primary);font-size:.68rem;font-weight:700;line-height:1.2}.cd-cast__char{color:var(--text-color-secondary);font-size:.62rem;font-style:italic;line-height:1.2}.cd-trailer-overlay{align-items:center;background:#000000e0;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.cd-trailer-box{display:flex;flex-direction:column;gap:.75rem;max-width:900px;width:100%}.cd-trailer-close{align-items:center;align-self:flex-start;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--border-radius-sm);color:var(--white);cursor:pointer;display:inline-flex;font-size:.78rem;gap:.4rem;padding:.4rem .85rem;transition:background .15s}.cd-trailer-close:hover{background:#fff3}.cd-trailer-frame{aspect-ratio:16/9;background:#000;border:none;width:100%}.cd-skeleton,.cd-trailer-frame{border-radius:var(--border-radius-md)}.cd-skeleton{animation:cd-shimmer 1.4s ease-in-out infinite;background:var(--hover-bg)}.cd-skeleton--hero{height:200px}.cd-skeleton--title{height:28px;margin:1.25rem;width:50%}.cd-skeleton--text{height:16px;margin:0 1.25rem .5rem}.cd-skeleton--short{width:35%}@keyframes cd-shimmer{0%,to{opacity:.5}50%{opacity:1}}@media (max-width:600px){.cd-hero__content{align-items:flex-start;flex-direction:column}.cd-hero__poster{width:80px}.cd-hero__title{font-size:1.25rem}}.cwl-page{background:var(--main-bg);color:var(--text-color-primary);display:flex;flex-direction:column;gap:1.25rem;min-height:100vh;padding:1.5rem}.cwl-page__topbar{align-items:center;display:flex;gap:.75rem}.cwl-page__back-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:36px;justify-content:center;transition:all .15s;width:36px}.cwl-page__back-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.cwl-page__brand{align-items:center;display:flex;gap:.5rem}.cwl-page__brand svg{color:var(--danger-red)}.cwl-page__brand h1{font-size:1.25rem;font-weight:800;margin:0}.cwl-view-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:.4rem;padding-bottom:0}.cwl-view-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;margin-bottom:-1px;padding:.5rem 1rem;transition:all .15s}.cwl-view-tab em{background:var(--hover-bg);border-radius:10px;font-size:.68rem;font-style:normal;line-height:1.5;padding:0 5px}.cwl-view-tab:hover{color:var(--text-color-primary)}.cwl-view-tab--active{border-bottom-color:var(--accent-blue);color:var(--accent-blue)}.cwl-view-tab--active em{background:#3b82f61f;background:rgba(var(--accent-blue-rgb,59,130,246),.12);color:var(--accent-blue)}.cwl-view-tab--fav:hover{color:var(--danger-red)}.cwl-view-tab--fav-active{border-bottom-color:var(--danger-red)!important;color:var(--danger-red)!important}.cwl-view-tab--fav-active em{background:#e74c3c1a;color:var(--danger-red)}.cwl-fav-notice{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-left:3px solid var(--danger-red);border-radius:var(--border-radius-md);color:var(--text-color-secondary);display:flex;font-size:.78rem;gap:.6rem;padding:.65rem 1rem}.cwl-fav-notice svg{color:var(--danger-red);flex-shrink:0}.cwl-card--fav:hover{border-color:var(--danger-red)}.cwl-card__fav-dot{background:var(--danger-red);border:2px solid var(--card-bg);border-radius:50%;box-shadow:0 0 6px var(--danger-red);height:10px;left:6px;position:absolute;top:6px;width:10px}.cwl-stats{display:flex;flex-wrap:wrap;gap:.6rem}.cwl-stats__card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:.15rem;min-width:64px;padding:.55rem .85rem;text-align:center}.cwl-stats__ico{color:var(--accent-blue);font-size:.85rem}.cwl-stats__card--status .cwl-stats__ico{color:var(--text-color-secondary)}.cwl-stats__val{color:var(--text-color-primary);font-size:1rem;font-weight:800;line-height:1}.cwl-stats__lbl{color:var(--text-color-secondary);font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cwl-filters{display:flex;flex-direction:column;gap:.5rem}.cwl-filters__row{display:flex;flex-wrap:wrap;gap:.4rem}.cwl-filter-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.35rem;padding:.32rem .75rem;transition:all .15s;white-space:nowrap}.cwl-filter-btn:hover{border-color:var(--fc);color:var(--fc)}.cwl-filter-btn--active{background:var(--fc);border-color:var(--fc);color:var(--white)}.cwl-count{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.78rem;font-weight:600;gap:.35rem}.cwl-count svg{color:var(--accent-blue)}.cwl-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cwl-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .15s ease}.cwl-card:hover{border-color:var(--accent-blue);box-shadow:var(--glass-shadow-hover)}.cwl-card__poster-wrap{aspect-ratio:2/3;background:var(--hover-bg);flex-shrink:0;overflow:hidden;position:relative}.cwl-card__poster{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.cwl-card:hover .cwl-card__poster{transform:scale(1.04)}.cwl-card__poster-placeholder{align-items:center;color:var(--text-color-secondary);display:flex;font-size:2.5rem;height:100%;justify-content:center;opacity:.3;width:100%}.cwl-card__status-dot{background:var(--dot-color);border:2px solid var(--card-bg);border-radius:50%;box-shadow:0 0 6px var(--dot-color);height:10px;position:absolute;right:6px;top:6px;width:10px}.cwl-card__info{display:flex;flex:1 1;flex-direction:column;gap:.3rem;padding:.55rem .65rem}.cwl-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-color-primary);display:-webkit-box;font-size:.75rem;font-weight:700;line-height:1.3;overflow:hidden}.cwl-card__meta{align-items:center;color:var(--text-color-secondary);display:flex;font-size:.65rem;gap:.4rem}.cwl-card__score{align-items:center;color:var(--warning-amber);display:inline-flex;font-weight:700;gap:.2rem}.cwl-card__progress-wrap{background:var(--hover-bg);border-radius:2px;height:3px;margin-top:.1rem;overflow:hidden}.cwl-card__progress-bar{background:var(--bar-color);border-radius:2px;height:100%;transition:width .3s ease}.cwl-card__footer{align-items:center;display:flex;gap:.35rem;justify-content:space-between;margin-top:auto}.cwl-card__status-tag{background:color-mix(in srgb,var(--tag-color) 12%,#0000);color:var(--tag-color);display:inline-flex;flex:1 1;font-size:.62rem;font-weight:700;gap:.25rem;line-height:1.5;min-width:0;overflow:hidden;padding:.1rem .4rem;text-overflow:ellipsis;white-space:nowrap}.cwl-card__remove,.cwl-card__status-tag{align-items:center;border-radius:var(--border-radius-sm)}.cwl-card__remove{background:none;border:1px solid var(--border-color);color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.6rem;height:22px;justify-content:center;opacity:0;transition:all .15s;width:22px}.cwl-card:hover .cwl-card__remove{opacity:1}.cwl-card__remove:hover{background:var(--danger-red);border-color:var(--danger-red);color:var(--white)}.cwl-empty{align-items:center;color:var(--text-color-secondary);display:flex;flex:1 1;flex-direction:column;font-size:.85rem;gap:.85rem;justify-content:center;padding:3rem 1rem;text-align:center}.cwl-empty svg{font-size:2.5rem;opacity:.3}.cwl-empty p{line-height:1.6;margin:0;max-width:320px}.cwl-empty__btn{background:none;border:1px solid var(--accent-blue);border-radius:var(--border-radius-md);color:var(--accent-blue);cursor:pointer;font-size:.78rem;font-weight:700;padding:.5rem 1.25rem;transition:all .15s}.cwl-empty__btn:hover{background:var(--accent-blue);color:var(--white)}@media (max-width:600px){.cwl-page{gap:1rem;padding:1rem}.cwl-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.cwl-filters__row,.cwl-stats{flex-wrap:nowrap;overflow-x:auto}.cwl-filters__row{padding-bottom:.25rem}}.converter-section{animation:cfSlideDown .3s ease-out;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}@keyframes cfSlideDown{0%{max-height:0;opacity:0}to{max-height:700px;opacity:1}}.converter-section h2{align-items:center;color:var(--text-color-primary);display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);margin:0 0 var(--spacing-md)}.converter-section .converter-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.converter-section .form-row{align-items:flex-end;display:flex;gap:var(--spacing-md)}.converter-section .form-group{display:flex;flex:1 1;flex-direction:column;gap:6px}.converter-section .form-group label{color:var(--text-color-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.converter-section .form-group input[type=text]{background:var(--main-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);font-size:.85rem;padding:10px 12px;transition:border-color .2s ease}.converter-section .form-group input:focus{border-color:var(--accent-blue);outline:none}.converter-section .form-group input.error{border-color:var(--danger-red)}.converter-section .form-group .error-message{color:var(--danger-red);font-size:.75rem;margin-top:2px}.converter-section .tab-selector{border:1px solid var(--border-color);border-radius:6px;display:flex;gap:0;margin-bottom:var(--spacing-md);overflow:hidden;width:-webkit-fit-content;width:fit-content}.converter-section .tab-selector button{background:#0000;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 20px;transition:all .2s ease}.converter-section .tab-selector button.active{background:var(--accent-blue);color:#fff}.converter-section .tab-selector button:hover:not(.active){background:var(--hover-bg)}.converter-section .dropzone{align-items:center;background:var(--main-bg);border:2px dashed var(--border-color);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:36px 24px;position:relative;text-align:center;transition:border-color .2s ease,background .2s ease}.converter-section .dropzone--drag-over,.converter-section .dropzone:hover{background:color-mix(in srgb,var(--accent-blue) 6%,var(--main-bg));border-color:var(--accent-blue)}.converter-section .dropzone--error{border-color:var(--danger-red)}.converter-section .dropzone--has-files{background:color-mix(in srgb,var(--accent-blue) 4%,var(--main-bg));border-color:var(--accent-blue);border-style:solid;padding:14px 20px}.converter-section .dropzone-icon{color:var(--text-color-secondary);font-size:2rem;transition:color .2s ease}.converter-section .dropzone--drag-over .dropzone-icon,.converter-section .dropzone:hover .dropzone-icon{color:var(--accent-blue)}.converter-section .dropzone-label{color:var(--text-color-primary);font-size:.88rem;margin:0}.converter-section .dropzone-hint{color:var(--text-color-secondary);font-size:.75rem;margin:0}.converter-section .dropzone-input{display:none}.converter-section .file-chips{display:flex;flex-direction:column;gap:6px;list-style:none;margin:10px 0 0;padding:0}.converter-section .file-chip{align-items:center;background:var(--sidebar-bg);border:1px solid var(--border-color);border-radius:6px;display:flex;gap:10px;padding:8px 12px;transition:border-color .2s ease}.converter-section .file-chip:hover{border-color:var(--accent-blue)}.converter-section .file-chip-icon{color:var(--accent-blue);flex-shrink:0;font-size:.95rem}.converter-section .file-chip-name{color:var(--text-color-primary);flex:1 1;font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.converter-section .file-chip-size{color:var(--text-color-secondary);flex-shrink:0;font-size:.76rem;white-space:nowrap}.converter-section .file-chip-remove{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;display:flex;flex-shrink:0;padding:3px 5px;transition:color .2s ease,background .2s ease}.converter-section .file-chip-remove:hover{background:color-mix(in srgb,var(--danger-red) 10%,#0000);color:var(--danger-red)}.converter-section .md-textarea{background:var(--main-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);font-family:Cascadia Code,Fira Code,monospace;font-size:.85rem;line-height:1.6;min-height:200px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.converter-section .md-textarea:focus{border-color:var(--accent-blue);outline:none}.converter-section .md-textarea.error{border-color:var(--danger-red)}.converter-section .converter-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.converter-section .btn-submit{align-items:center;background:var(--accent-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:var(--spacing-sm);padding:10px 24px;transition:all .2s ease}.converter-section .btn-submit:hover:not(:disabled){filter:brightness(1.1)}.converter-section .btn-submit:disabled{cursor:not-allowed;opacity:.6}.converter-section .btn-cancel{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 24px;transition:all .2s ease}.converter-section .btn-cancel:hover{background:var(--hover-bg);border-color:var(--text-color-secondary)}@media (max-width:768px){.converter-section .form-row{flex-direction:column}}.history-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.history-section h2{align-items:center;color:var(--text-color-primary);display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);margin:0 0 var(--spacing-md)}.history-section h2 .badge{background:var(--accent-blue);border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px}.history-section .conversions-table{border-collapse:collapse;width:100%}.history-section .conversions-table th{border-bottom:2px solid var(--border-color);color:var(--text-color-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:10px 12px;text-align:left;text-transform:uppercase}.history-section .conversions-table td{border-bottom:1px solid var(--border-color);color:var(--text-color-primary);font-size:.85rem;padding:12px;vertical-align:middle}.history-section .conversions-table tr{transition:background .15s ease}.history-section .conversions-table tbody tr:hover{background:var(--hover-bg)}.history-section .conversions-table .filename-cell{align-items:center;display:flex;font-weight:500;gap:var(--spacing-sm)}.history-section .conversions-table .filename-cell .svg-inline--fa{color:var(--accent-blue);font-size:.9rem}.history-section .conversions-table .date-cell,.history-section .conversions-table .size-cell{color:var(--text-color-secondary);font-size:.8rem}.history-section .conversions-table .date-cell{white-space:nowrap}.history-section .conversions-table .actions-cell{display:flex;flex-wrap:wrap;gap:6px}.history-section .action-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.history-section .action-btn:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.history-section .action-btn.danger:hover{background:color-mix(in srgb,var(--danger-red) 8%,#0000);border-color:var(--danger-red);color:var(--danger-red)}.history-section .empty-state{color:var(--text-color-secondary);padding:40px 20px;text-align:center}.history-section .empty-state .svg-inline--fa{font-size:2.5rem;margin-bottom:var(--spacing-md);opacity:.4}.history-section .empty-state p{font-size:.9rem;margin:0}.history-section .loading-state{color:var(--text-color-secondary);font-size:.9rem;padding:40px;text-align:center}@media (max-width:768px){.history-section .conversions-table{font-size:.8rem}.history-section .conversions-table td:nth-child(3),.history-section .conversions-table th:nth-child(3){display:none}}.detail-overlay{align-items:center;animation:cdOverlayIn .2s ease;backdrop-filter:blur(4px) brightness(.9);-webkit-backdrop-filter:blur(4px) brightness(.9);background:color-mix(in srgb,#000 60%,#0000);background:color-mix(in srgb,var(--modal-overlay-bg,#000) 60%,#0000);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes cdOverlayIn{0%{opacity:0}to{opacity:1}}.detail-modal{animation:cdModalIn .3s ease-out;background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 20px 60px color-mix(in srgb,#000 30%,#0000);box-shadow:0 20px 60px color-mix(in srgb,var(--shadow-color,#000) 30%,#0000);display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}@keyframes cdModalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.detail-modal .detail-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.detail-modal .detail-modal-header h2{align-items:center;color:var(--text-color-primary);display:flex;font-size:1.1rem;font-weight:700;gap:var(--spacing-sm);margin:0}.detail-modal .close-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:50%;color:var(--text-color-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.detail-modal .close-btn:hover{background:var(--hover-bg);border-color:var(--danger-red);color:var(--danger-red)}.detail-modal .detail-modal-toolbar{align-items:center;background:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;padding:10px var(--spacing-lg)}.detail-modal .toolbar-group{align-items:center;border:1px solid var(--border-color);border-radius:7px;display:flex;overflow:hidden}.detail-modal .toolbar-group .toolbar-btn{border:none;border-radius:0;border-right:1px solid var(--border-color)}.detail-modal .toolbar-group .toolbar-btn:last-child{border-right:none}.detail-modal .toolbar-btn{align-items:center;background:var(--main-bg);border:1px solid var(--border-color);border-radius:7px;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:6px;line-height:1;padding:7px 14px;transition:all .15s ease;white-space:nowrap}.detail-modal .toolbar-btn:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--text-color-primary)}.detail-modal .toolbar-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);box-shadow:0 2px 8px color-mix(in srgb,var(--accent-blue) 35%,#0000);color:#fff}.detail-modal .toolbar-btn.download{background:var(--main-bg);color:var(--text-color-secondary);font-size:.72rem;padding:7px 11px}.detail-modal .toolbar-btn.download:hover{background:color-mix(in srgb,var(--accent-blue) 10%,var(--main-bg));border-color:var(--accent-blue);color:var(--accent-blue)}.detail-modal .toolbar-btn.danger{color:var(--text-color-secondary);margin-left:auto;padding:7px 11px}.detail-modal .toolbar-btn.danger:hover{background:color-mix(in srgb,var(--danger-red) 12%,var(--main-bg));border-color:var(--danger-red);color:var(--danger-red)}.detail-modal .toolbar-separator{background:var(--border-color);flex-shrink:0;height:22px;margin:0 2px;width:1px}.detail-modal .tts-controls{align-items:center;background:var(--main-bg);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg)}.detail-modal .tts-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:50%;color:var(--text-color-secondary);cursor:pointer;display:flex;font-size:.75rem;height:30px;justify-content:center;transition:all .2s ease;width:30px}.detail-modal .tts-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.detail-modal .tts-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.detail-modal .tts-progress{background:var(--border-color);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.detail-modal .tts-progress-bar{background:var(--accent-blue);border-radius:2px;height:100%;transition:width .3s ease}.detail-modal .tts-rate{color:var(--text-color-secondary);font-size:.72rem;font-weight:600;min-width:35px;text-align:center}.detail-modal .detail-modal-body{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.detail-modal .md-content-view{color:var(--text-color-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9rem;line-height:1.7}.detail-modal .md-content-view h1,.detail-modal .md-content-view h2,.detail-modal .md-content-view h3{color:var(--text-color-primary);margin-bottom:.5em;margin-top:1.2em}.detail-modal .md-content-view code{background:var(--hover-bg);border-radius:4px;font-size:.82rem;padding:2px 6px}.detail-modal .md-content-view pre{background:var(--main-bg);border:1px solid var(--border-color);border-radius:6px;overflow-x:auto;padding:12px}.detail-modal .md-content-view a{border-bottom:1px solid color-mix(in srgb,var(--accent-blue) 40%,#0000);color:var(--accent-blue);text-decoration:none;transition:border-color .15s ease,color .15s ease}.detail-modal .md-content-view a:hover{border-bottom-color:var(--text-color-primary);color:var(--text-color-primary)}.detail-modal .md-content-view blockquote{border-left:3px solid var(--accent-blue);color:var(--text-color-secondary);margin-left:0;padding-left:12px}.detail-modal .md-content-view table{border-collapse:collapse;margin:1em 0;width:100%}.detail-modal .md-content-view td,.detail-modal .md-content-view th{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.detail-modal .md-content-view th{background:var(--hover-bg);font-weight:600}.detail-modal .md-content-view p.tts-active-paragraph{background:color-mix(in srgb,var(--accent-blue) 12%,#0000);border-radius:4px;padding:4px 6px;transition:background .3s ease}.detail-modal .edit-textarea{background:var(--main-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-primary);font-family:Cascadia Code,Fira Code,monospace;font-size:.85rem;line-height:1.6;min-height:400px;padding:16px;resize:vertical;width:100%}.detail-modal .edit-textarea:focus{border-color:var(--accent-blue);outline:none}.detail-modal .edit-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md)}.detail-modal .btn-submit{align-items:center;background:var(--accent-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:var(--spacing-sm);padding:10px 24px;transition:all .2s ease}.detail-modal .btn-submit:hover:not(:disabled){filter:brightness(1.1)}.detail-modal .btn-submit:disabled{cursor:not-allowed;opacity:.6}.detail-modal .btn-cancel{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 24px;transition:all .2s ease}.detail-modal .btn-cancel:hover{background:var(--hover-bg);border-color:var(--text-color-secondary)}.detail-modal .pdf-viewer{border:1px solid var(--border-color);border-radius:6px;height:70vh;width:100%}.detail-modal .pdf-loading{align-items:center;color:var(--text-color-secondary);display:flex;font-size:1.1rem;height:70vh;justify-content:center}@media (max-width:768px){.detail-modal{max-height:95vh;width:95%}.detail-modal .detail-modal-toolbar{gap:4px;padding:var(--spacing-sm)}.detail-modal .toolbar-btn{font-size:.72rem;padding:5px 10px}}.md-to-pdf-page{animation:mdFadeIn .3s ease-out;margin:0 auto;max-width:1700px;padding:var(--global-padding)}@keyframes mdFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.md-to-pdf-page .back-button{align-items:center;background:none;border:1px solid var(--border-color);border-radius:50%;color:var(--text-color-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;margin-bottom:var(--spacing-md);transition:all .2s ease;width:36px}.md-to-pdf-page .back-button:hover{background:var(--hover-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.md-to-pdf-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xl)}.md-to-pdf-page .page-header h1{align-items:center;color:var(--text-color-primary);display:flex;font-size:1.5rem;font-weight:700;gap:var(--spacing-sm);margin:0}.md-to-pdf-page .page-header h1 .svg-inline--fa{color:var(--accent-blue);font-size:1.2rem}.md-to-pdf-page .btn-convert,.md-to-pdf-page .header-actions{display:flex;gap:var(--spacing-sm)}.md-to-pdf-page .btn-convert{align-items:center;background:var(--accent-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 18px;transition:all .2s ease}.md-to-pdf-page .btn-convert:hover{box-shadow:var(--box-shadow-md);filter:brightness(1.1)}@media (max-width:768px){.md-to-pdf-page .page-header{align-items:flex-start;flex-direction:column}}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.mind-map-page{background-color:#f0f2f5;background-color:var(--main-bg,#f0f2f5);color:#333;color:var(--text-color-primary,#333);display:flex;flex-direction:column;height:100vh;width:100%}.mind-map-header{align-items:center;background-color:#f8f9fa;background-color:var(--card-bg,#f8f9fa);border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color,#ddd);box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:10px 20px;z-index:10}.mind-map-title{color:#1e2330;color:var(--heading-color,#1e2330);font-size:1.5rem;font-weight:700;margin:0}.mind-map-actions{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.mind-map-actions button{align-items:center;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;min-width:120px;padding:8px 16px;transition:all .2s ease}.add-btn,.save-btn{background-color:#fd7f2c!important;background-color:var(--accent-blue,#fd7f2c)!important}.add-btn:hover,.save-btn:hover{background-color:#e56b1f!important;background-color:var(--accent-blue-hover,#e56b1f)!important;box-shadow:0 2px 5px #0003;transform:translateY(-1px)}.save-btn:disabled{background-color:#ccc!important;box-shadow:none;transform:none}.mind-map-container{flex:1 1;position:relative}.mind-map-container,.react-flow__background{background-color:#f0f2f5;background-color:var(--main-bg,#f0f2f5)}.react-flow__controls{box-shadow:0 2px 10px #0000001a}.react-flow__controls-button{fill:#333;fill:var(--text-color-primary,#333);background-color:#fff;background-color:var(--card-bg,#fff);border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee)}.react-flow__controls-button:hover{background-color:#f0f0f0;background-color:var(--hover-bg,#f0f0f0)}.react-flow__minimap{background-color:#fff;background-color:var(--card-bg,#fff);border:1px solid #ccc;border:1px solid var(--border-color,#ccc)}.react-flow__attribution{background:#0000;opacity:.5}.legend-panel{background-color:#fff;background-color:var(--card-bg,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:8px;box-shadow:0 4px 15px #0000001a;max-width:300px;padding:15px}.legend-header{align-items:center;color:var(--heading-color);display:flex;font-weight:700;justify-content:space-between;margin-bottom:10px}.close-legend-btn{background:#0000;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.2rem;min-width:auto;padding:0}.instructions p{color:var(--text-color-primary);font-size:.9rem;line-height:1.4;margin:8px 0}.instructions strong{color:var(--accent-blue)}.legend-toggle-btn{align-items:center;background-color:#fff!important;background-color:var(--card-bg,#fff)!important;border:1px solid #ccc!important;border:1px solid var(--border-color,#ccc)!important;border-radius:50%;box-shadow:0 2px 5px #0000001a;color:#333!important;color:var(--text-color-primary,#333)!important;display:flex;height:40px;justify-content:center;min-width:40px!important;padding:8px;width:40px}.legend-toggle-btn:hover{background-color:#f5f5f5!important;background-color:var(--hover-bg,#f5f5f5)!important}body.dark-theme .react-flow__background circle{fill:#555}body.dark-theme .react-flow__edge-path{stroke:#888}
/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.node-toolbar{background:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:5px;padding:8px;z-index:1000}.toolbar-group{align-items:center;display:flex;gap:4px}.toolbar-label{color:#666;font-size:10px;font-weight:600;width:30px}.color-btn{border:1px solid #0000001a;border-radius:4px;cursor:pointer;height:16px;padding:0;transition:transform .1s;width:16px}.color-btn:hover{border-color:#999;transform:scale(1.2)}.custom-node{background-color:#fff;background-color:var(--card-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100%;min-height:100px;min-width:150px;overflow:visible;padding:0;position:relative;transition:box-shadow .2s,border-color .2s,background-color .2s;width:100%}.custom-node:hover{box-shadow:0 6px 12px #00000026}.custom-node.selected{border-color:#fd7f2c;border-color:var(--accent-blue,#fd7f2c);box-shadow:0 0 0 2px #fd7f2c33}.custom-node-header{background-color:#f8f9fa;background-color:var(--hover-bg,#f8f9fa);border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);border-top-left-radius:8px;border-top-right-radius:8px;flex-shrink:0;padding:8px}.custom-node-input{background:#0000;border:none;color:#333;color:var(--heading-color,#333);font-size:14px;font-size:calc(14px*var(--node-scale, 1));font-weight:700;outline:none;width:100%}.custom-node-body{padding:0}.custom-node-body,.quill{display:flex;flex-direction:column;flex-grow:1}.quill{height:100%}.ql-container.ql-bubble{border:none;flex-grow:1;font-family:inherit;font-size:12px;font-size:calc(12px*var(--node-scale, 1))}.ql-editor{color:#333;color:var(--text-color-primary,#333);min-height:50px;padding:10px}.ql-editor.ql-blank:before{color:#999;color:var(--text-color-secondary,#999);font-style:normal;left:10px}.ql-bubble .ql-tooltip{background-color:#333!important;background-color:var(--sidebar-bg,#333)!important;border-radius:20px!important;box-shadow:0 4px 15px #0006!important;color:#fff!important;padding:5px 10px!important;z-index:10000!important}.ql-bubble .ql-toolbar button svg .ql-stroke{stroke:#fff!important}.ql-bubble .ql-toolbar button:hover svg .ql-stroke{stroke:var(--accent-blue)!important}.custom-node:not(.selected) .ql-tooltip{display:none!important}.ql-editor li[data-list=checked]>.ql-ui:before,.ql-editor li[data-list=unchecked]>.ql-ui:before{background-color:#fff;background-color:var(--card-bg,#fff);border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:3px;content:"";cursor:pointer;display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}.ql-editor li[data-list=checked]>.ql-ui:before{background-color:#fd7f2c;background-color:var(--accent-blue,#fd7f2c);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px;border-color:#fd7f2c;border-color:var(--accent-blue,#fd7f2c)}.react-flow__handle{background:#fd7f2c;background:var(--accent-blue,#fd7f2c);border:2px solid #fff;border:2px solid var(--card-bg,#fff);height:10px;width:10px}body.dark-theme .ql-editor{color:var(--text-color-primary)}body.dark-theme .custom-node-input{color:var(--heading-color)}.mind-map-list-container{background-color:var(--main-bg);height:100vh;overflow-y:auto;padding:30px}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.list-header h2{color:var(--heading-color);margin:0}.maps-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.map-card{align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px;position:relative;text-align:center;transition:all .2s ease}.map-card:hover{border-color:var(--accent-blue);box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.map-icon{color:var(--accent-blue);font-size:3rem;margin-bottom:15px;opacity:.8}.map-info h3{color:var(--text-color-primary);font-size:1.1rem;margin:0 0 5px}.map-date{color:var(--text-color-secondary);font-size:.8rem}.map-actions{opacity:0;position:absolute;right:10px;top:10px;transition:opacity .2s}.map-card:hover .map-actions{opacity:1}.delete-btn{background:#0000;border:none;border-radius:4px;color:var(--danger-red);cursor:pointer;padding:5px}.delete-btn:hover{background-color:#e74c3c1a}.empty-state{color:var(--text-color-secondary);padding:50px;text-align:center}.loading-centered{align-items:center;display:flex;height:100vh;justify-content:center}.spinner-container{align-items:center;display:flex;flex-direction:column;gap:15px}.loader-spinner{animation:spin 1s linear infinite;border-top:5px solid var(--border-color);border:5px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-blue);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.create-first-btn{background-color:var(--accent-blue);border:none;border-radius:6px;cursor:pointer;margin-top:20px;padding:10px 20px}.create-first-btn,.list-header .add-btn svg{color:#fff!important}.map-preview-mini{align-items:center;background-color:var(--main-bg);border-radius:8px;display:flex;height:100px;justify-content:center;margin-bottom:15px;opacity:.7;overflow:hidden;position:relative;width:100%}.preview-node{background-color:var(--accent-blue);border-radius:4px;opacity:.4;position:absolute}.preview-node.center{height:20px;opacity:.8;width:30px}.preview-node.sub{height:12px;width:20px}.preview-line{background-color:var(--border-color);height:1px;opacity:.3;position:absolute}.list-header .add-btn{color:#fff!important}.name-modal-overlay{align-items:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.name-modal-content{background-color:#fff;background-color:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 25px #0003;max-width:400px;padding:25px;width:100%}.name-modal-content h3{color:var(--heading-color);font-size:1.25rem;margin:0 0 20px}.name-modal-input{background-color:var(--main-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color-primary);font-size:1rem;margin-bottom:20px;outline:none;padding:12px;width:100%;width:-webkit-fill-available}.name-modal-input:focus{border-color:var(--accent-blue)}.name-modal-actions{display:flex;gap:12px;justify-content:flex-end}.name-modal-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.cancel-btn{background-color:#eee;background-color:var(--hover-bg,#eee);color:var(--text-color-primary)}.name-modal-actions .save-btn{background-color:var(--accent-blue)!important;color:#fff!important}.save-btn:disabled{cursor:not-allowed;opacity:.5}.name-modal-actions button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}
/*# sourceMappingURL=main.75da3d20.css.map*/