:root{--day-cell-width:30px;--job-title-width:200px;--timeline-header-height:122px;--timeline-row-height:40px}*{box-sizing:border-box;margin:0;padding:0;font-family:Arial,sans-serif}body{overflow:hidden;background-color:#f5f5f5;user-select:none}.sidenav{height:100%;width:55px;position:fixed;z-index:100;top:0;left:0;background-color:#333;overflow-x:hidden;transition:width .3s;padding-top:60px}.sidenav.open{width:250px}.toggle-btn{position:absolute;top:15px;left:15px;color:#fff;cursor:pointer}.toggle-btn svg{fill:#fff}.sidenav-content{display:flex;flex-direction:column;margin-top:20px;padding:0 15px;opacity:1;transition:opacity .3s}.main-content{margin-left:60px;transition:margin-left .3s;height:100vh;overflow:hidden}.empty-state{display:flex;justify-content:center;align-items:center;height:100%;text-align:center}.empty-state-content h2{margin-bottom:20px;color:#555}.modal.show{display:flex !important}.project-view{height:100%;display:flex;flex-direction:column}.project-header{padding:10px 20px;background-color:#f0f0f0;border-bottom:1px solid #ddd;flex-shrink:0;height:50px;display:flex;align-items:center}.project-header h2{font-size:18px;color:#333;margin:0}.btn{padding:10px 15px;border:none;border-radius:4px;cursor:pointer;font-weight:700;margin:5px 0;transition:background-color .2s ease}.primary-btn{background-color:#2196f3;color:#fff}.primary-btn:hover{background-color:#0d8cf0}.secondary-btn{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.secondary-btn:hover{background-color:#e0e0e0}.modal{display:none;position:fixed;z-index:200;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);align-items:center;justify-content:center}.modal-content{background-color:#fff;margin:auto;width:90%;max-width:500px;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:85vh}.modal-header{padding:15px;border-bottom:1px solid #ddd;flex-shrink:0}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:15px;overflow-y:auto;flex-grow:1}.modal-footer{padding:15px;text-align:right;border-top:1px solid #ddd;flex-shrink:0}.modal-footer .btn{margin-left:10px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#555;font-size:14px}.form-input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-input[readonly]{background-color:#f0f0f0;cursor:not-allowed}textarea.form-input{resize:vertical;min-height:80px}.limited-partner-message{background:#fff3cd;color:#856404;border:1px solid #ffeeba;padding:12px;margin:0 0 15px;font-size:14px;font-family:Arial,sans-serif;text-align:center;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.timeline-container{display:flex;position:relative;background-color:#fff;border-radius:0 0 8px 8px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin:0 15px 15px;height:calc(100% - 50px);overflow:hidden}.timeline-sidebar{width:220px;min-width:180px;max-width:500px;background-color:#f8f8f8;border-right:1px solid #ddd;display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease,display 0s}.sidebar-resizer{width:6px;background-color:#ddd;cursor:col-resize;position:relative;z-index:20;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.sidebar-resizer:after{content:"";width:2px;height:40px;background-color:#999;border-radius:1px;transition:background-color .2s ease}.sidebar-resizer:hover{background-color:#bbb}.sidebar-resizer:hover:after{background-color:#666}.sidebar-resizer.resizing{background-color:#aaa}.sidebar-resizer.resizing:after{background-color:#555}.timeline-sidebar[style*="display: none"]+.sidebar-resizer{position:absolute;left:0;top:0;height:100%;background-color:#bbb}.timeline-sidebar[style*="display: none"]+.sidebar-resizer:hover{background-color:#999;cursor:e-resize}.timeline-container.resizing{cursor:col-resize;user-select:none}.timeline-sidebar[style*="display: none"]+.sidebar-resizer{position:absolute;left:0;top:0;height:100%;background-color:#bbb}.timeline-sidebar[style*="display: none"]+.sidebar-resizer:hover{background-color:#999;cursor:e-resize}.sidebar-controls{display:flex;border-bottom:1px solid #ddd;flex-shrink:0}.sidebar-indicator{position:fixed;padding:8px 15px;background-color:rgba(33,150,243,1);color:#fff;border-radius:4px;font-size:14px;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.5);z-index:150;display:none;align-items:center;justify-content:center;pointer-events:none;height:30px;min-width:60px;text-align:center;opacity:0;transition:transform .2s ease-out,opacity .2s ease-out}.sidebar-indicator.indicator-visible{transform:translateX(0);opacity:1}.close-indicator{transform:translateX(0)}.open-indicator{transform:translateX(0)}@keyframes fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body.resizing-sidebar,body.resizing-sidebar *{cursor:col-resize !important}body.sidebar-hidden .sidebar-resizer{cursor:e-resize}body.resizing-sidebar.sidebar-hidden,body.resizing-sidebar.sidebar-hidden *{cursor:e-resize !important}.tab-btn{flex:1;padding:12px;border:none;background:0 0;cursor:default;font-weight:700;color:#2196f3;transition:all .2s ease;text-transform:uppercase;font-size:12px;letter-spacing:.5px;border-bottom:2px solid #2196f3}.tab-btn:hover{background-color:transparent;color:#2196f3}.tab-btn.active{color:#2196f3;border-bottom:2px solid #2196f3}.inspector-panel,.visibility-panel{flex:1;overflow-y:auto;padding:15px}.no-selection-message{color:#999;font-style:italic;text-align:center;margin-top:30px;padding:20px;font-size:14px}.inspector-info{display:flex;flex-direction:column;height:100%}.job-header{padding:12px 15px;border-radius:6px 6px 0 0;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.2)}.job-header h3{margin:0;font-size:16px;font-weight:600}.job-details{padding:15px;flex:1;font-size:14px}.detail-row{display:flex;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0;line-height:1.4}.detail-row:last-child{border-bottom:none}.detail-label{width:110px;font-weight:600;color:#666;flex-shrink:0}.detail-value{flex:1;min-width:70px;color:#333;padding-left:5px}.subcontractor-list{display:flex;flex-direction:column}.subcontractor-item{padding:2px 0}.job-actions{display:flex;justify-content:flex-end;gap:10px;padding:15px;border-top:1px solid #eee;flex-shrink:0}.visibility-list{display:flex;flex-direction:column}.visibility-item{padding:10px 15px;cursor:pointer;border-bottom:1px solid #eee;font-size:14px;transition:background-color .2s ease}.visibility-item:last-child{border-bottom:none}.visibility-item:hover{background-color:#f0f0f0}.timeline-main-area{display:flex;flex:1;overflow:hidden}.job-title-column{width:var(--job-title-width);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid #999;background-color:#f8f8f8;overflow:hidden;z-index:15}.job-title-header{height:var(--timeline-header-height);display:flex;flex-direction:column;justify-content:space-between;padding:10px;border-bottom:1px solid #ddd;box-sizing:border-box;background-color:#f8f8f8;flex-shrink:0;position:relative}.search-toggle-btn{position:absolute;bottom:10px;left:10px;font-size:14px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;background-color:#f5f5f5;cursor:pointer;z-index:5}.search-toggle-btn:hover{background-color:#e0e0e0}.job-search-container{position:absolute;bottom:10px;left:10px;display:none;align-items:center;background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;padding:3px;z-index:6}.job-search-container.expanded{display:flex;width:calc(100% - 20px);max-width:180px;padding:3px 5px;align-items:center;border-radius:4px}.job-search-container.expanded .job-search-input{flex:1;min-width:70px;width:70px;padding:2px 5px;font-size:12px}.search-close-btn{font-size:14px;padding:0 1px;border:none;background:0 0;cursor:pointer;color:#666}.search-close-btn:hover{color:#333}.job-search-input{flex:1;width:auto;min-width:80px}.job-search-container.expanded~.display-mode-dropdown{display:none}.job-search-input{width:100px;padding:4px 6px}.job-search-results{margin:0 3px;font-size:10px;color:#666;white-space:nowrap;max-width:50px}.results-count{font-weight:700;color:#333}.search-navigation{display:flex;flex-direction:column;height:18px;margin-left:2px}.search-nav-btn{font-size:8px;padding:0;width:12px;height:10px;border:1px solid #ddd;background-color:#f5f5f5;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666}.search-nav-btn:first-child{border-radius:3px 3px 0 0;border-bottom:none}.search-nav-btn:last-child{border-radius:0 0 3px 3px}.search-nav-btn:hover{background-color:#e0e0e0}.search-nav-btn:disabled{opacity:.5;cursor:default}.job-title.search-match{background-color:rgba(255,255,0,.2)}.job-title.search-active{background-color:rgba(255,255,0,.5);font-weight:700}.job-title-list{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.job-title{width:100%;padding:0 10px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;height:var(--timeline-row-height);box-sizing:border-box;border-bottom:1px solid #eee;background-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .2s ease}.job-title-placeholder{background-color:transparent;cursor:default}.job-title:hover:not(.job-title-placeholder){background-color:#f0f5ff}.job-title.selected{background-color:#e3f2fd;border-left:4px solid #2196f3;padding-left:6px;font-weight:600}.timeline-content{flex:1;display:flex;flex-direction:column;overflow:auto;position:relative;scrollbar-width:thin;cursor:grab}.timeline-content.dragging{cursor:grabbing}.timeline-headers{position:sticky;top:0;z-index:10;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);width:max-content;flex-shrink:0}.month-header,.week-header,.weekday-header,.date-header{display:flex;position:relative;box-sizing:border-box}.month-header{height:36px;border-bottom:1px solid #ddd;background-color:#f5f5f5}.week-header{height:30px;border-bottom:1px solid #ddd;background-color:#f0f0f0}.weekday-header{height:28px;border-bottom:1px solid #ddd;background-color:#f8f8f8}.date-header{height:28px;border-bottom:1px solid #ddd;background-color:#fff}.month-label,.month-indicator,.week-label{position:absolute;top:0;height:100%;display:flex;align-items:center;box-sizing:border-box;z-index:1;border-right:1px solid #ddd;overflow:hidden;white-space:nowrap}.month-label{padding-left:12px;font-weight:700;font-size:13px;background-color:#e9e9e9;color:#333}.month-indicator{justify-content:center;font-size:11px;font-weight:500;background-color:#f0f0f0;color:#555}.week-label{padding-left:8px;font-size:11px;font-weight:500;background-color:#f0f0f0;color:#555}.weekday-cell,.date-cell{width:var(--day-cell-width);min-width:var(--day-cell-width);max-width:var(--day-cell-width);flex:0 0 var(--day-cell-width);box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-right:1px solid #eee;font-size:11px;text-align:center;overflow:hidden;white-space:nowrap}.weekday-cell{font-weight:600;color:#555;background-color:#f8f8f8}.date-cell{color:#666;background-color:#fff}.weekday-cell:first-child,.date-cell:first-child{border-left:none}.timeline-grid{display:flex;flex-direction:column;width:max-content;position:relative;flex-grow:1}.timeline-row{display:flex;height:var(--timeline-row-height);border-bottom:1px solid #eee;position:relative;align-items:center;transition:background-color .2s ease}.timeline-cell{width:var(--day-cell-width);min-width:var(--day-cell-width);max-width:var(--day-cell-width);flex:0 0 var(--day-cell-width);box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-right:1px solid #eee;position:relative;height:100%}.timeline-cell:first-child{border-left:none}.timeline-cell.weekend{background-color:#f9f9f9}.timeline-cell.today{background-color:#e6f7ff;border:1px solid #91d5ff}.timeline-cell.month-divider{border-left:1px solid #ccc}.timeline-cell.out-of-range{background-color:#fafafa;opacity:.7}.job-marker{position:absolute;top:5px;bottom:5px;border-radius:3px;opacity:.8;cursor:pointer;transition:background-color .2s ease,opacity .2s ease,left 0s,width 0s;z-index:3;width:calc(var(--day-cell-width) - 4px);box-shadow:0 1px 2px rgba(0,0,0,.1)}.job-marker:hover{opacity:1;transform:scale(1.03);box-shadow:0 2px 5px rgba(0,0,0,.2)}.timeline-add-button{padding:4px;width:36px;height:28px;background-color:#2196f3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;font-weight:700;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.12);border:none;font-size:16px;margin:0;align-self:flex-start;position:relative}.timeline-add-button:after{content:'+';font-family:Arial,sans-serif;line-height:1}.timeline-add-button:hover{background-color:#0d8cf0;box-shadow:0 3px 6px rgba(0,0,0,.16)}#dailyInfoModal .modal-content{max-width:450px}.timeline-row.hovered{background-color:#eef4ff}.job-title.hovered{background-color:#eef4ff !important}.import-message{margin-top:10px;font-size:14px;font-style:italic}.sidenav.open #exportProject{display:block}.sidenav .btn{display:flex;align-items:center;justify-content:flex-start;position:relative;overflow:hidden;width:100%;background-color:#444;color:#fff;border:none}.btn-icon{font-size:20px;margin-right:10px;min-width:24px;text-align:center}.sidenav:not(.open) .btn-text{display:none}.sidenav:not(.open) .btn{width:100%;justify-content:center;padding:5px 0;margin:5px 0;border-radius:4px}.btn-icon,.btn-text{pointer-events:none}.sidenav:not(.open) .btn-icon{margin-right:0;font-size:20px}.sidenav:not(.open) .sidenav-content{padding:0 5px}.btn.disabled{opacity:.5;cursor:not-allowed}.subcontractor-group{position:relative;margin-bottom:10px}.input-with-button{display:flex;align-items:center}.subcontractor-input{flex:1}.remove-subcontractor-btn{background-color:#ff4d4d;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1;cursor:pointer;margin-left:10px;display:flex;align-items:center;justify-content:center}.remove-subcontractor-btn:hover{background-color:#e60000}.small-btn{padding:5px 10px;font-size:12px}.date-selection-container{display:flex;align-items:center;gap:10px;position:relative}.date-input{flex:1}.week-btn{padding:8px 10px;flex-shrink:0}.week-dropdown{position:absolute;z-index:10;top:100%;left:0;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1);max-height:200px;overflow-y:auto;width:150px;margin-top:5px;display:none}.week-option{padding:8px 12px;cursor:pointer;transition:background-color .2s}.week-option:hover{background-color:#f0f0f0}.week-option.disabled{color:#ccc;cursor:not-allowed}.context-menu{display:none;position:absolute;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.2);z-index:1000;min-width:120px;overflow:hidden;font-size:13px}.context-menu-item{padding:6px 10px;cursor:pointer;font-size:13px;transition:background-color .2s}.context-menu-item:hover{background-color:#f0f0f0}.context-menu-divider{height:1px;background-color:#ddd;margin:2px 0}.job-title.dragging{opacity:.5;border:1px dashed #ccc;cursor:grabbing !important}.job-placeholder{border:2px dashed #2196f3;background-color:rgba(33,150,243,.1);color:transparent;cursor:default}.job-title-list,.timeline-grid{overflow:visible}body.dragging-row .job-title-list,body.dragging-row .timeline-grid{overflow:visible}.timeline-row.drag-target,.job-title.drag-target{background-color:rgba(33,150,243,.1);border-top:2px dashed #2196f3 !important;border-bottom:2px dashed #2196f3 !important}.dragging-row *{cursor:grabbing !important}.being-dragged{border:2px dashed #2196f3 !important;background-color:rgba(33,150,243,.1) !important;box-shadow:0 0 8px rgba(33,150,243,.5);position:relative;z-index:10}.row-transition{transition:transform .1s ease-out}.dragging-row .job-title,.dragging-row .timeline-row{cursor:grabbing !important}.dragging-row{cursor:grabbing !important}.color-selection-container{display:flex;align-items:center;gap:15px;margin-bottom:10px}.color-input{width:50px;height:40px;padding:0;border:1px solid #ddd;border-radius:4px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.1)}.color-btn{padding:8px 12px;flex-shrink:0}.color-preview{display:inline-block;width:20px;height:20px;border-radius:4px;margin-right:8px;border:1px solid #ddd;vertical-align:middle}.color-presets-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.color-preset{width:30px;height:30px;border-radius:4px;border:1px solid #ddd;cursor:pointer;transition:transform .1s,box-shadow .1s}.color-preset:hover{transform:scale(1.1);box-shadow:0 2px 5px rgba(0,0,0,.2)}.color-preset.selected{border:2px solid #333;box-shadow:0 0 0 2px rgba(255,255,255,.8)}@media (max-width:250px){.timeline-sidebar .detail-row{flex-direction:column}.timeline-sidebar .detail-label{width:100%;margin-bottom:3px}.timeline-sidebar .detail-value{padding-left:0}}.narrow-sidebar .detail-row{flex-direction:column}.narrow-sidebar .detail-label{width:100%;margin-bottom:3px}.narrow-sidebar .detail-value{padding-left:0}.narrow-sidebar .subcontractor-list{padding-left:0}.display-mode-dropdown{position:absolute;bottom:10px;right:10px;z-index:10}.display-mode-btn{padding:4px 8px;font-size:11px;width:80px;min-width:80px;max-width:80px;text-align:center;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display-mode-btn:after{position:relative;right:8px;top:50%;transform:translateY(-50%);font-size:8px}.display-mode-menu{display:none;position:absolute;top:100%;right:0;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.2);min-width:120px;z-index:20}.display-mode-option{padding:6px 12px;cursor:pointer;font-size:12px;transition:background-color .2s}.display-mode-option:hover{background-color:#f0f0f0}.job-title .job-info{color:#666;margin-left:auto;padding-left:12px;text-align:right;flex-shrink:0}.job-title .job-info:before{content:none;border-left:none;margin-right:8px;display:none}.job-title>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-heading{font-weight:700;font-size:16px;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid #ddd;color:#333}.history-entry{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.history-change-container{margin-bottom:15px;padding:12px;border:1px solid #eee;border-radius:6px;background-color:#fafafa;box-shadow:0 1px 3px rgba(0,0,0,.05)}.history-session-container{margin-bottom:20px;padding:15px;border:1px solid #eee;border-radius:6px;background-color:#fafafa;box-shadow:0 1px 3px rgba(0,0,0,.05)}.history-timestamp{font-size:12px;color:#666;margin-bottom:12px;padding:3px 6px;background-color:#f0f0f0;border-radius:4px;display:inline-block}.history-field-change{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eee}.history-field-change:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.history-field-name{font-weight:600;color:#444;margin-bottom:8px}.history-change-item{margin-bottom:10px;padding-left:10px}.history-field-label{font-weight:600;color:#444;margin-bottom:5px}.history-values{padding-left:15px}.history-before-value{color:#999;margin-bottom:5px}.history-changed-to-value{color:#555}.history-label{font-weight:600;display:inline-block;width:85px}.history-before-value .color-preview,.history-changed-to-value .color-preview{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:5px;border:1px solid #ddd;vertical-align:middle}.history-values .color-preview{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:5px;border:1px solid #ddd;vertical-align:middle}#imageContainer img{max-width:100%;max-height:200px;margin-top:10px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}#uploadImageBtn,#removeImageBtn{margin-right:10px}.zoom-info-tooltip{position:absolute;top:60px;right:20px;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);padding:10px 15px;font-size:13px;z-index:100;max-width:250px;display:none}.zoom-info-tooltip.visible{display:block;animation:fade-in .3s ease-out}.zoom-info-tooltip ul{margin:8px 0;padding-left:20px}.zoom-info-tooltip kbd{background-color:#f5f5f5;border:1px solid #ddd;border-radius:3px;padding:1px 4px;font-family:monospace}.show-zoom-help{position:absolute;top:60px;right:20px;font-size:18px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:90}.show-zoom-help:hover{background-color:#e0e0e0}.timeline-headers{position:sticky;top:0;z-index:25;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.1)}.timeline-main-area{transform:translateZ(0);will-change:transform}.job-title-list{position:relative;overflow:hidden}.job-title-list-inner{height:100%;overflow-y:scroll;padding-right:17px;box-sizing:content-box;margin-right:-17px}.job-title-list{&::-webkit-scrollbar{display:none}-ms-overflow-style:none;scrollbar-width:none;overflow-y:auto;}.job-actions{display:flex;justify-content:flex-start;gap:10px;padding:10px 0;border-top:none;margin-top:5px}.expanded-row{background-color:#f9f9f9;border-top:1px dashed #ccc;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}.expanded-row-input{width:90%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;margin:5px 10px;font-size:13px}.expanded-cell{background-color:#f9f9f9}.job-title[data-job-id].expanded{border-bottom:none}.expanded-job-form{padding:10px;display:flex;flex-wrap:wrap;gap:8px;background-color:#f9f9f9;width:100%}.expanded-form-group{flex:1 1 100%;min-width:150px}.expanded-form-row{display:flex;gap:8px;width:100%}.expanded-input{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px}.color-selection{display:flex;align-items:center}.color-input{width:40px;height:24px;padding:0;cursor:pointer}.expanded-save-btn{background-color:#2196f3;color:#fff;border:none;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:12px}.expanded-save-btn:hover{background-color:#0d8cf0}.sub-job-marker{height:80%;top:10%;z-index:5;border:1px solid rgba(255,255,255,.3)}.expanded-notes-container{display:flex;align-items:center;gap:8px;padding:5px 10px;width:100%}.expanded-notes-input{flex:1;padding:5px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px}.mini-add-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:#2196f3;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;padding:0;line-height:1}.mini-add-btn:hover{background-color:#0d8cf0}.sub-job-marker{height:80%;top:10%;z-index:5;border:1px solid rgba(255,255,255,.3)}.sub-job-details{margin-top:15px;padding:12px;border-radius:4px;background-color:#f5f5f5;border:1px solid #e0e0e0}.sub-job-details h4{margin:0 0 12px;font-size:14px;color:#333;padding-bottom:8px;border-bottom:1px solid #ddd}.view-subjob-btn{margin-left:10px;padding:3px 8px;font-size:11px}.expanded-notes-container{display:flex;align-items:center;gap:8px;padding:5px 10px;width:100%}.expanded-notes-input{flex:1;padding:5px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px}.mini-add-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:#2196f3;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;padding:0;line-height:1}.mini-add-btn:hover{background-color:#0d8cf0}.sub-job-marker{height:80%;top:10%;z-index:5;border:1px solid rgba(255,255,255,.3)}.sub-job-details{margin-top:15px;padding:12px;border-radius:4px;background-color:#f5f5f5;border:1px solid #e0e0e0}.sub-job-details h4{margin:0 0 12px;font-size:14px;color:#333;padding-bottom:8px;border-bottom:1px solid #ddd}.view-subjob-btn{margin-left:10px;padding:3px 8px;font-size:11px;min-width:30px}.detail-row{display:flex;align-items:flex-start}.save-confirmation{position:fixed;top:20px;right:20px;background-color:rgba(46,204,113,.9);color:#fff;padding:10px 20px;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.2);z-index:1000;animation:fade-in .3s ease-out;font-weight:700}.save-confirmation.fade-out{animation:fade-out .5s ease-out}@keyframes fade-in{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}