:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0f3;--surface:#fff;--text:#1c1f26;--text-muted:#6b7280;--grid-line:#e3e5ea;--grid-line-strong:#cdd1d9;--header-bg:#14161c;--accent:#2f6fed;--accent-ring:#2f6fed2e;--cell-hover-bg:#f2f6ff;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font:14px/1.4 Segoe UI,system-ui,-apple-system,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}button,input{font:inherit}.login-form__backdrop{background:var(--header-bg);justify-content:center;align-items:center;height:100vh;display:flex}.login-form{background:var(--surface);border-radius:10px;flex-direction:column;gap:14px;width:320px;padding:28px 26px;display:flex;box-shadow:0 12px 36px #00000059}.login-form__title{letter-spacing:.01em;color:var(--text);margin:0;font-size:15px;font-weight:700}.login-form__subtitle{color:var(--text-muted);margin:-8px 0 4px;font-size:12px}.login-form__field{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.login-form__field input{border:1px solid var(--grid-line-strong);text-transform:none;letter-spacing:normal;color:var(--text);background:var(--bg);border-radius:6px;padding:9px 10px;font-size:14px;font-weight:400}.login-form__field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.login-form__error{color:#7a1912;background:#f6d3d0;border-radius:6px;padding:8px 10px;font-size:13px}.login-form__submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px;font-size:14px;font-weight:600}.login-form__submit:disabled{opacity:.6;cursor:default}.login-form__submit:not(:disabled):hover{filter:brightness(1.08)}.tab-bar{background:var(--header-bg);gap:2px;padding:0 16px;display:flex}.tab-bar__tab{color:#fff9;font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:10px 20px;font-size:12.5px;font-weight:700;position:relative}.tab-bar__tab--active{background:var(--surface);color:var(--text)}.tab-bar__tab--key-vessel.tab-bar__tab--active{color:#fff;background:#0f766e}.toolbar{background:var(--surface);border-bottom:1px solid var(--grid-line-strong);align-items:center;gap:12px;padding:10px 16px;display:flex}.toolbar__search{border:1px solid var(--grid-line-strong);width:280px;font:inherit;background:var(--bg);color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.toolbar__search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.toolbar__count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.toolbar__spacer{flex:1}.toolbar__synced{color:var(--text-muted);text-align:right;min-width:120px;font-size:12px}.toolbar__syncing{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.toolbar__spinner{border:2px solid var(--accent-ring);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite toolbar-spin}@keyframes toolbar-spin{to{transform:rotate(360deg)}}.toolbar__refresh{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.toolbar__refresh:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.toolbar__refresh:disabled{opacity:.5;cursor:default}.toolbar__new-booking{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.toolbar__new-booking:hover{filter:brightness(1.08)}.toolbar__batch-edit{color:#fff;font:inherit;cursor:pointer;background:#7c3aed;border:1px solid #7c3aed;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:700}.toolbar__batch-edit:disabled{cursor:default;opacity:.45}.toolbar__clear-filters{border:1px dashed var(--grid-line-strong);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:12px;padding:4px 10px;font-size:11.5px;font-weight:600}.toolbar__clear-filters:hover{background:var(--accent-ring)}.toolbar__wrap-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 4px;font-size:12.5px;font-weight:600;display:flex}.toolbar__wrap-toggle input{cursor:pointer}.toolbar__zoom{color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 4px;font-size:12px;font-weight:600;display:flex}.toolbar__zoom input[type=range]{cursor:pointer;width:90px;accent-color:var(--accent)}.toolbar__zoom-value{text-align:right;font-variant-numeric:tabular-nums;min-width:38px;color:var(--text)}.color-swatch-picker__backdrop{z-index:20;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.color-swatch-picker{background:var(--surface);border-radius:10px;width:100%;max-width:260px;box-shadow:0 24px 48px #0000004d}.color-swatch-picker__header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.color-swatch-picker__header h3{margin:0;font-size:13.5px}.color-swatch-picker__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.color-swatch-picker__close:hover{background:var(--cell-hover-bg);color:var(--text)}.color-swatch-picker__grid{grid-template-columns:repeat(6,1fr);gap:8px;padding:16px;display:grid}.color-swatch-picker__swatch{border:1px solid var(--grid-line-strong);cursor:pointer;border-radius:6px;width:28px;height:28px;padding:0}.color-swatch-picker__swatch:hover{transform:scale(1.08)}.color-swatch-picker__swatch--selected{outline:2px solid var(--accent);outline-offset:2px}.color-swatch-picker__footer{justify-content:space-between;align-items:center;gap:10px;padding:0 16px 16px;display:flex}.color-swatch-picker__custom{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.color-swatch-picker__custom input[type=color]{border:1px solid var(--grid-line-strong);cursor:pointer;border-radius:6px;width:28px;height:28px;padding:0}.color-swatch-picker__clear{border:1px dashed var(--grid-line-strong);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:12px}.color-swatch-picker__clear:hover{border-color:var(--accent);color:var(--accent)}.datetime-picker-popup__backdrop{z-index:20;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.datetime-picker-popup{background:var(--surface);border-radius:10px;width:100%;max-width:300px;box-shadow:0 24px 48px #0000004d}.datetime-picker-popup__header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.datetime-picker-popup__header h3{margin:0;font-size:13.5px}.datetime-picker-popup__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.datetime-picker-popup__close:hover{background:var(--cell-hover-bg);color:var(--text)}.datetime-picker-popup__body{padding:16px}.datetime-picker-popup__input{box-sizing:border-box;border:1px solid var(--grid-line-strong);width:100%;font:inherit;background:var(--bg);color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.datetime-picker-popup__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.datetime-picker-popup__footer{justify-content:space-between;align-items:center;gap:10px;padding:0 16px 16px;display:flex}.datetime-picker-popup__actions{gap:8px;display:flex}.datetime-picker-popup__clear{border:1px dashed var(--grid-line-strong);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:12px}.datetime-picker-popup__clear:hover{border-color:var(--accent);color:var(--accent)}.datetime-picker-popup__cancel{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600}.datetime-picker-popup__cancel:hover{border-color:var(--accent);color:var(--accent)}.datetime-picker-popup__save{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600}.datetime-picker-popup__save:hover{filter:brightness(1.08)}.navis-update-picker__backdrop{z-index:20;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.navis-update-picker{background:var(--surface);border-radius:10px;width:100%;max-width:240px;box-shadow:0 24px 48px #0000004d}.navis-update-picker__header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.navis-update-picker__header h3{margin:0;font-size:13.5px}.navis-update-picker__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.navis-update-picker__close:hover{background:var(--cell-hover-bg);color:var(--text)}.navis-update-picker__options{grid-template-columns:repeat(2,1fr);gap:8px;padding:16px;display:grid}.navis-update-picker__option{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:10px;font-size:13px;font-weight:600}.navis-update-picker__option:hover{border-color:var(--accent);color:var(--accent)}.navis-update-picker__option--selected{border-color:var(--accent);background:var(--accent);color:#fff}.column-filter-dropdown__backdrop{z-index:30;position:fixed;inset:0}.column-filter-dropdown{background:var(--surface);z-index:31;border-radius:10px;flex-direction:column;width:320px;max-width:calc(100vw - 16px);max-height:calc(100vh - 48px);display:flex;position:fixed;box-shadow:0 12px 32px #00000047}.column-filter-dropdown__header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.column-filter-dropdown__header h3{margin:0;font-size:13.5px}.column-filter-dropdown__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1}.column-filter-dropdown__close:hover{background:var(--cell-hover-bg);color:var(--text)}.column-filter-dropdown__body{padding:12px 16px;overflow-y:auto}.column-filter-dropdown__search{border:1px solid var(--grid-line-strong);width:100%;font:inherit;background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:6px;margin-bottom:10px;padding:7px 10px;font-size:13px}.column-filter-dropdown__search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.column-filter-dropdown__empty{color:var(--text-muted);margin:0;padding:10px 0;font-size:12.5px}.column-filter-dropdown__select-all{border-bottom:1px solid var(--grid-line);margin-bottom:4px;padding-bottom:8px;font-weight:600}.column-filter-dropdown__list{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.column-filter-dropdown__option{color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:5px 4px;font-size:12.5px;display:flex}.column-filter-dropdown__option:hover{background:var(--cell-hover-bg)}.column-filter-dropdown__option input{cursor:pointer;flex-shrink:0}.column-filter-dropdown__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.column-filter-dropdown__count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.column-filter-dropdown__footer{border-top:1px solid var(--grid-line-strong);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.column-filter-dropdown__clear{border:1px dashed var(--grid-line-strong);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:12px}.column-filter-dropdown__clear:hover{border-color:var(--accent);color:var(--accent)}.column-filter-dropdown__apply{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700}.column-filter-dropdown__apply:hover{filter:brightness(1.08)}.editable-cell__display{width:100%;height:100%;min-height:22px;font:inherit;text-align:left;color:inherit;cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:2px;padding:3px 6px;display:block;overflow:hidden}.editable-cell__display:hover{border-color:var(--grid-line-strong);background:var(--cell-hover-bg)}.editable-cell__display--empty{color:var(--text-muted);font-style:italic}.editable-cell__display--readonly{cursor:default}.editable-cell__display--readonly:hover{background:0 0;border-color:#0000}.editable-cell__input{border:1px solid var(--accent);width:100%;height:100%;min-height:22px;font:inherit;color:inherit;background:#fffbe6;border-radius:2px;outline:none;padding:3px 6px}.alert-badge{letter-spacing:.03em;white-space:nowrap;border-radius:3px;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.6;display:inline-flex}.alert-badge--overdue{color:#fff;background:#b3261e}.alert-badge--due-soon{color:#2a1700;background:#e8871e}.alert-badge--ok{color:#256b3a;background:#e4f2e7}.alert-badge--unknown{color:#8a8a8a}.imports-table-wrap{background:var(--surface);flex:1;overflow:auto}.imports-colour-key{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);min-width:max-content;color:var(--text-muted);align-items:center;gap:14px;padding:7px 12px;font-size:10.5px;display:flex}.imports-colour-key strong{color:var(--text);font-size:11px}.imports-colour-key span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.imports-colour-key small{white-space:nowrap;font-size:9.5px;font-style:italic}.imports-colour-key__swatch{border:1px solid #0f11162e;border-radius:3px;width:13px;height:13px}.imports-colour-key__swatch--overdue{background:#f6d3d0}.imports-colour-key__swatch--due-soon{background:#fbe7d7}.imports-colour-key__swatch--navis-pending{background:#fdf3c9}.imports-colour-key__swatch--navis-done{background:#d7fbe0}.imports-colour-key__swatch--booking-type{background:linear-gradient(90deg,#d7e6fb 0 33%,#d7fbe0 33% 66%,#e6d7fb 66%)}.imports-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12.5px;line-height:1.35}.imports-table__col-number{width:66px}.imports-table__col-sync{width:90px}.imports-table thead th{z-index:3;color:#f4f5f7;text-align:left;letter-spacing:.03em;white-space:nowrap;border-right:1px solid #ffffff14;border-bottom:2px solid var(--accent);background:#1f2430;height:34px;padding:0;font-size:10.5px;font-weight:700;position:sticky;top:22px}.imports-table .imports-table__letter-row th{z-index:4;color:#44464d;text-align:center;background:#eceef1;border-bottom:1px solid #c3c7ce;border-right:1px solid #d3d6db;height:20px;padding:0;font-size:10px;font-weight:700;position:sticky;top:0}.imports-table .imports-table__corner{z-index:5;position:sticky;left:0;background:#eceef1!important;border-right:1px solid #c3c7ce!important}.imports-table__row-number{z-index:1;color:#6b6f76;text-align:center;font-variant-numeric:tabular-nums;background:#eceef1;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex;position:sticky;left:0;border-right:1px solid #c3c7ce!important;padding:0 8px!important}.imports-table__row-number span{flex:1}.imports-table__row-checkbox{cursor:pointer;flex-shrink:0}.imports-table__saving-spinner{border:2px solid #c3c7ce;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite imports-table-spin}@keyframes imports-table-spin{to{transform:rotate(360deg)}}.imports-table__header-inner{align-items:center;height:100%;display:flex}.imports-table__sort-btn{min-width:0;height:100%;color:inherit;font:inherit;letter-spacing:.03em;text-align:left;cursor:grab;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:0 4px 0 8px;font-size:10.5px;font-weight:700;display:flex}.imports-table__sort-btn:hover{background:#ffffff0f}.imports-table__col--dragging{opacity:.4;background:var(--accent-ring)!important}.imports-table__resize-handle{cursor:col-resize;z-index:1;width:6px;height:100%;position:absolute;top:0;right:-3px}.imports-table__resize-handle:hover,.imports-table__resize-handle:active{background:var(--accent);opacity:.5}.imports-table__color-btn{cursor:pointer;border:1px solid #ffffff59;border-radius:50%;width:12px;min-width:12px;height:12px;margin-right:8px;padding:0}.imports-table__color-btn:hover{border-color:var(--accent);transform:scale(1.15)}.imports-table__color-btn--row{border:1px solid var(--grid-line-strong);margin-right:0}.imports-table__sort-icon{color:var(--accent);min-width:8px;font-size:8px}.imports-table .imports-table__filter-row th{z-index:2;border-bottom:1px solid var(--grid-line-strong);background:#262b38;top:54px}.imports-table__filter-btn{box-sizing:border-box;color:#1c1f26;width:calc(100% - 12px);font:inherit;text-transform:none;letter-spacing:normal;cursor:pointer;background:#ffffffe6;border:1px solid #ffffff26;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;margin:4px 6px;padding:4px 8px;font-size:11px;font-weight:400;display:flex}.imports-table__filter-btn span:first-child{text-overflow:ellipsis;white-space:nowrap;color:#6b6f76;overflow:hidden}.imports-table__filter-btn span:last-child{color:#9aa0ab;flex-shrink:0;font-size:9px}.imports-table__filter-btn--active{border-color:var(--accent);background:#fff7d6}.imports-table__filter-btn--active span:first-child{color:#1c1f26;font-weight:700}.imports-table tbody td{border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;padding:0;overflow:hidden}.imports-table--wrap tbody td{white-space:normal;text-overflow:clip;word-break:break-word;vertical-align:top;overflow:visible}.imports-table--wrap .editable-cell__display,.imports-table--wrap .editable-cell__input{white-space:normal;text-overflow:clip;word-break:break-word;height:auto;overflow:visible}.imports-table__live,.imports-table__mono{color:var(--text);padding:5px 8px}.imports-table__mono{font-variant-numeric:tabular-nums}.imports-table__row{cursor:default;border-left:4px solid #0000}.imports-table__row--ok,.imports-table__row--unknown{background:var(--surface)}.imports-table__row--due-soon{background:#fbe7d7;border-left-color:#e8871e}.imports-table__row--overdue{background:#f6d3d0;border-left-color:#b3261e}.imports-table__row:hover{filter:brightness(.97)}.imports-table__sync{text-align:center;padding:0 4px!important}.imports-table__local-badge{color:#26418f;letter-spacing:.03em;white-space:nowrap;background:#dfe7fb;border-radius:3px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:9.5px;font-weight:700;display:inline-flex}.imports-table__remove{color:inherit;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px;line-height:1}.imports-table__remove:hover{color:#b3261e}.imports-table__add-event{border:1px solid var(--grid-line-strong);color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px;font-size:9.5px;font-weight:700}.imports-table__add-event:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-ring)}.imports-table__size-select{width:100%;height:100%;min-height:22px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:3px 6px}.imports-table__size-select:hover{border-color:var(--grid-line-strong);background:var(--cell-hover-bg)}.imports-table__size-select:focus{border-color:var(--accent);background:#fffbe6;outline:none}.imports-table__empty{text-align:center;color:var(--text-muted);padding:32px}.imports-table__link-btn{color:#1a5fd6;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:5px 8px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:block}.imports-table__link-btn:hover{background:var(--cell-hover-bg);text-decoration-color:currentColor}.imports-table__haz-yes{color:#fff;letter-spacing:.03em;background:#e02424;justify-content:center;align-items:center;width:100%;height:100%;min-height:24px;padding:5px 8px;font-weight:700;display:flex}.booking-modal__backdrop{z-index:10;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.booking-modal{background:var(--surface);border-radius:10px;width:100%;max-width:640px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.booking-modal__header{padding:20px 24px 4px}.booking-modal__header h2{margin:0 0 6px;font-size:17px}.booking-modal__header p{color:var(--text-muted);margin:0 0 12px;font-size:12.5px}.booking-modal__grid{grid-template-columns:1fr 1fr;gap:12px 16px;padding:8px 24px;display:grid}.booking-modal__field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.booking-modal__field input{border:1px solid var(--grid-line-strong);color:var(--text);background:var(--bg);border-radius:6px;padding:7px 9px;font-size:13px;font-weight:400}.booking-modal__field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.booking-modal__required{color:#b3261e;margin-left:2px}.booking-modal__actions{justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}.booking-modal__cancel,.booking-modal__submit{font:inherit;cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.booking-modal__cancel{border:1px solid var(--grid-line-strong);background:var(--surface);color:var(--text)}.booking-modal__submit{border:1px solid var(--accent);background:var(--accent);color:#fff}.booking-modal__submit:disabled{opacity:.5;cursor:default}.load-detail-modal__backdrop{z-index:10;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.load-detail-modal{background:var(--surface);border-radius:10px;width:100%;max-width:760px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.load-detail-modal__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex;position:sticky;top:0}.load-detail-modal__header h2{margin:0 0 4px;font-size:17px}.load-detail-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.load-detail-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.load-detail-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.load-detail-modal__body{padding:20px 24px 24px}.load-detail-modal__notice{background:var(--bg);color:var(--text-muted);border-radius:6px;margin:0;padding:14px 16px;font-size:13px}.load-detail-modal__notice--error{color:#7a1912;background:#f6d3d0}.load-detail-modal__section-title{border-top:1px solid var(--grid-line-strong);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:24px 0 12px;padding-top:16px;font-size:12px;font-weight:700}.load-detail-modal__grid{grid-template-columns:repeat(2,1fr);gap:10px 20px;margin:0;display:grid}.load-detail-modal__field{border-bottom:1px solid var(--grid-line);flex-direction:column;gap:2px;padding:6px 0;display:flex}.load-detail-modal__field dt{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:700}.load-detail-modal__field dd{color:var(--text);word-break:break-word;margin:0;font-size:13px}.field-picker-modal__backdrop{z-index:10;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.field-picker-modal{background:var(--surface);border-radius:10px;flex-direction:column;width:100%;max-width:420px;max-height:calc(100vh - 48px);display:flex;box-shadow:0 24px 48px #0000004d}.field-picker-modal__header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.field-picker-modal__header h2{margin:0 0 4px;font-size:17px}.field-picker-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.field-picker-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.field-picker-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.field-picker-modal__body{padding:16px 24px 20px;overflow-y:auto}.field-picker-modal__search{border:1px solid var(--grid-line-strong);width:100%;font:inherit;background:var(--bg);color:var(--text);border-radius:6px;margin-bottom:12px;padding:7px 10px;font-size:13px}.field-picker-modal__search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field-picker-modal__empty{color:var(--text-muted);margin:0;padding:14px 0;font-size:13px}.field-picker-modal__list{margin:0;padding:0;list-style:none}.field-picker-modal__option{color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:7px 4px;font-size:13px;display:flex}.field-picker-modal__option:hover{background:var(--cell-hover-bg)}.field-picker-modal__option input{cursor:pointer}.column-order-modal__backdrop{z-index:20;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.column-order-modal{background:var(--surface);border-radius:10px;flex-direction:column;width:100%;max-width:360px;max-height:calc(100vh - 48px);display:flex;box-shadow:0 24px 48px #0000004d}.column-order-modal__header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.column-order-modal__header h2{margin:0 0 4px;font-size:17px}.column-order-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.column-order-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.column-order-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.column-order-modal__body{padding:12px 16px 20px;overflow-y:auto}.column-order-modal__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.column-order-modal__item{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);cursor:grab;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;transition:transform 80ms;display:flex}.column-order-modal__item:active{cursor:grabbing}.column-order-modal__item--dragging{opacity:.4}.column-order-modal__item--over{border-color:var(--accent);background:var(--accent-ring);transform:translateY(1px)}.column-order-modal__handle{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:14px;line-height:1}.add-event-modal__backdrop{z-index:15;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.add-event-modal{background:var(--surface);border-radius:10px;width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.add-event-modal__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex;position:sticky;top:0}.add-event-modal__header h2{margin:0 0 4px;font-size:17px}.add-event-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.add-event-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.add-event-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.add-event-modal__body{padding:16px 24px 24px}.add-event-modal__notice{background:var(--bg);color:var(--text-muted);border-radius:6px;margin:0;padding:14px 16px;font-size:13px}.add-event-modal__notice--error{color:#7a1912;background:#f6d3d0}.add-event-modal__event-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.add-event-modal__event-option{border:1px solid var(--grid-line-strong);background:var(--bg);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex}.add-event-modal__event-option:hover{border-color:var(--accent);background:var(--cell-hover-bg)}.add-event-modal__event-weight{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.add-event-modal__back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 0 12px;font-size:12.5px;font-weight:600}.add-event-modal__back:hover{text-decoration:underline}.add-event-modal__selected{margin:0 0 16px;font-size:15px}.add-event-modal__field{color:var(--text-muted);flex-direction:column;gap:4px;margin-bottom:14px;font-size:12.5px;display:flex}.add-event-modal__field input,.add-event-modal__field textarea{border:1px solid var(--grid-line-strong);font:inherit;background:var(--bg);color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.add-event-modal__field textarea{resize:vertical;min-height:60px}.add-event-modal__field input:focus,.add-event-modal__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.add-event-modal__combobox{flex-direction:column;display:flex;position:relative}.add-event-modal__combobox-list{z-index:1;background:var(--surface);border:1px solid var(--grid-line-strong);border-radius:6px;max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0000002e}.add-event-modal__combobox-option{color:var(--text);cursor:pointer;border-radius:4px;padding:6px 8px;font-size:12.5px}.add-event-modal__combobox-option--active{background:var(--cell-hover-bg)}.add-event-modal__toggle{gap:6px;display:flex}.add-event-modal__toggle-btn{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;flex:1;padding:7px 10px;font-size:12.5px;font-weight:600}.add-event-modal__toggle-btn--active{border-color:var(--accent);background:var(--accent);color:#fff}.add-event-modal__actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.add-event-modal__cancel{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.add-event-modal__cancel:hover{border-color:var(--accent);color:var(--accent)}.add-event-modal__submit{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.add-event-modal__submit:hover:not(:disabled){filter:brightness(1.08)}.add-event-modal__submit:disabled{opacity:.5;cursor:default}.add-note-modal__backdrop{z-index:15;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.add-note-modal{background:var(--surface);border-radius:10px;width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.add-note-modal__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex;position:sticky;top:0}.add-note-modal__header h2{margin:0 0 4px;font-size:17px}.add-note-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.add-note-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.add-note-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.add-note-modal__body{padding:16px 24px 24px}.add-note-modal__field{color:var(--text-muted);flex-direction:column;gap:4px;margin-bottom:14px;font-size:12.5px;display:flex}.add-note-modal__field textarea{border:1px solid var(--grid-line-strong);font:inherit;background:var(--bg);color:var(--text);resize:vertical;border-radius:6px;padding:8px 10px;font-size:13px}.add-note-modal__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.add-note-modal__notice{background:var(--bg);color:var(--text-muted);border-radius:6px;margin:0 0 14px;padding:10px 12px;font-size:12.5px}.add-note-modal__notice--error{color:#7a1912;background:#f6d3d0}.add-note-modal__actions{justify-content:flex-end;gap:8px;display:flex}.add-note-modal__cancel{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.add-note-modal__cancel:hover{border-color:var(--accent);color:var(--accent)}.add-note-modal__submit{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.add-note-modal__submit:hover:not(:disabled){filter:brightness(1.08)}.add-note-modal__submit:disabled{opacity:.5;cursor:default}.billing-issue-note-modal__backdrop{z-index:15;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.billing-issue-note-modal{background:var(--surface);border-radius:10px;width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.billing-issue-note-modal__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex;position:sticky;top:0}.billing-issue-note-modal__header h2{margin:0 0 4px;font-size:17px}.billing-issue-note-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.billing-issue-note-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.billing-issue-note-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.billing-issue-note-modal__body{padding:16px 24px 24px}.billing-issue-note-modal__field{color:var(--text-muted);flex-direction:column;gap:4px;margin-bottom:14px;font-size:12.5px;display:flex}.billing-issue-note-modal__field select,.billing-issue-note-modal__field textarea{border:1px solid var(--grid-line-strong);font:inherit;background:var(--bg);color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.billing-issue-note-modal__field textarea{resize:vertical}.billing-issue-note-modal__field select:focus,.billing-issue-note-modal__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.billing-issue-note-modal__notice{background:var(--bg);color:var(--text-muted);border-radius:6px;margin:0 0 14px;padding:10px 12px;font-size:12.5px}.billing-issue-note-modal__notice--error{color:#7a1912;background:#f6d3d0}.billing-issue-note-modal__actions{justify-content:flex-end;gap:8px;display:flex}.billing-issue-note-modal__cancel{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.billing-issue-note-modal__cancel:hover{border-color:var(--accent);color:var(--accent)}.billing-issue-note-modal__submit{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.billing-issue-note-modal__submit:hover:not(:disabled){filter:brightness(1.08)}.billing-issue-note-modal__submit:disabled{opacity:.5;cursor:default}.update-tracking-modal__backdrop{z-index:15;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.update-tracking-modal{background:var(--surface);border-radius:10px;width:100%;max-width:420px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.update-tracking-modal__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex;position:sticky;top:0}.update-tracking-modal__header h2{margin:0 0 4px;font-size:17px}.update-tracking-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.update-tracking-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.update-tracking-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.update-tracking-modal__body{padding:16px 24px 24px}.update-tracking-modal__field{color:var(--text-muted);flex-direction:column;gap:4px;margin-bottom:14px;font-size:12.5px;display:flex}.update-tracking-modal__field input,.update-tracking-modal__field select{border:1px solid var(--grid-line-strong);font:inherit;background:var(--bg);color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.update-tracking-modal__field input:focus,.update-tracking-modal__field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.update-tracking-modal__notice{background:var(--bg);color:var(--text-muted);border-radius:6px;margin:0 0 14px;padding:10px 12px;font-size:12.5px}.update-tracking-modal__notice--error{color:#7a1912;background:#f6d3d0}.update-tracking-modal__notice--warn{color:#6b4a00;background:#fbecc5}.update-tracking-modal__notice--ok{color:#17552a;background:#d4eedb}.update-tracking-modal__actions{justify-content:flex-end;gap:8px;display:flex}.update-tracking-modal__cancel{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.update-tracking-modal__cancel:hover{border-color:var(--accent);color:var(--accent)}.update-tracking-modal__submit{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.update-tracking-modal__submit:hover:not(:disabled){filter:brightness(1.08)}.update-tracking-modal__submit:disabled{opacity:.5;cursor:default}.row-context-menu__backdrop{z-index:25;position:fixed;inset:0}.row-context-menu{background:var(--surface);border:1px solid var(--grid-line-strong);border-radius:8px;min-width:190px;margin:0;padding:6px;list-style:none;position:fixed;box-shadow:0 12px 32px #00000047}.row-context-menu button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:8px 10px;font-size:12.5px;display:block}.row-context-menu button:hover:not(:disabled){background:var(--cell-hover-bg)}.row-context-menu button:disabled{color:var(--text-muted);cursor:default}.row-context-menu__divider{background:var(--grid-line-strong);height:1px;margin:5px 4px}.booking-sidebar{border-left:1px solid var(--grid-line-strong);background:var(--surface);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow-y:auto}.booking-sidebar__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex;position:sticky;top:0}.booking-sidebar__header h2{margin:0 0 4px;font-size:15px}.booking-sidebar__header p{color:var(--text-muted);margin:0;font-size:12px}.booking-sidebar__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:20px;line-height:1}.booking-sidebar__close:hover{background:var(--cell-hover-bg);color:var(--text)}.booking-sidebar__body{padding:8px 18px 24px}.booking-sidebar__notice{background:var(--bg);color:var(--text-muted);border-radius:6px;margin:8px 0;padding:10px 12px;font-size:12px}.booking-sidebar__notice--error{color:#7a1912;background:#f6d3d0}.booking-sidebar__section{border-bottom:1px solid var(--grid-line);padding:10px 0}.booking-sidebar__section summary{cursor:pointer;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding:4px 0;font-size:11.5px;font-weight:700}.booking-sidebar__section summary:hover{color:var(--accent)}.booking-sidebar__fields{margin:8px 0 0}.booking-sidebar__field{border-bottom:1px solid var(--grid-line);flex-direction:column;gap:1px;padding:5px 0;display:flex}.booking-sidebar__field dt{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.booking-sidebar__field dd{color:var(--text);word-break:break-word;margin:0;font-size:12.5px}.booking-sidebar__event-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.booking-sidebar__event{border:1px solid var(--grid-line);background:var(--bg);border-radius:6px;padding:8px 10px}.booking-sidebar__event-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.booking-sidebar__event-label{color:var(--text);font-size:12.5px;font-weight:700}.booking-sidebar__event-date{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.booking-sidebar__event-meta{color:var(--text-muted);margin:4px 0 0;font-size:11.5px}.booking-sidebar__event-notes{color:var(--text);margin:4px 0 0;font-size:11.5px;font-style:italic}.linked-bookings-modal__backdrop{z-index:15;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.linked-bookings-modal{background:var(--surface);border-radius:10px;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #0000004d}.linked-bookings-modal__header{border-bottom:1px solid var(--grid-line-strong);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex;position:sticky;top:0}.linked-bookings-modal__header h2{margin:0 0 4px;font-size:17px}.linked-bookings-modal__header p{color:var(--text-muted);margin:0;font-size:12.5px}.linked-bookings-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.linked-bookings-modal__close:hover{background:var(--cell-hover-bg);color:var(--text)}.linked-bookings-modal__list{margin:0;padding:8px;list-style:none}.linked-bookings-modal__item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.linked-bookings-modal__item:hover{background:var(--cell-hover-bg)}.linked-bookings-modal__item-id{font-size:13px;font-weight:600}.linked-bookings-modal__item-detail{color:var(--text-muted);font-size:12px}.batch-edit-modal__backdrop{z-index:20;background:#0f111694;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.batch-edit-modal{background:var(--surface);border-radius:10px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 48px #0000004d}.batch-edit-modal header{border-bottom:1px solid var(--grid-line-strong);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 14px;display:flex}.batch-edit-modal h2{margin:0 0 4px;font-size:17px}.batch-edit-modal header p{color:var(--text-muted);margin:0;font-size:12.5px}.batch-edit-modal header button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:22px}.batch-edit-modal__body{gap:14px;padding:18px 24px;display:grid}.batch-edit-modal__body>label:not(.batch-edit-modal__clear){color:var(--text-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.batch-edit-modal select,.batch-edit-modal__body input[type=text],.batch-edit-modal__body input[type=datetime-local]{border:1px solid var(--grid-line-strong);background:var(--bg);color:var(--text);font:inherit;border-radius:6px;padding:8px 10px}.batch-edit-modal textarea{resize:vertical;border:1px solid var(--grid-line-strong);background:var(--bg);min-height:74px;color:var(--text);font:inherit;border-radius:6px;padding:8px 10px}.batch-edit-modal__null-date{color:var(--text);align-items:center;gap:6px;font-size:11.5px;font-weight:500;display:inline-flex}.batch-edit-modal__clear{color:var(--text);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.batch-edit-modal__warning{color:#9a3412;background:#fff7ed;border-radius:6px;margin:0;padding:9px 11px;font-size:11.5px}.batch-edit-modal__error{color:#991b1b;background:#fee2e2;border-radius:6px;padding:9px 11px;font-size:12px}.batch-edit-modal footer{justify-content:flex-end;gap:10px;padding:14px 24px 20px;display:flex}.batch-edit-modal footer button{font:inherit;cursor:pointer;border-radius:6px;padding:8px 14px;font-size:12.5px;font-weight:700}.batch-edit-modal__cancel{border:1px solid var(--grid-line-strong);background:var(--surface);color:var(--text)}.batch-edit-modal__save{border:1px solid var(--accent);background:var(--accent);color:#fff}.batch-edit-modal footer button:disabled{cursor:default;opacity:.5}.placeholder-tab{background:var(--surface);color:var(--text);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:48px 16px;display:flex}.placeholder-tab__title{letter-spacing:.04em;margin:0;font-size:16px;font-weight:700}.placeholder-tab__text{opacity:.6;margin:0}.searchable-select{position:relative}.searchable-select__input{width:100%}.searchable-select__list{z-index:30;border:1px solid var(--grid-line-strong);background:var(--surface);border-radius:6px;max-height:220px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0f172a26}.searchable-select__option{color:var(--text);cursor:pointer;justify-content:space-between;gap:12px;padding:6px 10px;font-size:12.5px;display:flex}.searchable-select__option.is-highlighted{background:var(--cell-hover-bg)}.searchable-select__option.is-selected{font-weight:600}.searchable-select__hint{color:var(--text-muted);white-space:nowrap}.searchable-select__empty{color:var(--text-muted);padding:6px 10px;font-size:12.5px}.tc-backdrop{--tc-diesel:#2f6fed;--tc-tolls:#0d9488;--tc-other:#b7791f;--tc-rail-bg:#f6f7f9;--tc-danger:#c2410c;z-index:15;background:#0f11168c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tc{background:var(--surface);width:min(1200px,100%);height:min(780px,100vh - 48px);color:var(--text);border-radius:12px;flex-direction:column;font-size:13.5px;line-height:1.45;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000052}.tc .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tc :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tc-header{border-bottom:1px solid var(--grid-line);justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.tc-header h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:700}.tc-header p{color:var(--text-muted);margin:2px 0 0}.tc-close{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:24px;line-height:1}.tc-close:hover{background:var(--bg);color:var(--text)}.tc-layout{flex:1;grid-template-columns:310px 1fr;min-height:0;display:grid}.tc-rail{border-right:1px solid var(--grid-line);background:var(--tc-rail-bg);padding:24px;overflow-y:auto}.tc-rail__block+.tc-rail__block{border-top:1px solid var(--grid-line);margin-top:28px;padding-top:24px}.tc-rail__caption{color:var(--text-muted);font-size:12.5px}.tc-rail__total{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 14px;font-size:30px;font-weight:700}.tc-bar{background:var(--grid-line);border-radius:4px;height:8px;display:flex;overflow:hidden}.tc-bar__seg{height:100%;transition:width .25s}.tc-bar__seg--diesel{background:var(--tc-diesel)}.tc-bar__seg--tolls{background:var(--tc-tolls)}.tc-bar__seg--other{background:var(--tc-other)}.tc-legend{margin:12px 0 0;padding:0;list-style:none}.tc-legend li{align-items:center;gap:8px;padding:3px 0;display:flex}.tc-legend li span{font-variant-numeric:tabular-nums;margin-left:auto}.tc-legend__dot{border-radius:2px;width:8px;height:8px}.tc-legend__dot--diesel{background:var(--tc-diesel)}.tc-legend__dot--tolls{background:var(--tc-tolls)}.tc-legend__dot--other{background:var(--tc-other)}.tc-rail__route-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.tc-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.tc-link:hover{text-decoration:underline}.tc-route{margin:0;padding:0;list-style:none;position:relative}.tc-route:before{content:"";background:#c9ced8;width:2px;position:absolute;top:14px;bottom:26px;left:15px}.tc-route__node{z-index:1;background:var(--surface);border:2px solid #9aa3b2;border-radius:50%;grid-area:node;align-self:center;width:12px;height:12px;margin-left:10px;position:relative}.tc-route__origin,.tc-route__leg{grid-template-columns:32px 1fr auto;grid-template-areas:"node city cost"".meta meta";align-items:center;column-gap:4px;display:grid}.tc-route__origin{padding:6px 8px 10px 0}.tc-route__origin .tc-route__node{border-color:var(--text);background:var(--text)}.tc-route__leg{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin:2px 0;padding:8px 10px 8px 0}.tc-route__leg:hover{background:var(--surface);border-color:var(--grid-line)}.tc-route__leg.is-selected{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.tc-route__leg.is-selected .tc-route__node{border-color:var(--accent);background:var(--accent)}.tc-route__stop.is-en-route .tc-route__node{border-style:dashed;border-color:var(--accent)}.tc-route__city{grid-area:city;font-size:15px;font-weight:700}.tc-route__cost{font-variant-numeric:tabular-nums;grid-area:cost;font-weight:600}.tc-route__meta{color:var(--text-muted);grid-area:meta;font-size:12px}.tc-rail__footnote{color:var(--text-muted);margin:12px 0 0;font-size:12px}.tc-rail__facts{margin:0}.tc-rail__facts div{justify-content:space-between;gap:12px;padding:4px 0;display:flex}.tc-rail__facts dt{color:var(--text-muted)}.tc-rail__facts dd{text-align:right;margin:0;font-weight:600}.tc-main{flex-direction:column;min-width:0;min-height:0;display:flex}.tc-tabs{border-bottom:1px solid var(--grid-line);grid-template-columns:repeat(4,1fr);display:grid}.tc-tab{color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 24px 12px;display:flex}.tc-tab+.tc-tab{border-left:1px solid var(--grid-line)}.tc-tab:hover{background:var(--bg)}.tc-tab.is-active{border-bottom-color:var(--accent);color:var(--text)}.tc-tab__label{font-size:14px;font-weight:700}.tc-tab__amount{font-variant-numeric:tabular-nums;font-size:12.5px}.tc-panel{flex:1;padding:24px 28px 32px;overflow-y:auto}.tc-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.tc-section-head h3{margin:0;font-size:17px;font-weight:700}.tc-section-head__note{color:var(--text-muted);margin:2px 0 0}.tc-section-head__right{align-items:center;gap:16px;display:flex}.tc-section-head__total{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.tc-btn{height:36px;font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:0 16px;font-weight:600}.tc-btn--primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.tc-btn--primary:hover:not(:disabled){filter:brightness(.94)}.tc-btn--primary:disabled{opacity:.4;cursor:not-allowed}.tc-btn--ghost{border:1px solid var(--grid-line-strong);background:var(--surface);color:var(--text)}.tc-btn--ghost:hover{background:var(--bg)}.tc-form{border:1px solid var(--grid-line-strong);border-left:3px solid var(--accent);background:var(--surface);border-radius:10px;margin-bottom:24px;padding:20px 22px;animation:.18s ease-out tc-form-in;box-shadow:0 4px 16px #14161c0f}@keyframes tc-form-in{0%{opacity:0;transform:translateY(-4px)}}.tc-form__title{margin:0 0 16px;font-size:14px;font-weight:700}.tc-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.tc-form__actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.tc-field{flex-direction:column;gap:6px;min-width:0;display:flex}.tc-field--wide{grid-column:1/-1}.tc-field__label{color:var(--text);font-size:12.5px;font-weight:600}.tc-field__hint{color:var(--text-muted);font-size:12px}.tc-field__hint--error{color:var(--tc-danger)}.tc-input,.tc-field .searchable-select__input{border:1px solid var(--grid-line-strong);background:var(--surface);width:100%;height:38px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px}.tc-input:focus,.tc-field .searchable-select__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.tc-input[aria-invalid=true]{border-color:var(--tc-danger)}.tc-table{border-collapse:collapse;width:100%}.tc-table th{border-bottom:1px solid var(--grid-line-strong);color:var(--text-muted);text-align:left;white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:600}.tc-table td{border-bottom:1px solid var(--grid-line);vertical-align:top;padding:12px 14px}.tc-table tbody tr:hover{background:#fafbfc}.tc-table tfoot td{border-bottom:none;padding-top:14px;font-weight:700}.tc-table__strong{font-weight:600}.tc-table__sub{color:var(--text-muted);font-size:12px;display:block}.tc-form--confirm{border-left-color:#d97706}.tc-form__warning{color:var(--text-muted);margin:-8px 0 16px}.tc-confirm{background:var(--tc-rail-bg);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0;padding:16px 18px;display:grid}.tc-confirm dt{color:var(--text-muted);font-size:12.5px}.tc-confirm dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:600}.tc-form--edit{border-left-color:#7c3aed}.tc-form__idle{color:var(--text-muted);align-self:center;margin-right:auto;font-size:12.5px}.tc-form__error{color:#991b1b;background:#fef2f2;border-radius:8px;margin:14px 0 0;padding:10px 12px}.tc-load-error{color:#991b1b;background:#fef2f2;border-radius:8px;margin-bottom:16px;padding:10px 14px}.tc-load-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin-left:6px;font-weight:700;text-decoration:underline}.tc-table__actions{text-align:right;white-space:nowrap;width:1%}.tc-row-edit{border:1px solid var(--grid-line-strong);background:var(--surface);height:28px;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:0 12px;font-size:12.5px;font-weight:600}.tc-row-edit:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tc-row-edit:disabled{opacity:.4;cursor:not-allowed}.tc-row-edit:focus-visible,.tc-edited:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tc-edited{color:#6d28d9;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin-top:4px;padding:0;font-size:12px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:block}.tc-table tr.is-history-open>td{background:#faf8ff;border-bottom-color:#0000}.tc-history-row>td{background:#faf8ff;padding-top:0}.tc-history{border-left:2px solid #ddd6fe;flex-direction:column;gap:12px;margin:0;padding:4px 0 4px 14px;list-style:none;display:flex}.tc-history__who{font-size:12.5px;font-weight:600}.tc-history__changes{margin:4px 0 0;padding:0;list-style:none}.tc-history__changes li{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px;font-size:12.5px;display:flex}.tc-history__field{min-width:100px;color:var(--text-muted)}.tc-history__from{color:var(--text-muted);text-decoration:line-through}.tc-history__arrow{color:var(--text-muted)}.tc-history__to{font-weight:600}.tc-history__created{color:var(--text-muted);font-size:12px}.tc-empty{border:1px dashed var(--grid-line-strong);color:var(--text-muted);text-align:center;border-radius:10px;padding:40px 24px}.tc-pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.tc-pill--active{color:#1e40af;background:#dbeafe}.tc-pill--done{color:#166534;background:#dcfce7}.tc-facts{background:var(--tc-rail-bg);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 28px;padding:16px 20px;display:grid}.tc-facts dt{color:var(--text-muted);font-size:12.5px}.tc-facts dd{margin:2px 0 0;font-weight:600}.tc-subheading{margin:0 0 6px;font-size:14px;font-weight:700}@media (width<=860px){.tc{height:calc(100vh - 32px)}.tc-backdrop{padding:16px}.tc-layout{grid-template-columns:1fr;overflow-y:auto}.tc-rail{border-right:none;border-bottom:1px solid var(--grid-line);overflow:visible}.tc-main{min-height:auto}.tc-panel{overflow:visible}.tc-tabs{grid-template-columns:repeat(2,1fr)}.tc-form__grid,.tc-facts,.tc-confirm{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tc-form{animation:none}.tc-bar__seg{transition:none}}.ft{--ft-navy:#1d3f6e;--ft-amber:#b86e00;--ft-amber-bg:#fff4e0;--ft-green:#1f7a4d;--ft-green-bg:#e6f4ec;--ft-pending:#a3abb8;--ft-inset:#f6f7f9;--ft-cols:minmax(190px, 1.1fr) minmax(280px, 2.2fr) minmax(150px, 1fr) minmax(170px, .9fr);background:var(--surface);font-variant-numeric:tabular-nums;flex-direction:column;flex:1;min-height:0;display:flex}.ft__toolbar{border-bottom:1px solid var(--grid-line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex}.ft__filters{background:#eceef2;border-radius:8px;padding:3px;display:inline-flex}.ft__filter{height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.ft__filter:hover{color:var(--text)}.ft__filter.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1c1f261f}.ft__filter-count{text-align:center;background:#1c1f2612;border-radius:9px;min-width:22px;padding:1px 6px;font-size:11.5px}.ft__filter.is-active .ft__filter-count{background:var(--accent);color:#fff}.ft__search{border:1px solid var(--grid-line-strong);border-radius:7px;width:300px;height:34px;padding:0 12px;font-size:13px}.ft__updated{color:var(--text-muted);margin-left:auto;font-size:12px}.ft__refresh{border:1px solid var(--grid-line-strong);background:var(--surface);height:34px;color:var(--text);cursor:pointer;border-radius:7px;padding:0 14px;font-size:13px;font-weight:600}.ft__refresh:hover:not(:disabled){background:var(--cell-hover-bg)}.ft__refresh:disabled{opacity:.5;cursor:default}.ft__error{color:#991b1b;background:#fef2f2;border-bottom:1px solid #fecaca;padding:10px 20px;font-size:13px}.ft__error button,.ft__empty button{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:6px;font-weight:700;text-decoration:underline}.ft__empty button{color:var(--accent)}.ft :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ft__search:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.ft__scroll{flex:1;min-height:0;overflow:auto}.ft__head,.ft-fleet__row{grid-template-columns:var(--ft-cols);align-items:center;column-gap:24px;padding:0 20px;display:grid}.ft__head{z-index:2;border-bottom:1px solid var(--grid-line-strong);background:var(--surface);height:34px;color:var(--text-muted);font-size:12px;font-weight:600;position:sticky;top:0}.ft__list{margin:0;padding:0;list-style:none}.ft__empty{color:var(--text-muted);text-align:center;padding:32px 20px}.ft-fleet{border-bottom:1px solid var(--grid-line)}.ft-fleet__row{cursor:pointer;border-left:3px solid #0000;min-height:68px;padding-top:10px;padding-bottom:10px;padding-left:17px}.ft-fleet.is-road>.ft-fleet__row{border-left-color:var(--ft-amber)}.ft-fleet__row:hover{background:#fafbfc}.ft-fleet.is-open>.ft-fleet__row{background:var(--ft-inset)}.ft-fleet__truck{flex-direction:column;gap:3px;min-width:0;display:flex}.ft-fleet__toggle{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-self:flex-start;align-items:center;gap:8px;padding:0;display:inline-flex}.ft-fleet__no{letter-spacing:.01em;font-size:15px;font-weight:700}.ft-fleet__sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding-left:18px;font-size:12.5px;overflow:hidden}.ft-caret{width:10px;height:10px;color:var(--text-muted);clip-path:polygon(25% 10%,80% 50%,25% 90%);background:currentColor;flex:none;transition:transform .15s}:is(.ft-fleet.is-open>.ft-fleet__row,.ft-history__toggle[aria-expanded=true],.ft-history__row[aria-expanded=true]) .ft-caret{transform:rotate(90deg)}.ft-fleet__route{min-width:0}.ft-fleet__tbs{flex-wrap:wrap;gap:4px;display:flex}.ft-chip{color:#3a4252;background:#eef1f5;border-radius:5px;padding:2px 7px;font-size:12px}.ft-chip--more{color:var(--text-muted);background:0 0}.ft-chip.is-current{background:var(--ft-amber-bg);color:#7a4800;font-weight:600}.ft-status{flex-direction:column;gap:3px;min-width:0;display:flex}.ft-status__state{font-size:13px;font-weight:600}.ft-status__state--road{color:var(--ft-amber)}.ft-status__state--home{color:var(--ft-green)}.ft-status__sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ft-line{margin:0;padding:0;list-style:none;display:flex}.ft-line__stop{flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:40px;max-width:92px;display:flex;position:relative}.ft-line__stop:not(.ft-line__stop--start):before{content:"";background:var(--ft-navy);height:2px;position:absolute;top:5px;left:-50%;right:50%}.ft-line__stop.ft-line__stop--current:before{background:var(--ft-amber);height:3px;top:4.5px}.ft-line__stop.ft-line__stop--empty:before,.ft-line__stop.ft-line__stop--pending:before{background:repeating-linear-gradient(90deg, var(--ft-pending) 0 5px, transparent 5px 9px)}.ft-line__dot{z-index:1;border:2px solid var(--ft-navy);background:var(--ft-navy);border-radius:50%;width:12px;height:12px;position:relative}.ft-line__stop--start .ft-line__dot{background:var(--surface)}.ft-line__stop--current .ft-line__dot{border-color:var(--ft-amber);background:var(--ft-amber);box-shadow:0 0 0 3px var(--ft-amber-bg)}.ft-line__stop--pending .ft-line__dot{border-color:var(--ft-pending);background:var(--surface)}.ft-line__stop.is-home:not(.ft-line__stop--pending) .ft-line__dot{border-color:var(--ft-green);background:var(--ft-green)}.ft-line__stop.is-gap .ft-line__dot{background:var(--ft-navy);border:none;width:6px;height:6px;margin:3px 0}.ft-line__count{z-index:2;color:var(--ft-navy);white-space:nowrap;font-size:10.5px;font-weight:700;line-height:12px;position:absolute;top:11px;left:0;transform:translate(-50%)}.ft-line__stop--current .ft-line__count{color:#7a4800}.ft-line__code{max-width:100%;color:var(--text);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.ft-line__stop--current .ft-line__code{color:#7a4800}.ft-line__stop--pending .ft-line__code,.ft-line__stop.is-gap .ft-line__code{color:var(--text-muted);font-weight:500}.ft-line__stop.is-home:not(.ft-line__stop--pending) .ft-line__code{color:var(--ft-green)}.ft-line--closed .ft-line__stop--start .ft-line__dot{border-color:var(--ft-green)}.ft-detail{background:var(--ft-inset);padding:4px 20px 20px 38px}.ft-detail__home{color:var(--text-muted);margin:6px 0 12px;font-size:13px}.ft-trip{border:1px solid var(--grid-line-strong);background:var(--surface);border-radius:10px;margin-top:8px}.ft-trip__head{border-bottom:1px solid var(--grid-line);align-items:center;gap:14px;padding:14px 18px;display:flex}.ft-trip__title{min-width:0;margin-right:auto}.ft-trip__title h3{margin:0;font-size:15px;font-weight:700}.ft-trip__title p{color:var(--text-muted);margin:2px 0 0;font-size:12.5px}.ft-trip__review{color:#92400e;background:#fef3c7;border-radius:10px;padding:3px 9px;font-size:12px;font-weight:600}.ft-trip__review-text{border-bottom:1px solid var(--grid-line);color:#92400e;background:#fffbeb;margin:0;padding:8px 18px;font-size:12.5px}.ft-trip__costs{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;flex:none;align-items:center;gap:7px;height:34px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.ft-trip__costs:hover{filter:brightness(.92)}.ft-trip__legs{margin:0;padding:6px 18px 10px;list-style:none}.ft-leg{grid-template-columns:26px minmax(150px,220px) 1fr;align-items:start;column-gap:20px;padding:12px 0;display:grid;position:relative}.ft-leg+.ft-leg{border-top:1px solid var(--grid-line)}.ft-leg:before{content:"";background:#dfe3ea;width:2px;position:absolute;top:0;bottom:0;left:12px}.ft-leg:first-child:before{top:22px}.ft-leg:last-child:before{bottom:calc(100% - 22px)}.ft-leg__marker{z-index:1;background:var(--ft-navy);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid;position:relative}.ft-leg.is-current .ft-leg__marker{background:var(--ft-amber);box-shadow:0 0 0 4px var(--ft-amber-bg)}.ft-leg--pending{align-items:center}.ft-leg--pending .ft-leg__marker{border:2px solid var(--ft-pending);background:var(--surface);width:14px;height:14px;margin-left:6px}.ft-leg__pending-text{color:var(--text-muted);grid-column:2/-1;font-size:12.5px}.ft-leg__route,.ft-leg__booking{flex-direction:column;gap:3px;min-width:0;display:flex}.ft-leg__places{letter-spacing:.02em;font-size:15px;font-weight:700}.ft-leg__arrow{color:var(--text-muted);font-weight:400}.ft-leg__bookings{margin:0;padding:0;list-style:none}.ft-leg__item{grid-template-columns:minmax(180px,300px) minmax(220px,1fr);align-items:start;column-gap:20px;display:grid}.ft-leg__item+.ft-leg__item{border-top:1px dashed var(--grid-line-strong);margin-top:10px;padding-top:10px}.ft-leg__count{color:var(--ft-navy);font-size:12px;font-weight:600}.ft-history__bookings{font-size:12px;display:block}.ft-leg__route-name,.ft-leg__km{color:var(--text-muted);font-size:12px}.ft-leg__now{color:var(--ft-amber);font-size:12px;font-weight:600}.ft-leg__tbs{font-size:13px;font-weight:600}.ft-leg__customer{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ft-leg__container{color:var(--text-muted);letter-spacing:.02em;font-size:12px}.ft-leg__none{color:var(--text-muted);font-size:12.5px}.ft-events{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.ft-events__item{cursor:default;flex-direction:column;padding-left:12px;display:flex;position:relative}.ft-events__item:before{content:"";background:var(--ft-navy);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;left:0}.ft-events__name{font-size:12.5px;font-weight:600}.ft-events__date{color:var(--text-muted);font-size:12px}.ft-history{margin-top:14px}.ft-history__toggle{border:1px solid var(--grid-line-strong);background:var(--surface);height:32px;color:var(--text);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.ft-history__toggle:hover{border-color:var(--accent);color:var(--accent)}.ft-history__list{border:1px solid var(--grid-line-strong);background:var(--surface);border-radius:10px;margin:10px 0 0;padding:0;list-style:none;overflow:hidden}.ft-history__item+.ft-history__item{border-top:1px solid var(--grid-line)}.ft-history__item.is-open{background:var(--ft-inset);padding-bottom:12px}.ft-history__item>.ft-trip{margin:0 14px}.ft-history__row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:10px 90px 130px minmax(200px,1fr) 110px;align-items:center;column-gap:16px;padding:10px 16px;font-size:13px;display:grid}.ft-history__row:hover{background:#fafbfc}.ft-history__id{font-weight:600}.ft-history__dates,.ft-history__meta{color:var(--text-muted);font-size:12.5px}.ft-history__meta{text-align:right}@media (width<=1000px){.ft{--ft-cols:minmax(150px, 1fr) minmax(220px, 2fr) minmax(140px, 1fr)}.ft__head span:nth-child(3),.ft-fleet__tbs{display:none}.ft-leg{grid-template-columns:26px 1fr;row-gap:10px}.ft-leg__bookings{grid-column:2}.ft-leg__item{grid-template-columns:1fr;row-gap:8px}.ft-history__row{grid-template-columns:10px 80px 1fr;row-gap:8px}.ft-history__row .ft-line{grid-column:2/-1}.ft-history__meta{display:none}}@media (width<=640px){.ft__head{display:none}.ft-fleet__row{grid-template-columns:1fr auto;row-gap:12px}.ft-fleet__route{grid-area:2/1/auto/-1}.ft__search{width:100%}.ft-detail{padding-left:12px;padding-right:12px}.ft-trip__head{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.ft-caret{transition:none}}.tc.dr{width:min(820px,100%);height:auto;max-height:calc(100vh - 48px)}.dr-header-actions{align-items:center;gap:12px;display:flex}.dr-body{flex:1;min-height:0;padding:24px 28px 28px;overflow-y:auto}.dr-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dr-card{border:1px solid var(--grid-line);background:var(--tc-rail-bg);border-radius:10px;padding:18px 20px}.dr-card__title{color:var(--text-muted);margin:0 0 8px;font-size:13px;font-weight:600}.dr-card__value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:700}.dr-card__value span{color:var(--text-muted);letter-spacing:0;font-size:14px;font-weight:500}.dr-card__empty{color:var(--text-muted);margin:0}.dr-card .tc-field__hint{margin:8px 0 0;display:block}.dr-amount{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.dr-amount__prefix{color:var(--text-muted);font-weight:600}.dr-amount .tc-input[aria-invalid=true]{border-color:var(--tc-danger)}.dr-section{margin-top:28px}.dr-section__title{margin:0;font-size:16px;font-weight:700}.dr-section__note{color:var(--text-muted);margin:2px 0 14px}.dr-trip-rows{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.dr-trip-row{grid-template-columns:1fr 1fr 140px auto;align-items:center;gap:10px;display:grid}.dr-trip-row--head span{color:var(--text-muted);font-size:12.5px;font-weight:600}.dr-trip-row-wrap .tc-field__hint{margin:4px 0 0}.dr-remove{height:38px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 12px;font-size:12.5px}.dr-remove:hover{color:var(--tc-danger);background:#fdeee6;border-color:#f3c9b5}.dr-add-row{margin-top:2px}.dr-footer{border-top:1px solid var(--grid-line);background:var(--surface);justify-content:flex-end;gap:10px;padding:14px 28px;display:flex}@media (width<=700px){.dr-cards{grid-template-columns:1fr}.dr-trip-row{grid-template-columns:1fr 1fr}.dr-trip-row--head{display:none}}.wage-tab{background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex}.wage-tab__toolbar{border-bottom:1px solid var(--grid-line-strong);align-items:center;gap:14px;padding:10px 16px;display:flex}.wage-tab__search{border:1px solid var(--grid-line-strong);border-radius:6px;width:300px;padding:6px 10px;font-size:13px}.wage-tab__search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.wage-tab__count{color:var(--text-muted);font-size:12.5px}.wage-tab__dummy-note{color:#92400e;background:#fef3c7;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.wage-tab__scroll{flex:1;min-height:0;overflow:auto}.wage-tab__table{border-collapse:collapse;width:100%;font-size:13px}.wage-tab__table th{z-index:2;border-bottom:2px solid var(--accent);background:var(--header-bg);color:#f4f5f7;text-align:left;white-space:nowrap;padding:9px 14px;font-size:12px;font-weight:700;position:sticky;top:0}.wage-tab__table td{border-bottom:1px solid var(--grid-line);white-space:nowrap;padding:11px 14px}.wage-tab__table tbody tr{cursor:pointer}.wage-tab__table tbody tr:hover{background:var(--cell-hover-bg)}.wage-tab .num{text-align:right;font-variant-numeric:tabular-nums}.wage-tab__name{font-weight:600}.wage-tab__muted{color:var(--text-muted)}.wage-tab__not-set{color:#b45309;font-weight:600}.wage-tab__action{text-align:right;width:1%}.wage-tab__view-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;height:30px;padding:0 14px;font-size:12.5px;font-weight:600}.wage-tab__view-btn:hover{filter:brightness(.92)}.wage-tab__view-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wage-tab__empty{color:var(--text-muted);text-align:center;padding:24px}.app{background:var(--bg);flex-direction:column;height:100vh;display:flex;position:relative}.app__tab-loading{z-index:2000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:wait;background:#f1f5f96b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app__tab-loading-circle{border:4px solid #2563eb33;border-top-color:var(--accent,#2563eb);border-radius:50%;width:42px;height:42px;animation:.7s linear infinite app-tab-loading-spin;box-shadow:0 2px 12px #0f172a29}.app__tab-loading-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes app-tab-loading-spin{to{transform:rotate(360deg)}}.app__header{background:var(--header-bg);align-items:baseline;gap:10px;padding:14px 16px 0;display:flex}.app__title{letter-spacing:.01em;color:#f4f5f7;margin:0;padding-bottom:12px;font-size:16px;font-weight:700}.app__source{color:#ffffff73;letter-spacing:.04em;text-transform:uppercase;padding-bottom:12px;font-size:11px;font-weight:600}.app__header-actions{align-items:center;gap:8px;margin-bottom:12px;margin-left:auto;display:flex}.app__header-actions:empty{display:none}.app__header-btn{color:#ffffffb3;font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600}.app__header-btn:hover:not(:disabled){color:#fff;border-color:#fff6}.app__header-btn:disabled{opacity:.5;cursor:default}.app__logout{color:#ffffffb3;letter-spacing:.03em;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;margin-bottom:12px;margin-left:auto;padding:5px 12px;font-size:11px;font-weight:600}.app__header-actions:not(:empty)+.app__logout{margin-left:0}.app__logout:hover{color:#fff;border-color:#fff6}.app__main{flex:1;min-height:0;display:flex}.app__error{color:#7a1912;background:#f6d3d0;border-radius:6px;margin:10px 16px 0;padding:10px 14px;font-size:13px}@media print{@page{size:landscape;margin:8mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root,.app{background:#fff;width:auto;height:auto;overflow:visible}body:before{color:#111827;content:attr(data-pdf-report);margin:0 0 8px;font-size:16px;font-weight:700;display:block}.app__header,.tab-bar,.toolbar,.app__error,.app__tab-loading,.imports-table__loading-bar,.vessel-table__loading{display:none!important}.imports-table-wrap,.vessel-table-wrap,.vessel-view{height:auto;min-height:0;display:block;overflow:visible}.imports-table,.vessel-table{color:#111827;zoom:55%!important}.imports-table thead,.vessel-table thead{display:table-header-group}.imports-table tr,.vessel-table tr,.unlinked-container-card{break-inside:avoid}.imports-table th,.vessel-table th{background:#eef1f5!important;position:static!important}.imports-table__filter-row,.vessel-table__filter-row{display:none}.unlinked-containers{background:#fff;padding:0 0 8px}.unlinked-containers__cards{flex-wrap:wrap;overflow:visible}.unlinked-container-card{box-shadow:none}}
