@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";.home-panel .panel-header{margin-bottom:32px}.home-panel .panel-header h1{font-size:2.25rem;font-weight:700;color:var(--text-primary)}.home-panel .panel-header p{margin-top:8px;font-size:1.1rem;color:var(--text-secondary)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.category-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow)}.category-card h3{margin:16px 0;font-size:1.25rem;color:var(--text-primary)}.category-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-color:var(--accent)}.add-event-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background-color:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.add-event-btn:hover{background-color:var(--accent-hover)}.recent-events{margin-top:48px}.recent-events .panel-header h2{display:inline-flex;align-items:center;gap:12px;font-size:1.5rem}.recent-events-list{list-style:none;margin-top:16px;background-color:var(--bg-secondary);border-radius:12px;padding:16px;border:1px solid var(--border-color)}.recent-events-list li{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.recent-events-list li:last-child{border-bottom:none}.recent-events-list li .event-category{font-weight:600;color:var(--text-primary)}.recent-events-list li .event-time{font-size:.9rem;color:var(--text-secondary)}.logout-block{display:none;width:100px}.main-row{display:flex;justify-content:space-between}@media(max-width:768px){.logout-block{display:flex}}.categories-panel .panel-header{margin-bottom:32px}.add-category-card{background-color:var(--bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--border-color);margin-bottom:32px}.add-category-card h3{margin-bottom:16px;font-weight:600}.add-category-form{display:flex;gap:16px}.add-category-form input{flex-grow:1;padding:12px 16px;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);font-size:1rem}.add-category-form input:focus{outline:none;border-color:var(--accent)}.add-category-form button{display:inline-flex;align-items:center;gap:8px;padding:0 24px;border:none;border-radius:8px;background-color:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.add-category-form button:hover{background-color:var(--accent-hover)}.create-button{min-height:45px}.category-list-item{display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-secondary);padding:20px;border-radius:10px;border:1px solid var(--border-color);margin-bottom:16px;transition:all .2s ease}.category-list-item:hover{border-color:var(--accent)}.category-info .category-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.category-info .category-count{margin-left:16px;font-size:.9rem;color:var(--text-secondary);background-color:var(--bg-primary);padding:4px 8px;border-radius:6px}.delete-btn{background:transparent;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.delete-btn:hover{color:var(--danger-color);background-color:#ef44441a}@media(max-width:500px){.add-category-form{flex-direction:column}}.react-calendar-heatmap text{font-size:10px;fill:#aaa}.react-calendar-heatmap .react-calendar-heatmap-small-text{font-size:5px}.react-calendar-heatmap rect:hover{stroke:#555;stroke-width:1px}.react-calendar-heatmap .color-empty{fill:#eee}.react-calendar-heatmap .color-filled{fill:#8cc665}.react-calendar-heatmap .color-github-0{fill:#eee}.react-calendar-heatmap .color-github-1{fill:#d6e685}.react-calendar-heatmap .color-github-2{fill:#8cc665}.react-calendar-heatmap .color-github-3{fill:#44a340}.react-calendar-heatmap .color-github-4{fill:#1e6823}.react-calendar-heatmap .color-gitlab-0{fill:#ededed}.react-calendar-heatmap .color-gitlab-1{fill:#acd5f2}.react-calendar-heatmap .color-gitlab-2{fill:#7fa8d1}.react-calendar-heatmap .color-gitlab-3{fill:#49729b}.react-calendar-heatmap .color-gitlab-4{fill:#254e77}.stats-panel .panel-header{margin-bottom:32px}.category-selector-wrapper{margin-bottom:32px;max-width:400px}.category-selector-wrapper label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.category-selector-wrapper select{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem;cursor:pointer}.category-selector-wrapper select:focus{outline:none;border-color:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.stats-section-title{font-size:1.75rem;font-weight:600;margin-bottom:24px;margin-top:48px}.stats-group-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:32px}@media(min-width:1024px){.stats-group-grid{grid-template-columns:repeat(2,1fr)}}.stats-group{background-color:var(--bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:column}.stats-group h3{font-size:1.25rem;font-weight:600;margin-bottom:12px}.stats-group .stats-grid{flex-grow:1}.stats-grid-intervals{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background-color:var(--bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--border-color);text-align:center;box-shadow:var(--shadow);transition:all .2s ease-in-out;display:flex;flex-direction:column;justify-content:center}.stat-card:hover{transform:translateY(-4px)}.stat-card h3{font-size:2.5rem;font-weight:700;color:var(--accent)}.stat-card p{margin-top:4px;font-size:1rem;color:var(--text-secondary)}.wide-stat-card{min-width:200px}.heatmap-container{margin-top:48px;background-color:var(--bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--border-color)}.heatmap-container h3{margin-bottom:24px}.heatmap-container .color-empty{fill:var(--border-color)}.heatmap-container .color-scale-1{fill:#c6e48b}.heatmap-container .color-scale-2{fill:#7bc96f}.heatmap-container .color-scale-3{fill:#239a3b}.heatmap-container .color-scale-4{fill:#196127}[data-theme=dark] .heatmap-container .color-empty{fill:var(--border-color)}[data-theme=dark] .heatmap-container .color-scale-1{fill:#0e4429}[data-theme=dark] .heatmap-container .color-scale-2{fill:#006d32}[data-theme=dark] .heatmap-container .color-scale-3{fill:#26a641}[data-theme=dark] .heatmap-container .color-scale-4{fill:#39d353}[data-theme=dark] .heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-1{background-color:#0e4429}[data-theme=dark] .heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-2{background-color:#006d32}[data-theme=dark] .heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-3{background-color:#26a641}[data-theme=dark] .heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-4{background-color:#39d353}.heatmap-container .react-calendar-heatmap text{fill:var(--text-secondary)}.heatmap-container .heatmap-legend{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:16px;font-size:.8rem;color:var(--text-secondary)}.heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-1{background-color:#c6e48b}.heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-2{background-color:#7bc96f}.heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-3{background-color:#239a3b}.heatmap-container .heatmap-legend .heatmap-legend-box.color-scale-4{background-color:#196127}.heatmap-container .heatmap-legend-box{width:14px;height:14px;border-radius:3px;background-color:var(--border-color)}.react-tooltip{background-color:var(--text-primary)!important;color:var(--bg-primary)!important;border-radius:6px!important;font-size:.9rem!important;padding:8px 12px!important}.charts-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:48px}@media(min-width:1024px){.charts-grid{grid-template-columns:repeat(2,1fr)}}.bar-chart-container{background-color:var(--bg-secondary);padding:24px;border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:column}.bar-chart{display:flex;justify-content:space-around;align-items:flex-end;flex-grow:1;height:200px;gap:4px}.bar{width:80%;max-width:30px;background-color:var(--accent);border-radius:4px 4px 0 0;transition:height .4s cubic-bezier(.25,1,.5,1);position:relative}.bar .bar-value{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:600;color:var(--text-primary);opacity:0;transition:opacity .3s;pointer-events:none}.bar:hover .bar-value{opacity:1}.bar-label{margin-top:8px;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}@media(max-width:600px){.bar-chart{gap:2px}.bar-label{font-size:.65rem}.bar-chart-container:nth-of-type(2) .bar-label:nth-child(odd){display:none}}.bar-wrapper{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;height:100%}.timecounter-title{color:var(--text-secondary);font-size:1rem}.timer-display{font-size:36px;font-style:bold;font-optical-sizing:auto;font-weight:600;font-style:normal;margin:15px 0}.timer-display-empty{margin:15px}.history-panel .event-list{margin-top:32px;display:flex;flex-direction:column;gap:16px}.history-panel .event-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-secondary);padding:20px;border-radius:10px;border:1px solid var(--border-color)}.history-panel .event-category-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.history-panel .event-timestamp{font-size:.9rem;color:var(--text-secondary)}.history-panel .loader,.history-panel .end-of-list{text-align:center;padding:40px;color:var(--text-secondary);font-size:1.1rem}.event-meta{display:flex;align-items:center}.event-meta .delete-btn{margin-left:15px}.login-panel{display:flex;justify-content:center;align-items:center;width:100%;min-height:100vh;background-color:var(--bg-primary);padding:20px}.login-card{width:100%;max-width:400px;background-color:var(--bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:all .3s ease}.login-header{text-align:center;margin-bottom:24px}.login-header .login-icon{font-size:2.5rem;color:var(--accent);margin-bottom:12px}.login-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.login-header p{margin-top:8px;color:var(--text-secondary);font-size:.9rem}.login-header p b{font-weight:600;color:var(--text-primary)}.login-form{display:flex;flex-direction:column;gap:20px}.input-group{display:flex;flex-direction:column}.input-group label{margin-bottom:8px;font-weight:500;font-size:.9rem;color:var(--text-secondary)}.input-group input{padding:12px 16px;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);font-size:1rem;transition:border-color .3s,box-shadow .3s}.input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f46e533}.error-message{color:var(--danger-color);font-size:.9rem;text-align:center}.login-button{padding:12px;border:none;border-radius:8px;background-color:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.login-button:hover{background-color:var(--accent-hover)}.main-layout{display:flex;background-color:var(--bg-primary)}.sidebar{width:260px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px;transition:width .3s ease;height:100vh;position:sticky;top:0}.sidebar .sidebar-header{margin-bottom:32px}.sidebar .sidebar-header .logo{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.sidebar .sidebar-nav{display:flex;flex-direction:column;gap:12px;flex-grow:1}.nav-item{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:8px;font-size:1.2rem;color:var(--text-secondary);background-color:transparent;border:none;cursor:pointer;width:100%;text-align:left;transition:background-color .2s,color .2s}.nav-item .nav-label{font-size:1rem;font-weight:500}.nav-item:hover{background-color:var(--accent);color:#fff}.content-area{flex-grow:1;padding:32px;overflow-y:auto}@media(max-width:768px){.main-layout{flex-direction:column}.sidebar{position:fixed;height:70px;inset:auto 0 0;z-index:1000;background-color:var(--bg-secondary);width:100%;padding:0 16px;border-right:none;border-top:1px solid var(--border-color);flex-direction:row;align-items:center;justify-content:space-around}.sidebar .sidebar-header,.sidebar .sidebar-footer .nav-label{display:none}.sidebar .sidebar-nav{flex-direction:row;gap:0;justify-content:space-around;width:100%}.sidebar .nav-item{flex-direction:column;gap:4px;padding:8px;font-size:1.4rem}.sidebar .nav-item .nav-label{font-size:.7rem}.sidebar .sidebar-footer{display:flex;gap:10px;display:none}.content-area{padding:24px 24px 90px}}:root{--bg-primary: #f4f7fe;--bg-secondary: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--border-color: #e2e8f0;--danger-color: #ef4444;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1)}body[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #6366f1;--accent-hover: #818cf8;--border-color: #334155;--danger-color: #f87171;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -2px rgba(0, 0, 0, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}button,input{font-family:Inter,sans-serif}a{text-decoration:none;color:var(--accent)}.container{max-width:1200px;margin:0 auto;padding:0 20px}
