:root{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#222;--bg-elevated:#2a2a2a;--bg-hover:#333;--border-color:#333;--border-light:#2a2a2a;--text-primary:#f0f0f0;--text-secondary:#999;--text-tertiary:#666;--text-inverse:#0f0f0f;--accent:#7c8aff;--accent-hover:#6b7bff;--accent-light:#7c8aff26;--accent-secondary:#a78bfa;--accent-secondary-light:#a78bfa26;--success:#4ade80;--success-light:#4ade8026;--warning:#fbbf24;--warning-light:#fbbf2426;--danger:#f87171;--danger-light:#f8717126;--info:#38bdf8;--info-light:#38bdf826;--glass-bg:#1a1a1ab3;--glass-border:#ffffff14;--glass-shadow:0 8px 32px #0000004d;--glass-blur:blur(20px);--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-xs:.7rem;--font-sm:.8rem;--font-base:.9rem;--font-md:1rem;--font-lg:1.15rem;--font-xl:1.4rem;--font-2xl:1.75rem;--font-3xl:2.2rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 16px 48px #00000080;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--sidebar-width:260px;--sidebar-collapsed:70px;--header-height:60px}[data-theme=light]{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#f0f0f0;--bg-elevated:#e8e8e8;--bg-hover:#e0e0e0;--border-color:#d4d4d4;--border-light:#e5e5e5;--text-primary:#1a1a1a;--text-secondary:#666;--text-tertiary:#999;--text-inverse:#f0f0f0;--accent:#5b6bff;--accent-hover:#4a5aee;--accent-light:#5b6bff1f;--accent-secondary:#8b6ff0;--accent-secondary-light:#8b6ff01f;--glass-bg:#ffffffb3;--glass-border:#0000000f;--glass-shadow:0 8px 32px #00000014;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-xl:0 16px 48px #0000001f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);height:100vh;line-height:1.6;overflow:hidden}#root{height:100vh;overflow:hidden}a{color:var(--accent);text-decoration:none}button{font-family:var(--font-family);cursor:pointer;color:var(--text-primary);background:0 0;border:none;outline:none}input,textarea,select{font-family:var(--font-family);color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);font-size:var(--font-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}textarea{resize:vertical;min-height:100px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-layout{height:100vh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-content{padding:var(--sp-6);flex:1;animation:.3s fadeIn;overflow:hidden auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes flipIn{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes progressFill{0%{width:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){:root{--sp-4:12px;--sp-5:16px;--sp-6:20px;--sp-8:24px;--sp-16:40px;--header-height:54px}.app-layout{position:relative}.app-content{padding:var(--sp-4)}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-5);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast)}.card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.card-static{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-5)}.badge{align-items:center;gap:var(--sp-1);border-radius:var(--radius-full);font-size:var(--font-xs);letter-spacing:.02em;padding:2px 10px;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-light);color:var(--accent)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.animate-fadeIn{animation:.3s fadeIn}.animate-fadeInUp{animation:.4s fadeInUp}.animate-scaleIn{animation:.3s scaleIn}.animate-slideInLeft{animation:.3s slideInLeft}.stagger-children>*{animation:.4s both fadeInUp}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.empty-state{padding:var(--sp-16) var(--sp-8);text-align:center;color:var(--text-tertiary);justify-content:center;align-items:center;gap:var(--sp-4);flex-direction:column;display:flex}.empty-state svg{opacity:.3}.empty-state h3{color:var(--text-secondary);font-size:var(--font-lg);font-weight:600}.empty-state p{font-size:var(--font-sm);max-width:300px}.auth-loading-screen{justify-content:center;align-items:center;gap:var(--sp-4);background:var(--bg-primary);height:100vh;color:var(--text-secondary);flex-direction:column;display:flex}.auth-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.auth-page{background:var(--bg-primary);min-height:100vh;padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.auth-bg-orb{filter:blur(80px);opacity:.4;border-radius:50%;animation:12s ease-in-out infinite auth-float;position:absolute}.auth-bg-orb-1{background:var(--accent);width:400px;height:400px;animation-delay:0s;top:-100px;right:-100px}.auth-bg-orb-2{background:var(--accent-secondary);width:300px;height:300px;animation-delay:-4s;bottom:-80px;left:-80px}.auth-bg-orb-3{background:var(--success);width:200px;height:200px;animation-delay:-8s;top:50%;left:50%}@keyframes auth-float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.auth-container{z-index:1;gap:var(--sp-6);flex-direction:column;width:100%;max-width:420px;animation:.6s both fadeInUp;display:flex;position:relative}.auth-brand{text-align:center}.auth-logo{border-radius:var(--radius-xl);width:80px;height:80px;margin:0 auto var(--sp-4);background:#fff;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 8px 32px #7c8aff4d}.venga-logo{object-fit:cover;width:100%;height:100%}.auth-title{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));-webkit-text-fill-color:transparent;margin-bottom:var(--sp-2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.auth-brand-subtitle{color:var(--text-secondary);font-size:var(--font-sm);line-height:1.5}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--sp-8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #0003}.auth-card-header{text-align:center;margin-bottom:var(--sp-6)}.auth-card-header h2{font-size:var(--font-xl);color:var(--text-primary);margin-bottom:var(--sp-1);font-weight:700}.auth-card-header p{color:var(--text-tertiary);font-size:var(--font-sm)}.auth-form{gap:var(--sp-4);flex-direction:column;display:flex}.auth-field{gap:var(--sp-1);flex-direction:column;display:flex}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{color:var(--text-tertiary);pointer-events:none;transition:color .2s;position:absolute;left:14px}.auth-input-wrapper input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);font-size:var(--font-base);font-family:var(--font-family);outline:none;padding:14px 48px 14px 44px;transition:all .2s}.auth-input-wrapper input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c8aff26}.auth-input-wrapper input:focus+.auth-input-icon,.auth-input-wrapper:focus-within .auth-input-icon{color:var(--accent)}.auth-input-wrapper input::placeholder{color:var(--text-tertiary)}.auth-toggle-password{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:12px}.auth-toggle-password:hover{color:var(--text-secondary)}.auth-error{color:#f87171;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--font-sm);text-align:center;background:#f871711a;border:1px solid #f871714d;animation:.3s fadeInUp}.auth-submit-btn{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));color:#fff;border-radius:var(--radius-lg);width:100%;font-size:var(--font-base);font-weight:600;font-family:var(--font-family);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);border:none;padding:14px;transition:all .3s;display:flex}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #7c8aff59}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-spinner{animation:1s linear infinite spin}.auth-switch{text-align:center;margin-top:var(--sp-6);font-size:var(--font-sm);color:var(--text-tertiary);justify-content:center;align-items:center;gap:var(--sp-1);display:flex}.auth-switch-btn{color:var(--accent);cursor:pointer;font-weight:600;font-size:var(--font-sm);font-family:var(--font-family);background:0 0;border:none;transition:color .2s}.auth-switch-btn:hover{color:var(--accent-secondary);text-decoration:underline}.auth-privacy-notice{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--border-light);align-items:flex-start;gap:var(--sp-2);color:var(--text-tertiary);text-align:left;font-size:.75rem;line-height:1.4;display:flex}.auth-privacy-notice svg{color:var(--success);flex-shrink:0;margin-top:2px}@media (width<=480px){.auth-page{padding:var(--sp-4) var(--sp-3)}.auth-card{padding:var(--sp-6)}.auth-brand-title{font-size:1.6rem}.auth-bg-orb-1{width:250px;height:250px}.auth-bg-orb-2{width:200px;height:200px}.auth-bg-orb-3{width:150px;height:150px}}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);height:100vh;transition:width var(--transition-base);z-index:100;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-header{padding:var(--sp-5) var(--sp-5);align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border-light);min-height:var(--header-height);display:flex}.sidebar-logo-img{border-radius:var(--radius-md);object-fit:cover;width:36px;height:36px;box-shadow:var(--shadow-sm);flex-shrink:0}.sidebar-title{font-size:var(--font-lg);background:linear-gradient(135deg, var(--accent), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.sidebar-nav{padding:var(--sp-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-nav-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;font-weight:500;display:flex;position:relative;overflow:hidden}.sidebar-nav-item:before{content:"";background:var(--accent);border-radius:0 var(--radius-full) var(--radius-full) 0;width:3px;height:0;transition:height var(--transition-fast);position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.sidebar-nav-item.active:before{height:60%}.sidebar-nav-item svg{opacity:.7;flex-shrink:0}.sidebar-nav-item.active svg{opacity:1}.sidebar-footer{padding:var(--sp-4);border-top:1px solid var(--border-light);gap:var(--sp-2);flex-direction:column;display:flex}.sidebar-user-info{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);background:var(--bg-tertiary);margin-bottom:var(--sp-2);display:flex}.sidebar-user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), var(--accent-secondary));width:32px;height:32px;font-weight:700;font-size:var(--font-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-details{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user-name{font-size:var(--font-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user-email{font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-logout-btn{border-radius:var(--radius-md);width:28px;min-width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logout-btn:hover{color:#f87171;background:#f8717126}.sidebar-theme-toggle{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);width:100%;display:flex}.sidebar-theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-switch{background:var(--bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--border-color);width:40px;height:22px;transition:background var(--transition-fast);flex-shrink:0;margin-left:auto;position:relative}.theme-switch.active{background:var(--accent);border-color:var(--accent)}.theme-switch-knob{border-radius:var(--radius-full);background:var(--text-primary);width:16px;height:16px;transition:transform var(--transition-fast);position:absolute;top:2px;left:2px}@media (width<=768px){.sidebar{z-index:200;width:280px;box-shadow:var(--shadow-xl);transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-100%}.sidebar.open{left:0}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}}.header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 var(--sp-6);justify-content:space-between;align-items:center;gap:var(--sp-4);flex-shrink:0;display:flex}.header-left{align-items:center;gap:var(--sp-4);display:flex}.header-title{font-size:var(--font-lg);font-weight:700}.header-right{align-items:center;gap:var(--sp-3);display:flex}.header-date{font-size:var(--font-sm);color:var(--text-secondary);align-items:center;gap:var(--sp-2);display:flex}.header-search{width:260px;position:relative}.header-search input{height:36px;font-size:var(--font-sm);background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-full);padding-left:36px}.header-search input:focus{border-color:var(--accent);background:var(--bg-secondary)}.header-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.header-add-btn{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:linear-gradient(135deg, var(--accent), var(--accent-secondary));color:#fff;border-radius:var(--radius-full);font-size:var(--font-sm);transition:all var(--transition-fast);height:36px;font-weight:600;display:flex;box-shadow:0 2px 8px #7c8aff4d}.mobile-menu-btn{padding:var(--sp-2);color:var(--text-primary);border-radius:var(--radius-md);margin-right:var(--sp-2);justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background:var(--bg-hover)}@media (width<=768px){.mobile-menu-btn{display:flex}.header{padding:0 var(--sp-4)}.header-date,.header-search,.header-add-btn span{display:none}.header-add-btn{padding:var(--sp-2);justify-content:center;width:36px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--sp-4);background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:85vh;box-shadow:var(--shadow-xl);animation:.2s scaleIn;overflow-y:auto}.modal-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--font-lg);font-weight:700}.modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border-light);display:flex}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);font-size:var(--font-sm);transition:all var(--transition-fast);white-space:nowrap;min-width:36px;height:36px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));color:#fff;box-shadow:0 2px 8px #7c8aff4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #7c8aff66}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;padding:0}.btn-lg{height:44px;padding:var(--sp-3) var(--sp-6);font-size:var(--font-base)}.form-group{gap:var(--sp-2);flex-direction:column;display:flex}.form-label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:600}.form-row{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.progress-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--accent), var(--accent-secondary));height:100%;transition:width .5s;animation:.8s progressFill}.progress-bar-success .progress-bar-fill{background:linear-gradient(90deg, var(--success), #22c55e)}.color-picker-dots{gap:var(--sp-2);flex-wrap:wrap;display:flex}.color-dot{border-radius:var(--radius-full);cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);border:2px solid #0000}.color-dot:hover{transform:scale(1.2)}.color-dot.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary)}.checkbox-custom{align-items:center;gap:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.checkbox-box{border-radius:var(--radius-sm);border:2px solid var(--border-color);width:20px;height:20px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.checkbox-box.checked{background:var(--accent);border-color:var(--accent)}.checkbox-label{font-size:var(--font-base);transition:all var(--transition-fast)}.checkbox-label.checked{color:var(--text-tertiary);text-decoration:line-through}.tabs{gap:var(--sp-1);background:var(--bg-tertiary);border-radius:var(--radius-md);padding:3px;display:flex}.tab{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;font-weight:500}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.dashboard{gap:var(--sp-5);grid-template-rows:auto auto auto;grid-template-columns:repeat(3,1fr);animation:.3s fadeIn;display:grid}.dashboard-welcome{border-radius:var(--radius-xl);padding:var(--sp-8);background:linear-gradient(135deg,#7c8aff1f,#a78bfa14);border:1px solid #7c8aff33;grid-column:1/-1;justify-content:space-between;align-items:center;animation:.4s fadeInUp;display:flex}.dashboard-welcome-text h2{font-size:var(--font-2xl);margin-bottom:var(--sp-2);font-weight:800}.dashboard-welcome-text h2 span{background:linear-gradient(135deg, var(--accent), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dashboard-welcome-text p{color:var(--text-secondary);font-size:var(--font-base)}.dashboard-welcome-stats{gap:var(--sp-6);display:flex}.welcome-stat{text-align:center}.welcome-stat-value{font-size:var(--font-2xl);color:var(--accent);font-weight:800}.welcome-stat-label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.stats-grid{gap:var(--sp-4);grid-column:1/-1;grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-5);align-items:flex-start;gap:var(--sp-4);transition:all var(--transition-fast);animation:.4s both fadeInUp;display:flex}.stat-card:nth-child(2){animation-delay:50ms}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.15s}.stat-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-info h3{font-size:var(--font-2xl);font-weight:800;line-height:1.2}.stat-info p{font-size:var(--font-sm);color:var(--text-secondary)}.dashboard-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);animation:.4s both fadeInUp;overflow:hidden}.dashboard-section:nth-child(4){animation-delay:.2s}.dashboard-section:nth-child(5){animation-delay:.25s}.dashboard-section:nth-child(6){animation-delay:.3s}.dashboard-section-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.dashboard-section-header h3{font-size:var(--font-base);align-items:center;gap:var(--sp-2);font-weight:700;display:flex}.dashboard-section-body{padding:var(--sp-4);max-height:300px;overflow-y:auto}.dashboard-task-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:pointer;display:flex}.dashboard-task-item:hover{background:var(--bg-hover)}.dashboard-task-check{border-radius:var(--radius-sm);border:2px solid var(--border-color);width:18px;height:18px;transition:all var(--transition-fast);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-task-check.checked{background:var(--success);border-color:var(--success)}.dashboard-task-info{flex:1;min-width:0}.dashboard-task-info .task-name{font-size:var(--font-sm);font-weight:500}.dashboard-task-info .task-name.completed{color:var(--text-tertiary);text-decoration:line-through}.dashboard-task-info .task-meta{font-size:var(--font-xs);color:var(--text-tertiary)}.dashboard-task-priority{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.streak-display{text-align:center;padding:var(--sp-6)}.streak-number{background:linear-gradient(135deg, var(--warning), #f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;line-height:1}.streak-label{font-size:var(--font-sm);color:var(--text-secondary);margin-top:var(--sp-1)}.streak-fire{font-size:2rem;animation:2s infinite float}.sticky-notes-grid{gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.sticky-note{padding:var(--sp-3);border-radius:var(--radius-md);font-size:var(--font-sm);cursor:pointer;min-height:100px;transition:transform var(--transition-fast);color:#1a1a1a;position:relative}.sticky-note:hover{transform:rotate(-1deg)scale(1.02)}.sticky-note-delete{border-radius:var(--radius-full);opacity:0;width:20px;height:20px;transition:opacity var(--transition-fast);cursor:pointer;color:#1a1a1a;background:#00000026;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.sticky-note:hover .sticky-note-delete{opacity:1}.add-sticky-btn{border:2px dashed var(--border-color);border-radius:var(--radius-md);min-height:100px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.add-sticky-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.mini-chart{height:60px;padding:var(--sp-4) var(--sp-5);align-items:flex-end;gap:3px;display:flex}.mini-chart-bar{background:var(--accent-light);border-radius:3px 3px 0 0;flex:1;transition:height .5s;position:relative}.mini-chart-bar.active{background:linear-gradient(to top, var(--accent), var(--accent-secondary))}.mini-chart-labels{padding:var(--sp-1) var(--sp-5) var(--sp-3);gap:3px;display:flex}@media (width<=768px){.dashboard{gap:var(--sp-4);grid-template-rows:auto;grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5);flex-direction:column}.dashboard-welcome-stats{justify-content:space-around;width:100%}.stats-grid{grid-template-columns:1fr 1fr}.sticky-notes-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}.calendar{animation:.3s fadeIn}.calendar-controls{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.calendar-nav{align-items:center;gap:var(--sp-3);display:flex}.calendar-nav h2{font-size:var(--font-xl);text-align:center;min-width:220px;font-weight:700}.calendar-views{gap:var(--sp-1);background:var(--bg-tertiary);border-radius:var(--radius-md);padding:3px;display:flex}.calendar-view-btn{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--transition-fast);font-weight:500}.calendar-view-btn:hover{color:var(--text-primary)}.calendar-view-btn.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.calendar-grid-header{margin-bottom:var(--sp-2);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-day-label{text-align:center;font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--sp-2);font-weight:600}.calendar-grid{background:var(--border-light);border:1px solid var(--border-color);border-radius:var(--radius-lg);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-cell{background:var(--bg-secondary);min-height:100px;padding:var(--sp-2);cursor:pointer;transition:background var(--transition-fast);position:relative}.calendar-cell:hover{background:var(--bg-tertiary)}.calendar-cell.other-month{opacity:.35}.calendar-cell.today{background:var(--accent-light)}.calendar-cell.selected{background:var(--accent-light);box-shadow:inset 0 0 0 2px var(--accent)}.calendar-cell-date{font-size:var(--font-sm);margin-bottom:var(--sp-1);border-radius:var(--radius-full);justify-content:center;align-items:center;width:26px;height:26px;font-weight:600;display:flex}.calendar-cell.today .calendar-cell-date{background:var(--accent);color:#fff}.calendar-cell-tasks{flex-direction:column;gap:2px;display:flex}.calendar-task-pill{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--transition-fast);border-radius:3px;padding:1px 6px;font-size:11px;font-weight:500;overflow:hidden}.calendar-task-pill:hover{opacity:.8}.calendar-more-tasks{color:var(--text-tertiary);padding:1px 6px;font-size:10px;font-weight:500}.calendar-week{background:var(--border-light);border:1px solid var(--border-color);border-radius:var(--radius-lg);grid-template-columns:60px repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-week-header{margin-bottom:var(--sp-2);grid-template-columns:60px repeat(7,1fr);gap:1px;display:grid}.week-day-header{text-align:center;padding:var(--sp-2)}.week-day-header .day-name{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.week-day-header .day-number{font-size:var(--font-lg);font-weight:700}.week-day-header.today .day-number{background:var(--accent);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto;display:flex}.week-time-label{background:var(--bg-secondary);padding:var(--sp-1);color:var(--text-tertiary);text-align:right;padding-right:var(--sp-2);justify-content:flex-end;align-items:flex-start;height:48px;font-size:10px;display:flex}.week-cell{background:var(--bg-secondary);cursor:pointer;height:48px;transition:background var(--transition-fast);border-bottom:1px solid var(--border-light);padding:2px}.week-cell:hover{background:var(--bg-tertiary)}.week-cell.today{background:var(--accent-light)}.day-detail{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:var(--sp-4);animation:.3s fadeInUp}.day-detail-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.day-detail-header h3{font-weight:700}.day-detail-tasks{padding:var(--sp-4)}.day-task-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:pointer;display:flex}.day-task-item:hover{background:var(--bg-hover)}.tasks-view{animation:.3s fadeIn}.tasks-header{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.tasks-filters{gap:var(--sp-3);align-items:center;display:flex}.tasks-filter-select{width:auto;min-width:130px;height:36px;font-size:var(--font-sm);padding:var(--sp-2) var(--sp-4);padding-right:36px}.tasks-list{gap:var(--sp-3);flex-direction:column;display:flex}.task-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);align-items:flex-start;gap:var(--sp-4);transition:all var(--transition-fast);cursor:pointer;animation:.3s both fadeInUp;display:flex}.task-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translate(4px)}.task-card.completed{opacity:.6}.task-card-check{border-radius:var(--radius-sm);border:2px solid var(--border-color);cursor:pointer;width:22px;height:22px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.task-card-check:hover{border-color:var(--accent)}.task-card-check.checked{background:var(--success);border-color:var(--success)}.task-card-body{flex:1;min-width:0}.task-card-title{font-weight:600;font-size:var(--font-base);margin-bottom:2px}.task-card-title.completed{color:var(--text-tertiary);text-decoration:line-through}.task-card-desc{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--sp-2)}.task-card-meta{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.task-card-meta-item{align-items:center;gap:var(--sp-1);font-size:var(--font-xs);color:var(--text-tertiary);display:inline-flex}.task-card-actions{gap:var(--sp-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.task-card:hover .task-card-actions{opacity:1}.subtasks-section{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-light)}.subtask-item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--font-sm);cursor:pointer;display:flex}.subtask-check{border:1.5px solid var(--border-color);width:16px;height:16px;transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.subtask-check.checked{background:var(--accent);border-color:var(--accent)}.subtask-text.checked{color:var(--text-tertiary);text-decoration:line-through}.add-subtask{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;font-size:var(--font-sm);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);display:flex}.add-subtask:hover{color:var(--accent)}.subtask-input{font-size:var(--font-sm);padding:var(--sp-1);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.priority-bar{border-radius:var(--radius-full);flex-shrink:0;align-self:stretch;width:4px}.notes-view{gap:var(--sp-5);height:calc(100vh - var(--header-height) - var(--sp-12));grid-template-columns:280px 1fr;animation:.3s fadeIn;display:grid}.notes-sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.notes-sidebar-header{padding:var(--sp-4);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.notes-sidebar-header h3{font-size:var(--font-base);font-weight:700}.subjects-list{padding:var(--sp-2);flex:1;overflow-y:auto}.subject-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:2px;display:flex}.subject-item:hover{background:var(--bg-hover)}.subject-item.active{background:var(--accent-light)}.subject-color-dot{border-radius:var(--radius-full);flex-shrink:0;width:12px;height:12px}.subject-name{font-size:var(--font-sm);flex:1;font-weight:500}.subject-count{font-size:var(--font-xs);color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-full);padding:1px 8px}.subject-actions{opacity:0;transition:opacity var(--transition-fast);gap:2px;display:flex}.subject-item:hover .subject-actions{opacity:1}.notes-content{gap:var(--sp-4);flex-direction:column;display:flex;overflow:hidden}.notes-list-header{justify-content:space-between;align-items:center;display:flex}.notes-list{gap:var(--sp-4);padding-bottom:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid;overflow-y:auto}.note-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-4);cursor:pointer;transition:all var(--transition-fast);gap:var(--sp-2);flex-direction:column;min-height:140px;animation:.3s both fadeInUp;display:flex;position:relative;overflow:hidden}.note-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.note-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.note-card-title{font-weight:700;font-size:var(--font-base)}.note-card-preview{font-size:var(--font-sm);color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:1;line-height:1.5;display:-webkit-box;overflow:hidden}.note-card-date{font-size:var(--font-xs);color:var(--text-tertiary)}.note-card-tags{gap:var(--sp-1);flex-wrap:wrap;display:flex}.note-tag{border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);padding:1px 6px;font-size:10px}.note-card-delete{top:var(--sp-2);right:var(--sp-2);opacity:0;transition:opacity var(--transition-fast);position:absolute}.note-card:hover .note-card-delete{opacity:1}.note-editor{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;flex:1;animation:.2s fadeIn;display:flex;overflow:hidden}.note-editor-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.note-editor-title{font-size:var(--font-lg);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-weight:700}.note-editor-body{flex:1;overflow:hidden}.note-editor-body textarea{width:100%;height:100%;padding:var(--sp-5);font-size:var(--font-base);resize:none;color:var(--text-primary);background:0 0;border:none;line-height:1.8}.note-editor-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.note-editor-tags-input{align-items:center;gap:var(--sp-2);display:flex}.note-editor-tags-input input{width:120px;font-size:var(--font-xs);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);height:24px}.add-subject-form{padding:var(--sp-3);border-top:1px solid var(--border-light)}.add-subject-form input{font-size:var(--font-sm);height:32px;margin-bottom:var(--sp-2)}.planner{animation:.3s fadeIn}.planner-header{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.planner-nav{align-items:center;gap:var(--sp-3);display:flex}.planner-nav h2{font-size:var(--font-xl);text-align:center;min-width:300px;font-weight:700}.planner-grid{gap:var(--sp-3);min-height:calc(100vh - var(--header-height) - 140px);grid-template-columns:repeat(7,1fr);display:grid}.planner-column{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);flex-direction:column;animation:.4s both fadeInUp;display:flex;overflow:hidden}.planner-column:first-child{animation-delay:0s}.planner-column:nth-child(2){animation-delay:30ms}.planner-column:nth-child(3){animation-delay:60ms}.planner-column:nth-child(4){animation-delay:90ms}.planner-column:nth-child(5){animation-delay:.12s}.planner-column:nth-child(6){animation-delay:.15s}.planner-column:nth-child(7){animation-delay:.18s}.planner-column.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-light)}.planner-column-header{padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border-light);text-align:center}.planner-day-name{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.planner-day-number{font-size:var(--font-lg);font-weight:700}.planner-column.today .planner-day-number{color:var(--accent)}.planner-column-body{padding:var(--sp-2);gap:var(--sp-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.planner-task{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);font-size:var(--font-sm);align-items:flex-start;gap:var(--sp-2);transition:all var(--transition-fast);cursor:pointer;border-left:3px solid #0000;display:flex}.planner-task:hover{background:var(--bg-hover);transform:translate(2px)}.planner-task-check{border:1.5px solid var(--border-color);cursor:pointer;width:16px;height:16px;transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.planner-task-check.checked{background:var(--success);border-color:var(--success)}.planner-task-title{word-break:break-word;flex:1;min-width:0}.planner-task-title.completed{color:var(--text-tertiary);text-decoration:line-through}.planner-task-time{color:var(--text-tertiary);flex-shrink:0;font-size:10px}.planner-add-task{justify-content:center;align-items:center;gap:var(--sp-1);padding:var(--sp-2);border-radius:var(--radius-md);font-size:var(--font-xs);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);border:1px dashed var(--border-light);display:flex}.planner-add-task:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.planner-column-footer{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border-light);font-size:var(--font-xs);color:var(--text-tertiary);text-align:center}.planner-task-count{font-weight:600}.pomodoro{align-items:center;gap:var(--sp-8);padding:var(--sp-8) 0;flex-direction:column;animation:.3s fadeIn;display:flex}.pomodoro-timer{justify-content:center;align-items:center;width:300px;height:300px;animation:.4s scaleIn;display:flex;position:relative}.pomodoro-ring{position:absolute;inset:0}.pomodoro-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.pomodoro-ring circle{fill:none;stroke-width:6px}.pomodoro-ring .ring-bg{stroke:var(--bg-tertiary)}.pomodoro-ring .ring-progress{stroke-linecap:round;transition:stroke-dashoffset 1s linear}.pomodoro-display{text-align:center;z-index:1}.pomodoro-time{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:800;line-height:1}.pomodoro-mode{font-size:var(--font-sm);color:var(--text-secondary);margin-top:var(--sp-2);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.pomodoro-controls{gap:var(--sp-4);align-items:center;display:flex}.pomodoro-play-btn{border-radius:var(--radius-full);width:64px;height:64px;font-size:var(--font-xl);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;box-shadow:0 4px 20px #7c8aff66}.pomodoro-play-btn:hover{transform:scale(1.05);box-shadow:0 6px 28px #7c8aff80}.pomodoro-play-btn:active{transform:scale(.98)}.pomodoro-info{gap:var(--sp-8);text-align:center;display:flex}.pomodoro-info-item{align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.pomodoro-info-value{font-size:var(--font-2xl);color:var(--accent);font-weight:800}.pomodoro-info-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.pomodoro-settings{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-5);width:100%;max-width:500px}.pomodoro-settings h3{font-size:var(--font-base);margin-bottom:var(--sp-4);text-align:center;font-weight:700}.pomodoro-settings-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.pomodoro-setting{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.pomodoro-setting label{font-size:var(--font-xs);color:var(--text-secondary);text-align:center}.pomodoro-setting input{text-align:center;width:80px;height:36px;font-weight:600}.pomodoro-subject-selector{gap:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.pomodoro-subject-chip{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-full);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-color);font-weight:500}.pomodoro-subject-chip:hover{transform:translateY(-1px)}.pomodoro-subject-chip.active{box-shadow:var(--shadow-sm);border-color:#0000}.pomodoro-log{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:500px;overflow:hidden}.pomodoro-log-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-light);font-weight:700;font-size:var(--font-base);align-items:center;gap:var(--sp-2);display:flex}.pomodoro-log-body{max-height:200px;overflow-y:auto}.pomodoro-log-item{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-light);font-size:var(--font-sm);justify-content:space-between;align-items:center;display:flex}.pomodoro-log-item:last-child{border-bottom:none}.flashcards{animation:.3s fadeIn}.flashcards-header{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.decks-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.deck-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-5);cursor:pointer;transition:all var(--transition-fast);animation:.4s both fadeInUp;position:relative;overflow:hidden}.deck-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.deck-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.deck-card-title{font-weight:700;font-size:var(--font-md);margin-bottom:var(--sp-2)}.deck-card-count{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--sp-3)}.deck-card-progress{align-items:center;gap:var(--sp-2);font-size:var(--font-xs);color:var(--text-tertiary);display:flex}.deck-card-actions{top:var(--sp-3);right:var(--sp-3);opacity:0;transition:opacity var(--transition-fast);gap:2px;display:flex;position:absolute}.deck-card:hover .deck-card-actions{opacity:1}.add-deck-card{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--sp-8);justify-content:center;align-items:center;gap:var(--sp-3);cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary);flex-direction:column;display:flex}.add-deck-card:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.flashcard-study{align-items:center;gap:var(--sp-6);padding:var(--sp-6) 0;flex-direction:column;display:flex}.flashcard-study-header{justify-content:space-between;align-items:center;width:100%;max-width:600px;display:flex}.flashcard-study-progress{align-items:center;gap:var(--sp-3);width:100%;max-width:600px;font-size:var(--font-sm);color:var(--text-secondary);display:flex}.flashcard-container{perspective:1200px;cursor:pointer;width:100%;max-width:500px;height:320px}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius-xl);padding:var(--sp-8);text-align:center;font-size:var(--font-lg);justify-content:center;align-items:center;line-height:1.6;display:flex;position:absolute;inset:0}.flashcard-front{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.flashcard-back{border:1px solid var(--accent);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#7c8aff1a,#a78bfa1a);transform:rotateY(180deg)}.flashcard-label{top:var(--sp-3);left:var(--sp-4);font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;position:absolute}.flashcard-study-controls{gap:var(--sp-4);display:flex}.flashcard-study-btn{padding:var(--sp-3) var(--sp-6);border-radius:var(--radius-lg);font-size:var(--font-sm);transition:all var(--transition-fast);font-weight:600}.flashcard-study-btn.wrong{background:var(--danger-light);color:var(--danger);border:1px solid #0000}.flashcard-study-btn.wrong:hover{background:var(--danger);color:#fff;transform:translateY(-2px)}.flashcard-study-btn.correct{background:var(--success-light);color:var(--success);border:1px solid #0000}.flashcard-study-btn.correct:hover{background:var(--success);color:#fff;transform:translateY(-2px)}.flashcard-edit-list{gap:var(--sp-3);flex-direction:column;width:100%;max-width:600px;max-height:400px;display:flex;overflow-y:auto}.flashcard-edit-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--sp-3);gap:var(--sp-2);grid-template-columns:1fr 1fr auto;align-items:center;display:grid}.flashcard-edit-item input{font-size:var(--font-sm);height:32px}.study-complete{text-align:center;padding:var(--sp-12);animation:.4s scaleIn}.study-complete-emoji{font-size:4rem;animation:2s infinite float}.study-complete h2{font-size:var(--font-2xl);margin-top:var(--sp-4);font-weight:800}.study-complete p{color:var(--text-secondary);margin-top:var(--sp-2)}.study-complete-stats{gap:var(--sp-8);margin-top:var(--sp-6);justify-content:center;display:flex}
