.time-slot{min-height:60px;border-bottom:1px solid #eee;padding:2px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.time-slot:hover{background-color:var(--hover-color)}.event-card{padding:4px 8px;border-radius:4px;color:#333;font-size:12px;cursor:pointer;height:100%;width:100%;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.event-card:hover{box-shadow:0 2px 5px #0003}.event-time{font-weight:700;margin-bottom:2px}.event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-category{font-size:10px;opacity:.8;margin-top:2px}.event-card.dragging{opacity:.5;background-color:#f8f8f8}.time-slot.dragging-over{background-color:#e8f0fe;border:2px dashed #1a73e8}.week-view{display:flex;flex-direction:column;width:100%}.week-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1;background-color:#fff}.week-header h2{margin-left:16px;font-weight:400;font-size:18px}.week-grid{display:flex;flex:1;height:100%}.time-labels{display:flex;flex-direction:column;width:60px;min-width:60px;border-right:1px solid var(--border-color)}.day-header{min-height:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-bottom:1px solid var(--border-color);background-color:var(--secondary-color)}.hour-label{min-height:60px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border-color);color:#70757a;font-size:12px}.days-container{display:flex;flex:1;min-width:0;overflow-x:auto}.day-column{display:flex;flex-direction:column;flex:1;min-width:120px;border-right:1px solid var(--border-color)}.day-name{font-weight:500;font-size:14px}.day-date{font-size:24px;margin-top:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;width:90%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 16px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:18px;font-weight:500}.close-button{background:none;border:none;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-button:hover{background-color:var(--hover-color)}.event-form{padding:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:14px}.button-group{display:flex;justify-content:flex-end;margin-top:24px}.delete-button{background-color:#f44336;color:#fff;margin-right:auto}.delete-button:hover{background-color:#e53935}.save-button{background-color:var(--primary-color);color:#fff}.save-button:hover{background-color:#1565c0}.goals-sidebar{width:300px;min-width:280px;background-color:#f9f9f9;border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:0;position:sticky;top:0;left:0;right:0;bottom:0;z-index:1}.sidebar-section{display:flex;flex-direction:column;padding:15px;border-bottom:1px solid var(--border-color)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h3{font-size:16px;margin:0;color:var(--text-color);font-weight:500}.add-button{background-color:transparent;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:background-color .2s}.add-button:hover{background-color:#1a73e81a}.form-container{background-color:#fff;padding:12px;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px}.form-container .form-group{margin-bottom:12px}.form-container input,.form-container textarea,.form-container select{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-container textarea{resize:vertical;min-height:60px}.form-container .save-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;transition:background-color .2s;width:100%;font-weight:500;font-size:14px}.form-container .save-button:hover{background-color:#0d62c9}.empty-message{font-size:14px;color:#777;text-align:center;padding:20px 0;font-style:italic}.goal-items,.task-items{list-style:none;padding:0;margin:0;overflow-y:auto}.goal-item,.task-item{display:flex;justify-content:space-between;align-items:center}.goal-content,.task-content{flex:1;overflow:hidden}.goal-item{margin-bottom:8px;padding:10px 12px;border-radius:6px;background-color:#fff;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s;border-left:4px solid #ccc}.goal-item:hover{transform:translateY(-2px);box-shadow:0 3px 6px #00000026}.goal-item.selected{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.goal-title{font-weight:600;margin-bottom:5px;font-size:14px}.goal-category{font-size:12px;text-transform:capitalize;color:#666}.task-container{flex:1;overflow-y:auto;min-height:100px}.task-item{margin-bottom:8px;padding:10px 12px;border-radius:6px;background-color:#fff;box-shadow:0 1px 3px #0000001a;cursor:grab;transition:all .2s;position:relative}.task-item:hover{transform:translateY(-2px);box-shadow:0 3px 6px #00000026}.task-item.dragging{box-shadow:0 6px 12px #0003;opacity:.9;z-index:100}.task-item.completed{opacity:.7}.task-item.completed .task-title{text-decoration:line-through}.task-title{font-weight:600;margin-bottom:5px;font-size:14px}.task-details{display:flex;justify-content:space-between;font-size:12px;color:#0009}.task-priority{text-transform:capitalize;background-color:#0000001a;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.task-status{text-transform:capitalize}.drag-hint{position:absolute;bottom:-20px;left:0;right:0;text-align:center;background-color:#000000b3;color:#fff;font-size:10px;padding:4px;border-radius:4px;z-index:200}.delete-button{color:#777;font-size:18px;font-weight:700;padding:2px 8px;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;margin-left:8px;opacity:.5}.delete-button:hover{color:#f44336;background-color:#f443361a;opacity:1}.goal-item:hover .delete-button,.task-item:hover .delete-button{opacity:.8}:root{--primary-color: #1a73e8;--secondary-color: #f1f3f4;--text-color: #202124;--border-color: #dadce0;--hover-color: #e8f0fe}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--text-color);background-color:#fff}.app-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);background-color:#fff;height:64px}.app-header h1{font-size:22px;font-weight:500;color:var(--primary-color)}.app-content{display:flex;flex-direction:row}button{cursor:pointer;background-color:transparent;border:none;color:var(--text-color);font-weight:500;padding:8px 16px;border-radius:4px;transition:background-color .2s}button:hover{background-color:var(--hover-color)}.nav-button{border:1px solid var(--border-color);margin-right:8px}input,select{padding:8px 12px;border:1px solid var(--border-color);background-color:unset;border-radius:4px;font-size:14px;width:100%}input:focus,select:focus{outline:none;border-color:var(--primary-color)}:root{font-family:Roboto,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
