.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:60px}.navbar-brand a{font-size:20px;font-weight:700;color:#000;text-decoration:none}.navbar-menu{display:flex;gap:20px;flex:1;margin-left:40px}.nav-link{color:#333;text-decoration:none;padding:8px 12px;border-radius:4px;transition:background-color .3s}.nav-link:hover{background-color:#f0f0f0}.navbar-user{display:flex;align-items:center;gap:15px}.username{color:#666;font-size:14px}.main-content{flex:1;padding:24px 20px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f8fafc;padding:20px}.auth-card{background:#fff;padding:0;border-radius:12px;box-shadow:0 2px 12px #00000014;width:100%;max-width:500px;border:1px solid #e0e0e0;overflow:hidden}.auth-header{background:#475569;padding:32px 32px 24px;text-align:center;color:#fff}.app-title{margin:0 0 16px;font-size:32px;font-weight:700;letter-spacing:-.5px;color:#fff}.app-description{margin:0;font-size:15px;line-height:1.6;color:#e0e0e0;font-weight:400}.auth-form-section{padding:32px}.auth-form-section h2{margin:0 0 30px;text-align:center;color:#000;font-size:24px;font-weight:600}.auth-card .form-group{margin-bottom:24px}.auth-card .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#000;font-size:14px}.auth-card .form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s;background-color:#fff}.auth-card .form-group input:focus{outline:none;border-color:#64748b;box-shadow:0 0 0 3px #64748b1a}.auth-card .form-group input:hover{border-color:#cbd5e1}.auth-card .btn{width:100%;padding:12px 24px;font-size:15px;font-weight:500;border-radius:8px;margin-top:8px}.auth-link{text-align:center;margin-top:24px;color:#64748b;font-size:14px}.auth-link a{color:#000;text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline;color:#000}.auth-card .error,.auth-card .success{margin-bottom:20px;padding:12px 16px;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#000;font-size:14px}.dashboard{max-width:1200px;margin:0 auto}.dashboard h1{margin-bottom:24px;color:#1e293b;font-size:26px;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.progress-info{margin:20px 0}.progress-info p{margin-top:10px;color:#000;font-size:14px}.progress-bar{width:100%;height:24px;background-color:#e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:12px;box-shadow:inset 0 1px 2px #0000000d}.progress-fill{height:100%;background:#64748b;transition:width .3s ease;border-radius:12px}.task-list-container{max-height:400px;overflow-y:auto;margin:0 0 16px;padding-right:4px}.task-list-container::-webkit-scrollbar{width:6px}.task-list-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.task-list-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.task-list-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.task-list{list-style:none;padding:0;margin:0}.task-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e2e8f0;transition:all .2s ease;border-radius:4px;margin:0}.task-list li:last-child{border-bottom:none}.task-list li:hover{background-color:#f1f5f9;padding-left:8px;padding-right:8px}.task-list a{color:#000;text-decoration:none;font-weight:500;flex:1;transition:color .2s}.task-list a:hover{color:#000;text-decoration:underline}.no-tasks{color:#94a3b8;font-style:italic;margin:20px 0}.no-progress{color:#94a3b8;margin:20px 0 24px;min-height:20px}.card .btn{margin-top:16px}.quick-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.quick-actions .btn{width:auto;min-width:160px;display:inline-block;text-align:center;padding:10px 24px}.dashboard .card h3{margin-bottom:16px;color:#1e293b;font-size:17px;font-weight:600}.dashboard .card{margin-bottom:0}.problem-detail{max-width:1200px;margin:0 auto;padding:0 20px}.problem-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.problem-header h1{margin:0;flex:1;color:#1e293b;font-size:26px;font-weight:600;line-height:1.3}.problem-actions{display:flex;gap:12px;flex-shrink:0}.problem-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.info-value{font-size:16px;color:#1e293b;font-weight:500}.progress-stats{display:flex;flex-direction:column;gap:14px}.stat-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f8fafc;border-radius:8px;border-left:3px solid #64748b}.stat-label{font-size:13px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:16px;color:#000;font-weight:500}@media (max-width: 768px){.problem-detail{padding:0 16px}.problem-header{flex-direction:column;align-items:flex-start;gap:16px}.problem-header h1{font-size:24px}.problem-actions{width:100%;flex-direction:column}.problem-actions .btn{width:100%}.problem-detail-grid{grid-template-columns:1fr;gap:20px}.card{padding:20px}}.status-completed,.status-not-completed{color:#000;font-weight:500}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.problem-form{max-width:700px;margin:0 auto}.problem-form h1{margin-bottom:24px;color:#1e293b;font-size:26px;font-weight:600}.problem-form form{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014}.problem-form .form-group{margin-bottom:20px}.problem-form .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#000;font-size:14px}.problem-form .form-group label .required{color:#000;margin-left:4px}.problem-form .form-group input,.problem-form .form-group select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s;background-color:#fff}.problem-form .form-group input:focus,.problem-form .form-group select:focus{outline:none;border-color:#64748b;box-shadow:0 0 0 3px #64748b1a}.problem-form .form-group input:hover,.problem-form .form-group select:hover{border-color:#cbd5e1}.tags-selector{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding:16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;min-height:60px}.tags-empty{color:#94a3b8;font-size:14px;font-style:italic;width:100%;text-align:center;padding:20px}.tag-checkbox{display:inline-flex;align-items:center;padding:8px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:#000;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.tag-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;pointer-events:none}.tag-checkbox span{display:inline-block;position:relative;z-index:1;white-space:nowrap;line-height:1.4}.tag-checkbox:hover:not(.checked){border-color:#64748b;background:#f1f5f9;color:#000;transform:translateY(-1px);box-shadow:0 2px 8px #64748b1a}.tag-checkbox.checked{background:#64748b;border-color:#64748b;color:#fff;box-shadow:0 2px 8px #64748b33}.tag-checkbox.checked:hover{background:#475569;border-color:#475569;box-shadow:0 4px 12px #64748b40;transform:translateY(-1px)}.form-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.form-actions .btn{flex:1;padding:12px 24px;font-size:15px;font-weight:500;border-radius:8px}.problem-form .error{margin-bottom:20px;padding:12px 16px;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#000;font-size:14px}@media (max-width: 640px){.tags-selector{gap:8px;padding:12px}.tag-checkbox{padding:6px 12px;font-size:13px;gap:6px}}.problem-card{background:#fff;padding:18px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.problem-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.problem-header h3{margin:0}.problem-header a{color:#333;text-decoration:none}.problem-header a:hover{color:#000;text-decoration:underline}.leetcode-id{color:#666;font-size:14px;margin-bottom:10px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center}.problem-stats{margin-top:10px;font-size:14px;color:#666}.problem-stats p{margin:5px 0}.problem-actions{display:flex;gap:10px;margin-top:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.my-problems .filters{display:flex;gap:10px;margin-bottom:20px}.my-problems .filters select{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.my-problems .problems-list{display:grid;gap:16px}.reviews-page h1{margin-bottom:20px;font-size:26px}.progress-card{margin-bottom:24px}.tabs{display:flex;gap:10px;margin-bottom:16px;border-bottom:2px solid #e0e0e0}.tab{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:16px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.tab:hover{color:#64748b}.tab.active{color:#64748b;border-bottom-color:#64748b}.filter-tabs{display:flex;gap:8px;margin-bottom:16px;margin-top:12px}.filter-tab{padding:6px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#64748b;transition:all .2s}.filter-tab:hover{border-color:#64748b;color:#64748b}.filter-tab.active{background-color:#64748b;color:#fff;border-color:#64748b}.tasks-list{display:grid;gap:16px}.task-card{background:#fff;padding:18px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-header h3{margin:0}.task-header a{color:#333;text-decoration:none}.task-header a:hover{color:#000;text-decoration:underline}.task-info{margin:12px 0;font-size:14px;color:#666}.task-info p{margin:5px 0}.task-actions{margin-top:16px}.empty-state{text-align:center;padding:40px;color:#999}.review-detail{max-width:1200px;margin:0 auto;padding:0 20px}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.review-header h1{margin:0;flex:1;color:#1e293b;font-size:26px;font-weight:600;line-height:1.3}.review-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease}.card:hover{box-shadow:0 4px 12px #0000001f}.card h3{margin:0 0 16px;color:#1e293b;font-size:17px;font-weight:600;border-bottom:2px solid #e2e8f0;padding-bottom:10px}.completed-card{text-align:center}.completed-icon{width:80px;height:80px;border-radius:50%;background:#64748b;color:#fff;font-size:48px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 4px 12px #64748b33}.completed-card h2{margin:0 0 32px;color:#1e293b;font-size:24px;font-weight:600}.completion-details{background:#f8fafc;border-radius:8px;padding:24px;margin-bottom:32px;display:flex;flex-direction:column;gap:24px}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:18px;font-weight:600;color:#1e293b}.rating-display{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.rating-value{font-size:24px;font-weight:700;color:#1e293b}.stars{display:flex;gap:4px}.star{font-size:24px;color:#cbd5e1;transition:color .2s}.star.filled{color:#000}.problem-info{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;flex-direction:column;gap:8px}.info-label{font-size:13px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:16px;color:#000;font-weight:500}.info-link{color:#000;text-decoration:none;font-size:14px;word-break:break-all;transition:color .2s ease}.info-link:hover{color:#000;text-decoration:underline}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tag{display:inline-flex;align-items:center;background:#e2e8f0;padding:6px 14px;border-radius:16px;font-size:12px;font-weight:500;color:#1e293b;border:1px solid #cbd5e1;white-space:nowrap;transition:all .2s}.tag:hover{background:#cbd5e1;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.review-card,.rating-section{display:flex;flex-direction:column;gap:20px}.rating-question{margin:0;color:#1e293b;font-size:16px;font-weight:500}.stars-input{display:flex;gap:12px;justify-content:center;align-items:center}.star-button{background:none;border:none;font-size:48px;color:#cbd5e1;cursor:pointer;padding:0;transition:all .2s;line-height:1}.star-button:hover:not(:disabled){color:#000;transform:scale(1.1)}.star-button.selected{color:#000;transform:scale(1.2)}.star-button:disabled{cursor:not-allowed;opacity:.6}.rating-hint{text-align:center;color:#000;font-size:14px;margin:0;font-style:italic}.review-actions{display:flex;gap:12px;justify-content:center;padding-top:24px;border-top:2px solid #e2e8f0}.error-state{text-align:center;padding:40px}.error-state p{color:#64748b;margin-bottom:24px}@media (max-width: 768px){.review-detail{padding:0 16px}.review-header{flex-direction:column;align-items:flex-start;gap:16px}.review-header h1{font-size:24px}.review-detail-grid{grid-template-columns:1fr;gap:20px}.card{padding:20px}.stars-input{gap:8px}.star-button{font-size:40px}.review-actions{flex-direction:column}.review-actions .btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#000}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.btn-primary{background-color:#64748b;color:#fff!important;border:1px solid #64748b;text-decoration:none}.btn-primary:hover{background-color:#475569;border-color:#475569;color:#fff!important}a.btn-primary,a.btn-primary:hover{color:#fff!important}.btn-secondary{background-color:#94a3b8;color:#fff;border:1px solid #94a3b8}.btn-secondary:hover{background-color:#64748b;border-color:#64748b}.btn-success{background-color:#64748b;color:#fff;border:1px solid #64748b}.btn-success:hover{background-color:#475569;border-color:#475569}.btn-danger{background-color:#64748b;color:#fff;border:1px solid #64748b}.btn-danger:hover{background-color:#475569;border-color:#475569}.btn-warning{background-color:#94a3b8;color:#fff;border:1px solid #94a3b8}.btn-warning:hover{background-color:#64748b;border-color:#64748b}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#64748b;box-shadow:0 0 0 3px #64748b1a}.card{background:#fff;border-radius:8px;padding:20px;margin-bottom:0;box-shadow:0 2px 4px #0000001a}.error,.success{color:#000;font-size:14px;margin-top:5px;padding:10px;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px}.loading{text-align:center;padding:20px}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-easy{background-color:#e2e8f0;color:#000;border:1px solid #cbd5e1}.badge-medium{background-color:#cbd5e1;color:#000;border:1px solid #94a3b8}.badge-hard{background-color:#475569;color:#fff;border:1px solid #475569}.badge-todo{background-color:#e2e8f0;color:#000;border:1px solid #cbd5e1}.badge-done{background-color:#64748b;color:#fff;border:1px solid #64748b}.badge-missed{background-color:#475569;color:#fff;border:1px solid #475569}
