.spreadsheet-view{background-color:var(--bg-color);padding:16px;width:100%;margin:0}.tab-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.tab-buttons button{padding:6px 12px;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;font-size:.9rem}.tab-buttons button.active{background:#e0e0e0;font-weight:700}.tab-content{display:none}.tab-content.active{display:block}.planner-header{text-align:left}.spreadsheet-view .planner-header{background-color:hsl(var(--color-background));margin-bottom:12px;width:-webkit-fit-content;width:fit-content}.header-top{display:flex;justify-content:space-between;align-items:center}.enquiry-btn{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 12px;cursor:pointer}.enquiry-btn:hover{background-color:#f0f0f0}.spreadsheet-view .planner-header h2{margin-bottom:.5rem;font-size:35px;font-weight:700;text-align:left}.legend{font-size:.85rem;margin-bottom:20px;line-height:1.3;text-align:left}.legend .confirmed{color:green;font-weight:700}.legend .reschedule{color:orange;font-weight:700}.legend .pending{color:red;font-weight:700}.legend .white-row{color:#222;font-weight:700}.legend .activity-codes{color:#333;font-weight:700}.legend-toggle{background:none;border:none;cursor:pointer;font-size:.9rem;margin-right:4px}.header-toggle{display:flex;align-items:center;justify-content:center;gap:1rem}.header-toggle h4{font-size:1.7rem}.collapse-button{background-color:#fff;color:var(--text-color);border:1px solid #ccc;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:.85rem;transition:background-color .3s}.collapse-button:hover{background-color:#f0f0f0}.route-planner{margin-bottom:24px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05);padding:12px}.planner-name-input{font-size:11px;padding:2px 4px}.planner-content{overflow:hidden;transition:max-height .3s ease}.planner-content.collapsed{max-height:0}.planner-content.expanded{max-height:none}.toolbar{margin-bottom:.5rem;display:flex;justify-content:flex-end;align-items:center}.toolbar button{margin-left:.25rem;border:1px solid #ccc;background:#f8f8f8;border-radius:4px;padding:.2rem .4rem;font-size:.8rem;cursor:pointer;transition:background-color .2s,box-shadow .2s}.toolbar button:hover{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1)}.toolbar button:active{background:#e9ecef}.add-planner-btn{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 12px;cursor:pointer;margin-top:8px;transition:background-color .2s}.add-planner-btn:hover{background-color:#f0f0f0}@media (max-width:768px){.spreadsheet-view{padding:8px}.spreadsheet-view .planner-header h2{font-size:24px}.legend{font-size:.75rem}.toolbar{flex-wrap:wrap}.toolbar button{margin-bottom:.25rem;margin-left:.25rem}.route-planner{padding:8px}.add-planner-btn{width:100%}}@keyframes wobble{0%{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}to{transform:rotate(0deg)}}.overdue-animate{animation:wobble .5s ease-in-out}.tooltip-wrapper{position:relative;display:inline-block}.tooltip{position:absolute;background:#ffffff;color:hsl(var(--color-foreground));padding:4px 8px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2);white-space:nowrap;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.tooltip-top{bottom:calc(100% + 12px)}.tooltip-bottom,.tooltip-top{left:50%;transform:translateX(-50%)}.tooltip-bottom{top:calc(100% + 12px)}.tooltip-left{right:calc(100% + 12px)}.tooltip-left,.tooltip-right{top:50%;transform:translateY(-50%)}.tooltip-right{left:calc(100% + 12px)}.tooltip.visible{opacity:1}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.floating-logo{animation:float 6s ease-in-out infinite}.table-container{width:100%;background:var(--bg-color);padding:16px;overflow-x:auto}:root{--row-color-orange:#ffe6b3;--row-color-yellow:#fff8b3;--row-color-green:#d4f9d4;--row-color-blue:#cce2ff;--row-color-purple:#e0ccff;--row-color-white:#ffffff}.table-wrapper{position:relative;overflow:auto;padding-left:40px;padding-bottom:8px;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.table-wrapper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:40px;background:#fff;border-right:1px solid #e0e0e0;pointer-events:none}.editable-table{border-collapse:collapse}.editable-table td,.editable-table th{border:1px solid #ccc;position:relative;padding:0;direction:ltr;text-align:left;font-size:11px}.editable-table td{background:inherit}.editable-table td:first-child,.editable-table th:first-child{border-left:none}.editable-table thead th{background:#ffffff;border-bottom:1px solid #ddd;font-weight:700;text-align:center}.header-cell:hover{background:#f0f0f0}.header-input{font:inherit;border:1px solid #ccc;width:100%;height:100%;box-sizing:border-box;text-align:center}.cell,.header-input{padding:4px;font-size:11px}.cell{min-width:80px;outline:none;direction:ltr;text-align:left;unicode-bidi:plaintext}.cell:focus{outline:2px solid #0061ff;outline-offset:-2px}.schedule-btn{text-align:left;width:100%;background:#fff;border:1px solid #ccc;border-radius:4px;padding:2px 4px;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.schedule-btn:focus{outline:2px solid #0061ff;outline-offset:-2px}.schedule-btn.empty{background-color:#eef6ff;border-style:dashed}.schedule-btn.empty .schedule-text{color:#0061ff}.schedule-icon{margin-right:4px;pointer-events:none}.column-resizer{position:absolute;right:0;top:0;width:4px;height:100%;cursor:col-resize}.row-insert-marker td{border:none;padding:0;height:0;position:relative}.row-insert-wrapper{position:absolute;left:-40px;right:0;top:-4px;height:8px;pointer-events:auto}.insert-dot{left:20px;top:2px;width:3px;height:3px;background:#bbb;border-radius:50%}.insert-dot,.insert-line{position:absolute;pointer-events:none}.insert-line{left:40px;right:0;top:3px;height:1px;background:#0061ff;transform:scaleX(0)}.insert-btn,.insert-line{opacity:0;transition:all .2s ease}.insert-btn{position:absolute;top:-5px;left:20px;transform:translate(-50%) scale(0);width:18px;height:18px;border:1px solid #0061ff;background:#fff;color:#0061ff;border-radius:50%;font-size:12px;line-height:16px;text-align:center;padding:0;cursor:pointer}.row-insert-wrapper:hover .insert-line{opacity:1;transform:scaleX(1)}.row-insert-wrapper:hover .insert-btn{opacity:1;transform:translate(-50%) scale(1)}.drag-cell{text-align:center;position:relative}.drag-cell,.drag-header{width:16px;max-width:16px}.editable-table .drag-handle{width:16px;height:100%;background:transparent;border-right:1px solid #e0e0e0;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;display:flex;align-items:center;justify-content:center}.editable-table .drag-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:10px;background-image:linear-gradient(#ccc 2px,transparent 0),linear-gradient(#ccc 2px,transparent 0),linear-gradient(#ccc 2px,transparent 0);background-size:8px 2px;background-position:0 0,0 4px,0 8px;background-repeat:no-repeat;pointer-events:none}.editable-table .drag-handle:focus{outline:2px solid #0061ff;outline-offset:-2px}.editable-table .drag-handle:active{cursor:grabbing}.selected-row{background-color:rgba(0,120,212,.15);border-left:3px solid #0061ff}.editable-table tbody tr.data-row:hover:not(.selected-row){background:#f0f8ff;transition:all .2s ease}.drop-target{position:relative}.drop-target .insert-line{opacity:1;transform:scaleX(1);height:2px}tr.dragging{background-color:#f5f7fa;box-shadow:0 2px 4px rgba(0,0,0,.1)}.context-menu{position:fixed;background:#fff;border:1px solid #ccc;padding:4px 0;list-style:none;margin:0;z-index:1000}.context-menu li button{background:none;border:none;padding:4px 12px;width:100%;text-align:left;cursor:pointer}.context-menu li button:hover{background:#f0f0f0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row-action-btn{background:#0061ff;color:#ffffff;border:none;padding:4px;margin:0 2px;cursor:pointer;font-size:12px;border-radius:4px;align-items:center;justify-content:center}.row-action-btn,.row-actions{box-shadow:0 1px 3px rgba(0,0,0,.2);display:flex}.row-actions{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px);flex-direction:row;gap:4px;padding:2px;background:#fff;border:1px solid #ccc;border-radius:4px;z-index:5;opacity:0;pointer-events:none;transition:opacity .2s ease}.row-actions.visible{opacity:1;pointer-events:auto}tr.dragging .row-actions{opacity:0!important;pointer-events:none!important}.color-picker{position:absolute;top:50%;left:calc(100% + 4px);transform:translateY(-50%);background:#fff;border:1px solid #ccc;padding:2px;display:flex;gap:4px;z-index:10;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .2s ease}.color-picker.visible{opacity:1;pointer-events:auto}.color-swatch{width:12px;height:12px;border-radius:50%;cursor:pointer;margin:2px;border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.5)}@media (max-width:768px){.table-container{padding:8px}.table-wrapper{padding-left:0}.row-actions{left:50%;transform:translate(-50%,-4px)}}