.auth-container{background:radial-gradient(circle at 10% 20%, #6366f126 0%, transparent 45%), radial-gradient(circle at 90% 80%, #10b9811a 0%, transparent 45%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border-radius:24px;width:100%;max-width:440px;padding:40px;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.auth-logo{text-align:center;margin-bottom:32px}.logo-icon{filter:drop-shadow(0 0 10px var(--accent-glow));margin-bottom:12px;font-size:48px}.auth-logo h1{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:8px;font-size:24px;font-weight:700}.subtitle{color:var(--text-secondary);font-size:14px}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:12px;font-weight:600}.form-group input{border:1px solid var(--glass-border);color:var(--text-primary);background:#ffffff0d;border-radius:12px;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);background:#ffffff14;outline:none}.message{border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.4}.message.error{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.message.success{color:#a7f3d0;background:#10b98126;border:1px solid #10b9814d}.btn-submit{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 12px var(--accent-glow);border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.btn-submit:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-toggle{text-align:center;margin-top:24px}.btn-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:13px;transition:color .2s}.btn-toggle:hover{color:var(--text-primary);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{background-color:var(--bg-primary);min-height:100vh;display:flex}.main-content{flex-direction:column;flex-grow:1;padding:16px 16px 88px;display:flex;overflow-y:auto}.mobile-header{border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);z-index:800;background:#0a0c10d9;justify-content:space-between;align-items:center;margin:-16px -16px 20px;padding:14px 20px;display:flex;position:sticky;top:0}.header-logo{letter-spacing:-.3px;font-size:18px;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.btn-logout-icon{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.btn-logout-icon:hover{color:var(--danger);background:#ef444426;border-color:#ef44444d}.btn-alarm-icon{border:1px solid var(--glass-border);cursor:pointer;background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.btn-alarm-icon.alarm-on{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b66}.btn-alarm-icon.alarm-off{color:var(--text-muted)}.btn-alarm-icon:hover{transform:scale(1.05)}.btn-back{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:14px;font-weight:600;transition:color .2s}.btn-back:hover{color:var(--accent-hover)}.dashboard-mobile-layout{flex-direction:column;gap:16px;width:100%;display:flex}.mobile-date-selector{background:#ffffff05;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.date-label{color:var(--text-secondary);font-size:13px;font-weight:600}.date-input-mobile{color:var(--text-primary);cursor:pointer;background:#6366f11a;border:1px solid #6366f14d;border-radius:10px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.date-input-mobile:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.col-timeline{border-radius:18px;padding:20px 16px}.timeline-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.timeline-header h2{letter-spacing:-.3px;font-size:18px;font-weight:700}.btn-add-task{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--accent-glow);border:none;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-add-task:hover{background:var(--accent-hover);box-shadow:0 6px 18px var(--accent-glow);transform:translateY(-1px)}.timeline-slots{flex-direction:column;gap:2px;display:flex}.timeline-slot-row{border-radius:10px;grid-template-columns:80px 1fr;align-items:stretch;min-height:50px;transition:background .15s;display:grid;overflow:hidden}.timeline-slot-row.free{opacity:.5}.timeline-slot-row.free:hover{opacity:1;background:#ffffff05}.timeline-slot-row.occupied{opacity:1;background:#ffffff03}.timeline-slot-row.current-slot{opacity:1;background:#6366f112;border:1px solid #6366f133}.timeline-slot-row.current-slot .slot-time .time-start{color:var(--accent)}.slot-time{border-right:1px solid var(--glass-border);color:var(--text-muted);text-align:right;flex-direction:column;justify-content:center;gap:2px;padding:10px 12px;font-size:11px;display:flex}.time-start{color:var(--text-secondary);font-size:12px;font-weight:700}.time-end{color:var(--text-muted);font-size:10px}.slot-content{align-items:center;padding:6px 10px;display:flex}.empty-slot-placeholder{color:var(--text-muted);cursor:pointer;text-align:left;opacity:0;background:0 0;border:none;border-radius:6px;width:100%;padding:4px 8px;font-family:inherit;font-size:12px;transition:opacity .15s,background .15s}.timeline-slot-row:hover .empty-slot-placeholder{opacity:1;color:var(--accent);background:#6366f114}.task-card{border-left:3px solid var(--accent);cursor:grab;background:#6366f10f;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 14px;transition:all .2s;display:flex}.task-card:active{cursor:grabbing;transform:scale(.99)}.task-card:hover{border-left-color:var(--accent-hover);background:#6366f11a}.task-card.completed{border-left-color:var(--success);opacity:.7;background:#10b9810d}.task-card.completed .task-title{color:var(--text-muted);text-decoration:line-through}.task-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.task-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.task-duration{color:var(--text-muted);align-items:center;margin-top:1px;font-size:10px;display:flex}.task-actions-wrapper{flex-shrink:0;align-items:center;gap:6px;display:flex}.btn-gcal{border:1px solid var(--glass-border);opacity:.6;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:all .2s;display:flex}.btn-gcal:hover{opacity:1;background:#ffffff1a;transform:scale(1.08)}.btn-complete-tick{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-complete-tick:hover{color:var(--success);background:#10b9811a;border-color:#10b98140}.btn-complete-tick.active{color:var(--success);background:#10b98126;border-color:#10b98159}.btn-delete-task{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-delete-task:hover{color:var(--danger);background:#ef44441a;border-color:#ef444440}.alarm-options{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.alarm-option-btn{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff08;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .18s;display:flex}.alarm-option-btn:hover{color:var(--text-primary);background:#6366f112;border-color:#6366f166}.alarm-option-btn.active{border-color:var(--accent);color:var(--accent);background:#6366f126;font-weight:600}.alarm-icon{align-items:center;display:flex}.alarm-label{line-height:1}.alarm-hint{color:var(--warning);background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;margin-top:8px;padding:7px 12px;font-size:12px}.time-preview{background:#6366f114;border:1px solid #6366f133;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.time-preview-range{color:var(--accent);letter-spacing:-.3px;font-size:15px;font-weight:700}.time-preview-duration{color:var(--text-muted);background:#ffffff0d;border-radius:6px;padding:3px 8px;font-size:11px}.task-alarm-badge{color:var(--warning);opacity:.85;align-items:center;gap:3px;margin-top:2px;font-size:10px;display:flex}.empty-timeline-state{text-align:center;border:1px dashed var(--glass-border);background:#ffffff03;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-icon{margin-bottom:16px;font-size:48px}.empty-timeline-state h4{margin-bottom:8px;font-size:16px;font-weight:700}.empty-timeline-state p{color:var(--text-secondary);max-width:280px;margin-bottom:24px;font-size:13px;line-height:1.5}.btn-add-task-empty{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 18px var(--accent-glow);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-add-task-empty:hover{background:var(--accent-hover);transform:translateY(-1px)}.full-page-form{border:1px solid var(--glass-border);background:#0f121af2;border-radius:18px;flex-direction:column;gap:20px;padding:24px;animation:.22s ease-out fadeIn;display:flex}.full-page-header h2{margin-bottom:4px;font-size:20px;font-weight:700}.full-page-header .subtitle{color:var(--text-secondary);font-size:13px}.inline-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.inline-form input,.inline-form select,.inline-form textarea{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);background:#ffffff0a;border-radius:12px;outline:none;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.inline-form textarea{resize:vertical;min-height:90px}.inline-form input:focus,.inline-form select:focus,.inline-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);background:#6366f10a}.inline-form select option{color:var(--text-primary);background-color:#141821}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{grid-template-columns:1fr 1.5fr;gap:12px;margin-top:8px;display:grid}.btn-cancel{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:12px;padding:14px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.btn-cancel:hover{color:var(--text-primary);background:#ffffff14}.btn-submit{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--accent-glow);border:none;border-radius:12px;padding:14px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.btn-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.message.error{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;padding:10px 14px;font-size:13px}.bottom-nav{height:var(--bottom-nav-height);border-top:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);z-index:900;padding-bottom:env(safe-area-inset-bottom,0);background:#0a0c10eb;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-muted);cursor:pointer;letter-spacing:.3px;background:0 0;border:none;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:4px;height:100%;font-family:inherit;font-size:10px;transition:color .2s;display:flex}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:hover{color:var(--text-primary)}.bottom-nav-item.create-btn{color:var(--text-muted)}.plus-circle{background:var(--accent);color:#fff;width:46px;height:46px;box-shadow:0 4px 16px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;margin-top:-20px;transition:all .2s;display:flex}.bottom-nav-item.create-btn:hover .plus-circle{background:var(--accent-hover);transform:scale(1.08)}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}:root{--bg-primary:#0a0c10;--bg-surface:#141821b3;--bg-surface-hover:#1e2430cc;--glass-border:#ffffff14;--glass-highlight:#ffffff08;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent:#6366f1;--accent-hover:#4f46e5;--accent-glow:#6366f159;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--sidebar-width:280px;--bottom-nav-height:64px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.glass{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000005e}.glass-card{-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);background:linear-gradient(135deg,#ffffff08,#ffffff03);border-radius:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
