*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;margin:0;transition:background-color .3s ease,color .3s ease}:root{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--card-bg:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--shadow:#0000000f;--shadow-hover:#0000001f;--priority-low:#10b981;--priority-medium:#f59e0b;--priority-high:#ef4444;--status-complete:#10b981;--status-pending:#64748b;--status-overdue:#ef4444;--primary:#3b82f6;--primary-hover:#2563eb;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#06b6d4}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--card-bg:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--border:#475569;--shadow:#0006;--shadow-hover:#0009;--priority-low:#10b981;--priority-medium:#fbbf24;--priority-high:#f87171;--status-complete:#10b981;--status-pending:#64748b;--status-overdue:#f87171;--primary:#3b82f6;--primary-hover:#2563eb;--success:#10b981;--warning:#fbbf24;--error:#f87171;--info:#06b6d4}h1{font-size:1.75rem;font-weight:700;margin:0 0 1.5rem}h1,h2{color:#1e293b;color:var(--text-primary);letter-spacing:-.025em}h2{font-size:1.5rem;margin:0 0 1rem}h2,h3{font-weight:600}h3{color:#1e293b;color:var(--text-primary);font-size:1.25rem;margin:0 0 .75rem}p{color:#64748b;color:var(--text-secondary);line-height:1.6;margin:.5rem 0}@media (min-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}.text-muted{color:#64748b;color:var(--text-secondary)}.text-success{color:#10b981;color:var(--success)}.text-warning{color:#f59e0b;color:var(--warning)}.text-error{color:#ef4444;color:var(--error)}.bg-surface{background-color:#fff;background-color:var(--card-bg)}.shadow{box-shadow:0 2px 4px #0000001a}.rounded{border-radius:8px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;justify-content:center;min-height:44px;padding:12px 16px;transition:all .2s ease}.btn-primary{background-color:#3b82f6;background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:#2563eb;background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:#fff;background-color:var(--card-bg);border:1px solid #e2e8f0;color:#1e293b}.btn-secondary:hover{background-color:#f1f5f9;background-color:var(--bg-secondary)}.input{background-color:#fff;border:1px solid #e2e8f0;color:#1e293b;font-size:16px;padding:12px 16px}.input:focus{border-color:#3b82f6}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.icon{fill:none;stroke:currentColor;stroke-width:2;display:inline-block;height:20px;margin-right:8px;width:20px}.icon-check:before{color:#10b981;color:var(--success);content:"✓"}.icon-plus:before{color:#3b82f6;color:var(--primary);content:"+"}.icon-calendar:before{border:1px solid;border-radius:2px;content:"";display:block;height:16px;position:relative;width:16px}.icon-calendar:after{background:currentColor;content:"";height:1px;left:50%;position:absolute;top:2px;transform:translateX(-50%);width:8px}.icon-book:before{border:1px solid;border-radius:1px;content:"";display:block;height:16px;position:relative;width:16px}.icon-book:after{border-left:1px solid;content:"";height:12px;left:2px;position:absolute;top:2px;width:12px}.icon-chart:before{border:1px solid;content:"";display:block;height:16px;position:relative;width:16px}.icon-chart:after{background:currentColor;bottom:2px;-webkit-clip-path:polygon(0 100%,100% 100%,100% 0,0 0);clip-path:polygon(0 100%,100% 100%,100% 0,0 0);content:"";height:8px;left:2px;position:absolute;width:12px}.icon-home:before{border:1px solid;content:"";display:block;height:16px;position:relative;width:16px}.icon-home:after{background:currentColor;border-bottom:1px solid;border-left:1px solid;border-right:1px solid;content:"";height:8px;left:6px;position:absolute;top:4px;width:4px}.icon-check-circle:before{border:1px solid;border-radius:50%;content:"";display:block;height:16px;position:relative;width:16px}.icon-check-circle:after{color:currentColor;content:"✓";font-size:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.icon-list:before{border:1px solid;border-radius:2px;content:"";display:block;height:16px;position:relative;width:16px}.icon-list:after{color:currentColor;content:"•\A•\A•";font-size:6px;left:4px;line-height:1.2;position:absolute;top:2px;white-space:pre}.icon-circle:before{border:2px solid;border-radius:50%;content:"";display:block;height:16px;width:16px}.app-header{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border-bottom:1px solid #fff3;display:flex;height:60px;left:0;padding:0 1rem;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}[data-theme=dark] .app-header{background:#1e293bcc;border-bottom:1px solid #ffffff1a}.logo{height:40px;width:auto}.app-title{font-size:1.5rem;font-weight:700;margin:0 0 0 1rem;text-shadow:0 2px 4px #0000001a}.App,.app-title{color:var(--text-primary)}.App{background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding-bottom:100px;padding-top:60px;transition:background-color .3s ease,color .3s ease}.container{animation:slideIn .4s ease-out;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 20px var(--shadow);margin:0 auto 1rem;max-width:480px;padding:1.5rem;transition:all .3s ease}@media (min-width:768px){.container{margin-bottom:2rem;max-width:600px;padding:2rem}}.header-section{margin-bottom:2rem}.focus-mode-indicator{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem;margin-top:.5rem}.progress-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-bottom:2rem;padding:1.5rem}[data-theme=dark] .progress-card{background:#1e293bcc;border:1px solid #ffffff1a;box-shadow:0 8px 32px #0000004d}.streak-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-bottom:1rem;padding:1.5rem;text-align:center}[data-theme=dark] .streak-card{background:#1e293bcc;border:1px solid #ffffff1a;box-shadow:0 8px 32px #0000004d}.streak-header{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.streak-icon{color:var(--warning)}.streak-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.streak-number{color:var(--text-primary);font-size:3rem;font-weight:700;line-height:1;margin-bottom:.5rem}.streak-subtitle{color:var(--text-secondary);font-size:.8rem;font-weight:500}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.progress-bar{background:var(--bg-secondary);position:relative}.progress-fill{animation:progressPulse 2s ease-in-out infinite;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.tasks-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.task-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s ease}[data-theme=dark] .task-card{background:#1e293bcc;border:1px solid #ffffff1a;box-shadow:0 8px 32px #0000004d}.task-card:before{background:var(--priority-low);content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .3s ease;width:4px}.task-card:hover{box-shadow:0 4px 16px var(--shadow-hover);transform:translateY(-2px)}.task-card.completed{background:var(--bg-secondary);opacity:.7}.task-card.overdue,.task-card.urgent{border-color:var(--status-overdue)}.task-card.upcoming{border-color:var(--warning)}.task-header{align-items:flex-start;display:flex;gap:1rem}.task-checkbox{background:none;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;margin-top:2px;padding:0;transition:all .2s ease}.task-checkbox:hover{transform:scale(1.1)}.check-icon{color:var(--status-complete)}.circle-icon{stroke-width:2;color:var(--text-muted)}.task-content{flex:1 1;min-width:0}.task-title{word-wrap:break-word;color:var(--text-primary);font-size:1.1rem;font-weight:600;line-height:1.4;margin:0 0 .75rem;transition:color .3s ease}.task-title.completed{color:var(--text-muted);text-decoration:line-through}.task-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.subject-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:500;padding:.25rem .75rem;white-space:nowrap}.deadline-info{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.25rem}.deadline-text{font-weight:500}.deadline-text.overdue,.deadline-text.urgent{color:var(--status-overdue)}.deadline-text.upcoming{color:var(--warning)}.priority-indicator{align-items:center;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.priority-label{color:#fff;font-size:.8rem;font-weight:700}.task-description{border-top:1px solid var(--border);color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:1rem 0 0;padding-top:1rem}.task-item input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid var(--border);border-radius:6px;cursor:pointer;flex-shrink:0;height:24px;margin-right:1rem;position:relative;transition:all .2s ease;width:24px}.task-item input[type=checkbox]:checked{background-color:var(--success);border-color:var(--success)}.task-item input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.task-item input[type=checkbox]:hover{border-color:var(--primary)}.task-details{flex:1 1;min-width:0}.task-details .task-title{word-wrap:break-word;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.task-details .subject{margin-bottom:.25rem}.task-details .deadline,.task-details .subject{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem}.completed .task-title{text-decoration:line-through}.completed .deadline,.completed .subject,.completed .task-title{color:var(--text-secondary)}.urgent .deadline,.urgent .task-title{color:var(--status-overdue)}.task-item.low{border-left:4px solid var(--success)}.task-item.medium{border-left:4px solid var(--warning)}.task-item.high,.task-item.urgent{border-left:4px solid var(--status-overdue)}.subject-tag{background-color:var(--bg-secondary);border-radius:4px;color:var(--text-secondary);font-size:.8rem;font-weight:500;padding:.25rem .5rem}.input{background-color:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a90e21a;outline:none}.input::placeholder{color:var(--text-secondary)}.add-button,.save-button{align-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border:none;border-radius:20px;box-shadow:0 4px 12px #4a90e24d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;margin-top:1rem;min-height:44px;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.add-button:hover,.save-button:hover{box-shadow:0 6px 20px #4a90e266;transform:translateY(-2px)}.add-button:before{content:"+";font-size:1.2rem;margin-right:.5rem}.subject-list{list-style:none;margin:0;padding:0}.subject-item{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s ease}.subject-item:hover{background-color:var(--bg-secondary)}.subject-item:last-child{border-bottom:none}.subject-name{font-weight:500}.subject-actions{gap:.5rem}.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:all .2s ease}.edit-btn{background-color:var(--warning-color);color:#fff}.edit-btn:hover{background-color:#e0a800}.delete-btn{background-color:var(--error-color);color:#fff}.delete-btn:hover{background-color:#c82333}.form-container{animation:fadeIn .3s ease-out;background-color:var(--surface-color);border-radius:20px;box-shadow:0 8px 32px #00000014;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.5rem}.select{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem;width:100%}.select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a;outline:none}.floating-add-btn{align-items:center;background-color:var(--primary-color);border-radius:50%;bottom:2rem;box-shadow:0 4px 12px #0000004d;color:#fff;display:flex;font-size:2rem;font-weight:700;height:56px;justify-content:center;position:fixed;right:2rem;text-decoration:none;transition:all .2s ease;width:56px;z-index:1000}.floating-add-btn:hover{background-color:var(--primary-hover);box-shadow:0 6px 16px #0006;transform:scale(1.1)}.progress-summary{margin-bottom:2rem;text-align:center}.progress-summary p{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.progress-bar{background-color:var(--border-color);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background-color:var(--primary-color);height:100%;transition:width .3s ease}.empty-state{padding:3rem 1rem;text-align:center}.empty-state .illustration{background-color:var(--background-color);border-radius:20px;height:120px;margin:0 auto 2rem;width:120px}.empty-state h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);font-size:1rem;font-weight:400;margin-bottom:2rem}.bottom-nav{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-bottom:none;border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -2px 20px #0000001a;display:flex;height:80px;justify-content:space-around;left:0;padding:.75rem 1rem;position:fixed;right:0;transition:all .3s ease;z-index:1000}[data-theme=dark] .bottom-nav{background:#1e293bcc;border:1px solid #ffffff1a;border-bottom:none;box-shadow:0 -2px 20px #0000004d}.nav-item{align-items:center;border-radius:12px;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;font-weight:500;min-width:60px;padding:.5rem;position:relative;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px)}.nav-item.active{background:#3b82f61a;color:var(--primary)}.nav-item.active:after{background:var(--primary);border-radius:2px;content:"";height:3px;left:50%;position:absolute;top:-2px;transform:translateX(-50%);width:24px}.theme-toggle{background:none;border:none;color:inherit;cursor:pointer}.nav-item .icon{margin:0 0 2px}.nav-label{font-size:.75rem;font-weight:500}.task-toggle{cursor:pointer;flex-shrink:0;margin-right:1rem;transition:all .2s ease}.task-toggle:hover{transform:scale(1.1)}.fab-container{position:relative}.fab{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border-radius:50%;box-shadow:0 4px 16px #4a90e266;color:#fff;display:flex;height:56px;justify-content:center;left:50%;position:absolute;text-decoration:none;top:-28px;transform:translateX(-50%);transition:all .2s ease;width:56px;z-index:1001}.fab:hover{background:linear-gradient(135deg,#357abd,#2e5f99);box-shadow:0 6px 20px #4a90e280;transform:translateX(-50%) scale(1.1)}.fab-icon{font-size:24px;font-weight:700}.container{padding-bottom:90px}.form-header{margin-bottom:2rem;text-align:center}.form-subtitle{color:var(--text-secondary);font-size:1rem;margin-top:.5rem}.form-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px var(--shadow);padding:2rem}.form-label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.input-wrapper,.select-wrapper{position:relative}.input-icon,.select-icon{color:var(--text-muted);left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input,.select,.textarea{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.875rem .875rem .875rem 2.5rem;transition:all .2s ease;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.textarea{min-height:80px;padding-left:.875rem;resize:vertical}.char-count{color:var(--text-muted);font-size:.8rem;margin-top:.25rem;text-align:right}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.priority-dot{border-radius:50%;height:12px;left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:12px}.select{cursor:pointer;padding-left:2.5rem}.input.error,.select.error{border-color:var(--error)}.error-message{align-items:center;color:var(--error);display:flex;font-size:.8rem;gap:.25rem;margin-top:.25rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-secondary{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;justify-content:center;min-height:44px;padding:.875rem 1.5rem;transition:all .2s ease}.btn-secondary:hover{background:var(--border)}.save-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.checkbox-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;-webkit-user-select:none;user-select:none}.checkbox{-webkit-appearance:none;appearance:none;border:2px solid var(--border);border-radius:4px;cursor:pointer;flex-shrink:0;height:20px;position:relative;transition:all .2s ease;width:20px}.checkbox:checked{background-color:var(--primary);border-color:var(--primary)}.checkbox:checked:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox:hover{border-color:var(--primary)}.checkbox-icon{color:var(--text-secondary);flex-shrink:0}.focus-mode-overlay{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.focus-mode-container{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:2rem;text-align:center;width:90%}[data-theme=dark] .focus-mode-container{background:#1e293be6;border:1px solid #ffffff1a}.focus-mode-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.focus-mode-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.close-btn{background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:all .2s ease}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.focus-task-info h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.focus-meta{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.session-count{background:var(--primary);color:#fff}.session-count,.session-type{border-radius:20px;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.session-type{align-items:center;display:flex;gap:.5rem}.session-type.work{background:var(--success);color:#fff}.session-type.break{background:var(--warning);color:#fff}.timer-display{margin:2rem 0}.timer-circle{display:inline-block;margin-bottom:1rem;position:relative}.timer-text{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.timer-text .time{color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.5rem}.timer-text .timer-label{color:var(--text-secondary);font-size:1rem;font-weight:500}.timer-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.timer-btn{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;min-height:48px;padding:1rem 2rem;transition:all .2s ease}.timer-btn.primary{background:var(--primary);box-shadow:0 4px 16px #3b82f64d;color:#fff}.timer-btn.primary:hover{background:var(--primary-hover);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.timer-btn.secondary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.timer-btn.secondary:hover{background:var(--border)}.focus-actions{margin-bottom:2rem}.complete-task-btn{align-items:center;background:var(--success);border:none;border-radius:16px;box-shadow:0 4px 16px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 auto;padding:1rem 2rem;transition:all .2s ease}.complete-task-btn:hover{background:#059669;box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.focus-tips{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.focus-tips p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px var(--shadow);display:flex;gap:1rem;padding:1.25rem;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon{align-items:center;background:var(--primary);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-content{flex:1 1;min-width:0}.stat-number{font-size:1.75rem}.timeline{position:relative}.timeline:before{background:var(--border);bottom:0;content:"";left:24px;position:absolute;top:0;width:2px;z-index:1}.timeline-group{margin-bottom:2rem}.timeline-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem;padding-left:4px}.timeline-icon{align-items:center;background:var(--primary);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.timeline-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.timeline-count{background:var(--bg-secondary);border-radius:20px;color:var(--text-secondary);font-size:.8rem;font-weight:500;padding:.25rem .75rem}.timeline-item,.timeline-items{position:relative}.timeline-item{margin-bottom:1.5rem;padding-left:60px}.timeline-marker{align-items:center;background:var(--card-bg);border:3px solid var(--border);border-radius:50%;display:flex;height:32px;justify-content:center;left:16px;position:absolute;top:20px;width:32px;z-index:2}.timeline-check{color:var(--status-complete)}.timeline-content{position:relative}.timeline-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px var(--shadow);padding:1.25rem;transition:transform .2s ease}.timeline-card:hover{transform:translateX(4px)}.timeline-header-content{margin-bottom:.75rem}.timeline-task-title{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.timeline-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.timeline-subject-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.timeline-date,.timeline-subject-badge{align-items:center;display:inline-flex;gap:.25rem}.timeline-date{color:var(--text-secondary);font-size:.8rem}.timeline-description{border-top:1px solid var(--border);color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0;padding-top:.75rem}.subjects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.subject-card{background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--subject-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow);overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.subject-card:hover{box-shadow:0 4px 16px var(--shadow-hover);transform:translateY(-2px)}.subject-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.25rem}.subject-color-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.subject-name{color:var(--text-primary);flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.subject-actions{display:flex;gap:.25rem}.subject-action-btn{background:none;border:none;border-radius:6px;cursor:pointer;opacity:.7;padding:.5rem;transition:all .2s ease}.subject-action-btn:hover{background:var(--bg-secondary);opacity:1}.subject-action-btn.edit{color:var(--text-secondary)}.subject-action-btn.delete{color:var(--error)}.next-deadline{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem}.next-deadline .deadline-info{flex:1 1;min-width:0}.next-deadline .deadline-text{color:var(--text-primary);display:block;font-size:.9rem;font-weight:600}.next-deadline .deadline-text.urgent{color:var(--status-overdue)}.next-deadline .deadline-task{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-stats{display:flex;gap:1rem;margin-bottom:1.25rem}.stat-item{flex:1 1;text-align:center}.stat-number{color:var(--text-primary);display:block;font-size:1.5rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-number.completed{color:var(--status-complete)}.stat-number.pending{color:var(--warning)}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.subject-progress{display:flex;flex-direction:column;gap:.5rem}.progress-text{color:var(--text-secondary);font-size:.9rem;font-weight:500}.add-subject-section{margin-top:2rem;text-align:center}.color-picker{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(5,1fr);margin-bottom:1rem}.color-option{align-items:center;border:3px solid #0000;border-radius:12px;cursor:pointer;display:flex;height:48px;justify-content:center;position:relative;transition:all .2s ease;width:48px}.color-option:hover{box-shadow:0 4px 12px #0003;transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--primary)}.color-check{color:#fff;font-size:18px;font-weight:700;text-shadow:0 0 4px #00000080}.color-hint{color:var(--text-secondary);font-size:.8rem;margin:0;text-align:center}@media (max-width:768px){.container{margin:0 .5rem;padding:1.5rem 1.5rem 90px}.form-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.stats-grid,.subjects-grid{grid-template-columns:1fr}.timeline:before{left:20px}.timeline-item{padding-left:50px}.timeline-marker{height:28px;left:12px;width:28px}.timeline-header{padding-left:0}.subject-item,.task-item{padding:1rem}.task-details .task-title{font-size:1rem}.subject-actions{flex-direction:column;gap:.25rem}}
/*# sourceMappingURL=main.16dccc54.css.map*/