.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b)}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:48px 40px;width:100%;max-width:400px;box-shadow:0 20px 25px -5px #00000080}.login-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:32px;color:var(--primary)}.login-header h1{font-size:28px;color:var(--text)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.form-group input{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary);color:var(--text);font-size:16px}.form-group input::placeholder{color:var(--text-secondary)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.error-message{background:#ef44441a;border:1px solid var(--danger);color:#fca5a5;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.login-btn{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.login-btn:hover{background:var(--primary-dark);transform:translateY(-2px)}.login-btn:active{transform:translateY(0)}@media(max-width:480px){.login-card{padding:32px 24px}.login-header h1{font-size:24px}}.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.navbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000004d}.navbar-brand h1{margin:0;font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--primary),#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-brand{display:flex;align-items:center;gap:12px;cursor:pointer}.app-logo{width:50px;height:50px;min-width:50px}.navbar-menu{display:flex;gap:16px;align-items:center}.nav-btn{display:flex;gap:8px;align-items:center;padding:8px 16px;background:var(--bg-tertiary);color:var(--text);border-radius:6px;border:1px solid var(--border);transition:all .2s ease}.nav-btn:hover{background:var(--primary);border-color:var(--primary)}.user-info{display:flex;gap:12px;align-items:center;border-left:1px solid var(--border);padding-left:16px}.user-info span{font-size:14px;color:var(--text-secondary)}.logout-btn{padding:6px 12px;background:var(--danger);border-radius:4px;display:flex;align-items:center;gap:4px}.logout-btn:hover{background:#dc2626}.main-content{flex:1;padding:24px;overflow-y:auto}@media(max-width:768px){.navbar{flex-direction:column;gap:16px}.navbar-menu{width:100%;flex-direction:column}.nav-btn{width:100%;justify-content:center}.user-info{border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:16px;width:100%}}.time-input-container{max-width:600px;margin:0 auto;padding:24px}.time-input-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:32px;position:relative}.back-btn{position:absolute;top:16px;left:16px;width:40px;height:40px;padding:0;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border)}.back-btn:hover{background:var(--border)}.time-input-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:32px;margin-top:20px;text-align:center;color:var(--primary)}.time-input-header h1{color:var(--text);font-size:28px}.date-picker-container{display:flex;align-items:center;gap:10px;flex-direction:column;margin-top:12px}.date-picker-container label{color:var(--text-secondary);font-size:13px;font-weight:500}.date-picker-input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;cursor:pointer}.presets-section{margin-bottom:32px}.presets-section h2{margin-bottom:16px;color:var(--text)}.presets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.preset-btn{padding:16px 12px;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center}.preset-btn:hover{border-color:var(--primary);background:#6366f11a}.preset-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.preset-label{font-weight:600;margin-bottom:8px;font-size:13px}.preset-time{font-size:12px;color:var(--text-secondary)}.preset-btn.active .preset-time{color:#fffc}.custom-section{margin-bottom:32px}.custom-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text);font-size:14px}.custom-toggle input{width:16px;height:16px;cursor:pointer}.custom-times{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;padding:16px;background:var(--bg-tertiary);border-radius:8px}.time-input-group{display:flex;flex-direction:column;gap:8px}.time-input-group label{font-weight:500;color:var(--text-secondary);font-size:13px}.time-input-group input{padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.error-message{grid-column:1 / -1;padding:12px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;font-size:13px;margin-top:8px}.button-group{display:flex;gap:12px;justify-content:flex-end}.cancel-btn{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border)}.cancel-btn:hover{background:var(--border)}.save-btn{background:var(--success);color:#fff}.save-btn:hover{background:#059669}@media(max-width:480px){.time-input-card{padding:24px 16px}.presets-grid{grid-template-columns:repeat(2,1fr)}.custom-times{grid-template-columns:1fr}.button-group{flex-direction:column-reverse}.button-group button{width:100%}}.calendar-container{max-width:1000px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.calendar-header h1{font-size:28px;color:var(--text)}.add-btn{display:flex;gap:8px;align-items:center;background:var(--primary)}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.calendar-nav h2{flex:1;text-align:center;color:var(--text)}.calendar-nav button{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);padding:8px 16px}.calendar-nav button:hover{background:var(--primary);border-color:var(--primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.weekday{text-align:center;font-weight:600;color:var(--text-secondary);padding:12px;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;min-height:120px;cursor:pointer;transition:all .2s ease;position:relative}.calendar-day:hover{border-color:var(--primary);background:#6366f10d}.calendar-day.empty{background:transparent;border:none;cursor:default}.calendar-day.empty:hover{background:transparent;border:none}.day-number{font-weight:600;color:var(--text);margin-bottom:8px;font-size:14px}.day-entries{display:flex;flex-direction:column;gap:6px}.entry{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:8px;font-size:12px;transition:all .2s ease}.entry:hover{border-color:var(--primary);background:#6366f11a}.entry-content{display:flex;flex-direction:column;gap:4px}.entry-time{color:var(--primary);font-weight:500}.entry-duration{color:var(--text-secondary);font-size:11px}.entry-actions{display:flex;gap:4px;margin-top:4px}.icon-btn{padding:4px 6px;background:var(--bg);border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:12px}.icon-btn:hover{background:var(--border)}.icon-btn.delete:hover{background:var(--danger);border-color:var(--danger)}.edit-form{display:flex;flex-direction:column;gap:6px}.edit-form input{padding:6px 8px;font-size:12px}.edit-form button{padding:6px;font-size:12px}@media(max-width:768px){.calendar-header{flex-direction:column;align-items:flex-start;gap:16px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:80px;padding:8px}.day-number{font-size:12px}.entry{font-size:10px;padding:6px}}.summary-container{max-width:1000px;margin:0 auto}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.summary-header h1{font-size:28px;color:var(--text)}.download-btn{display:flex;gap:8px;align-items:center;background:var(--success)}.download-btn:hover{background:#059669}.summary-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:16px}.summary-nav h2{flex:1;text-align:center;color:var(--text)}.summary-nav button{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);padding:8px 16px}.summary-nav button:hover{background:var(--primary);border-color:var(--primary)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center}.stat-card h3{color:var(--text-secondary);font-size:14px;margin-bottom:12px}.stat-value{font-size:32px;font-weight:700;color:var(--primary)}.weeks-section{margin-bottom:40px}.weeks-section h3{color:var(--text);margin-bottom:20px;font-size:18px}.weeks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.week-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center;transition:all .2s ease}.week-card:hover{border-color:var(--primary);background:#6366f10d}.week-card h4{color:var(--text);font-size:16px;margin-bottom:8px}.week-dates{color:var(--text-secondary);font-size:12px;margin-bottom:12px}.week-hours{font-size:24px;font-weight:700;color:var(--primary)}@media(max-width:768px){.summary-header{flex-direction:column;align-items:flex-start;gap:16px}.summary-stats{grid-template-columns:1fr}.weeks-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.weeks-grid{grid-template-columns:1fr}.stat-value{font-size:24px}}.settings-container{max-width:600px;margin:0 auto}.settings-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px;text-align:center}.settings-header h1{font-size:28px;color:var(--text)}.settings-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.settings-section h2{color:var(--text);margin-bottom:16px;font-size:18px}.language-buttons{display:flex;gap:12px}.lang-btn{flex:1;padding:12px;background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease}.lang-btn:hover{border-color:var(--primary);background:#6366f11a}.lang-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.presets-list{display:flex;flex-direction:column;gap:12px}.preset-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:16px;transition:all .2s ease}.preset-item:hover{border-color:var(--primary)}.preset-view{display:flex;justify-content:space-between;align-items:center;gap:16px}.preset-info h3{color:var(--text);margin-bottom:6px;font-size:16px}.preset-info p{color:var(--text-secondary);font-size:14px}.preset-actions{display:flex;gap:8px}.edit-btn{padding:8px 16px;background:var(--primary);color:#fff;border-radius:6px;font-size:14px}.edit-btn:hover{background:var(--primary-dark)}.delete-btn{padding:8px 12px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:6px;display:flex;align-items:center;justify-content:center}.delete-btn:hover{background:#ef44441a}.preset-edit-form{display:flex;flex-direction:column;gap:12px}.preset-edit-form input{padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.preset-edit-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.preset-edit-form .save-btn{background:var(--success);color:#fff}.preset-edit-form .save-btn:hover{background:#059669}.preset-edit-form .cancel-btn{background:var(--bg);color:var(--text);border:1px solid var(--border)}.preset-edit-form .cancel-btn:hover{background:var(--border)}@media(max-width:480px){.settings-container{padding:16px}.preset-view{flex-direction:column;align-items:flex-start}.preset-actions{width:100%}.preset-actions button{flex:1}}:root{--primary: #6366f1;--primary-dark: #4f46e5;--bg: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text: #f1f5f9;--text-secondary: #cbd5e1;--border: #475569;--success: #10b981;--danger: #ef4444;--warning: #f59e0b}*{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:var(--bg);color:var(--text)}button{cursor:pointer;border:none;background:var(--primary);color:#fff;padding:10px 20px;border-radius:6px;font-weight:500;transition:all .2s ease}button:hover{background:var(--primary-dark);transform:translateY(-2px)}button:active{transform:translateY(0)}input{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);padding:8px 12px;border-radius:4px;font-size:14px}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.container{max-width:1200px;margin:0 auto;padding:20px}
