*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:auto hidden}#app{flex-direction:column;align-items:center;min-width:100vw;min-height:100vh;display:flex}.page-center{flex-direction:column;flex:1;align-items:center;width:100%;max-width:100%;min-height:100vh;display:flex}.top-menu{background-color:#fff;border-bottom:2px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:100%;padding:12px 24px;display:flex}.logo{object-fit:contain;flex-shrink:0;width:auto;height:44px;max-height:44px;display:block}.menu-buttons{flex:1;justify-content:center;gap:8px;margin-left:24px;margin-right:24px;display:flex}.menu-btn{cursor:pointer;white-space:nowrap;color:#666;background-color:#f0f0f0;border:none;border-radius:4px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.menu-btn.active{color:#fff;background-color:#ff9800}.menu-btn:not(.active):hover{background-color:#e0e0e0}.menu-dropdown-wrapper{display:inline-block;position:relative}.menu-dropdown-wrapper .menu-btn:not(.active){color:#fff;background-color:#4caf50}.menu-dropdown-wrapper .menu-btn:not(.active):hover{background-color:#45a049}.menu-dropdown-wrapper .menu-btn.active{color:#fff;background-color:#ff9800}.menu-dropdown-wrapper .menu-btn.active:hover{background-color:#f57c00}.menu-dropdown-wrapper:last-child .menu-btn:not(.active){color:#fff;background-color:#2196f3}.menu-dropdown-wrapper:last-child .menu-btn:not(.active):hover{background-color:#1976d2}.menu-dropdown{z-index:1000;border-radius:4px;min-width:100%;margin-top:4px;display:none;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 4px 8px #0003}#settings-dropdown{background-color:#4caf50}#orders-dropdown{background-color:#ff9800}#analytics-dropdown{background-color:#2196f3}.menu-dropdown.show{display:block}.menu-dropdown-item{color:#fff;cursor:pointer;white-space:nowrap;padding:12px 20px;font-size:13px;font-weight:500;transition:background-color .2s}#settings-dropdown .menu-dropdown-item:hover{background-color:#45a049}#orders-dropdown .menu-dropdown-item:hover{background-color:#f57c00}#analytics-dropdown .menu-dropdown-item:hover{background-color:#1976d2}.menu-dropdown-item:first-child{padding-top:16px}.menu-dropdown-item:last-child{padding-bottom:16px}.menu-dropdown-divider{opacity:.3;background-color:#fff;height:2px;margin:0}.top-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.search-box{align-items:center;display:flex;position:relative}.search-input{border:1px solid #ddd;border-radius:4px;width:200px;padding:8px 32px 8px 12px;font-size:14px}.search-icon{color:#999;font-size:16px;position:absolute;right:10px}.user-info{color:#666;white-space:nowrap;font-size:14px}.date-selector{background-color:#fff;border-bottom:none;flex-direction:column;flex-shrink:0;align-items:center;gap:16px;width:100%;max-width:100%;padding:16px 24px;display:flex}.date-range{justify-content:center;align-items:center;gap:12px;display:flex}.date-range label{color:#666;white-space:nowrap;font-size:14px}.date-input-wrapper{display:inline-block;position:relative}.date-input-display{cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;width:120px;padding:8px 28px 8px 12px;font-size:14px}.date-input-display:focus{border-color:#ff9800;outline:none}.date-input-hidden{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.date-arrow{color:#999;cursor:pointer;pointer-events:auto;z-index:10;font-size:10px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.date-arrow:hover{color:#ff9800}.date-btn{cursor:pointer;color:#333;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 20px;font-size:14px;transition:all .2s}.ok-btn{color:#fff;background-color:#ff9800;border-color:#ff9800}.ok-btn:hover{background-color:#f57c00}.clear-btn:hover{background-color:#f5f5f5}.machine-type-filter{border-top:1px solid #e0e0e0;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;margin-top:16px;padding-top:16px;display:flex}.machine-type-filter-label{color:#666;white-space:nowrap;margin-top:4px;font-size:14px;font-weight:500}.machine-type-filter-list{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.machine-type-filter-item{cursor:pointer;color:#333;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;display:flex}.machine-type-filter-item:hover{color:#ff9800}.machine-type-checkbox{cursor:pointer;accent-color:#ff9800;width:18px;height:18px}.machine-type-filter-item span{white-space:nowrap}.table-container{box-sizing:border-box;background-color:#fff;border:1px solid #000;border-top:none;flex:1;width:100%;max-width:100%;min-height:0;max-height:calc(100vh - 200px);padding-bottom:20px;position:relative;overflow:auto;outline:none!important}.table-container:focus,.table-container:focus-visible,.table-container:focus-within{border-top:none!important;outline:none!important}.table-container::-webkit-scrollbar{width:12px;height:12px}.table-container::-webkit-scrollbar-track{background:#f1f1f1}.table-container::-webkit-scrollbar-thumb{background:#888;border-radius:6px}.table-container::-webkit-scrollbar-thumb:hover{background:#555}.main-table{border-collapse:separate;border-spacing:0;border:1px solid #000;border-top:none;width:auto;min-width:335px;margin-bottom:0;font-size:13px;table-layout:fixed!important}.main-table.centered{margin-left:auto;margin-right:auto}.main-table thead{z-index:10;background-color:#08c;position:sticky;top:0}.main-table .col-def-row{visibility:visible;overflow:hidden;border:none!important;height:0!important;max-height:0!important;margin:0!important;padding:0!important;font-size:0!important;line-height:0!important}.main-table .col-def-row th{line-height:0;overflow:hidden;border:none!important;height:0!important;max-height:0!important;padding:0!important}.machine-header{text-align:left;vertical-align:top;z-index:11;box-sizing:border-box;background-color:#08c;height:80px;max-height:80px;padding:12px 16px;position:sticky;top:0;border:1px solid #000!important}.machine-info{flex-direction:column;gap:4px;display:flex}.machine-title{color:#000;font-size:14px;font-weight:700}.driver-name{color:#000;margin-top:4px;font-size:13px;font-weight:400}.driver-phone{color:#000;font-size:12px;font-weight:400}.sub-header{z-index:9;background-color:#08c;position:sticky;top:80px;border-bottom:1px solid #000!important}.sub-header .date-header{z-index:10;box-sizing:border-box;height:auto;max-height:none;top:80px;left:0;border:1px solid #000!important}.column-header{text-align:left;color:#000;text-transform:uppercase;z-index:9;box-sizing:border-box;background-color:#08c;padding:8px 16px;font-size:12px;font-weight:400;position:sticky;top:80px;border:1px solid #000!important}.column-header:first-child{border-left:1px solid #000!important}.column-header:last-child{border-right:1px solid #000!important}.column-header-customer:not(:last-child),.machine-header:not(:last-child){border-right:1px solid #f44336!important}.machine-header:last-child{border-right:1px solid #000!important}.date-header+.machine-header{border-left:1px solid #000!important}.main-table tbody .hours-cell,.main-table tbody .price-cell{min-width:45px;max-width:45px;width:45px!important}.main-table tbody .total-cell{min-width:60px;max-width:60px;width:60px!important}.main-table tbody .address-cell{min-width:140px;max-width:140px;width:140px!important}.main-table tbody .order-cell{text-align:left;vertical-align:top;cursor:pointer;min-width:290px;max-width:290px;min-height:20px;padding:4px 8px;position:relative;border-bottom:1px solid #000!important;border-right:1px solid #f44336!important;width:290px!important}.order-cell:last-child{border-right:1px solid #000!important}.order-cell:not([data-order-data]):hover{color:#fff;background-color:#f44336!important}.order-cell:not([data-order-data]):hover:after{content:"Добавить запись";color:#fff;white-space:nowrap;pointer-events:none;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.work-row.last-row-of-day .order-cell{border-bottom:2px solid #000!important}.completed-hours-cell,.completed-price-cell{text-align:right;vertical-align:top;min-width:45px;max-width:45px;padding:4px 8px;border-bottom:1px solid #000!important;border-right:1px solid #000!important;width:45px!important}.completed-total-cell{text-align:right;vertical-align:top;min-width:60px;max-width:60px;padding:4px 8px;border-bottom:1px solid #000!important;border-right:1px solid #000!important;width:60px!important}.completed-customer-cell{text-align:left;vertical-align:top;min-width:140px;max-width:140px;padding:4px 8px;border-bottom:1px solid #000!important;border-right:1px solid #f44336!important;width:140px!important}.completed-customer-cell.completed-last-machine{border-right:1px solid #000!important}.work-row.last-row-of-day .completed-hours-cell,.work-row.last-row-of-day .completed-price-cell,.work-row.last-row-of-day .completed-total-cell,.work-row.last-row-of-day .completed-customer-cell{border-bottom:2px solid #000!important}.column-header-hours,.column-header-price,.column-header-total{text-align:center;padding:8px 4px}.column-header-customer{padding:8px 4px}.date-header{z-index:12;vertical-align:top;box-sizing:border-box;background-color:#08c;min-width:45px;max-width:45px;height:80px;max-height:80px;padding:8px 4px;position:sticky;top:0;left:0;border:1px solid #000!important;width:45px!important}.sub-header .date-header{border-top:1px solid #000!important;border-bottom:1px solid #000!important}.date-header-text{writing-mode:vertical-rl;text-orientation:mixed;color:#000;text-transform:uppercase;letter-spacing:1px;justify-content:center;align-items:center;width:100%;height:100%;font-size:12px;font-weight:400;display:flex;transform:rotate(180deg)}.date-cell{vertical-align:middle;text-align:center;z-index:5;box-sizing:border-box;background-color:#f8f9fa;border-bottom:1px solid #000;border-left:1px solid #000;border-right:1px solid #000;min-width:45px;max-width:45px;height:auto;padding:0;position:sticky;left:0;width:45px!important}.work-row.last-row-of-day .date-cell{border-bottom:2px solid #000}.work-row.empty .date-cell{height:20px!important}.date-cell.day-even{z-index:5;background-color:#e8f5e9!important}.date-cell.day-odd{z-index:5;background-color:#e3f2fd!important}.date-cell.today{z-index:5;background-color:#ff9800!important}.date-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:20px;padding:2px 4px;display:flex}.work-row.empty .date-content{height:20px!important;min-height:20px!important}.date-number{color:#000;text-align:center;font-size:13px;font-weight:600;line-height:1.2}.day-name{color:#000;text-align:center;margin-top:2px;font-size:11px;line-height:1.2}.work-row{cursor:pointer;border-bottom:1px solid #000;transition:background-color .15s}.work-row.last-row-of-day{border-bottom:2px solid #000}.work-row:first-child{border-top:1px solid #000}.work-row:last-child{border-bottom:2px solid #000}.main-table tbody tr:last-child td{box-sizing:border-box;padding-bottom:20px!important}.work-row.empty{height:20px!important;max-height:20px!important}.work-row.has-order{height:auto;min-height:20px}.work-row.day-even{background-color:#e8f5e9}.work-row.day-odd{background-color:#e3f2fd}.work-row.today{background-color:#ff9800}.hours-cell.machine-hover:not([data-order-data]):not(.order-description-cell),.price-cell.machine-hover:not([data-order-data]):not(.order-description-cell),.total-cell.machine-hover:not([data-order-data]):not(.order-description-cell),.address-cell.machine-hover:not([data-order-data]):not(.order-description-cell){background-color:#f44336!important}.hours-cell,.price-cell,.total-cell,.address-cell{vertical-align:top;border-bottom:1px solid #000;border-right:1px solid #000;height:20px;padding:2px 16px;line-height:16px}.address-cell:not(:last-child){border-right:1px solid #f44336!important}.work-row.last-row-of-day .hours-cell,.work-row.last-row-of-day .price-cell,.work-row.last-row-of-day .total-cell,.work-row.last-row-of-day .address-cell{border-bottom:2px solid #000}.hours-cell{border-left:1px solid #000}.main-table tbody .address-cell:last-child{border-right:1px solid #000}.work-row.empty .hours-cell,.work-row.empty .price-cell,.work-row.empty .total-cell,.work-row.empty .address-cell{overflow:hidden;height:20px!important;max-height:20px!important;padding:2px 16px!important;line-height:16px!important}.work-row.has-order .hours-cell,.work-row.has-order .price-cell,.work-row.has-order .total-cell{height:auto}.hours-cell{min-width:45px;max-width:45px;padding:2px 4px;width:45px!important}.work-row.empty .hours-cell{height:20px!important;max-height:20px!important;padding:2px 4px!important}.price-cell{min-width:45px;max-width:45px;padding:2px 4px;width:45px!important}.work-row.empty .price-cell{height:20px!important;max-height:20px!important;padding:2px 4px!important}.total-cell{min-width:60px;max-width:60px;padding:2px 4px;width:60px!important}.work-row.empty .total-cell{height:20px!important;max-height:20px!important;padding:2px 4px!important}.main-table tbody .hours-cell,.main-table tbody .price-cell,.main-table tbody .total-cell{font-variant-numeric:tabular-nums;color:#333;white-space:nowrap;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;box-sizing:border-box!important;text-align:center!important;width:45px!important;min-width:45px!important;max-width:45px!important;padding:2px 4px!important;overflow:hidden!important}.main-table tbody .total-cell{width:60px!important;min-width:60px!important;max-width:60px!important}.hours-cell,.price-cell,.total-cell{text-align:center;font-variant-numeric:tabular-nums;color:#333;white-space:nowrap;box-sizing:border-box;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;overflow:hidden}.total-cell{color:#2e7d32;font-weight:600}.total-cell:not(:empty){color:#2e7d32}.address-cell{text-align:left;color:#333;word-wrap:break-word;min-width:140px;max-width:140px;padding:2px 4px;font-size:13px;line-height:1.4;width:140px!important}.work-row.empty .address-cell{height:20px!important;max-height:20px!important;padding:2px 4px!important}.work-row.empty .hours-cell,.work-row.empty .price-cell,.work-row.empty .total-cell{color:#ccc}.address-cell.machine-hover:not([data-order-data]):not(.order-description-cell):after{content:"Добавить заявку";color:#fff;white-space:nowrap;z-index:1000;pointer-events:none;background-color:#0000;align-items:center;padding:0;font-size:13px;font-weight:500;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.hours-cell,.price-cell,.total-cell,.address-cell{cursor:pointer;position:relative}.hours-cell:empty,.price-cell:empty,.total-cell:empty{color:#ccc}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{box-sizing:border-box;background-color:#fff;border:4px solid #ff9800;border-radius:8px;width:100%;max-width:700px;max-height:calc(100vh - 80px);margin:auto;position:relative;overflow:visible auto;box-shadow:0 4px 20px #0000004d}.modal-header{box-sizing:border-box;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;min-height:60px;padding:20px 28px 20px 24px;display:flex}.modal-title{color:#ff9800;margin:0;font-size:20px;font-weight:600}.modal-close{color:#ff9800;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;transition:color .2s;display:flex}.modal-close:hover{color:#f57c00}.order-form,.driver-form{padding:24px;overflow:visible}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px;display:grid;overflow:visible}.form-group{flex-direction:column;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{color:#ff9800;white-space:nowrap;margin-bottom:8px;font-size:14px;font-weight:600;display:block;overflow:visible}.form-label.required:after{content:"*";color:#ff9800;margin-left:4px}.form-input,.form-select,.form-textarea{box-sizing:border-box;background-color:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s;overflow:visible}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#ff9800;outline:none}.form-input[readonly]{cursor:not-allowed;background-color:#f5f5f5}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}.form-checkbox{cursor:pointer;accent-color:#ff9800;width:20px;height:20px}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{z-index:100;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-dropdown.show{display:block}.autocomplete-item{cursor:pointer;padding:10px 12px;transition:background-color .2s}.autocomplete-item:hover{background-color:#fff3e0}.form-actions{border-top:1px solid #e0e0e0;gap:11px;margin-top:24px;padding-top:24px;display:flex}.btn-primary{color:#fff;cursor:pointer;background-color:#ff9800;border:none;border-radius:4px;padding:11px 22px;font-size:13px;font-weight:600;transition:background-color .2s}.btn-primary:hover{background-color:#f57c00}.btn-secondary{color:#ff9800;cursor:pointer;background-color:#fff;border:2px solid #ff9800;border-radius:4px;padding:11px 22px;font-size:13px;font-weight:600;transition:all .2s}.btn-complete{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:11px 22px;font-size:13px;font-weight:600;transition:background-color .2s}.btn-complete:hover{cursor:pointer;background-color:#45a049;font-size:13px;font-weight:600;transition:all .2s}.btn-secondary:hover{background-color:#fff3e0}.btn-telegram{color:#fff;cursor:pointer;background-color:#08c;border:none;border-radius:4px;align-items:center;gap:6px;padding:11px 22px;font-size:13px;font-weight:600;transition:background-color .2s;display:flex}.btn-telegram:hover{background-color:#006ba3}.btn-delete{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:4px;padding:11px 22px;font-size:13px;font-weight:600;transition:background-color .2s}.btn-delete:hover{background-color:#d32f2f}.work-row.has-order.day-even{background-color:#e8f5e9}.work-row.has-order.day-odd{background-color:#e3f2fd}.work-row.has-order.today{background-color:#ff9800}.order-description-cell{text-align:left;color:#333;word-wrap:break-word;vertical-align:top;min-height:20px;font-size:13px;line-height:1.4;border-bottom:1px solid #000!important;border-right:1px solid #f44336!important;height:auto!important;padding:4px 16px!important}.order-description-cell.order-last-machine,.order-description-cell:last-child{border-right:1px solid #000!important}.work-row.last-row-of-day .order-description-cell{border-bottom:2px solid #000!important}.order-description-text{white-space:pre-wrap;word-break:break-word}.drivers-section{background-color:#fff;padding:24px}.drivers-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.drivers-title{color:#333;margin:0;font-size:28px;font-weight:600}.btn-add-driver{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background-color .2s;display:flex}.btn-add-driver:hover{background-color:#45a049}.add-icon{font-size:18px;font-weight:700}.drivers-search{margin-bottom:20px}.search-drivers-input{border:1px solid #ddd;border-radius:4px;width:300px;padding:10px 16px;font-size:14px}.search-drivers-input:focus{border-color:#4caf50;outline:none}.drivers-table-container{overflow-x:auto}.drivers-table{border-collapse:collapse;background-color:#fff;width:100%}.drivers-table thead{background-color:#f8f9fa}.drivers-table th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:12px 16px;font-size:14px;font-weight:600}.drivers-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.drivers-table th.sortable:hover{background-color:#e9ecef}.sort-arrows{color:#999;margin-left:8px;font-size:10px}.drivers-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .15s}.drivers-table tbody tr:hover{background-color:#f8f9fa}.drivers-table td{color:#333;padding:12px 16px;font-size:14px}.driver-name-cell,.driver-phone-cell,.driver-birthdate-cell,.driver-hiredate-cell,.driver-firedate-cell{vertical-align:middle}.driver-edit-cell{text-align:center;vertical-align:middle;width:36px}.driver-edit-icon{cursor:pointer;color:#666;padding:4px;font-size:16px;display:inline-block}.driver-edit-icon:hover{color:#ff9800}.driver-inactive .driver-name-cell,.driver-inactive .driver-phone-cell,.driver-inactive .driver-birthdate-cell,.driver-inactive .driver-hiredate-cell,.driver-inactive .driver-firedate-cell{color:#999;text-decoration:line-through}.driver-actions-cell{text-align:right}.driver-action-btn{cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .2s}.driver-action-btn.btn-fire{color:#fff;background-color:#f44336}.driver-action-btn.btn-fire:hover{background-color:#d32f2f}.driver-action-btn.btn-restore{color:#fff;background-color:#2196f3}.driver-action-btn.btn-restore:hover{background-color:#1976d2}.driver-modal{max-width:600px;overflow:visible}.driver-form .form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid;overflow:visible}.driver-form .form-group{min-width:0;overflow:visible}.fleet-section{background-color:#fff;padding:24px}.fleet-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.fleet-title{color:#333;margin:0;font-size:28px;font-weight:600}.btn-add-machine{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background-color .2s;display:flex}.btn-add-machine:hover{background-color:#45a049}.fleet-search{align-items:center;gap:8px;margin-bottom:20px;display:flex}.fleet-search-label{color:#333;font-size:14px}.search-machines-input{border:1px solid #ddd;border-radius:4px;width:300px;padding:10px 16px;font-size:14px}.search-machines-input:focus{border-color:#4caf50;outline:none}.fleet-table-container{overflow-x:auto}.fleet-table{border-collapse:collapse;background-color:#fff;width:100%}.fleet-table thead{background-color:#f8f9fa}.fleet-table th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:12px 16px;font-size:14px;font-weight:600}.fleet-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.fleet-table th.sortable:hover{background-color:#e9ecef}.fleet-th-edit{width:36px}.fleet-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .15s}.fleet-table tbody tr:hover{background-color:#f8f9fa}.fleet-table td{color:#333;padding:12px 16px;font-size:14px}.debtors-section{max-width:1400px;margin:0 auto;padding:24px}.debtors-section .section-header{margin-bottom:24px}.debtors-section .section-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.debtors-table-container{background-color:#fff;border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #0000001a}.debtors-table{border-collapse:collapse;background-color:#fff;width:100%}.debtors-table thead{background-color:#f8f9fa}.debtors-table th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:12px 16px;font-size:14px;font-weight:600}.debtors-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.debtors-table .sort-arrows{color:#999;margin-left:4px;font-size:10px;display:inline-block}.debtors-table th.sortable:hover{background-color:#e9ecef}.debtors-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .15s}.debtors-table tbody tr:hover{background-color:#f8f9fa}.debtors-table td{color:#333;vertical-align:middle;padding:12px 16px;font-size:14px}.debtors-table tfoot{background-color:#f8f9fa;font-weight:600}.debtors-table tfoot td{border-top:2px solid #dee2e6;padding:12px 16px}.btn-edit-debtor{color:#fff;cursor:pointer;background-color:#ff9800;border:none;border-radius:4px;padding:6px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.btn-edit-debtor:hover{background-color:#f57c00}.pagination-info{color:#666;margin-top:16px;font-size:14px}.salary-tariffs-section{max-width:1200px;margin:0 auto;padding:24px}.salary-tariffs-section .section-header{margin-bottom:24px}.salary-tariffs-section .section-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.salary-tariffs-table-container{background-color:#fff;border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #0000001a}.salary-tariffs-table{border-collapse:collapse;background-color:#fff;width:100%}.salary-tariffs-table thead{background-color:#f8f9fa}.salary-tariffs-table th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:12px 16px;font-size:14px;font-weight:600}.salary-tariffs-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .15s}.salary-tariffs-table tbody tr:hover{background-color:#f8f9fa}.salary-tariffs-table td{color:#333;vertical-align:middle;padding:12px 16px;font-size:14px}.btn-edit-tariff{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:6px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.btn-edit-tariff:hover{background-color:#45a049}.tariff-drivers-list{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;max-height:300px;margin-top:8px;padding:12px;overflow-y:auto}.tariff-driver-checkbox{border-bottom:1px solid #e9ecef;align-items:center;padding:8px 0;display:flex}.tariff-driver-checkbox:last-child{border-bottom:none}.tariff-driver-checkbox-input{cursor:pointer;width:18px;height:18px;margin-right:8px}.tariff-driver-checkbox-label{cursor:pointer;color:#333;-webkit-user-select:none;user-select:none;flex:1;font-size:14px}.tariff-driver-checkbox-label:hover{color:#4caf50}.salary-report-section{max-width:1000px;margin:0 auto;padding:24px}.salary-report-section .section-header{margin-bottom:24px}.salary-report-section .section-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.costs-section{max-width:1000px;margin:0 auto;padding:24px}.costs-section .section-header{margin-bottom:24px}.costs-section .section-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.costs-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #00000014}.costs-placeholder{color:#666;margin:0;font-size:15px;line-height:1.5}.analytics-section{max-width:1200px;margin:0 auto;padding:24px}.analytics-section .section-header{margin-bottom:20px}.analytics-section .section-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.analytics-controls{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:20px;display:flex}.analytics-label{color:#333;white-space:nowrap;font-size:14px}.analytics-input-date{border:1px solid #ced4da;border-radius:4px;min-width:140px;padding:6px 10px;font-size:14px}.btn-analytics-ok{cursor:pointer;color:#fff;background-color:#4caf50;border:none;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:500}.btn-analytics-ok:hover{background-color:#43a047}.analytics-report-title{color:#333;text-align:center;margin-bottom:24px;font-size:18px;font-weight:600}.analytics-charts{flex-direction:column;gap:32px;display:flex}.analytics-chart-wrap{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #00000014}.analytics-chart-bars canvas{max-width:100%;height:auto}.analytics-chart-pie{max-width:480px;margin:0 auto}.analytics-chart-pie canvas{max-width:100%;height:auto}.login-page{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:8px;width:100%;max-width:380px;padding:32px;box-shadow:0 2px 12px #0000001a}.login-title{color:#333;text-align:center;margin:0 0 8px;font-size:24px;font-weight:600}.login-subtitle{color:#666;text-align:center;margin:0 0 24px;font-size:14px}.login-form .form-group{margin-bottom:16px}.login-error{color:#c62828;margin-bottom:12px;font-size:13px}.btn-login-submit{width:100%;margin-top:8px;padding:12px}.login-hint{color:#999;text-align:center;margin:16px 0 0;font-size:12px}.user-info-name{margin-right:8px}.user-info-role{color:#666;margin-right:12px;font-size:13px}.user-logout{color:#08c;font-size:14px;text-decoration:none}.user-logout:hover{text-decoration:underline}.users-section{max-width:1000px;margin:0 auto;padding:24px}.users-section .section-header{margin-bottom:20px}.users-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.users-section .section-header h1{color:#333;margin:0;font-size:24px;font-weight:600}.users-add-link{color:#4caf50;font-weight:500;text-decoration:none}.users-add-link:hover{text-decoration:underline}.users-toolbar{align-items:center;gap:8px;margin-bottom:16px;display:flex}.users-search-label{color:#333;font-size:14px}.users-search-input{border:1px solid #ced4da;border-radius:4px;min-width:220px;padding:6px 10px;font-size:14px}.users-table-wrap{margin-bottom:16px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:14px}.users-table th,.users-table td{text-align:left;border:1px solid #dee2e6;padding:10px 12px}.users-table th{color:#333;background:#f8f9fa;font-weight:600}.users-table tbody tr:hover{background:#f8f9fa}.users-th-edit{width:44px}.users-cell-edit{vertical-align:middle}.btn-users-edit{color:#08c;cursor:pointer;background:#fff;border:1px solid #08c;border-radius:4px;padding:4px 8px;font-size:14px}.btn-users-edit:hover{color:#fff;background:#08c}.users-no-data{color:#666;text-align:center;padding:24px!important}.users-pagination-info{color:#666;margin:0;font-size:13px}.user-form-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.user-form-modal{background:#fff;border-radius:8px;width:100%;max-width:440px;padding:24px;position:relative;box-shadow:0 4px 20px #00000026}.user-form-modal-close{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:4px;width:28px;height:28px;padding:0;font-size:18px;line-height:1;position:absolute;top:12px;right:12px}.user-form-modal-close:hover{background:#c62828}.user-form-modal-title{color:#333;margin:0 0 20px;padding-right:36px;font-size:18px;font-weight:600}.user-form .form-group{margin-bottom:16px}.form-hint{color:#666;margin-top:4px;font-size:12px;display:block}.form-label-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.form-group-checkbox{margin-bottom:8px}.user-form-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.btn-user-save{cursor:pointer;color:#fff;background:#e91e63;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500}.btn-user-save:hover{background:#c2185b}.btn-user-delete{color:#08c;cursor:pointer;background:#fff;border:1px solid #08c;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500}.btn-user-delete:hover{color:#fff;background:#08c}.costs-filters{margin-bottom:20px}.costs-filter-row{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.costs-filter-label{color:#333;white-space:nowrap;font-size:14px}.costs-input-date{border:1px solid #ced4da;border-radius:4px;min-width:140px;padding:6px 10px;font-size:14px}.costs-select-direction{border:1px solid #ced4da;border-radius:4px;min-width:180px;padding:6px 10px;font-size:14px}.btn-costs-ok,.btn-costs-clear{cursor:pointer;color:#fff;background-color:#ff9800;border:none;border-radius:4px;padding:8px 18px;font-size:14px;font-weight:500}.btn-costs-ok:hover,.btn-costs-clear:hover{background-color:#f57c00}.btn-costs-add{cursor:pointer;color:#fff;background-color:#4caf50;border:none;border-radius:4px;padding:8px 18px;font-size:14px;font-weight:500}.btn-costs-add:hover{background-color:#43a047}.costs-search-row{align-items:center;gap:8px;display:flex}.costs-input-search{border:1px solid #ced4da;border-radius:4px;flex:1;min-width:260px;max-width:400px;padding:6px 10px;font-size:14px}.costs-table-wrap{margin-top:16px;overflow-x:auto}.costs-table{border-collapse:collapse;width:100%;font-size:14px}.costs-table th,.costs-table td{text-align:left;border:1px solid #dee2e6;padding:10px 12px}.costs-table th{color:#333;background:#f8f9fa;font-weight:600}.costs-table tbody tr:hover{background:#f8f9fa}.costs-th-edit{width:90px}.costs-cell-edit{vertical-align:middle}.costs-cell-amount{text-align:right;white-space:nowrap}.costs-no-data{color:#666;text-align:center;padding:24px!important}.btn-costs-edit{color:#08c;cursor:pointer;background:#fff;border:1px solid #08c;border-radius:4px;padding:6px 12px;font-size:13px}.btn-costs-edit:hover{color:#fff;background:#08c}.costs-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.costs-modal{background:#fff;border:2px solid #ff9800;border-radius:8px;width:100%;max-width:480px;padding:24px;position:relative;box-shadow:0 4px 20px #00000026}.costs-modal-close{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:20px;line-height:1;display:flex;position:absolute;top:12px;right:12px}.costs-modal-close:hover{background:#c62828}.costs-modal-title{color:#333;margin:0 0 20px;padding-right:36px;font-size:18px;font-weight:600}.costs-expense-form .costs-form-row{margin-bottom:16px}.costs-expense-form .costs-form-row-inline{flex-wrap:wrap;gap:16px;display:flex}.costs-expense-form .costs-form-group{flex:1;min-width:140px}.costs-form-label{color:#333;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.costs-form-label-required:after{content:" *";color:#c62828}.costs-form-input{box-sizing:border-box;border:1px solid #ced4da;border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.costs-form-input:focus{border-color:#08c;outline:none}.costs-form-actions{margin-top:24px}.btn-costs-save{cursor:pointer;color:#fff;background-color:#ff9800;border:none;border-radius:4px;width:100%;padding:12px 24px;font-size:15px;font-weight:600}.btn-costs-save:hover{background-color:#f57c00}.salary-report-controls{margin-bottom:24px}.salary-report-controls .form-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.salary-report-controls .form-group{margin-bottom:0}.period-selectors{gap:8px;display:flex}.period-selectors .form-select{min-width:140px}.salary-report-controls .form-input[type=date]{min-width:160px}.salary-report-controls #salary-report-driver{min-width:220px}.salary-report-message{color:#666;text-align:center;padding:24px}.salary-report-card{background:#fff;border-radius:8px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.salary-report-card-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.salary-report-header-info{flex:1;min-width:200px}.salary-report-employee-name{color:#333;margin:0 0 4px;font-size:18px;font-weight:600}.salary-report-period{color:#666;margin:0;font-size:14px}.salary-report-header-actions{align-items:center;gap:12px;display:flex}.btn-print{color:#fff;cursor:pointer;background-color:#666;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-flex}.btn-print:hover{background-color:#555}.salary-report-table-wrap{overflow-x:auto}.salary-report-table{border-collapse:collapse;width:100%;font-size:14px}.salary-report-table th,.salary-report-table td{text-align:left;border-bottom:1px solid #e9ecef;padding:10px 14px}.salary-report-table th{color:#333;background:#f8f9fa;font-weight:600}.salary-report-number{text-align:right;white-space:nowrap}.salary-report-total-row{background:#f0f4f0;font-weight:500}.salary-report-total-row td{border-bottom:2px solid #dee2e6;padding-top:12px;padding-bottom:12px}.salary-report-advance-row td,.salary-report-bonus-row td{vertical-align:middle;border-bottom:1px solid #dee2e6;padding:8px 10px}.salary-report-input-cell{text-align:right}.salary-report-sum-input{text-align:right;box-sizing:border-box;border:1px solid #ced4da;border-radius:4px;width:100%;max-width:120px;padding:6px 8px;font-size:14px}.salary-report-sum-input:focus{border-color:#08c;outline:none;box-shadow:0 0 0 2px #08c3}.salary-report-final-total{color:#333;background:#f8f9fa;border-top:2px solid #dee2e6;padding:16px 20px;font-size:16px;font-weight:600}@media print{body *{visibility:hidden}.salary-report-card,.salary-report-card *{visibility:visible}.salary-report-card{width:100%;position:absolute;top:0;left:0}.salary-report-header-actions,.salary-report-controls,.top-menu{display:none!important}.salary-report-table{font-size:12px}.salary-report-table th,.salary-report-table td{padding:6px 8px}}.machine-edit-cell{text-align:center;vertical-align:middle;width:36px}.machine-edit-icon{cursor:pointer;color:#666;padding:4px;font-size:16px;display:inline-block}.machine-edit-icon:hover{color:#ff9800}.machine-name-cell,.machine-plate-cell,.machine-type-cell,.machine-default-driver-cell{vertical-align:middle}.machine-inactive .machine-name-cell,.machine-inactive .machine-plate-cell,.machine-inactive .machine-type-cell,.machine-inactive .machine-default-driver-cell{color:#999;text-decoration:line-through}.machine-actions-cell{text-align:right}.machine-action-btn{cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .2s}.machine-action-btn.btn-delete{color:#fff;background-color:#f44336}.machine-action-btn.btn-delete:hover{background-color:#d32f2f}.machine-action-btn.btn-restore{color:#fff;background-color:#2196f3}.machine-action-btn.btn-restore:hover{background-color:#1976d2}.fleet-pagination{color:#666;margin-top:20px;font-size:14px}.fleet-pagination-info{display:inline-block}.machine-modal{box-sizing:border-box;min-width:320px;max-width:580px;overflow:visible}.machine-form{box-sizing:border-box;padding:24px 28px 24px 24px;overflow:visible}.machine-form .form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid;overflow:visible}.machine-form .form-group{min-width:0;overflow:visible}.machine-form .form-input{box-sizing:border-box;max-width:100%}
