@tailwind base;@tailwind components;@tailwind utilities;body{margin:0;padding:0;box-sizing:border-box;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,맑은 고딕,apple-system,"system-ui","sans-serif";font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-variant-ligatures:common-ligatures}.App,#root{margin:0;padding:0;box-sizing:border-box;font-family:inherit}*{font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,맑은 고딕,apple-system,"system-ui","sans-serif";letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word}@supports (-webkit-touch-callout: none){body{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-weight:400}}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em;line-height:1.3}button{font-family:inherit;font-weight:500;letter-spacing:-.01em}input,textarea,select{font-family:inherit;font-weight:400}.schedule-container{max-width:100%;overflow-x:hidden;margin:0 auto;padding:0;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,맑은 고딕,apple-system,"system-ui","sans-serif";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}.schedule-header{text-align:center;margin-bottom:12px;margin-top:12px}.schedule-header h1{font-size:24px;font-weight:600;color:#333;margin:0 0 4px;letter-spacing:-.02em;line-height:1.2}.schedule-header p{margin:0;color:#666;font-size:13px}.schedule-date-info{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;font-size:12px}.task-input-section{margin-bottom:12px}.task-input-group{display:flex;gap:12px;max-width:600px;margin:0 auto}.task-input{flex:1;padding:8px 12px;border:2px solid #e1e5e9;border-radius:6px;font-size:15px;transition:border-color .2s ease}.task-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.add-task-button{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.add-task-button:hover{background:#45a049}.add-task-button:active{background:#3d8b40}.tasks-container{margin-bottom:8px;max-width:1600px;margin-left:auto;margin-right:auto}.empty-state{text-align:center;padding:24px 16px;color:#666;background:#f8f9fa;border-radius:8px;border:2px dashed #ddd}.empty-state p{margin:4px 0;font-size:15px}.tasks-list{display:flex;flex-direction:column;gap:4px}.task-item{background:#fff;border:2px solid #e9ecef;overflow:visible;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.task-item:hover{border-color:#4caf50;box-shadow:0 4px 12px #0000001a}.task-item.dragging{opacity:.7;transform:scale(.99);box-shadow:0 8px 25px #0000004d;z-index:1000;transition:none!important;pointer-events:none}.task-item.dragging .subtasks-container{opacity:1;transform:none;pointer-events:auto}.task-header{display:flex;align-items:center;padding:8px;background:#f8f9fa;border-bottom:1px solid #e9ecef;gap:10px}.task-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab!important;padding:4px;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:28px;height:28px;border:2px solid;font-weight:700;color:#fff;box-shadow:0 1px 3px #0003;position:relative;z-index:10;pointer-events:auto}.task-drag-handle:hover{color:#4caf50;background-color:#4caf501a}.task-drag-handle:active{cursor:grabbing;background-color:#4caf5033}.drag-icon{font-size:14px;line-height:1;letter-spacing:-1px;pointer-events:none;font-weight:700}.expand-button{background:none;border:none;font-size:16px;cursor:pointer;padding:2px;border-radius:3px;transition:background-color .2s ease}.expand-button:hover{background-color:#0000000d}.task-title-section{flex:1;min-width:0}.task-title{margin:0;font-size:16px;font-weight:600;color:#333;cursor:text}.task-title-input{width:100%;padding:6px 10px;border:2px solid #4caf50;border-radius:5px;font-size:16px;font-weight:600;background:#fff}.task-title-input:focus{outline:none;box-shadow:0 0 0 3px #4caf501a}.task-edit-container{width:100%;display:flex;flex-direction:column;gap:8px}.task-edit-container input{width:100%;padding:6px 10px;border:2px solid #4caf50;border-radius:5px;font-size:16px;background:#fff;transition:border-color .2s ease}.task-edit-container input:focus{outline:none;box-shadow:0 0 0 3px #4caf501a}.task-edit-container input[type=url]{font-size:14px;font-weight:400;color:#666}.task-edit-container input[type=url]:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.task-title-and-url{width:100%;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.task-url-input-group{display:flex;align-items:center;gap:6px;min-width:200px}.task-url-input-group label{font-size:12px;color:#666;font-weight:500;min-width:30px}.task-url-input-inline{flex:1;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;transition:border-color .2s ease;background:#fff}.task-url-input-inline:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.task-url-input-inline::placeholder{color:#999;font-style:italic}.task-actions{display:flex;align-items:center;gap:6px}.task-index{color:#fff;padding:2px 6px;border-radius:10px;font-size:13px;font-weight:600;min-width:20px;text-align:center}.color-picker-container{position:relative;display:inline-block}.color-button{background:none;border:2px solid rgba(255,255,255,.3);font-size:12px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .2s ease;color:#fff;min-width:28px;text-align:center}.color-button:hover{border-color:#ffffff80;transform:scale(1.05)}.color-picker-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:4px}.color-option{width:24px;height:24px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease}.color-option:hover{border-color:#333;transform:scale(1.1)}.add-subtask-button,.edit-button,.delete-button{background:none;border:none;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:background-color .2s ease}.add-subtask-button:hover{background-color:#4caf501a}.edit-button:hover{background-color:#ffc1071a}.delete-button:hover{background-color:#dc35451a}.subtasks-container{padding:8px;background:#fafbfc;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;pointer-events:auto}.empty-subtasks{text-align:center;padding:12px;color:#666;background:#fff;border:2px dashed #ddd;border-radius:6px;margin:4px 0;transition:all .2s ease}.empty-subtasks p{margin:4px 0;font-size:14px}.sort-info{font-size:12px!important;color:#4caf50!important;font-style:italic;margin-top:4px!important}.subtask-item{display:flex;align-items:center;gap:10px;padding:0 0 0 8px;background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:3px;transition:all .2s ease;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;overflow:visible}.subtask-item:hover{border-color:#4caf50;box-shadow:0 2px 8px #0000001a}.subtask-item.dragging{opacity:.7;transform:rotate(1deg) scale(.98);box-shadow:0 4px 15px #0003;z-index:1000;transition:none!important}.drop-zone{min-height:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin:2px 0;border-radius:4px}.drop-zone.active{min-height:16px;background-color:#4caf501a;border:2px dashed rgba(76,175,80,.5)}.drop-indicator-line{width:100%;height:4px;background:linear-gradient(90deg,#4caf50cc,#4caf5066,#4caf50cc);border-radius:2px;margin:0 16px;animation:pulse 1.5s ease-in-out infinite}.drop-indicator{height:4px;background:linear-gradient(90deg,transparent,#4caf50,transparent);border-radius:2px;margin:4px 0;opacity:0;transform:scaleX(0);transition:all .2s ease;position:relative}.drop-indicator.active{opacity:1;transform:scaleX(1);animation:pulse 1s infinite}.drop-indicator:before,.drop-indicator:after{content:"";position:absolute;top:-2px;width:8px;height:8px;background:#4caf50;border-radius:50%}.drop-indicator:before{left:-4px}.drop-indicator:after{right:-4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.empty-subtasks:hover{border-color:#4caf50;background:#4caf500d}.empty-subtasks .drop-hint{font-size:12px;color:#999;margin-top:8px}.subtask-item:last-child{margin-bottom:0}.subtask-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:#666;padding:4px;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:24px;height:24px;background:#4caf501a;border:2px solid rgba(76,175,80,.2);font-weight:700}.subtask-drag-handle:hover{color:#4caf50;background-color:#4caf501a}.subtask-drag-handle:active{cursor:grabbing}.subtask-content{flex:1;display:flex;align-items:center;gap:12px;padding:0}.subtask-title-section{flex:1;min-width:180px;display:flex;align-items:center;min-height:28px}.subtask-title{font-size:14px;color:#000;cursor:text;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.subtask-title-input{width:100%;padding:4px 8px;border:2px solid #4caf50;border-radius:3px;font-size:13px;background:#fff}.subtask-title-input:focus{outline:none;box-shadow:0 0 0 3px #4caf501a}.subtask-dates{display:flex;gap:8px;align-items:center;overflow:visible}.date-group{display:flex;align-items:center;gap:4px}.date-group label{font-size:13px;color:#666;font-weight:500;min-width:26px}.date-input{padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:13px;width:110px;letter-spacing:-1px}.date-input:focus{outline:none;border-color:#4caf50}.date-reset-button{background:none;border:none;color:#999;font-size:13px;cursor:pointer;padding:2px 4px;border-radius:2px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease;min-width:18px;height:18px}.date-reset-button:hover{background-color:#f5f5f5;color:#666}.date-reset-button:active{background-color:#e0e0e0;color:#333}.url-group label{font-size:12px;color:#666;font-weight:500}.url-input{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;transition:border-color .2s ease}.url-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.url-input::placeholder{color:#999;font-style:italic}.task-url-section{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid #e9ecef;background:#f8f9fa}.task-url-section label{min-width:40px;font-size:12px;color:#666;font-weight:500}.task-url-input{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;transition:border-color .2s ease;background:#fff}.task-url-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.task-url-input::placeholder{color:#999;font-style:italic}.assignee-group{display:flex;align-items:center;gap:8px;overflow:visible}.assignee-group label{min-width:60px;font-size:12px;color:#666;font-weight:500}.assignee-select{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;transition:border-color .2s ease;background:#fff;cursor:pointer}.assignee-select:focus{outline:none;border-color:#4caf50}.assignee-select option{padding:4px 8px}.people-manager{position:fixed;bottom:90px;left:0;background:#fff;border:2px solid #e9ecef;border-left:none;border-radius:0 8px 8px 0;box-shadow:2px 0 12px #00000026;z-index:1000;max-height:calc(100vh - 120px);overflow:hidden;font-family:inherit;transition:width .3s ease-in-out}.people-manager.collapsed{width:50px}.people-manager.expanded{width:660px;display:flex}.people-manager-main{width:300px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;height:100%}.people-manager.expanded .people-manager-main{border-right:1px solid #e9ecef}.people-manager-expanded{flex:1;padding:16px;background:#f8f9fa;overflow-y:auto;display:none}.people-manager.expanded .people-manager-expanded{display:block}.people-manager-header{padding:12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;align-items:center;gap:4px}.people-toggle-button{background:none;border:none;cursor:pointer;font-size:16px;color:#495057;transition:color .2s ease;padding:4px;border-radius:4px}.people-toggle-button:hover{background:#e9ecef;color:#2e7d2e}.people-manager-title{font-size:13px;font-weight:600;color:#495057}.people-manager.collapsed .people-manager-title{display:none}.people-manager.collapsed .people-toggle-button{width:32px;height:32px;border:2px solid #e9ecef;border-radius:4px;background:#f8f9fa;display:flex;align-items:center;justify-content:center;font-size:14px;color:#495057;transition:all .2s ease}.people-manager.collapsed .people-toggle-button:hover{background:#e9ecef;border-color:#495057;color:#2e7d2e}.people-manager.collapsed .people-list{display:none}.filter-reset-button{background:#c0b2b4;border:none;border-radius:3px;color:#fff;font-size:10px;padding:2px 4px;margin-left:0;cursor:pointer;transition:all .2s ease;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;line-height:1}.filter-reset-button:hover{background:#c82333;transform:scale(1.1)}.people-input-section{display:flex;flex-direction:column;gap:12px;background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.people-input-section h4{margin:0 0 12px;font-size:14px;color:#495057;font-weight:600}.people-input-row{display:flex;gap:8px;align-items:center}.person-input{flex:1;padding:10px 12px;border:2px solid #e9ecef;border-radius:6px;font-size:13px;transition:all .2s ease;background:#fff}.person-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.person-order-input{width:80px;padding:10px 12px;border:2px solid #e9ecef;border-radius:6px;font-size:13px;transition:all .2s ease;background:#fff;text-align:center}.person-order-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.add-person-button{padding:10px 16px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;width:100%}.add-person-button:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.people-list{padding:4px;flex:1;overflow-y:auto;min-height:0}.person-item{display:flex;align-items:center;padding:2px 8px;margin:2px 0;border-radius:4px;transition:all .2s ease;background:#fff;border:1px solid #e9ecef;gap:2px;width:91px;height:30px}.people-manager.expanded .person-item{width:auto}.person-item:hover{background:#e8f5e8;border-color:#4caf50}.person-item.selected{background:#e8f5e8;border-color:#4caf50;font-weight:600;color:#2e7d2e}.person-name{font-size:13px;font-weight:inherit;flex:1}.person-name.clickable{cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;margin:-4px -8px}.no-people{text-align:center;color:#999;font-size:12px;margin:16px 0;font-style:italic}.no-people{text-align:center;color:#999;font-size:12px;margin:0;padding:16px;font-style:italic}.person-item{display:flex;align-items:center;padding:2px 8px;border-radius:4px;margin-bottom:4px;transition:background-color .2s ease;gap:8px}.person-item:hover{background:#f8f9fa}.person-name{font-size:13px;color:#333;flex:1}.person-name.clickable{cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.person-item.selected{background:#e8f5e8;border:1px solid #4caf50}.person-item.selected .person-name{color:#2e7d2e;font-weight:600}.person-order-display{width:50px;padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:12px;text-align:center;transition:border-color .2s ease}.person-order-display:focus{outline:none;border-color:#4caf50}.delete-person-button{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:2px;transition:background-color .2s ease}.delete-person-button:hover{background:#ffe6e6}.person-holiday-count{font-size:12px;color:#ff9800;background:#ff98001a;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:600}.holiday-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.holiday-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.holiday-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0}.holiday-modal-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.holiday-modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:all .2s ease}.holiday-modal-close:hover{background:#0000001a;color:#333}.holiday-modal-content{padding:24px}.holiday-section{margin-bottom:24px}.holiday-section:last-child{margin-bottom:0}.holiday-section h4{margin:0 0 16px;font-size:16px;color:#333;font-weight:600;display:flex;align-items:center;gap:8px}.holiday-checkbox-label{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:background-color .2s ease;margin-bottom:8px}.holiday-checkbox-label:hover{background:#4caf500d}.holiday-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#4caf50}.holiday-checkbox-text{font-size:14px;color:#333;font-weight:500}.personal-holiday-list{display:flex;flex-direction:column;gap:4px}.no-people-holiday{color:#666;font-style:italic;margin:0;padding:12px;text-align:center;background:#f8f9fa;border-radius:6px}.subtask-actions{display:flex;align-items:center;gap:4px}.parent-selector{position:relative}.parent-change-button{background:none;border:none;padding:6px;border-radius:4px;cursor:pointer;transition:background-color .2s ease;font-size:16px;color:#666}.parent-change-button:hover{background:#e3f2fd;color:#2196f3}.parent-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:200px;max-width:300px;max-height:300px;overflow-y:auto}.parent-dropdown-header{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-weight:600;font-size:14px;color:#333;border-radius:8px 8px 0 0}.parent-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.parent-option:hover:not(:disabled){background:#f8f9fa}.parent-option:disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.parent-option:last-child{border-bottom:none;border-radius:0 0 8px 8px}.parent-task-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.current-indicator{color:#666;font-size:12px;font-style:italic;margin-left:auto}.highlight-focus{animation:focus-highlight 4s ease-out}.gantt-task-group.highlight-focus .gantt-task-label{animation:gantt-task-focus-highlight 4s ease-out}.gantt-subtask-row.highlight-focus .gantt-subtask-label{animation:gantt-subtask-focus-highlight 4s ease-out}@keyframes focus-highlight{0%{background-color:#4caf5066;box-shadow:0 0 0 4px #4caf5066}30%{background-color:#4caf5033;box-shadow:0 0 0 3px #4caf504d}70%{background-color:#4caf501a;box-shadow:0 0 0 2px #4caf5033}to{background-color:transparent;box-shadow:none}}@keyframes gantt-task-focus-highlight{0%{background-color:#4caf5099}30%{background-color:#4caf5066}70%{background-color:#4caf5033}to{background-color:transparent}}@keyframes gantt-subtask-focus-highlight{0%{background-color:#2196f399}30%{background-color:#2196f366}70%{background-color:#2196f333}to{background-color:transparent}}.gantt-subtask-label .subtask-number:hover{background-color:#4caf501a;border-radius:4px;transition:background-color .2s ease}.gantt-resize-handle{position:absolute;right:0;top:0;width:4px;height:100%;background-color:transparent;cursor:col-resize;z-index:10;transition:background-color .2s ease}.gantt-resize-handle:hover{background-color:#4caf504d}.gantt-resize-handle:active{background-color:#4caf5080}.gantt-chart.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.gantt-chart.resizing *{cursor:col-resize!important}.gantt-chart.resizing .gantt-task-label,.gantt-chart.resizing .gantt-subtask-label{-webkit-user-select:none;user-select:none}.subtask-index{background:#dee2e6;color:#495057;padding:1px 4px;border-radius:6px;font-size:10px;font-weight:500;min-width:16px;text-align:center}.schedule-stats{display:flex;justify-content:center;gap:20px;padding:8px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.gantt-main-container{display:flex;background:#fff;border:none;border-radius:6px;overflow:hidden;max-height:90vh;position:relative;border-bottom:2px solid #dee2e6}.gantt-labels-container{flex-shrink:0;background:#fff;border-right:2px solid #dee2e6;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.gantt-labels-content{flex:1;overflow-y:auto;overflow-x:hidden}.gantt-chart-container{flex:1;overflow-x:auto;overflow-y:auto;background:#fff}.gantt-container{background:#fff;border:none;border-radius:6px;overflow-x:auto;overflow-y:visible;position:relative}.date-hover-tooltip{position:fixed;top:60px;left:50%;transform:translate(-50%);margin-top:8px;background:#fff;border:2px solid #e9ecef;border-radius:6px;padding:8px 12px;box-shadow:0 4px 12px #00000026;z-index:1000;white-space:nowrap;font-size:12px;min-width:200px;color:#333!important}.date-hover-tooltip *{color:#333!important}.date-hover-tooltip:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border:4px solid transparent;border-bottom-color:#e9ecef}.date-hover-tooltip:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border:4px solid transparent;border-bottom-color:#fff}.holiday-toggle{display:flex;align-items:center;gap:6px;margin-top:4px}.holiday-checkbox{width:14px;height:14px;cursor:pointer}.holiday-label{color:#666;cursor:pointer;font-size:13px}.gantt-header{padding:12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;text-align:center;min-width:max-content;white-space:nowrap}.gantt-header h3{margin:0 0 4px;font-size:18px;color:#333}.gantt-header p{margin:0;font-size:14px;color:#666}.gantt-chart{background:#fff;width:100%;min-width:max-content;position:relative;margin-top:0}.gantt-chart.hide-bottom-border{border-bottom:none}.gantt-timeline{background:#f8f9fa;min-width:max-content;position:sticky;top:0;z-index:103;border-bottom:2px solid #dee2e6;box-shadow:0 2px 4px #0000001a;overflow:hidden;transform:translateZ(0);height:50px}.gantt-month-row{display:flex;border-bottom:1px solid #e9ecef;overflow:hidden;transform:translateZ(0);height:25px}.gantt-month-dates{display:flex;flex:1}.gantt-date-row{display:flex;overflow:hidden;transform:translateZ(0);height:25px}.gantt-date-dates{display:flex;flex:1}.gantt-month-header{display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-right:1px solid #e9ecef;font-size:12px;font-weight:600;color:#333;padding:4px 0;text-align:center;box-sizing:border-box}.gantt-fixed-header{position:sticky;top:0;z-index:106;background:#f8f9fa;border-bottom:2px solid #dee2e6;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:50px;flex-shrink:0;left:120px}.gantt-task-labels-month{min-width:150px;flex-shrink:0;font-weight:600;font-size:12px;color:#666;border-right:1px solid #e9ecef;display:flex;align-items:center;background:#f8f9fa;justify-content:center;height:50px;overflow:hidden;z-index:107}.gantt-task-labels{min-width:150px;flex-shrink:0;padding:8px 12px;font-weight:600;font-size:14px;color:#333;border-right:1px solid #e9ecef;display:flex;align-items:center;left:0;background:#f8f9fa;z-index:104}.gantt-dates{display:flex;flex:1}.gantt-date{width:30px;min-width:30px;flex-shrink:0;text-align:center;font-size:12px;line-height:20px;letter-spacing:-.5px;color:#666;position:relative;padding:0;box-sizing:border-box;cursor:pointer;transition:background-color .2s ease}.gantt-date:hover{background-color:#4caf501a}.gantt-date:not(:last-child){border-right:1px solid #e9ecef}.gantt-date.weekend{background-color:#dc35451a}.gantt-date.holiday{background-color:#dc35454d;color:#fff;font-weight:600}.gantt-day-column.personal-holiday{background-color:#dc35454d}.personal-holiday-indicator{position:absolute;top:1px;right:1px;font-size:8px;color:#ff9800;background:#ffffffe6;border-radius:2px;padding:1px;line-height:1}.gantt-date.today{background-image:repeating-linear-gradient(90deg,#3634341a,#3634341a 2px,#3634344d 2px,#3634344d 4px);color:#333}.date-short{white-space:nowrap}.gantt-task-group{position:relative;width:100%;display:block}.gantt-task-row{display:flex;background:#fafbfc;min-width:max-content;position:relative;transition:all .2s ease}.gantt-task-row:hover{background:linear-gradient(135deg,#4caf5014,#4caf5008);box-shadow:inset 0 0 0 1px #4caf5033}.gantt-task-group:before{content:"";position:absolute;top:0;left:0;height:1px;background:repeating-linear-gradient(to right,#4b4e3e 0,#4b4e3e 4px,transparent 4px,transparent 8px);z-index:102}.gantt-task-group:first-of-type:before{display:none}.gantt-task-group.first-task:before{display:none}.gantt-task-label{min-width:200px;flex-shrink:0;padding:6px 8px;display:flex;align-items:center;gap:2px;left:0;background:#fafbfc;z-index:104;transition:all .2s ease;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.gantt-task-row:hover .gantt-task-label{background:linear-gradient(135deg,#4caf501f,#4caf500f),#fafbfc}.task-number{color:#fff;padding:2px 6px;border-radius:10px;font-size:12px;font-weight:600;min-width:20px;text-align:center;margin-right:4px;flex-shrink:0}.task-name{font-size:15px;letter-spacing:-.5px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.gantt-add-subtask-button{background:none;border:none;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .2s ease;color:#4caf50;margin-left:6px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gantt-add-subtask-button:hover{background-color:#4caf501a;transform:scale(1.1)}.gantt-add-subtask-button:active{transform:scale(.95)}.gantt-header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.gantt-add-task-button{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .2s ease;color:#2196f3;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.gantt-add-task-button:hover{background-color:#2196f31a;transform:scale(1.1)}.gantt-add-task-button:active{transform:scale(.95)}.task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.task-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.task-modal-header{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;position:relative}.task-modal-header h3{margin:0;font-size:20px;font-weight:600}.task-modal-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.task-modal-close:hover{background-color:#fff3}.task-modal-content{padding:24px;overflow-y:auto;flex:1}.task-modal-field{margin-bottom:20px}.task-modal-field:last-child{margin-bottom:0}.task-modal-label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.task-modal-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .2s ease;box-sizing:border-box}.task-modal-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.task-modal-selected-color{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.task-modal-selected-color-box{width:24px;height:24px;border-radius:6px;border:2px solid rgba(0,0,0,.1)}.task-modal-selected-color-text{font-size:14px;color:#666;font-weight:500}.task-modal-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #e9ecef}.task-modal-color-option{width:44px;height:44px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;position:relative}.task-modal-color-option:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003;border-color:#0003}.task-modal-color-option.selected{border-color:#333;transform:scale(1.05);box-shadow:0 0 0 3px #3333}.task-modal-color-option.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.task-modal-url-preview{display:flex;gap:8px}.task-modal-url-icon{background:#f5f5f5;border:1px solid #e0e0e0;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;text-decoration:none;color:#333;font-size:14px;display:flex;align-items:center;gap:6px}.task-modal-url-icon:hover{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.task-modal-footer{padding:16px 24px;background:#f8f9fa;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e0e0e0}.task-modal-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:80px}.task-modal-button.cancel{background:#f5f5f5;color:#666}.task-modal-button.cancel:hover{background:#e0e0e0;color:#333}.task-modal-button.save{background:#2196f3;color:#fff}.task-modal-button.save:hover{background:#1976d2;box-shadow:0 2px 8px #2196f34d}.subtask-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.subtask-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:95%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.subtask-modal-header{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;position:relative}.subtask-modal-header h3{margin:0;font-size:20px;font-weight:600}.subtask-modal-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.subtask-modal-close:hover{background-color:#fff3}.subtask-modal-content{padding:32px;overflow-y:auto;flex:1}.subtask-modal-field{margin-bottom:24px}.subtask-modal-field:last-child{margin-bottom:0}.subtask-modal-label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.subtask-modal-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .2s ease;box-sizing:border-box}.subtask-modal-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.subtask-modal-selected-assignees{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.subtask-modal-parent-list{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f0f8ff;border-radius:8px;border:1px solid #e9ecef}.subtask-modal-parent-checkbox-label{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-radius:8px;transition:all .2s ease;background:#fff;border:1px solid #e0e0e0}.subtask-modal-parent-checkbox-label:hover{background:#e3f2fd;border-color:#2196f3}.subtask-modal-parent-radio{margin-right:12px;cursor:pointer;width:18px;height:18px;accent-color:#2196f3}.subtask-modal-parent-color{width:16px;height:16px;border-radius:4px;margin-right:12px;border:1px solid rgba(0,0,0,.1)}.subtask-modal-parent-text{font-size:15px;color:#333;font-weight:500;flex:1}.subtask-modal-parent-current{font-size:13px;color:#2196f3;font-weight:600;margin-left:8px}.subtask-modal-assignee-list{display:flex;flex-direction:column;gap:8px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #e9ecef}.subtask-modal-assignee-tag{background:#4caf50;color:#fff;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:500}.subtask-modal-assignee-checkbox-label{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-radius:8px;transition:all .2s ease;background:#fff;border:1px solid #e0e0e0}.subtask-modal-assignee-checkbox-label:hover{background:#e8f5e8;border-color:#4caf50}.subtask-modal-assignee-checkbox{margin-right:12px;cursor:pointer;width:18px;height:18px;accent-color:#4caf50}.subtask-modal-assignee-checkbox-text{font-size:15px;color:#333;font-weight:500}.subtask-modal-no-assignees{padding:20px;text-align:center;color:#999;font-size:16px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.subtask-modal-url-preview{display:flex;gap:8px}.subtask-modal-url-icon{background:#f5f5f5;border:1px solid #e0e0e0;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;text-decoration:none;color:#333;font-size:14px;display:flex;align-items:center;gap:6px}.subtask-modal-url-icon:hover{background:#e8f5e8;border-color:#4caf50;color:#45a049}.subtask-modal-footer{padding:16px 24px;background:#f8f9fa;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e0e0e0}.subtask-modal-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:80px}.subtask-modal-button.cancel{background:#f5f5f5;color:#666}.subtask-modal-button.cancel:hover{background:#e0e0e0;color:#333}.subtask-modal-button.save{background:#4caf50;color:#fff}.subtask-modal-button.save:hover{background:#45a049;box-shadow:0 2px 8px #4caf504d}.subtask-modal-button.delete{background:#f44336;color:#fff}.subtask-modal-button.delete:hover{background:#d32f2f;box-shadow:0 2px 8px #f443364d}.gantt-task-timeline{flex:1;position:relative;transition:all .2s ease;height:26px}.gantt-task-row:hover .gantt-task-timeline{background:linear-gradient(135deg,#4caf500f,#4caf5005)}.gantt-weekend-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;z-index:1}.gantt-day-column{width:30px;min-width:30px;flex-shrink:0;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;cursor:default;transition:background-color .2s ease;position:relative}.day-number{font-size:11px;font-weight:500;color:#a89292;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;position:relative}.gantt-day-column:not(:last-child){border-right:1px solid #e9ecef}.gantt-day-column.weekend{background-color:#dc354514}.gantt-day-column.holiday{background-color:#dc354540}.gantt-day-column.today{background-image:repeating-linear-gradient(90deg,#3634341a,#3634341a 2px,#3634344d 2px,#3634344d 4px)}.gantt-subtask-row{display:flex;min-width:max-content;position:relative;transition:all .2s ease}.gantt-subtask-row:hover{background:linear-gradient(135deg,#2196f314,#2196f308);box-shadow:inset 0 0 0 1px #2196f333}.gantt-subtask-label{flex-shrink:0;padding:4px 8px;align-items:center;gap:2px;background:#fff;left:120px;z-index:104;transition:all .2s ease;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.gantt-subtask-row:hover .gantt-subtask-label{background:linear-gradient(135deg,#2196f31f,#2196f30f),#fff}.subtask-number{background:#dee2e6;color:#495057;padding:1px 5px;border-radius:6px;font-size:13px;font-weight:500;min-width:16px;text-align:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-right:4px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:inline-block;position:absolute;left:9px;top:17%}.subtask-number:hover{background:#4caf50;color:#fff;transform:scale(1.1)}.subtask-name{display:inline-block;font-size:14px;letter-spacing:-.5px;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;width:100%;cursor:text}.subtask-link{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 4px;border-radius:3px;font-size:12px;text-decoration:none;background:#2196f31a;color:#2196f3;transition:all .2s ease;cursor:pointer}.subtask-link:hover{background:#2196f333;color:#1976d2;transform:scale(1.1)}.subtask-link:active{transform:scale(.95)}.custom-tooltip{background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;max-width:300px;word-wrap:break-word;white-space:normal;text-align:center;line-height:1.3;box-shadow:0 4px 12px #0000004d;pointer-events:none;animation:tooltip-appear .15s ease-out;border:1px solid rgba(255,255,255,.1)}.custom-tooltip:before{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}.custom-tooltip:after{content:"";position:absolute;bottom:-11px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6}@keyframes tooltip-appear{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.gantt-subtask-timeline{flex:1;position:relative;background:#fff;transition:all .2s ease;height:26px}.gantt-subtask-row:hover .gantt-subtask-timeline{background:linear-gradient(135deg,#2196f30f,#2196f305)}.gantt-bar{position:absolute;top:4px;height:17px;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:10px;display:flex;align-items:center;justify-content:flex-start;min-width:20px;box-shadow:0 1px 3px #0003;overflow:hidden;z-index:2;cursor:move;transition:all .2s ease}.gantt-bar:has(.gantt-assignee-text:hover),.gantt-bar:has(.gantt-assignee-text.highlight),.gantt-bar:has([data-assignee]:hover),.gantt-bar:has([data-assignee].highlight){overflow:visible;z-index:15}.gantt-bar:has(.gantt-assignee-text:hover) .gantt-bar-content,.gantt-bar:has(.gantt-assignee-text.highlight) .gantt-bar-content,.gantt-bar:has([data-assignee]:hover) .gantt-bar-content,.gantt-bar:has([data-assignee].highlight) .gantt-bar-content,.gantt-bar:has(.gantt-assignee-text:hover) .gantt-info-combined,.gantt-bar:has(.gantt-assignee-text.highlight) .gantt-info-combined,.gantt-bar:has([data-assignee]:hover) .gantt-info-combined,.gantt-bar:has([data-assignee].highlight) .gantt-info-combined{overflow:visible}.gantt-assignee-text:hover,.gantt-assignee-text.highlight,[data-assignee]:hover,[data-assignee].highlight{position:relative;z-index:20}.gantt-subtask-row:hover .gantt-bar{box-shadow:0 2px 8px #0000004d}.gantt-info-combined{position:absolute;top:2px;height:22px;font-size:13px;color:#fff;font-weight:600;white-space:nowrap;padding:0 4px;display:flex;align-items:center;gap:4px;z-index:3;text-shadow:-1px -1px 0 #4e4e4e,1px -1px 0 #4e4e4e,-1px 1px 0 #4e4e4e,1px 1px 0 #4e4e4e,0 0 6px #4e4e4e}.gantt-bar .gantt-info-combined{position:relative;top:0;left:2px;font-size:13px;color:#fff;font-weight:500;text-shadow:0 0 6px #4e4e4e,0 0 8px #4e4e4e;margin-left:4px;text-overflow:ellipsis;overflow:hidden;padding:1px 4px}.gantt-date-text,.gantt-assignee-container{color:inherit;font-weight:inherit;text-shadow:inherit}.gantt-assignee-text,[data-assignee]{color:inherit;font-weight:inherit;text-shadow:inherit;cursor:pointer;transition:all .2s ease}.gantt-assignee-text.filtered,[data-assignee].filtered{border-radius:3px;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000,-1px -1px 2px #000000,1px -1px 2px #000000,-1px 1px 2px #000000,1px 1px 2px #000000,0 0 4px #000000,0 0 8px #000000,0 0 12px #000000}.gantt-assignee-text:hover,.gantt-assignee-text.highlight,[data-assignee]:hover,[data-assignee].highlight{border-radius:3px;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000,-1px -1px 4px #000000,1px -1px 4px #000000,-1px 1px 4px #000000,1px 1px 4px #000000,0 0 6px #000000,0 0 12px #000000,0 0 18px #000000,0 0 24px #000000,0 0 30px #000000;animation:blur-breathing .4s ease-in-out infinite alternate}.gantt-assignee-text.filtered:hover,.gantt-assignee-text.filtered.highlight,[data-assignee].filtered:hover,[data-assignee].filtered.highlight{border-radius:3px;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000,-1px -1px 5px #000000,1px -1px 5px #000000,-1px 1px 5px #000000,1px 1px 5px #000000,0 0 8px #000000,0 0 16px #000000,0 0 24px #000000,0 0 32px #000000,0 0 40px #000000;animation:blur-breathing .4s ease-in-out infinite alternate}.gantt-external-title{position:absolute;top:4px;height:17px;display:flex;align-items:center;z-index:3;pointer-events:none}.gantt-external-title-text{font-size:13px;color:#fff;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:150px;padding:0 4px;text-shadow:-1px -1px 0 #4e4e4e,1px -1px 0 #4e4e4e,-1px 1px 0 #4e4e4e,1px 1px 0 #4e4e4e,0 0 6px #4e4e4e}.gantt-resize-handle{position:absolute;top:0;bottom:0;width:8px;background:#fff9;cursor:ew-resize;opacity:.7;transition:all .2s ease;z-index:10}.gantt-bar:hover .gantt-resize-handle{opacity:1;background:#fffc}.gantt-resize-start{left:-2px;border-radius:10px 4px 4px 10px}.gantt-resize-end{right:-2px;border-radius:4px 10px 10px 4px}.gantt-resize-handle:hover{background:#ffffffe6!important;width:10px}.assignee-selector{position:relative;width:100%}.assignee-display{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;cursor:pointer;transition:border-color .2s ease;min-height:32px;min-width:120px}.assignee-display:hover{border-color:#4caf50}.assignee-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.assignee-tag{background:#4caf50;color:#fff;padding:2px 6px;border-radius:12px;font-size:13px;font-weight:500}.assignee-placeholder{color:#999;font-size:13px;font-style:italic}.assignee-arrow{color:#666;font-size:12px;margin-left:8px;-webkit-user-select:none;user-select:none}.assignee-dropdown{position:absolute;top:100%;left:0;right:0;min-width:120px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 8px 24px #0003;z-index:9999;max-height:200px;overflow-y:auto;margin-top:2px}.assignee-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:0;transition:background-color .2s ease;font-size:13px}.assignee-checkbox-label:hover{background-color:#4caf501a}.assignee-checkbox-label:first-child{border-radius:4px 4px 0 0}.assignee-checkbox-label:last-child{border-radius:0 0 4px 4px}.assignee-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#4caf50}.assignee-checkbox-text{color:#333;font-weight:500;-webkit-user-select:none;user-select:none}.no-assignees{color:#999;font-style:italic;font-size:12px;padding:12px;text-align:center}.subtasks-container{padding:8px;background:#fafbfc;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;pointer-events:auto;overflow:visible}.url-buttons{display:flex;gap:4px;margin-left:8px}.url-button{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:4px 6px;cursor:pointer;font-size:12px;transition:all .2s ease;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.url-button:hover{background:#e0e0e0;border-color:#ccc;transform:translateY(-1px)}.url-button.new-tab{background:#e3f2fd;border-color:#90caf9}.url-button.new-tab:hover{background:#bbdefb;border-color:#64b5f6}.url-button.iframe-modal{background:#f3e5f5;border-color:#ce93d8}.url-button.iframe-modal:hover{background:#e1bee7;border-color:#ba68c8}.iframe-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.iframe-modal-container{background:#fff;border-radius:12px;width:90vw;height:85vh;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;overflow:hidden}.iframe-modal-header{padding:16px 20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.iframe-modal-header h3{margin:0;color:#333;font-size:18px}.iframe-modal-controls{display:flex;gap:8px}.iframe-modal-button{background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:14px;transition:all .2s ease;color:#1976d2}.iframe-modal-button:hover{background:#bbdefb;border-color:#64b5f6}.iframe-modal-close{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:14px;transition:all .2s ease;color:#d32f2f}.iframe-modal-close:hover{background:#ffcdd2;border-color:#e57373}.iframe-modal-content{flex:1;position:relative;overflow:hidden}.iframe-modal-frame{width:100%;height:100%;border:none;background:#fff}.url-group{display:flex;align-items:center;gap:8px}.url-group label{flex-shrink:0}.url-input{flex:1;min-width:200px}.subtask-title-with-links{display:flex;align-items:center;gap:8px;flex:1}.subtask-url-buttons{display:flex;gap:4px;margin-left:4px}.subtask-url-icon{background:transparent;border:none;padding:2px 4px;cursor:pointer;font-size:14px;border-radius:4px;transition:all .2s ease;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.7}.subtask-url-icon:hover{opacity:1;background:#0000001a;transform:scale(1.1)}.subtask-url-icon.new-tab:hover{background:#2196f326}.subtask-url-icon.iframe-modal:hover{background:#9c27b026}.task-title-with-links{display:flex;align-items:center;gap:8px;flex:1}.task-url-buttons{display:flex;gap:4px;margin-left:4px}.task-url-icon{background:transparent;border:none;padding:2px 4px;cursor:pointer;font-size:14px;border-radius:4px;transition:all .2s ease;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.7}.task-url-icon:hover{opacity:1;background:#0000001a;transform:scale(1.1)}.task-url-icon.new-tab:hover{background:#2196f326}.task-url-icon.iframe-modal:hover{background:#9c27b026}.gantt-url-buttons{display:flex;gap:2px;margin-left:4px;flex-shrink:0;position:relative;z-index:10}.gantt-url-icon{background:transparent;border:none;padding:1px 3px;cursor:pointer;font-size:12px;border-radius:3px;transition:all .2s ease;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;opacity:.7}.gantt-url-icon:hover{opacity:1;background:#0000001a;transform:scale(1.1)}.gantt-url-icon.new-tab:hover{background:#2196f326}.gantt-url-icon.iframe-modal:hover{background:#9c27b026}.gantt-bar-content{display:flex;flex-direction:row;align-items:center;justify-content:center;height:100%;padding:0 8px;text-align:center;color:#fff;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden;gap:4px;text-shadow:-1px -1px 0 #4e4e4e,1px -1px 0 #4e4e4e,-1px 1px 0 #4e4e4e,1px 1px 0 #4e4e4e,0 0 6px #4e4e4e}.gantt-subtask-title{overflow:hidden;text-overflow:ellipsis;font-weight:600;white-space:nowrap;margin-left:2px}.gantt-bar-content .gantt-date-text{font-weight:600;white-space:nowrap}.gantt-bar-content .gantt-assignee-text{font-size:13px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@keyframes blur-breathing{0%{filter:drop-shadow(0 0 .75px rgba(0,0,0,.4))}to{filter:drop-shadow(0 0 2px rgba(0,0,0,.6)) drop-shadow(0 0 4px rgba(0,0,0,.3)) drop-shadow(0 0 6px rgba(0,0,0,.15))}}.gantt-header-controls{display:flex;align-items:center;gap:2px;margin-right:10px}.show-completed-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:11px;color:#666;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:3px;transition:background-color .2s ease}.show-completed-toggle:hover{background-color:#f5f5f5}.show-completed-checkbox{width:12px;height:12px;cursor:pointer}.show-completed-label{font-size:11px;font-weight:500}.task-title.completed,.task-name.completed,.subtask-title.completed,.subtask-name.completed{text-decoration:line-through;opacity:.6;color:#888}.task-modal-checkbox,.subtask-modal-checkbox{width:16px;height:16px;margin-right:8px;cursor:pointer}.task-modal-label input[type=checkbox]+span,.subtask-modal-label input[type=checkbox]+span{display:inline-flex;align-items:center;cursor:pointer;font-weight:500}.subtask-modal-header{display:flex;justify-content:space-between;align-items:center}.subtask-modal-header-left{display:flex;align-items:center;gap:16px}.subtask-modal-header-left h3{margin:0}.subtask-modal-header-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;font-weight:500;color:#555}.subtask-modal-header-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.connection-status{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;transition:all .2s ease;border:1px solid transparent}.connection-status.online{background-color:#22c55e1a;color:#16a34a;border-color:#22c55e33}.connection-status.offline{background-color:#ef44441a;color:#dc2626;border-color:#ef444433}.connection-status.local-only{background-color:#3b82f61a;color:#2563eb;border-color:#3b82f633}.connection-status .status-icon{font-size:14px}.connection-status .status-text{white-space:nowrap}.connection-status .pending-count{background-color:#f59e0b1a;color:#d97706;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.connection-status .sync-button,.connection-status .toggle-button{background:none;border:1px solid currentColor;border-radius:12px;padding:2px 8px;font-size:11px;cursor:pointer;transition:all .2s ease;color:inherit}.connection-status .sync-button:hover,.connection-status .toggle-button:hover{background-color:currentColor;color:#fff}.header-connection-status{margin-left:auto}@media (max-width: 1499px){.schedule-container{margin:0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh}.schedule-header{text-align:center;margin-bottom:12px;margin-top:12px;padding:0 8px}.schedule-header h1{font-size:22px;color:#333;margin:0 0 4px}.schedule-header p{margin:0;color:#666;font-size:13px}.task-input-section{margin-bottom:12px;padding:0 8px}.task-input-group{display:flex;gap:12px;max-width:600px;margin:0 auto;flex-direction:column}.task-input{flex:1;padding:8px 12px;border:2px solid #e1e5e9;border-radius:6px;font-size:15px;transition:border-color .2s ease}.task-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.add-task-button{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.add-task-button:hover{background:#45a049}.tasks-container{margin-bottom:8px;max-width:1600px;margin-left:auto;margin-right:auto;padding:0 8px}.task-item{background:#fff;border:2px solid #e9ecef;overflow:visible;box-shadow:0 1px 3px #0000000d;transition:all .2s ease;margin-bottom:4px}.task-item:hover{border-color:#4caf50;box-shadow:0 4px 12px #0000001a}.task-header{display:flex;align-items:center;padding:8px;background:#f8f9fa;border-bottom:1px solid #e9ecef;gap:10px}.task-title-section{flex:1;min-width:0}.task-title{font-size:16px;margin:0;color:#333;font-weight:600}.task-actions{display:flex;align-items:center;gap:8px}.task-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab!important;padding:4px;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:28px;height:28px;border:2px solid;font-weight:700;color:#fff;box-shadow:0 1px 3px #0003;position:relative;z-index:10;pointer-events:auto}.task-drag-handle:hover{color:#4caf50;background-color:#4caf501a}.subtasks-container{margin:0;padding:0}.subtask-item{padding:10px;margin:0 0 12px;border-radius:12px;background:#f8fafccc;border:1px solid rgba(226,232,240,.6);transition:all .3s cubic-bezier(.4,0,.2,1)}.subtask-item:hover{background:#f8f9fa;border-color:#4caf50}.subtask-content{gap:10px;flex-direction:column;align-items:flex-start}.subtask-title{font-size:15px;margin:0;font-weight:600;color:#374151}.subtask-dates{gap:8px;margin:0;flex-wrap:wrap}.subtask-dates>*{flex-shrink:0}.date-group{margin:0}.subtask-actions{flex-wrap:wrap;gap:6px}.subtask-actions>*{flex:0 0 calc(50% - 3px)}.date-group label{font-size:12px;margin-bottom:3px}.date-input{font-size:12px;padding:6px 12px;margin:0;border-radius:8px;border:1px solid rgba(226,232,240,.8);background:#ffffffe6;transition:all .3s ease}.date-input:focus{outline:none;border-color:#667eea;box-shadow:0 2px 8px #667eea26}.url-group{margin:0}.url-input{font-size:12px;padding:6px 12px;margin:0;border-radius:8px;border:1px solid rgba(226,232,240,.8);background:#ffffffe6;transition:all .3s ease}.url-input:focus{outline:none;border-color:#667eea;box-shadow:0 2px 8px #667eea26}.assignee-display{min-height:32px}.gantt-container{overflow-x:scroll;margin:0}.gantt-chart{min-width:800px;margin:0}.gantt-header{padding:10px 8px;margin:0}.gantt-header h3{font-size:15px;margin:0}.gantt-header p{font-size:12px;margin:0}.gantt-task-label{min-width:150px;left:120px}.people-manager{position:relative;width:100%;max-width:300px;margin:12px auto}.people-manager.collapsed{width:50px;height:auto}.people-manager.expanded{width:100%;max-width:300px}.people-manager-header{padding:12px;border-bottom:1px solid #e9ecef}.people-toggle-button{font-size:16px;padding:8px}.people-manager-title{font-size:13px}.task-modal,.subtask-modal{width:95%;max-width:350px;margin:10px auto}.task-modal-content,.subtask-modal-content{padding:14px}.task-modal-field,.subtask-modal-field{margin-bottom:14px}.task-modal-input,.subtask-modal-input{font-size:16px;padding:12px}.holiday-modal{width:95%;max-width:320px;margin:10px auto}.holiday-modal-content{padding:14px}.schedule-stats{flex-direction:column;gap:10px;padding:16px;margin:16px 0 0;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.2)}.stat-item{text-align:center;margin:0;padding:8px;background:#f8fafc99;border-radius:10px;transition:all .3s ease}.stat-item:hover{background:#667eea1a}.stat-label{font-size:13px;margin:0 0 4px;color:#64748b;font-weight:600}.stat-value{font-size:15px;margin:0;color:#1e293b;font-weight:700}.connection-status{position:fixed;top:8px;right:8px;z-index:1001;font-size:12px;padding:6px 10px}.add-subtask-button,.edit-button,.delete-button{padding:8px 12px;font-size:13px;margin:0;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600}.add-subtask-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;box-shadow:0 2px 8px #10b9814d}.add-subtask-button:hover{background:#059669;box-shadow:0 4px 12px #10b98166}.edit-button{background:#3b82f6;color:#fff;border:none;box-shadow:0 2px 8px #3b82f64d}.edit-button:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666}.delete-button{background:#ef4444;color:#fff;border:none;box-shadow:0 2px 8px #ef44444d}.delete-button:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466}.color-button{padding:8px;font-size:14px;border-radius:8px;transition:all .2s ease}.color-button:hover{box-shadow:0 2px 8px #00000026}}@media (max-width: 932px){.schedule-header{text-align:center;margin-bottom:12px;margin-top:12px;padding:0 4px}.gantt-fixed-header{left:50px}.schedule-header h1{font-size:18px;color:#333;margin:0 0 4px}.schedule-header p{margin:0;color:#666;font-size:12px}.task-input-section{margin-bottom:12px;padding:0 4px}.task-input{flex:1;padding:8px 12px;border:2px solid #e1e5e9;border-radius:6px;font-size:15px;transition:border-color .2s ease}.add-task-button{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.tasks-container{margin-bottom:8px;max-width:1600px;margin-left:auto;margin-right:auto;padding:0 4px}.task-item{background:#fff;border:2px solid #e9ecef;overflow:visible;box-shadow:0 1px 3px #0000000d;transition:all .2s ease;margin-bottom:4px}.task-header{display:flex;align-items:center;padding:8px;background:#f8f9fa;border-bottom:1px solid #e9ecef;gap:10px}.task-title-section{flex:1;min-width:0}.task-title{font-size:15px;margin:0;color:#333;font-weight:600}.task-actions{display:flex;align-items:center;gap:6px}.task-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab!important;padding:4px;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:26px;height:26px;border:2px solid;font-weight:700;color:#fff;box-shadow:0 1px 3px #0003;position:relative;z-index:10;pointer-events:auto;font-size:12px}.subtask-item{padding:10px;margin:0 0 8px;border-radius:10px}.subtask-title{font-size:14px}.date-input,.url-input{padding:8px 10px;border-radius:6px}.gantt-header{padding:8px 6px}.gantt-header h3{font-size:14px}.gantt-header p{font-size:11px}.gantt-task-label{font-size:11px;padding:6px 0;min-width:130px;left:50px}.gantt-subtask-label{font-size:10px;padding:4px 0;min-width:130px;left:50px}.gantt-date{font-size:9px;padding:1px 3px}.people-manager{margin:10px auto;bottom:0}.people-manager-header{padding:10px}.people-toggle-button{font-size:15px;padding:6px}.people-manager-title{font-size:12px}.task-modal,.subtask-modal{width:98%;max-width:320px}.task-modal-content,.subtask-modal-content{padding:12px}.task-modal-input,.subtask-modal-input{padding:10px}.holiday-modal{width:98%;max-width:300px}.holiday-modal-content{padding:12px}.schedule-stats{gap:8px;padding:12px;border-radius:12px}.stat-label{font-size:12px}.stat-value{font-size:13px}.show-completed-toggle{padding:8px 12px;font-size:12px;border-radius:8px}}.gantt-task-label-row{display:flex;background:#fafbfc;min-height:26px;position:relative;transition:all .2s ease;border-bottom:1px solid #e9ecef;height:25px;width:100%;overflow:hidden}.gantt-task-label-row:hover{background:linear-gradient(135deg,#4caf5014,#4caf5008);box-shadow:inset 0 0 0 1px #4caf5033}.gantt-subtask-label-row{background:#fff;min-height:26px;position:relative;transition:all .2s ease;border-bottom:1px solid #e9ecef;height:25px;width:100%;overflow:hidden}.gantt-subtask-label-row:hover{background:linear-gradient(135deg,#2196f314,#2196f308);box-shadow:inset 0 0 0 1px #2196f333}.gantt-task-timeline-row{display:flex;position:relative;transition:all .2s ease;height:26px;border-bottom:1px solid #e9ecef}.gantt-subtask-timeline-row{display:flex;position:relative;background:#fff;transition:all .2s ease;height:26px;border-bottom:1px solid #e9ecef}.task-content{flex:1;overflow:hidden;min-width:0;max-width:85%}.task-buttons{display:inline-block;align-items:center;gap:2px;flex-shrink:0;margin-left:4px;max-width:15%}.subtask-content{display:inline-block;width:calc(100% - 60px);position:relative;left:35px;overflow:hidden;min-width:0;max-width:100%}.subtask-buttons{display:inline-block;position:absolute;right:10px;top:20%}@media (max-width: 768px){.add-subtask-button,.edit-button,.delete-button{padding:6px 10px;font-size:12px;border-radius:6px}.color-button{padding:6px;font-size:13px;border-radius:6px}}.diary-editor-container{display:flex;flex-direction:column;height:100%;background:#fff;overflow-x:hidden}.diary-editor-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 10px;border-bottom:1px solid #eee}.diary-editor-date-title{margin:0;color:#333;font-size:1.2em}.diary-editor-header-buttons{display:flex;gap:8px}.diary-editor-save-button,.diary-editor-delete-button{background:none;border:none;font-size:1.2em;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s}.diary-editor-save-button:hover{background-color:#e8f5e8}.diary-editor-delete-button:hover{background-color:#fee}.diary-editor-meta-section{padding:15px 20px;border-bottom:1px solid #eee;background:#fafafa}.diary-editor-meta-toggle{display:none;margin-bottom:8px}.diary-editor-meta-toggle-button{padding:6px 10px;border:1px solid #ddd;background:#fff;border-radius:6px;font-size:12px;color:#333;cursor:pointer}.diary-editor-meta-row{display:flex;gap:20px;margin-bottom:15px}@media (max-width: 500px){.diary-editor-meta-toggle{display:block}#diary-editor-meta-content.closed{display:none}#diary-editor-meta-content.open{display:block}#diary-editor-meta-content.open .diary-editor-meta-row{display:flex;flex-direction:column;gap:10px}}@media (max-width: 768px){.diary-editor-meta-row{flex-direction:column;gap:10px}}.diary-editor-meta-group{flex:1}.diary-editor-meta-label{display:block;font-size:.9em;color:#666;margin-bottom:5px;font-weight:500}.diary-editor-emoji-selector{display:flex;gap:5px;flex-wrap:wrap}.diary-editor-emoji-button{background:#fff;border:1px solid #ddd;border-radius:8px;padding:4px 4px 3px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:42px}.diary-editor-emoji-button:hover{background:#f0f8ff;border-color:#4caf50}.diary-editor-emoji-button.selected{background:#e8f5e8;border-color:#4caf50}.diary-editor-emoji-button .emoji{font-size:1.1em;margin-bottom:1px}.diary-editor-emoji-button .label{font-size:.65em;color:#666;font-weight:500;line-height:1}.diary-editor-section-inner{flex:1;display:flex;flex-direction:column;min-height:0;padding:20px}.diary-editor-editor-container{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;flex:1;display:flex;flex-direction:column;min-height:400px;max-height:1200px}.diary-editor-toolbar{display:flex;align-items:center;padding:8px 12px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;gap:8px;flex-wrap:wrap}.diary-editor-toolbar-group{display:flex;gap:4px}.diary-editor-toolbar-button{padding:6px 8px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:12px;color:#333;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.diary-editor-toolbar-button:hover{background:#e9ecef;border-color:#adb5bd}.diary-editor-toolbar-button:active{background:#dee2e6}.diary-editor-toolbar-separator{width:1px;height:24px;background:#ddd}.diary-editor-content{min-height:350px;max-height:1200px;padding:16px;font-size:14px;line-height:1.6;color:#333;outline:none;overflow-y:auto;overflow-x:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:vertical}.diary-editor-content img{max-width:100%;height:auto;display:block;margin:10px 0;border-radius:4px;box-shadow:0 2px 8px #0000001a}.diary-editor-content:empty:before{content:attr(data-placeholder);color:#aaa;font-style:italic}.diary-editor-content h1{font-size:24px;font-weight:700;margin:16px 0 8px;color:#2c3e50;line-height:1.2}.diary-editor-content h2{font-size:20px;font-weight:700;margin:14px 0 7px;color:#34495e;line-height:1.3}.diary-editor-content h3{font-size:18px;font-weight:700;margin:12px 0 6px;color:#7f8c8d;line-height:1.4}.diary-editor-content p{margin:8px 0;line-height:1.6}.diary-editor-content strong,.diary-editor-content b{font-weight:700;color:#2c3e50}.diary-editor-content em,.diary-editor-content i{font-style:italic;color:#7f8c8d}.diary-editor-content u{text-decoration:underline}.diary-editor-content del,.diary-editor-content strike{text-decoration:line-through;color:#95a5a6}.diary-editor-content ul,.diary-editor-content ol{margin:8px 0;padding-left:24px}.diary-editor-content li{margin:4px 0;line-height:1.5}.diary-editor-content blockquote{border-left:4px solid #ddd;margin:16px 0;padding-left:16px;color:#666;font-style:italic}.diary-editor-content div[style*="text-align: center"]{text-align:center}.diary-editor-content div[style*="text-align: right"]{text-align:right}.diary-editor-help{margin-top:10px;padding:8px 12px;background:#f8f9fa;border-radius:4px;font-size:.85em;color:#666;border-left:3px solid #4caf50}.diary-editor-toast{position:fixed;bottom:20px;right:20px;background:#4caf50;color:#fff;padding:12px 20px;border-radius:8px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideInUp .3s ease-out,slideOutDown .3s ease-in 2.7s forwards}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.diary-editor-care-section{margin-top:15px;padding-top:15px}.diary-editor-care-emoji-container{display:grid;grid-template-columns:repeat(auto-fit,48px);gap:6px;margin-bottom:10px;justify-content:start}.diary-editor-care-emoji-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;padding:4px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.diary-editor-care-emoji-button:hover{border-color:#4caf50;background:#f0f8ff}.diary-editor-care-emoji-button.selected{border-color:#4caf50;background:#e8f5e8}.diary-editor-care-emoji-button .emoji{font-size:1.4em;margin-bottom:4px}.diary-editor-care-emoji-button .name{font-size:.75em;color:#666;text-align:center;line-height:1.1;word-break:keep-all}.diary-editor-empty-state{width:100%;padding:20px;border:2px dashed #ddd;border-radius:8px;background:#fafafa;color:#666;cursor:pointer;transition:all .2s}.diary-editor-empty-state:hover{border-color:#4caf50;background:#f0f8ff}.diary-editor-care-note{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9em;resize:vertical;box-sizing:border-box;margin-top:8px}.diary-editor-care-note:focus{outline:none;border-color:#4caf50}.diary-container{width:100%;height:100vh;background-color:#f5f7fa;overflow-y:auto;overflow-x:hidden}.diary-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2em;color:#666}.diary-main{display:flex;min-height:100vh}.diary-calendar-section{width:520px;min-width:520px;flex-shrink:0;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;box-shadow:2px 0 4px #0000001a}.diary-editor-section{flex:1;min-width:0;min-height:auto;overflow:visible;background:#fff}.diary-header{padding:7px 20px 0;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.diary-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.care-stats-inline{display:flex;align-items:center}.care-stats-inline .care-stats-container{display:flex;align-items:center;gap:6px;margin:0;padding:0;background:transparent;border:none}.care-stats-inline .care-stat-item{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #e0e0e0;border-radius:6px;background:#ffffffd9;box-shadow:none;height:26px;line-height:26px}.care-stats-inline .care-stat-label{font-size:12px;color:#333;line-height:1;display:inline-flex;align-items:center;height:100%}.care-stats-inline .care-stat-label .emoji{font-size:14px;line-height:1;display:inline-flex;align-items:center;margin-right:4px}.care-stats-inline .care-stat-label .name{display:inline-flex;align-items:center;line-height:1}.care-stats-inline .care-stat-value{font-size:12px;line-height:1;display:inline-flex;align-items:center;height:100%}.diary-header h1{margin:0;font-size:1.5em;font-weight:600}.diary-search-section{margin:7px 0}.diary-search-bar{position:relative;display:flex;align-items:center}.diary-search-input{width:100%;padding:10px 40px 10px 15px;border:2px solid rgba(255,255,255,.3);border-radius:25px;background:#ffffff1a;color:#fff;font-size:14px;outline:none;transition:all .3s ease}.diary-search-input::placeholder{color:#ffffffb3}.diary-search-input:focus{background:#fff3;border-color:#ffffff80}.diary-search-clear{position:absolute;right:12px;background:none;border:none;color:#fffc;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.diary-search-clear:hover{background:#fff3;color:#fff}.diary-search-results{margin:15px 20px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a;max-height:300px;overflow:hidden}.diary-search-results-header{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.diary-search-results-header h3{margin:0;font-size:14px;color:#333;font-weight:600}.diary-search-close{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.diary-search-close:hover{background:#e9ecef;color:#333}.diary-search-results-list{max-height:240px;overflow-y:auto}.diary-search-result-item{padding:12px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s ease}.diary-search-result-item:hover{background:#f8f9fa}.diary-search-result-item:last-child{border-bottom:none}.diary-search-result-date{font-size:12px;color:#666;margin-bottom:4px;font-weight:500}.diary-search-result-content{color:#333}.diary-search-result-title{font-weight:600;margin-bottom:4px;color:#2c3e50}.diary-search-result-text{font-size:14px;line-height:1.4;color:#555;margin-bottom:4px}.diary-search-result-emojis{font-size:12px;color:#999}.diary-search-no-results{padding:20px;text-align:center;color:#666;font-style:italic}.diary-month-navigation{display:flex;justify-content:space-between;align-items:center}.diary-month-button{background:#0000000d;border:none;color:#333;font-size:1.2em;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background-color .2s}.diary-month-button:hover{background:#0000001a}.diary-month-title{margin:0;font-size:1.2em;font-weight:500;color:#333}.care-stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.care-stat-item{background:#fff;padding:12px;border-radius:6px;text-align:center;border:1px solid #e9ecef;box-shadow:0 1px 3px #0000001a}.care-stat-label{font-size:.85em;color:#6c757d}.care-stat-value{font-size:1.1em;font-weight:700;color:#333}.care-stat-value.highlight{color:#28a745}.diary-calendar{flex:1;padding:4px;overflow-y:visible}.diary-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background-color:#f0f0f0;border-radius:8px;padding:10px}.diary-day-header{background-color:#667eea;color:#fff;text-align:center;padding:10px 0;font-weight:600;font-size:.9em;border-radius:4px}.diary-day-cell{background-color:#fff;min-height:65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;cursor:pointer;border-radius:4px;transition:all .2s ease;position:relative;border:1px solid transparent;padding:4px;box-sizing:border-box}.diary-day-cell:hover{background-color:#f8f9ff}.diary-day-cell.is-today{background-color:#e8f5e8;font-weight:700;position:relative;box-shadow:0 1px 4px #4caf5033}.diary-day-cell.is-selected{background-color:#e3f2fd;border:1px solid #2196f3;box-shadow:0 1px 4px #2196f333}.diary-day-cell.has-diary{background-color:#fff;box-shadow:none}.diary-day-cell.has-diary.is-selected{background-color:#e7ebee}.diary-day-cell.not-current-month{background-color:#fafafa;color:#ccc}.diary-day-cell.not-current-month:hover{background-color:#f0f0f0}.diary-day-number{font-size:.85em;font-weight:500;align-self:flex-start;margin-bottom:2px}.diary-day-cell.has-diary .diary-day-number{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:17%;border:1px solid #999;background:transparent;font-weight:600;margin-bottom:4px}.diary-day-cell.has-diary.is-selected .diary-day-number,.diary-day-cell.has-diary.is-today .diary-day-number{border-color:#999;background:transparent}.diary-day-cell.not-current-month.has-diary .diary-day-number{border-color:#bbb;background:#fff;color:#999}.diary-indicators{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;flex:1}.care-indicators{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:2px;max-width:100%;align-items:flex-start}.care-indicator{font-size:1em;opacity:.9;line-height:1}.care-indicator .care-gap{display:inline-block;margin-left:2px;padding:0 3px;border-radius:6px;background:#0000000f;color:#333;font-size:10px;line-height:1.2}.care-indicator-more{font-size:.6em;color:#666;background:#fffc;border-radius:8px;padding:1px 3px;margin-left:1px}.today-diagonal-lines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:.3;background-image:repeating-linear-gradient(-45deg,#666 0px,#666 1px,transparent 1px,transparent 8px);border-radius:4px}.diary-editor-section{flex:1;display:flex;flex-direction:column;background:#fff;min-height:0}.diary-editor-layout{display:grid;grid-template-columns:260px 1fr;gap:12px;align-items:start}.diary-entry-new-button{cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.diary-entry-new-button:hover{background:#eaf7ea!important;border-color:#4caf50!important;box-shadow:0 1px 3px #4caf5033}.diary-entry-new-button:active{transform:translateY(1px)}@media (max-width: 768px){.diary-editor-layout{grid-template-columns:1fr}}@media (max-width: 1024px){.diary-main{flex-direction:column}.diary-calendar-section{width:100%;height:auto;border-right:none;border-bottom:1px solid #e0e0e0}.diary-calendar{padding:1px}.diary-calendar-grid{gap:1px;padding:5px}.diary-day-cell{min-height:45px;padding:3px}.diary-day-cell.is-selected{border:1px solid #2196f3}.diary-day-cell.has-diary.is-selected{box-shadow:none}.diary-day-header{padding:5px 0;font-size:.8em}.diary-day-number{font-size:.75em;margin-bottom:1px}.diary-day-cell.has-diary .diary-day-number{width:16px;height:16px;border-width:1px}.care-indicator{font-size:.8em}.care-indicator-more{font-size:.5em;padding:0 2px}.today-diagonal-lines{opacity:.25;background-image:repeating-linear-gradient(-45deg,#666 0px,#666 1px,transparent 1px,transparent 6px)}}@media (max-width: 768px){.diary-header{padding:5px 15px 1px}.diary-header h1{font-size:1.3em;margin-bottom:0}.diary-month-title{font-size:1em}.diary-month-button{font-size:1em;padding:6px 10px}}.care-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.care-modal-content{background:#fff;border-radius:10px;padding:30px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.care-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.care-modal-header h2{margin:0;color:#333}.care-close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d}.care-close-button:hover{color:#333}.care-form-group{margin-bottom:20px}.care-label{display:block;margin-bottom:5px;font-weight:700;color:#333}.care-add-emoji-form{display:flex;gap:10px;align-items:end}.care-emoji-input{width:80px;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:1rem;text-align:center}.care-emoji-input:focus{outline:none;border-color:#28a745}.care-name-input{flex:1;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:1rem}.care-name-input:focus{outline:none;border-color:#28a745}.care-track-days-checkbox{display:flex;align-items:center;gap:6px;margin:0 10px}.care-track-days-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.care-track-days-checkbox label{font-size:.85rem;color:#666;cursor:pointer;white-space:nowrap}.care-emoji-list{max-height:300px;overflow-y:auto;border:1px solid #ddd;border-radius:5px;padding:10px}.care-emoji-list-item{display:flex;align-items:center;padding:10px;border-bottom:1px solid #eee}.care-emoji-list-item:last-child{border-bottom:none}.care-emoji-display{font-size:1.5rem;margin-right:15px}.care-emoji-name{font-size:1rem;color:#333;margin-right:15px;flex:1}.care-button-group{display:flex;gap:10px;justify-content:flex-end;margin-top:30px}.care-add-button{background:#28a745;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer;font-size:1rem}.care-add-button:hover{background:#218838}.care-save-button{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1rem}.care-save-button:hover{background:#218838}.care-cancel-button{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1rem}.care-cancel-button:hover{background:#545b62}.care-delete-emoji-button{background:#dc3545;color:#fff;border:none;padding:5px 10px;border-radius:3px;cursor:pointer;font-size:.8rem;margin-left:auto}.care-delete-emoji-button:hover{background:#c82333}@media (max-width: 1024px){.diary-main{flex-direction:column}.diary-calendar-section{width:100%;min-width:100%;height:auto;border-right:none;border-bottom:1px solid #e0e0e0}.diary-editor-section{height:auto;min-height:400px;overflow-y:auto}}@media (max-width: 768px){.care-modal-content{padding:20px;width:95%}.care-add-emoji-form{flex-direction:column;align-items:stretch}.care-track-days-checkbox{margin:10px 0;justify-content:center}}@media (max-width: 480px){.care-modal-content{padding:15px}.care-button-group{flex-direction:column}}._container_19p4m_1{padding:20px;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,맑은 고딕,apple-system,"system-ui","sans-serif";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}._inputSection_19p4m_11{margin-bottom:10px;max-width:1100px;margin-left:auto;margin-right:auto}._input_19p4m_11,._select_19p4m_23{margin-right:5px;padding:5px}._addButton_19p4m_28{height:29px;padding-left:12px;padding-right:12px;cursor:pointer}._dashboard_19p4m_35{border:1px dashed #d8d8d8;margin-left:auto;margin-right:auto;max-width:2240px;overflow-x:auto;display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding:4px}._card_19p4m_48{width:130px;height:65px;border-radius:68px 13px 76px 68px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;color:#fff;text-align:center}._card_19p4m_48._dragOver_19p4m_61{outline:3px dashed #333;outline-offset:-4px;transition:box-shadow .2s ease-in-out;box-shadow:0 0 0 5px #00000026}._card_19p4m_48:before{content:" ";font-size:11px;font-weight:700;position:absolute;right:5px;top:3px}._themeRed_19p4m_78{background-color:#ff756b}._themeOrange_19p4m_82{background-color:#ff9800}._themeYellow_19p4m_86{background-color:#ffeb3b;color:#000}._themeYellow_19p4m_86:before{content:"맛집/식당/여행";color:#000}._themeGreen_19p4m_95{background-color:#4caf50}._themeBlue_19p4m_99{background:linear-gradient(235deg,#457fe3,#a0c0f8)}._themeBlue_19p4m_99:before{content:"자동차";color:#fff}._themeDooraymaster_19p4m_108{background-color:#c8c9cb}._themeDooraymaster_19p4m_108:before{content:"Master";color:#000}._themeBrown_19p4m_117{background:linear-gradient(235deg,#8e3b0b,#d69d7c)}._themeBrown_19p4m_117:before{content:"Documentation";color:#fff}._themeBrightGreen_19p4m_126{background:linear-gradient(272deg,#33d727,#adffa6)}._themeBrightGreen_19p4m_126:before{content:"쇼핑";color:#0022c4}._themeIndigo_19p4m_135{background-color:#18b3a5}._themePurple_19p4m_139{background:linear-gradient(235deg,#0f8585,#0ff)}._themePurple_19p4m_139:before{content:"자전거";color:#fff}._themeOneweb_19p4m_148{background:linear-gradient(235deg,#0057b8,#83eeff)}._themeOneweb_19p4m_148:before{content:"Planning";color:#fff}._themeLinebreak_19p4m_157{background-color:#fff;border:1px dashed #f1afaf}._themeLinebreak_19p4m_157:before{content:"Linebreak";color:#fff}._themeGoldenyellow_19p4m_167{background:linear-gradient(235deg,#ffbf00,#ffe187)}._themeGoldenyellow_19p4m_167:before{content:"github";color:#000}._deleteButton_19p4m_176{position:absolute;top:3px;right:2px;display:none;text-shadow:0px 0px 5px #521f1f;opacity:.4;font-size:.8em;cursor:pointer;background:transparent;border:none;color:#fff}._card_19p4m_48:hover ._deleteButton_19p4m_176{display:block}._deleteButton_19p4m_176:hover{opacity:1}._editButton_19p4m_198{position:absolute;top:3px;right:23px;display:none;text-shadow:0px 0px 5px #521f1f;opacity:.4;font-size:.8em;cursor:pointer;background:transparent;border:none;color:#fff}._card_19p4m_48:hover ._editButton_19p4m_198{display:block}._editButton_19p4m_198:hover{opacity:1}._cardLink_19p4m_220{color:#000;font-weight:600;font-family:inherit;text-decoration:none;margin-bottom:0;word-break:keep-all;overflow-wrap:break-word;letter-spacing:-.01em;line-height:1.3;background-color:#fff6;width:100%;padding:5px 0 4px}._lineBreak_19p4m_235{width:100%}.todo-page,.archive-page{max-width:800px;margin:0 auto;padding:20px;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,맑은 고딕,apple-system,"system-ui","sans-serif";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}.loading-container{text-align:center;padding:60px 20px;color:#666;font-size:18px}.todo-header{text-align:center;margin-bottom:30px}.todo-header h1{margin:0 0 10px;color:#333;font-size:2em;font-weight:600;letter-spacing:-.02em;line-height:1.2}.todo-header p{margin:0;color:#666;font-size:14px}.todo-date-info{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font-size:12px}.date-label{color:#4caf50;font-weight:600}.backup-info{color:#999}.todo-input-section{margin-bottom:30px}.todo-input-group{display:flex;gap:10px;align-items:center}.todo-input{flex:1;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s ease;resize:none;min-height:44px;overflow-y:hidden;line-height:1.4;font-family:inherit}.todo-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.add-button{padding:12px 20px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.add-button:hover{background:#45a049}.add-button:active{transform:translateY(1px)}.todo-list{margin-bottom:30px}.empty-state{text-align:center;padding:60px 20px;color:#666;background:#f8f9fa;border-radius:12px;border:2px dashed #ddd}.empty-state p{margin:5px 0}.todo-item{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:8px;background:#fff;border:1px solid #e1e5e9;border-radius:8px;transition:all .2s ease;cursor:default}.todo-item:hover{border-color:#e8f5e8;box-shadow:0 1px 4px #0000000d}.todo-item.completed{background:#f8f9fa;border-color:#dee2e6}.todo-item.dragging{opacity:.5;transform:rotate(2deg);box-shadow:0 5px 15px #0000004d}.todo-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:#999;padding:4px;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:24px}.todo-drag-handle:hover{color:#4caf50;background-color:#4caf501a}.todo-drag-handle:active{cursor:grabbing;background-color:#4caf5033}.drag-icon{font-size:12px;line-height:1;letter-spacing:-1px;pointer-events:none}.todo-checkbox{display:flex;align-items:center}.checkbox{width:18px;height:18px;cursor:pointer;accent-color:#4caf50}.todo-content{flex:1;min-width:0}.todo-text{font-size:16px;line-height:1.4;color:#333;word-break:break-word;cursor:text;-webkit-user-select:text;user-select:text;white-space:pre-wrap;overflow-wrap:break-word}.todo-text.completed-text{text-decoration:line-through;color:#999}.edit-input{width:100%;padding:8px 12px;border:2px solid #4caf50;border-radius:4px;font-size:16px;background:#fff;resize:none;min-height:36px;overflow-y:hidden;line-height:1.4;font-family:inherit;transition:height .1s ease}.edit-input:focus{outline:none;box-shadow:0 0 0 3px #4caf501a}.todo-actions{display:flex;align-items:center;gap:8px}.todo-index{background:#e9ecef;color:#495057;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;min-width:24px;text-align:center}.edit-button,.delete-button{background:none;border:none;padding:6px;border-radius:4px;cursor:pointer;transition:background-color .2s ease;font-size:16px}.edit-button:hover{background:#e3f2fd}.delete-button:hover{background:#ffebee}.todo-stats{display:flex;justify-content:center;gap:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:12px;color:#666;text-transform:uppercase;font-weight:500}.stat-value{font-size:18px;font-weight:700;color:#333}.drop-zone{height:0;transition:all .2s ease;opacity:0;background:transparent;border-radius:4px;position:relative}.drop-zone.active{height:8px;opacity:1;background:linear-gradient(90deg,#4caf504d,#4caf501a);border:2px dashed #4caf50;margin:4px 0}.drop-zone.active:before{content:"";position:absolute;left:-6px;top:-3px;width:12px;height:12px;background:#4caf50;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003}.drop-zone.active:after{content:"";position:absolute;right:-6px;top:-3px;width:12px;height:12px;background:#4caf50;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003}.archive-page .add-button{background:#ff9800}.archive-page .add-button:hover{background:#f57f17}.archive-page .todo-input:focus{border-color:#ff9800;box-shadow:0 0 0 3px #ff98001a}.archive-page .todo-drag-handle:hover{color:#ff9800;background-color:#ff98001a}.archive-page .checkbox{accent-color:#ff9800}.archive-page .edit-input{border-color:#ff9800}.archive-page .edit-input:focus{box-shadow:0 0 0 3px #ff98001a}.archive-page .date-label{color:#ff9800}.archive-page .drop-zone.active{background:linear-gradient(90deg,#ff98004d,#ff98001a);border-color:#ff9800}.archive-page .drop-zone.active:before,.archive-page .drop-zone.active:after{background:#ff9800}.bottom-drop-zone{min-height:20px;margin-top:8px;border-radius:8px}.bottom-drop-zone.active{background:linear-gradient(90deg,#4caf504d,#4caf501a);border:2px dashed #4caf50;min-height:40px}.archive-page .bottom-drop-zone.active{background:linear-gradient(90deg,#ff98004d,#ff98001a);border-color:#ff9800}@media (max-width: 600px){.todo-page,.archive-page{padding:15px}.todo-input-group{flex-direction:column;align-items:stretch}.add-button{width:100%}.todo-item{padding:12px;gap:8px}.todo-stats{gap:20px;padding:15px}.stat-item{flex:1}.todo-date-info{flex-direction:column;gap:4px}}.layout-container{display:grid;grid-template-columns:120px 1fr;min-height:100vh;height:auto;overflow-x:hidden;background:linear-gradient(135deg,#f8fafc,#e2e8f0);font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,맑은 고딕,apple-system,"system-ui","sans-serif";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 932px){.layout-container{grid-template-columns:50px 1fr}}.sidebar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(226,232,240,.8);box-shadow:4px 0 20px #00000014;display:flex;flex-direction:column;min-width:0;padding-left:0;padding-right:0;position:fixed;top:0;left:0;width:120px;height:100vh;overflow-y:auto;z-index:10}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#ffffff1a,#ffffff0d);pointer-events:none}.sidebar-header{display:flex;align-items:center;gap:2px;padding:12px 0 8px;border-bottom:1px solid rgba(241,245,249,.8);justify-content:center;position:relative;z-index:1}.sidebar-logo{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;font-size:.9rem;color:#fff;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;box-shadow:0 4px 12px #667eea4d}.sidebar-logo:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #667eea66}.sidebar-title{font-size:.85rem;font-weight:700;color:#222}.sidebar-desc{font-size:.7rem;color:#64748b}.sidebar-menu{flex:1;padding:8px 0 0;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.menu-item{display:flex;align-items:center;gap:2px;padding:6px 10px;border-radius:8px;font-size:1rem;font-weight:500;color:#333;background:none;border:none;cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;margin:0 6px;position:relative;overflow:hidden}.menu-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.menu-item:hover:before{left:100%}.menu-item .menu-icon{font-size:.95rem;margin-right:1px;transition:transform .3s ease}.menu-item:hover .menu-icon{transform:scale(1.1)}.menu-item .menu-label{display:block;font-weight:600;color:#222;font-size:.9rem;letter-spacing:-.01em;line-height:1.3}.menu-item .menu-desc{display:block;font-size:.65rem;color:#64748b;font-weight:400;letter-spacing:-.005em;line-height:1.2}@media (max-width: 932px){.sidebar{width:50px}.menu-item .menu-label,.menu-item .menu-desc{display:none}.menu-item{justify-content:center;padding:8px 4px;margin:0 2px;border-radius:8px}.menu-item .menu-icon{margin-right:0;font-size:1.1rem}.sidebar-header{padding:8px 4px}.sidebar-logo{font-size:16px;padding:4px;width:24px;height:24px;border-radius:6px}.sidebar-footer{font-size:.5rem;padding:4px 2px}.user-email{font-size:.45rem;word-break:break-all;padding:2px}.logout-button{padding:4px 6px;font-size:.5rem;border-radius:4px}.footer-text{font-size:.45rem}}.menu-item.active,.menu-item:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translate(2px);box-shadow:0 4px 12px #667eea4d}.menu-item.active .menu-label,.menu-item:hover .menu-label{color:#fff}.menu-item.active .menu-desc,.menu-item:hover .menu-desc{color:#fffc}.sidebar-footer{text-align:center;font-size:.7rem;color:#64748b;border-top:1px solid rgba(241,245,249,.8);display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.user-info{margin-bottom:6px}.user-email{font-size:.65rem;color:#374151;font-weight:500;word-break:break-all;padding:2px;background:#f1f5f980;border-radius:6px;border:1px solid rgba(226,232,240,.5)}.logout-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:.7rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;box-shadow:0 2px 8px #ef44444d}.logout-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.footer-text{font-size:.65rem;color:#64748b;font-style:italic;opacity:.8}.main-content{padding:0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);grid-column:2 / -1;overflow-x:hidden;overflow-y:visible}
