:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.card{background:#f2e8db;border:1px solid #555;border-radius:3px;flex-direction:column;gap:2px;min-width:0;padding:4px;font-size:12px;display:flex;overflow:hidden}.card--readonly{cursor:pointer;transition:box-shadow .15s,border-color .15s}.card--readonly:hover{border-color:#007bff;box-shadow:0 2px 8px #00000040}.card--flagged{background:#3a4d2a;border-color:#92d050}.card--flagged .card-row{background:0 0}.card--flagged .cell{color:#000;background:#92d050}.card--flagged .card-row--payment .cell{color:#fff;background:red}.card--imo{border:2px solid #f30}.card--imo .card-row--booking .cell{color:#fff;background:#f30}.card-row{align-items:center;gap:2px;min-width:0;display:flex}.card-row--payment{background:red;border-radius:2px}.card-row--payment .cell{color:#fff!important;background:red!important}.card-row--weight-empty .cell{color:#000!important;background:#b8d4e8!important}.card-row--flags{border-top:1px solid #444;flex-wrap:wrap;gap:4px;margin-top:2px;padding-top:2px}.label{color:#000;white-space:nowrap;flex-shrink:0;font-size:11px}.cell{color:#333;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:4px;flex:1;min-width:0;padding:1px 3px;font-size:12px;overflow:hidden}.cell--empty{color:#bbb}.cell--green{color:#000!important;background:#0f0!important}.cell--reefer{color:#000;background:#add8e6;flex:none}.cell--time{flex:none}.cell--type{flex:.7 1 0}.cell--sl{flex:1;font-size:11px}.full-width{width:100%}.flag-badge{border-radius:3px;padding:1px 4px;font-size:11px;font-weight:600}.flag-badge--imo{color:#fff;background:#f30}.flag-badge--flagged{color:#000;background:#92d050}._wrapper_1f0k7_1{width:100%;position:relative}._label_1f0k7_6{color:#333;margin-bottom:.25rem;font-size:.85rem;font-weight:500;display:block}._selectContainer_1f0k7_14{align-items:center;display:flex;position:relative}._input_1f0k7_20{color:#333;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;width:100%;height:32px;padding:0 5rem 0 .6rem;font-size:.875rem;display:flex;overflow:hidden}._input_1f0k7_20:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff33}._input_1f0k7_20._disabled_1f0k7_42{cursor:not-allowed;opacity:.6;background:#f0f0f0}._displayValue_1f0k7_48{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._placeholder_1f0k7_55{color:#999}._searchInput_1f0k7_59{color:#333;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:.875rem}._clearButton_1f0k7_69,._viewAllButton_1f0k7_70{cursor:pointer;color:#888;z-index:1;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.85rem;transition:color .15s,background-color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}._clearButton_1f0k7_69{font-size:.7rem;right:3.2rem}._clearButton_1f0k7_69:hover{color:#dc3545;background:#f8f9fa}._viewAllButton_1f0k7_70{font-size:1.1rem;font-weight:700;right:1.8rem}._viewAllButton_1f0k7_70:hover{color:#007bff;background:#f8f9fa}._dropdownIcon_1f0k7_109{color:#888;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.6rem;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}._dropdown_1f0k7_109{z-index:1000;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;max-height:280px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 8px #0000001f}._dropdown_1f0k7_109._dropdownUpward_1f0k7_135{border-top:1px solid #ccc;border-bottom:none;border-radius:4px 4px 0 0;top:auto;bottom:100%}._option_1f0k7_143{cursor:pointer;flex-direction:column;justify-content:center;padding:0 .75rem;transition:background-color .1s;display:flex}._option_1f0k7_143:hover{background:#f5f5f5}._option_1f0k7_143._selected_1f0k7_153{background:#e7f3ff;font-weight:500}._option_1f0k7_143._highlighted_1f0k7_154{background:#f0f0f0}._optionLabel_1f0k7_156{color:#333;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}._optionDescription_1f0k7_164{color:#888;font-size:.72rem;font-style:italic}._noResults_1f0k7_170{text-align:center;color:#999;padding:1rem;font-size:.875rem;font-style:italic}._dropdown_1f0k7_109::-webkit-scrollbar{width:6px}._dropdown_1f0k7_109::-webkit-scrollbar-track{background:#f1f1f1}._dropdown_1f0k7_109::-webkit-scrollbar-thumb{background:#bbb;border-radius:3px}._dropdown_1f0k7_109::-webkit-scrollbar-thumb:hover{background:#888}._overlay_1f1d0_1{background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._content_1f1d0_10{background:#fff;border-radius:8px;flex-direction:column;width:92%;max-width:900px;max-height:88vh;display:flex;box-shadow:0 4px 24px #0000002e}._header_1f1d0_21{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}._header_1f1d0_21 h2{color:#222;margin:0;font-size:1.15rem}._closeButton_1f1d0_35{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;padding:.3rem .5rem;font-size:1.1rem;transition:color .15s,background .15s}._closeButton_1f1d0_35:hover{color:#dc3545;background:#f8f9fa}._toolbar_1f1d0_48{border-bottom:1px solid #e0e0e0;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}._searchInput_1f1d0_56{border:1px solid #ccc;border-radius:4px;flex:1;padding:.4rem .75rem;font-size:.875rem}._searchInput_1f1d0_56:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff26}._addButton_1f1d0_70{color:#fff;cursor:pointer;white-space:nowrap;background:#28a745;border:none;border-radius:4px;padding:.4rem .9rem;font-size:.875rem;transition:background .15s}._addButton_1f1d0_70:hover{background:#218838}._tableContainer_1f1d0_84{flex:1;overflow:auto}._table_1f1d0_84{border-collapse:collapse;width:100%;font-size:.875rem}._table_1f1d0_84 thead{z-index:1;background:#f8f9fa;position:sticky;top:0}._table_1f1d0_84 th{text-align:left;color:#555;border-bottom:1px solid #ddd;padding:.5rem .75rem;font-weight:600}._table_1f1d0_84 td{color:#333;border-bottom:1px solid #eee;padding:.4rem .75rem}._row_1f1d0_116{cursor:pointer;transition:background .1s}._row_1f1d0_116:hover{background:#f5f5f5}._selectedRow_1f1d0_123{background:#dbeeff!important}._selectedRow_1f1d0_123:hover{background:#c5deff!important}._editButton_1f1d0_126{cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;padding:.2rem .4rem;font-size:.8rem;transition:background .15s}._editButton_1f1d0_126:hover{background:#e9ecef}._footer_1f1d0_138{color:#666;background:#f8f9fa;border-top:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.875rem;display:flex}._hint_1f1d0_149{font-style:italic}._selectButton_1f1d0_151{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;padding:.4rem 1.2rem;font-size:.875rem;font-weight:500;transition:background .15s}._selectButton_1f1d0_151:hover:not(:disabled){background:#0056b3}._selectButton_1f1d0_151:disabled{cursor:not-allowed;background:#aaa}._message_1f1d0_166{text-align:center;color:#888;padding:2.5rem;font-size:.95rem}._error_1f1d0_173{text-align:center;color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:1rem;padding:1.5rem}._overlay_oaw9q_1{background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._modal_oaw9q_10{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:560px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #0003}._header_oaw9q_22{background:#f8f9fa;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}._header_oaw9q_22 h3{color:#333;margin:0;font-size:1.05rem;font-weight:600}._closeButton_oaw9q_38{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.4rem;line-height:1;transition:background-color .15s,color .15s;display:flex}._closeButton_oaw9q_38:hover{color:#333;background:#e9ecef}._body_oaw9q_60{flex:1;padding:1.25rem;overflow-y:auto}._form_fywba_1{flex-direction:column;gap:.85rem;display:flex}._field_fywba_7{flex-direction:column;gap:.3rem;display:flex}._field_fywba_7 label{color:#444;font-size:.85rem;font-weight:500}._field_fywba_7 input,._field_fywba_7 textarea,._field_fywba_7 select{color:#333;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:.4rem .65rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}._field_fywba_7 input:focus,._field_fywba_7 textarea:focus,._field_fywba_7 select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff26}._field_fywba_7 textarea{resize:vertical;min-height:70px}._row_fywba_47{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}._actions_fywba_53{border-top:1px solid #eee;justify-content:flex-end;gap:.6rem;margin-top:.25rem;padding-top:.75rem;display:flex}._cancelBtn_fywba_62{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:4px;padding:.4rem 1.1rem;font-size:.875rem;transition:background .15s}._cancelBtn_fywba_62:hover{background:#5a6268}._saveBtn_fywba_75{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;padding:.4rem 1.1rem;font-size:.875rem;font-weight:500;transition:background .15s}._saveBtn_fywba_75:hover:not(:disabled){background:#0056b3}._saveBtn_fywba_75:disabled{cursor:not-allowed;background:#aaa}@keyframes card-edit-open{0%{transform:translate(var(--from-x,0px), var(--from-y,0px)) scale(var(--from-scale,.1));opacity:0}to{opacity:1;transform:translate(0)scale(1)}}@keyframes card-edit-backdrop-in{0%{background:0 0}to{background:#00000080}}.card-edit-backdrop{z-index:10000;background:#00000080;justify-content:center;align-items:center;animation:.5s forwards card-edit-backdrop-in;display:flex;position:fixed;inset:0}.card-edit-modal{background:#fff;border-radius:8px;flex-direction:column;width:95%;max-width:860px;max-height:90vh;animation:.7s cubic-bezier(.22,1,.36,1) forwards card-edit-open;display:flex;box-shadow:0 8px 32px #00000040}.card-edit-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.card-edit-header h3{color:#222;margin:0;font-size:1rem;font-weight:600}.card-edit-close{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.5rem;line-height:1;transition:background .15s,color .15s;display:flex}.card-edit-close:hover{color:#333;background:#e9ecef}.card-edit-body{flex-direction:column;flex:1;gap:.75rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.card-edit-error{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.card-edit-section{border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.card-edit-section-title{text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.1rem;font-size:.75rem;font-weight:600}.card-edit-row{align-items:flex-end;gap:.75rem;display:flex}.card-edit-field{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.card-edit-field--narrow{flex:0 0 130px}.card-edit-field label{color:#555;font-size:.78rem;font-weight:500}.card-edit-field input[type=text],.card-edit-field input[type=number]{color:#333;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:.35rem .6rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.card-edit-field input[type=text]:focus,.card-edit-field input[type=number]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff26}.card-edit-field input[type=checkbox]{width:auto;margin-right:4px}.card-edit-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;display:flex}.card-edit-cancel{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:4px;padding:.45rem 1.2rem;font-size:.875rem;transition:background .15s}.card-edit-cancel:hover{background:#5a6268}.card-edit-cancel:disabled{opacity:.6;cursor:not-allowed}.card-edit-save{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:4px;padding:.45rem 1.5rem;font-size:.875rem;font-weight:500;transition:background .15s}.card-edit-save:hover:not(:disabled){background:#0056b3}.card-edit-save:disabled{cursor:not-allowed;background:#aaa}.card-grid-wrapper{flex-direction:column;height:100%;display:flex;overflow:hidden}.vehicles-row{background:#1a1a1a;border-bottom:1px solid #444;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;display:flex}.vehicles-label{color:#888;flex-shrink:0;margin-right:4px;font-size:10px}.plate-chip{white-space:nowrap;cursor:default;border-radius:3px;padding:2px 6px;font-size:14px;font-weight:700}.plate-chip--idle{color:#000;background:#00b050}.plate-chip--normal{color:#000;background:#ff0}.plate-chip--warning{color:#fff;background:#8b4513}.plate-chip--alert{color:#fff;background:red}.card-grid{flex:1;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:4px;padding:6px;display:grid;overflow:hidden auto}.card-placeholder{background:#1e1e1e;border:1px dashed #333;border-radius:3px;min-height:80px}.zariadka-page{flex:1;font-size:13px;display:flex;overflow:hidden}.zariadka-sidebar{background:#f7f3ee;border-right:1px solid #ccc;flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow-y:auto}.sidebar-header{background:#ede8e0;border-bottom:1px solid #ccc;justify-content:space-between;align-items:center;padding:8px 10px;font-weight:700;display:flex;position:sticky;top:0}.sidebar-item{cursor:pointer;border-bottom:1px solid #e0dbd4;padding:8px 10px}.sidebar-item:hover{background:#ede8e0}.sidebar-item--active{background:#d4c9b8;font-weight:700}.sidebar-date{font-weight:600}.sidebar-meta{color:#666;margin-top:2px;font-size:11px}.zariadka-main{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow:hidden}.zariadka-empty{color:#999;margin:auto}.delivery-header{background:#f7f3ee;border:1px solid #ccc;border-radius:4px;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.delivery-title{font-size:15px;font-weight:700}.delivery-detail{color:#555;flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.delivery-detail .supplier{font-style:italic}.delivery-actions{gap:6px;margin-top:4px;display:flex}.delivery-form,.trip-form{background:#f7f3ee;border:1px solid #ccc;border-radius:4px;padding:12px}.delivery-form h3,.trip-form h4{margin:0 0 8px}.form-grid{grid-template-columns:1fr 1fr;gap:6px 12px;display:grid}.form-grid label{color:#555;flex-direction:column;gap:2px;font-size:12px;display:flex}.form-grid label input{border:1px solid #bbb;border-radius:3px;padding:3px 6px;font-size:13px}.form-grid .span2{grid-column:span 2}.form-grid .span2 input{box-sizing:border-box;width:100%}.form-actions{gap:6px;margin-top:8px;display:flex}.trips-table-wrap{flex:1;overflow:auto}.trips-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.trips-table th,.trips-table td{text-align:left;border:1px solid #ddd;padding:3px 6px}.trips-table th{z-index:1;background:#ede8e0;position:sticky;top:0}.trips-table tr:hover td{background:#faf7f3}.trips-table tr.trip-editing td{background:#fffde8}.trips-table tr.trip-editing input{width:80px;padding:2px;font-size:11px}.cell-dispensed{background:#ffc000}.cell-consumed{color:#000;background:#00b050}button{cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:3px;padding:3px 10px}button:hover{background:#eee}.btn-danger{color:#c00;border-color:#c00}.btn-danger:hover{background:#fee}.fleet-page{box-sizing:border-box;background:#f8fafc;gap:12px;height:100%;padding:16px;display:flex;overflow-x:auto}.fleet-col{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex:1;min-width:200px;transition:box-shadow .15s;display:flex}.fleet-col.drag-over{background:#eff6ff;box-shadow:0 0 0 2px #3b82f6}.fleet-col-header{border-top:3px solid #0000;border-bottom:1px solid #f1f5f9;border-radius:10px 10px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.fleet-col-label{font-size:13px;font-weight:700}.fleet-col-count{color:#64748b;background:#f1f5f9;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.fleet-col-body{flex-direction:column;flex:1;gap:4px;padding:10px;display:flex;overflow-y:auto}.fleet-col-empty{color:#cbd5e1;flex:1;justify-content:center;align-items:center;padding:20px 0;font-size:12px;font-style:italic;display:flex}.fleet-kind-label{text-transform:uppercase;letter-spacing:.5px;color:#cbd5e1;margin:6px 2px 3px;font-size:10px;font-weight:700}.fleet-card{cursor:grab;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:8px 10px;transition:box-shadow .1s,transform .1s}.fleet-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.fleet-page.dragging .fleet-card{cursor:grabbing}.fleet-ghost{pointer-events:none;z-index:1000;opacity:.9;background:#fff;border:1px solid #93c5fd;border-radius:7px;min-width:120px;padding:8px 10px;position:fixed;box-shadow:0 4px 16px #00000026}.fleet-card-plate{color:#1e293b;font-size:13px;font-weight:700}.fleet-card-tare{color:#94a3b8;margin-top:2px;font-size:11px}.fleet-card-badge{border-radius:4px;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.fleet-card-note{color:#64748b;margin-top:4px;font-size:11px;font-style:italic}.personnel-page{-webkit-user-select:none;user-select:none;background:#f8fafc;flex-direction:column;height:100%;display:flex}.personnel-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:16px;padding:12px 20px;display:flex}.month-nav-btn{cursor:pointer;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.month-nav-btn:hover{background:#e2e8f0}.month-title{color:#1e293b;text-align:center;min-width:200px;font-size:18px;font-weight:700}.legend{gap:12px;margin-left:auto;display:flex}.legend-item{color:#64748b;align-items:center;gap:5px;font-size:12px;display:flex}.legend-dot{border-radius:3px;width:12px;height:12px}.cal-scroll{flex:1;padding:12px 0;overflow:auto}.cal-inner{min-width:max-content}.cal-header-row{z-index:20;background:#fff;border-bottom:2px solid #e2e8f0;display:flex;position:sticky;top:0}.cal-label-cell{z-index:10;background:#fff;border-right:1px solid #e2e8f0;flex-shrink:0;align-items:center;width:180px;padding:8px 12px;display:flex;position:sticky;left:0}.cal-day-head{color:#64748b;border-right:1px solid #f1f5f9;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:36px;padding:4px 0;font-size:11px;display:flex}.cal-day-head.weekend{color:#92400e;background:#fde68a}.cal-day-head.today .day-num{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.day-num{font-size:13px;font-weight:700}.day-dow{margin-top:1px;font-size:10px}.cal-driver-row{border-bottom:1px solid #f1f5f9;display:flex}.cal-driver-row:hover{background:#f8fafc}.cal-driver-row .cal-label-cell{background:#fff;min-height:52px}.cal-driver-row:hover .cal-label-cell{background:#f8fafc}.driver-short-name{color:#334155;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:13px;font-weight:600;overflow:hidden}.cal-cells-area{cursor:crosshair;position:relative}.cal-bg-cell{border-right:1px solid #f1f5f9;position:absolute;top:0;bottom:0}.cal-bg-cell.weekend{background:#fde68a55}.absence-block{opacity:.72;cursor:pointer;z-index:5;border-radius:6px;align-items:center;transition:filter .1s;display:flex;position:absolute;top:8px;bottom:8px;overflow:visible;box-shadow:0 1px 3px #00000026}.absence-block:hover{filter:brightness(1.1);cursor:grab;box-shadow:0 2px 6px #0003}.absence-block.moving{opacity:.75;cursor:grabbing;box-shadow:0 4px 12px #0000004d}.absence-preview{opacity:.6;cursor:crosshair;pointer-events:none;background:#93c5fd!important}.abs-handle{cursor:ew-resize;opacity:0;background:#fff6;border-radius:6px;width:10px;transition:opacity .15s;position:absolute;top:0;bottom:0}.absence-block:hover .abs-handle{opacity:1}.abs-handle-left{border-radius:6px 0 0 6px;left:0}.abs-handle-right{border-radius:0 6px 6px 0;right:0}.abs-label{text-align:center;color:#fff;text-shadow:0 1px 2px #0000004d;pointer-events:none;white-space:nowrap;flex:1;padding:0 12px;font-size:11px;font-weight:700;overflow:hidden}.abs-notes-dot{color:#ffffffe6;pointer-events:none;font-size:14px;position:absolute;top:2px;right:14px}.floating-popup{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:180px;padding:12px;position:fixed;box-shadow:0 8px 30px #00000026}.popup-title{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:700}.type-btn{color:#fff;cursor:pointer;text-align:left;border:none;border-radius:6px;width:100%;margin-bottom:5px;padding:7px 12px;font-size:13px;font-weight:600;display:block}.type-btn:last-child{margin-bottom:0}.type-btn.cancel-btn{color:#64748b!important;background:#e2e8f0!important}.edit-types{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.edit-types .type-btn{text-align:center;flex:1;min-width:80px;padding:5px 8px;font-size:11px}.edit-dates{color:#64748b;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.edit-dates input{border:1px solid #e2e8f0;border-radius:4px;flex:1;padding:4px 6px;font-size:12px}.edit-notes{resize:vertical;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:4px;width:100%;margin-bottom:8px;padding:6px;font-size:12px}.edit-actions{gap:6px;display:flex}.save-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:5px;padding:6px 12px;font-size:12px;font-weight:600}.delete-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:5px;padding:6px 12px;font-size:12px;font-weight:600}.cancel-btn-sm{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:5px;padding:6px 10px;font-size:12px}.logistics-layout{flex-direction:column;min-height:100%;display:flex}.logistics-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1.5rem}.routes-container{gap:1rem;height:calc(100vh - 140px);display:flex}.routes-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;flex-shrink:0;width:320px;display:flex}.sidebar-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:.5rem .5rem 0 0;padding:1rem}.sidebar-header h3{font-size:1rem}.sidebar-header p{color:#6b7280;font-size:.75rem}.sidebar-body{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.route-card{cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;box-shadow:0 1px 2px #0000000d}.route-card:active{cursor:grabbing}.route-card-header{justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;font-weight:700;display:flex}.gantt-board{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;flex:1;display:flex;overflow:hidden}.gantt-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.gantt-col-main{border-right:1px solid #e5e7eb;flex-shrink:0;width:200px;padding:1rem;font-size:.875rem;font-weight:700}.gantt-timeline-header{flex:1;display:flex;overflow:hidden}.hour-block{color:#6b7280;border-right:1px dashed #e5e7eb;flex:1;min-width:80px;padding:.5rem;font-size:.75rem;font-weight:700}.gantt-body{flex:1;overflow-y:auto}.gantt-row{border-bottom:1px solid #f3f4f6;height:4rem;display:flex}.gantt-row-label{background:#fff;border-right:1px solid #e5e7eb;flex-shrink:0;width:200px;padding:.75rem}.gantt-timeline{flex:1;display:flex;position:relative}.drop-zone{border-right:1px dashed #f3f4f6;flex:1;min-width:80px;height:100%}.assigned-route{border:1px solid #0000001a;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;position:absolute;top:.5rem;bottom:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.bg-blue{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.bg-indigo{color:#3730a3;background:#e0e7ff;border-color:#c7d2fe}.bg-gray{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.kanban-board{gap:1rem;height:calc(100vh - 140px);padding-bottom:1rem;display:flex;overflow-x:auto}.kanban-col{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;flex:1;min-width:250px;display:flex}.kanban-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem;font-weight:700;display:flex}.kanban-badge{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:.1rem .5rem;font-size:.75rem}.kanban-cards{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.kb-card{cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}.kb-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.kb-Available:before{background:#10b981}.kb-Dispatched:before{background:#3b82f6}.kb-OutofService:before{background:#f97316}.kb-InShop:before{background:#ef4444}.roster-container{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;height:calc(100vh - 140px);display:flex}.roster-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.roster-table-wrapper{flex:1;overflow:auto}.roster-table th,.roster-table td{text-align:left;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:.5rem}.roster-cell{border-radius:.25rem;height:4rem;padding:.5rem;font-size:.75rem}.shift{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.leave{color:#a16207;cursor:not-allowed;background:#fefce8;border:1px solid #fef08a}.sick{color:#b91c1c;cursor:not-allowed;background:#fef2f2;border:1px solid #fecaca}.crew-page{background:#f8fafc;height:100%;display:flex;overflow:hidden}.crew-main{flex:1;padding:16px;overflow-y:auto}.crew-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000000f}.crew-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-size:11px;font-weight:700}.crew-table th:first-child{width:220px}.crew-table th:nth-child(2),.crew-table th:nth-child(3){width:50%}.crew-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:6px 10px}.crew-table tr:last-child td{border-bottom:none}.crew-driver-cell{color:#1e293b;white-space:nowrap;font-size:13px;font-weight:600}.crew-slot{border:2px dashed #e2e8f0;border-radius:7px;align-items:center;min-height:38px;padding:3px;transition:border-color .12s,background .12s;display:flex}.crew-slot.drop-active{background:#eff6ff;border-color:#3b82f6}.crew-slot-empty{color:#cbd5e1;-webkit-user-select:none;user-select:none;padding:0 8px;font-size:11px}.crew-vtag{background:#fff;border:1.5px solid;border-radius:6px;align-items:center;gap:6px;width:100%;padding:4px 6px 4px 10px;display:flex}.crew-vtag-plate{color:#1e293b;font-size:12px;font-weight:700}.crew-vtag-remove{cursor:pointer;color:#94a3b8;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 2px;font-size:16px;line-height:1}.crew-vtag-remove:hover{color:#ef4444}.crew-panel{background:#fff;border-left:1px solid #e2e8f0;flex-direction:row;flex-shrink:0;align-items:flex-start;gap:12px;width:420px;padding:12px;display:flex;overflow-y:auto}.crew-panel-section{flex:1;min-width:0}.crew-panel-label{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:1px solid #f1f5f9;margin-bottom:6px;padding-bottom:4px;font-size:11px;font-weight:700}.crew-vcard{background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid;border-radius:0 6px 6px 0;margin-bottom:3px;padding:5px 8px;transition:box-shadow .1s}.crew-vcard.draggable{cursor:grab}.crew-vcard.draggable:hover{background:#fff;box-shadow:0 2px 6px #00000014}.crew-page.dragging .crew-vcard.draggable{cursor:grabbing}.crew-vcard.disabled{opacity:.4;cursor:not-allowed}.crew-vcard-plate{color:#1e293b;font-size:12px;font-weight:700}.crew-vcard-tare{color:#94a3b8;font-size:10px}.crew-vcard-badge{border-radius:3px;margin-top:2px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.crew-vcard-assigned{color:#3b82f6;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.status-damaged{color:#92400e;background:#fef3c7}.status-problems{color:#991b1b;background:#fee2e2}.crew-ghost{pointer-events:none;z-index:1000;color:#1e293b;background:#fff;border:1.5px solid #93c5fd;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:700;position:fixed;box-shadow:0 4px 14px #00000024}.users-page{box-sizing:border-box;background:#f8fafc;min-height:100%;padding:24px}.users-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.users-toolbar h2{color:#1e293b;margin:0;font-size:1.2rem;font-weight:600}.btn-primary{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:7px 16px;font-size:.875rem;font-weight:500}.btn-primary:hover{background:#2563eb}.users-table{border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;font-size:.875rem;overflow:hidden}.users-table th{text-align:left;color:#475569;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:10px 14px;font-weight:600}.users-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 14px}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:#f8fafc}.badge{border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-active{color:#15803d;background:#dcfce7}.badge-inactive{color:#b91c1c;background:#fee2e2}.badge-staff{color:#1d4ed8;background:#dbeafe}.perm-tag{color:#475569;background:#f1f5f9;border-radius:4px;margin:1px 2px;padding:1px 6px;font-size:.72rem;display:inline-block}.row-actions{gap:6px;display:flex}.btn-icon{cursor:pointer;color:#64748b;background:0 0;border:1px solid #e2e8f0;border-radius:5px;padding:4px 8px;font-size:.8rem}.btn-icon:hover{color:#1e293b;background:#f1f5f9}.btn-icon.danger:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.modal-box{background:#fff;border-radius:10px;width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.modal-header{color:#1e293b;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px 12px;font-size:1rem;font-weight:600;display:flex}.modal-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:1.1rem}.modal-form{flex-direction:column;gap:14px;padding:20px;display:flex}.modal-form label{color:#374151;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;display:flex}.modal-form input,.modal-form select{border:1px solid #d1d5db;border-radius:6px;outline:none;padding:7px 10px;font-size:.875rem}.modal-form input:focus,.modal-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe}.checkboxes-label{color:#374151;margin-bottom:4px;font-size:.85rem;font-weight:500}.checkbox-group{flex-direction:column;gap:6px;display:flex}.checkbox-item{color:#374151;cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 16px;font-size:.875rem}.btn-secondary:hover{background:#f9fafb}.error{color:#b91c1c;margin-top:-6px;padding:0 20px;font-size:.82rem}.access-denied{text-align:center;color:#94a3b8;padding:48px;font-size:1rem}.companies-page{box-sizing:border-box;background:#f8fafc;min-height:100%;padding:24px}.companies-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.companies-toolbar h2{color:#1e293b;margin:0;font-size:1.2rem;font-weight:600}.clients-page{box-sizing:border-box;background:#f8fafc;min-height:100%;padding:24px}.clients-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.clients-toolbar h2{color:#1e293b;margin:0;font-size:1.2rem;font-weight:600}.clients-toolbar .company-label{color:#64748b;font-size:.875rem}.regime-badge{text-transform:capitalize;border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.regime-import{color:#1d4ed8;background:#dbeafe}.regime-export{color:#15803d;background:#dcfce7}.regime-transit{color:#854d0e;background:#fef9c3}.regime-local{color:#475569;background:#f1f5f9}.modal-box-wide{width:680px;max-width:95vw}.import-section{border-top:1px solid #e2e8f0;flex-direction:column;gap:12px;padding-top:14px;display:flex}.import-section-title{color:#1e293b;text-align:center;padding:6px 0 2px;font-size:.85rem;font-weight:600}.import-subsection-title{color:#475569;margin-top:4px;margin-bottom:-4px;font-size:.8rem;font-weight:600}.import-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.containers-table{border-collapse:collapse;width:100%;font-size:.8rem}.containers-table th{text-align:left;color:#475569;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:5px 8px;font-weight:600}.containers-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:4px}.containers-table input,.containers-table select{box-sizing:border-box;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:4px 6px;font-size:.8rem}.btn-add-container{color:#64748b;cursor:pointer;background:0 0;border:1px dashed #94a3b8;border-radius:6px;align-self:flex-start;padding:5px 12px;font-size:.8rem}.btn-add-container:hover{color:#1e293b;background:#f1f5f9;border-color:#64748b}.modal-form textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;outline:none;padding:7px 10px;font-family:inherit;font-size:.875rem}.modal-form textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe}.ex-checkboxes{flex-wrap:wrap;gap:20px;display:flex}*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f2f5;font-family:sans-serif;font-size:13px}.app-header{color:#fff;background:#1a3a6b;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.app-header nav{gap:16px;display:flex}.app-header nav a{color:#fff;text-decoration:none}.app-header nav a:hover{text-decoration:underline}.app-header .header-right{align-items:center;gap:12px;display:flex}.app-header button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:3px;padding:4px 10px}.login-page{justify-content:center;align-items:center;height:calc(100vh - 40px);display:flex}.login-form{background:#fff;border-radius:6px;flex-direction:column;gap:14px;min-width:300px;padding:32px;display:flex;box-shadow:0 2px 12px #00000026}.login-form h2{text-align:center}.login-form label{flex-direction:column;gap:4px;display:flex}.login-form input{border:1px solid #ccc;border-radius:4px;padding:8px}.login-form button{color:#fff;cursor:pointer;background:#1a3a6b;border:none;border-radius:4px;padding:10px}.page{max-width:480px;margin:auto;padding:24px}.page h2{margin-bottom:16px}.page form{flex-direction:column;gap:12px;display:flex}.page label{flex-direction:column;gap:4px;display:flex}.page input{border:1px solid #ccc;border-radius:4px;padding:8px}.page button{color:#fff;cursor:pointer;background:#1a3a6b;border:none;border-radius:4px;align-self:flex-start;padding:10px}.daily-sheet-page{flex-direction:column;flex:1;padding:8px 12px;display:flex;overflow:hidden}.sheet-toolbar{flex-shrink:0;align-items:center;gap:12px;margin-bottom:8px;display:flex}.card-grid-wrapper{flex:1;overflow:auto}.error{color:#c0392b;font-size:12px}.success{color:#27ae60;font-size:12px}.user-avatar{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#3b6fc4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-avatar:hover{background:#2a5aab}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:8px;flex-direction:column;gap:14px;min-width:320px;padding:24px;display:flex;box-shadow:0 8px 32px #00000040}.modal-header{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.modal-close{cursor:pointer;color:#666;background:0 0;border:none;padding:0 4px;font-size:16px}.modal-close:hover{color:#000}.modal-form{flex-direction:column;gap:12px;display:flex}.modal-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.modal-form input{border:1px solid #ccc;border-radius:4px;padding:8px}.modal-form button{color:#fff;cursor:pointer;background:#1a3a6b;border:none;border-radius:4px;align-self:flex-start;padding:10px}
