body,#root{margin:0;height:100vh;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif}.sidebar{width:240px;padding:12px;border-right:1px solid #e5e7eb;height:100vh;display:flex;flex-direction:column;background-color:#fafafa;position:relative;transition:transform .3s ease}.user-profile-container{position:relative;margin-bottom:16px}.user-profile{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s;background-color:transparent}.user-profile:hover{background-color:#f3f4f6}.user-info{flex:1;min-width:0;overflow:hidden}.user-name{font-size:14px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{font-size:12px;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;left:8px;right:8px;margin-top:4px;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:4px;z-index:1000;border:1px solid #e5e7eb}.user-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:14px;color:#374151;text-align:left;transition:background-color .15s}.user-menu-item:hover{background-color:#f3f4f6}.divider{height:1px;background-color:#e5e7eb;margin:4px 0}.sidebar-nav{flex:1;overflow-y:auto}.nav-list{list-style:none;padding:0;margin:0}.nav-link{padding:8px 12px;border-radius:6px;font-size:14px;color:#333;text-decoration:none;display:block;transition:background-color .2s}.nav-link:hover{background-color:#f3f4f6}.nav-dropdown-toggle{cursor:pointer;font-weight:700;display:flex;justify-content:space-between;align-items:center}.arrow{font-size:12px;transition:transform .2s}.arrow.open{transform:rotate(90deg)}.dropdown-list{list-style:none;padding:4px 0 4px 16px;margin:0}.dropdown-link{padding:6px 12px;border-radius:4px;font-size:13px;color:#333;text-decoration:none;display:block;transition:background-color .2s}.dropdown-link:hover{background-color:#f3f4f6}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;z-index:1000;transform:translate(-100%);box-shadow:2px 0 8px #00000026}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background-color:#00000080;z-index:999}.user-profile{padding:10px}.user-name{font-size:15px}.user-email{font-size:13px}.nav-link,.nav-dropdown-toggle{padding:12px;font-size:15px}.dropdown-link{padding:10px 12px;font-size:14px}}.app-container{display:flex;height:100vh;overflow:hidden}.mobile-header{display:none}.content{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.content h1{margin-top:0}body,html{margin:0;padding:0;height:100%}@media(max-width:768px){.app-container{flex-direction:column}.mobile-header{display:flex;align-items:center;padding:12px 16px;background-color:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000001a}.hamburger-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;color:#1f2937;line-height:1;margin-right:12px}.hamburger-btn:active{background-color:#f3f4f6;border-radius:4px}.app-title{font-size:18px;font-weight:600;color:#1f2937}.content{padding:16px;height:calc(100vh - 52px)}}@media(max-width:480px){.content{padding:12px}.mobile-header{padding:10px 12px}.app-title{font-size:16px}}.loginContainer{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem 0;background:#000}.loginCard{width:90%;max-width:400px;background:linear-gradient(0deg,#0d0d0d 95%,#1a1a1a);border:solid 1px hsl(0,0%,10%);border-top:1px solid hsl(0,0%,20%);box-shadow:none;border-radius:.5rem;padding:2rem}.loginHeader{margin-bottom:2rem;text-align:center}.loginHeader h2{font-family:Manrope,sans-serif;font-weight:700;font-size:1.6rem;line-height:1em;color:#f2f2f2;margin-bottom:.5rem}.loginHeader p{font-family:Manrope,sans-serif;font-weight:400;font-size:1rem;line-height:1em;color:#8c8c8c}.loginForm{display:flex;flex-direction:column;gap:1.5rem}.inputGroup{display:flex;flex-direction:column;gap:.5rem}.inputGroup label{font-family:Manrope,sans-serif;font-weight:600;font-size:.8rem;line-height:1em;color:#bfbfbf;text-transform:uppercase;letter-spacing:.05em}.inputGroup input{background:#1a1a1a;border:solid 1px hsl(0,0%,10%);border-radius:.5rem;padding:.75rem 1rem;font-family:Manrope,sans-serif;font-weight:400;font-size:1rem;line-height:1em;color:#f2f2f2;transition:all .2s ease}.inputGroup input:focus{outline:none;border-color:#333;background:#0d0d0d}.inputGroup input::placeholder{color:#8c8c8c}.submitButton{background:#f2f2f2;color:#0d0d0d;font-family:Manrope,sans-serif;font-weight:700;font-size:1rem;line-height:1em;padding:.75rem 1rem;border-radius:.5rem;border:none;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.submitButton:hover{opacity:.9;transform:translateY(-1px)}.submitButton:active{transform:translateY(0)}.submitButton:disabled{opacity:.5;cursor:not-allowed;transform:none}.message{padding:.75rem 1rem;border-radius:.5rem;font-family:Manrope,sans-serif;font-weight:400;font-size:.8rem;line-height:1em;text-align:center;margin-top:1rem}.message.error{background:#dc26261a;border:solid 1px rgba(220,38,38,.3);color:#f87171}.message.success{background:#22c55e1a;border:solid 1px rgba(34,197,94,.3);color:#86efac}.message.info{background:#3b82f61a;border:solid 1px rgba(59,130,246,.3);color:#93c5fd}.login-divider{text-align:center;margin:1.5rem 0;height:auto;background:none}.login-divider span{color:#8c8c8c;font-family:Manrope,sans-serif;font-weight:400;font-size:.875rem}.googleButton{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background:#1a1a1a;border:solid 1px hsl(0,0%,20%);border-radius:.5rem;padding:.75rem 1rem;font-family:Manrope,sans-serif;font-weight:600;font-size:1rem;line-height:1em;color:#f2f2f2;cursor:pointer;transition:all .2s ease}.googleButton:hover{background:#262626;border-color:#4d4d4d}.googleButton:active{transform:translateY(1px)}.googleButton:disabled{opacity:.5;cursor:not-allowed;transform:none}.googleButton svg{flex-shrink:0}@media(max-width:50rem){.loginContainer{padding:1rem}.loginCard{width:100%;padding:1.5rem}.loginHeader h2{font-size:1.4rem}}.table-container{padding:10px;background-color:#f8f8f8;border-radius:8px;height:calc(100vh - 220px);display:flex;flex-direction:column;overflow:hidden}.table-wrapper{position:relative;flex:1;overflow-y:auto;overflow-x:auto}.table-filler-row{height:100%}.table-filler-row td{padding:0;border:none}.manage-task-table{width:max-content;min-height:100%;min-width:100%;border-collapse:collapse;font-family:Arial,sans-serif}.manage-task-table thead{background-color:#f2f0f7;position:sticky;top:0;z-index:10}.manage-task-table th{text-align:left;padding:10px 12px;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #ddd;white-space:nowrap;background-color:#f2f0f7}.manage-task-table tbody tr{border-bottom:1px solid #eee;transition:background .2s}.manage-task-table tbody tr:hover:not(.create-form-row){background-color:#fafafa}.create-form-row{position:sticky;bottom:0;background-color:#fff;border-top:2px solid #ddd;box-shadow:0 -2px 4px #0000001a;z-index:5}.create-form-row td{background-color:#fff;padding:10px 12px}.create-form-row:hover{background-color:#fff!important}.manage-task-table td{padding:8px 12px;font-size:13px;color:#555;white-space:nowrap}.manage-task-table td input[type=text],.manage-task-table td input[type=datetime-local],.manage-task-table td select{min-width:100%;max-width:100%;padding:4px;font-size:13px;border:1px solid #000000;border-radius:4px;box-sizing:border-box}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.manage-task-table tbody tr.parent-task{background-color:#eef4ff}.manage-task-table tbody tr.standalone-task{background-color:#e6ece6}.manage-task-table tbody tr.child-task{background-color:#f1fff8}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;color:#fff}.status-Draft{background-color:#abb5be}.status-New{background-color:#0287ff}.status-Scheduled{background-color:#8cb2f8}.status-In-Progress{background-color:#ffc402}.status-Approved{background-color:#28a745}.status-In-Review{background-color:#ffc402}.status-Completed{background-color:#28a745}.status-Due,.status-Rejected{background-color:#dc3545}.status-pending{opacity:.5}.status-reject-inline{display:flex;align-items:center;gap:6px}.status-reject-inline input{flex:1;min-width:0}.action-span{vertical-align:middle}.utility-badge{display:inline-flex;padding:2px 8px;border-radius:8px;font-size:13px}.badge-user{background-color:#abb5be;color:#000}.badge-reference{background-color:#00c3ff;color:#000;text-overflow:ellipsis}.badge-add{background-color:#28a745;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;padding:0 4px}.badge-warning-input{position:absolute;top:-11px;right:-15px;width:23px;height:23px;background-color:#dc3545;border-radius:50%;box-shadow:0 1px 3px #0000004d;display:flex;align-items:center;justify-content:center}.badge-warning-input svg{width:16px;height:16px;fill:#fff;display:block}.status-warning{position:relative;cursor:help}.link-style{display:inline-block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.remove-user{background:none;border:none;color:red;font-weight:700;font-size:1rem;cursor:pointer;padding:0%;margin-left:3px}.span-data-editable{display:block;min-height:20px;cursor:pointer}.span-data{display:block;min-height:20px;cursor:default}.input-name{width:100%;min-width:0}.click-to-action-disabled{cursor:not-allowed}.click-to-action-enabled{cursor:pointer}.placeholder-datetime,.placeholder-duration{position:absolute;top:0;left:0;font-family:monospace;font-size:14px;letter-spacing:.5px;padding:5px 8px;color:#6d6c6c;pointer-events:none;white-space:pre;-webkit-user-select:none;user-select:none;z-index:0}.manage-task-table td input.input-datetime{font-family:monospace;font-size:14px;letter-spacing:.5px;background:transparent;position:relative;z-index:1;padding:4px 8px;min-width:unset;max-width:unset}.manage-task-table td input.hidden-datetime-input{min-width:unset;max-width:unset;border:none;padding:0}.open-sidebar{align-self:flex-end}.name-column{display:flex}.user-search-dropdown{position:relative;display:inline-block;min-width:180px}.user-search-input{width:100%;padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;box-sizing:border-box}.user-search-list{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;list-style:none;margin:0;padding:0;z-index:100;box-shadow:0 4px 8px #0000001a}.user-search-item{padding:6px 10px;font-size:13px;cursor:pointer}.user-search-item:hover{background:#f0f0f0}.user-search-empty{padding:6px 10px;font-size:13px;color:#999}.template-search-dropdown{position:relative;display:inline-block;min-width:180px}.template-search-input{width:100%;padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;box-sizing:border-box}.template-search-list{position:absolute;inset:auto 0 100%;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-bottom:none;border-radius:4px 4px 0 0;list-style:none;margin:0;padding:0;z-index:100;box-shadow:0 -4px 8px #0000001a}.template-search-item{padding:6px 10px;font-size:13px;cursor:pointer}.template-search-item:hover{background:#f0f0f0}.template-search-empty{padding:6px 10px;font-size:13px;color:#999}.dropdown-menu{position:absolute;top:100%;right:0;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:280px;padding:8px 0;display:flex;flex-direction:column}.dropdown-item{padding:10px 16px;text-align:left;background:none;border:none;font-size:14px;width:100%;background-color:transparent}.dropdown-enabled{color:#333;cursor:pointer}.dropdown-disabled{color:#a0a0a0;cursor:not-allowed}.unread-dot{min-width:15px;height:15px;background:#18aa24;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.unread-dot:after{content:"";width:5px;height:5px;background:#fff;border-radius:50%}@keyframes spin{to{transform:rotate(360deg)}}.td-checkbox-col{width:41px;min-width:41px;max-width:41px}.drag-handle{cursor:grab;font-size:18px;color:#666;-webkit-user-select:none;user-select:none;margin-right:5px}.td-task-name{vertical-align:middle;position:relative}.task-name-row{display:flex;align-items:center;width:100%;justify-content:space-between}.task-name-group1{display:flex;align-items:center;flex:1;min-width:0}.indent-spacer{flex-shrink:0}.arrow-spacer{width:24px;display:flex;align-items:center;flex-shrink:0;cursor:pointer}.task-name-display{display:flex;align-items:center;min-width:0;overflow:hidden;gap:5px;flex:1}.task-name-display .span-data,.task-name-display .span-data-editable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.task-icons-group{display:flex;align-items:center;gap:8px;padding-left:10px}.td-relative{position:relative}.duration-backdrop{position:fixed;inset:0;z-index:999}.date-input-container{position:relative;display:inline-block}.hidden-datetime-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.calendar-icon-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);z-index:2;background:none;border:none;cursor:pointer;font-size:16px}.calendar-icon-btn:disabled{cursor:not-allowed;opacity:.5}.td-reference-cell{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.badge-spaced{margin-right:4px}.badge-location{margin:0 2px}.badge-add-btn{margin-left:4px}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.seq-toggle-label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;white-space:nowrap}.seq-enabled{cursor:pointer}.seq-disabled{cursor:not-allowed}.switch.switch-sm{width:36px;height:20px;flex-shrink:0}.switch.switch-sm .slider:before{height:14px;width:14px;left:3px;bottom:3px}.switch.switch-sm input:checked+.slider:before{transform:translate(16px)}.file-input-inline{display:inline-block;margin-left:4px}.click-to-upload{cursor:pointer;color:#007bff;margin-left:4px}.click-to-upload-disabled{cursor:not-allowed;color:#6c757d;margin-left:4px}.th-task-name{min-width:400px;max-width:400px}.th-status{min-width:110px;max-width:110px}.th-start-date,.th-end-date{min-width:186px;max-width:186px}.th-duration{min-width:140px;max-width:140px}.duration-picker-container{position:absolute;top:calc(100% + 0px);left:0;z-index:1000;background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 16px #0003;padding:16px;min-width:max-content}.duration-picker{display:flex;flex-direction:column;gap:12px;min-width:200px}.duration-picker-header{font-size:13px;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;padding-bottom:8px}.duration-picker-inputs{display:flex;gap:12px;align-items:center;justify-content:center}.duration-input-group{text-align:center}.duration-input{width:60px;padding:6px;border:1px solid #000000;border-radius:4px;text-align:center;font-size:14px}.duration-input:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px #007bff1a}.duration-label{font-size:11px;margin-top:4px;color:#666}.duration-separator{font-size:18px;color:#999}.duration-picker-actions{display:flex;gap:8px;border-top:1px solid #e0e0e0;padding-top:8px}.duration-btn{flex:1;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s ease}.duration-btn-clear{border:1px solid #d0d0d0;background:#fff;color:#666}.duration-btn-clear:hover{background:#f5f5f5;color:#dc3545;border-color:#dc3545}.duration-btn-save{border:none;background:#000;color:#fff;font-weight:500}.duration-btn-save:hover{background:#1a1a1a}.duration-btn:active{transform:scale(.98)}.task-sidebar{position:fixed;top:0;right:0;z-index:1000;width:600px;height:100vh;background-color:#fff;border-left:1px solid #ddd;box-shadow:-2px 0 10px #00000026;transform:translate(100%);transition:transform .3s ease-out;display:flex;flex-direction:column}.task-sidebar.open{transform:translate(0)}.task-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #ddd}.task-sidebar .sidebar-header h2{font-size:1.5em;margin:0;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowwrap}.task-sidebar .header-controls{display:flex;align-items:center;gap:10px}.task-sidebar .close-button{background:none;border:none;font-size:1.5em;cursor:pointer;line-height:1;padding:5px;color:#555}.sidebar-header{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.sidebar-header h2{margin:0;font-size:1.2em}.close-button{background:none;border:none;font-size:1.5em;cursor:pointer;color:#888}.sidebar-date-range{display:inline-block;padding:10px 20px;font-size:.9em;color:#666;border-bottom:1px solid #eee}.sidebar-details{flex-grow:1;padding:20px;overflow-y:auto}.sidebar-span-data{display:inline-block;min-height:20px;min-width:170px;color:#888}.sidebar-placeholder-datetime{position:absolute;top:0;left:0;font-family:monospace;font-size:14px;letter-spacing:.5px;padding:6px 8px;color:#6d6c6c;pointer-events:none;white-space:pre;-webkit-user-select:none;user-select:none;z-index:0}.detail-item{margin-bottom:15px}.detail-item label{display:block;font-weight:700;margin-bottom:4px;font-size:.85em;color:#444}.detail-item span{font-size:1em}.filter-bar{margin-bottom:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-chip{position:relative}.filter-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:background-color .2s}.filter-button:hover{background:#f9fafb}.filter-button.active{background:#eff6ff;border-color:#93c5fd}.filter-button-text{font-size:14px;font-weight:500}.filter-badge{background:#3b82f6;color:#fff;font-size:12px;padding:2px 8px;border-radius:9999px}.chevron-icon{width:16px;height:16px;transition:transform .2s}.chevron-icon.rotated{transform:rotate(180deg)}.dropdown{position:absolute;top:100%;margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;z-index:11;min-width:200px}.dropdown-content{padding:8px}.dropdown-header{font-size:12px;font-weight:600;color:#6b7280;padding:4px 8px;margin-bottom:4px}.checkbox-label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer;transition:background-color .2s}.checkbox-label:hover{background:#f9fafb}.checkbox-input{width:16px;height:16px;accent-color:#3b82f6}.checkbox-text{font-size:14px}.dropdown-divider{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:8px}.clear-button{width:100%;text-align:left;padding:8px;font-size:14px;color:#6b7280;background:none;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.clear-button:hover{background:#f9fafb}.date-dropdown{min-width:280px}.date-input-group{margin-bottom:12px}.date-label{display:block;font-size:12px;font-weight:600;color:#6b7280;margin-bottom:4px}.date-input{width:250px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.add-filter-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:background-color .2s}.add-filter-button:hover{background:#f9fafb}.filter-now-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:background-color .2s}.filter-now-button:hover{background:#f9fafb}.filter-now-button.has-changes{background:#eff6ff;border-color:#93c5fd}.filter-menu-option{width:100%;text-align:left;padding:8px 12px;font-size:14px;background:none;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.filter-menu-option:hover:not(:disabled){background:#f9fafb}.filter-menu-option:disabled{opacity:.5;cursor:not-allowed}.search-icon-button{padding:8px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:background-color .2s}.search-icon-button:hover{background:#f9fafb}.search-icon-button.active{background:#eff6ff;border-color:#93c5fd}.search-input-container{display:flex;align-items:center;gap:8px;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;background:#fff}.search-input-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.search-input{outline:none;border:none;font-size:14px;width:256px}.icon{width:18px;height:18px;color:#9ca3af}.close-icon{cursor:pointer;transition:color .2s}.close-icon:hover{color:#4b5563}.clear-all-button{font-size:14px;color:#6b7280;text-decoration:underline;background:none;border:none;cursor:pointer;transition:color .2s}.clear-all-button:hover{color:#1f2937}.user-list-container{position:relative;min-height:32px}.user-list-container.is-loading{opacity:.6;pointer-events:none}.user-list-loading-bar{padding:4px 8px;font-size:11px;color:#9ca3af;text-align:center;height:px}
