:root{--background: #f4f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--surface-blue: #f0f8ff;--border: #dce5ef;--text: #17263a;--muted: #66778d;--faint: #8fa0b3;--blue: #0798e8;--blue-dark: #0877b8;--navy: #0d3157;--green: #0f9f6e;--green-soft: #e6f8f1;--amber: #b96e0a;--amber-soft: #fff4db;--rose: #d74b6a;--rose-soft: #ffedf2;--shadow: 0 12px 34px rgba(25, 55, 88, .08);--weekday-monday: #ffff94;--weekday-tuesday: #ffb9ce;--weekday-wednesday: #d9ffa7;--weekday-thursday: #d6edff;--weekday-friday: #ffdc87;--weekday-saturday: #b2b2b2;--weekday-sunday: #d6a1ff;--text-2xs: 9px;--text-xs: 10px;--text-sm: 11px;--text-base: 12px;--text-md: 13px;--text-lg: 14px;--text-xl: 15px;--text-2xl: 16px;--text-3xl: 18px;--text-display-sm: 26px;--text-display: 30px;--font-sans: "Rubik", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", Consolas, monospace}*{box-sizing:border-box}html{background:var(--background)}body{min-width:320px;margin:0;background:var(--background);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}.portal-shell{min-height:100vh}.login-shell{display:grid;min-height:100vh;padding:32px 16px;place-items:center}.login-card{width:min(100%,420px);padding:28px 28px 30px;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:var(--shadow)}.login-card .brand{margin-bottom:22px}.login-card h1{margin:6px 0 8px;color:var(--navy);font-size:28px;letter-spacing:-.03em}.login-card>p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.55}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.login-field input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none}.login-field input:focus{border-color:var(--blue);outline:2px solid rgba(7,152,232,.2)}.login-submit{margin-top:6px;padding:12px 16px;border:0;border-radius:2px;background:linear-gradient(145deg,var(--blue),var(--blue-dark));color:var(--tf-on-navy);cursor:pointer;font-size:15px;font-weight:600}.login-submit:hover{filter:brightness(1.04)}.login-submit:disabled{cursor:wait;opacity:.7}.login-error{margin-bottom:16px;padding:11px 12px;border:1px solid var(--tf-danger);border-radius:2px;background:var(--rose-soft);color:var(--tf-danger);font-size:13px;font-weight:500}.admin-chooser-shell{align-items:flex-start;padding-top:40px;padding-bottom:40px}.admin-chooser-card{width:min(100%,760px);padding:28px 28px 30px;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:var(--shadow)}.admin-chooser-card .brand{margin-bottom:22px}.admin-chooser-card h1{margin:6px 0 8px;color:var(--navy);font-size:28px;letter-spacing:-.03em}.admin-chooser-recent{margin:0 0 16px}.admin-chooser-recent-label{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.admin-chooser-recent-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:0;overflow:clip;background:var(--surface-soft)}.admin-chooser-card>p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.55}.admin-chooser-filter-block{margin-bottom:18px}.admin-chooser-quick-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-chooser-quick-filters button{padding:8px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.admin-chooser-quick-filters button:hover:not(:disabled),.admin-chooser-quick-filters button.active{border-color:var(--tf-line);background:var(--surface-blue);color:var(--blue-dark)}.admin-chooser-quick-filters button:disabled{cursor:wait;opacity:.7}.admin-chooser-filter{margin-bottom:0}.admin-chooser-filter input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none}.admin-chooser-filter input:focus{border-color:var(--blue);outline:2px solid rgba(7,152,232,.2)}.admin-chooser-groups{display:flex;flex-direction:column;gap:16px;max-height:min(62vh,620px);overflow:auto;padding-right:4px}.admin-chooser-group{border:1px solid var(--border);border-radius:0;overflow:clip;background:var(--surface-soft)}.admin-chooser-group-heading{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.admin-chooser-list{display:flex;flex-direction:column}.admin-chooser-user{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left}.admin-chooser-user:last-child{border-bottom:0}.admin-chooser-user:hover:not(:disabled){background:var(--surface-blue)}.admin-chooser-user:disabled{cursor:wait;opacity:.75}.admin-chooser-user-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.admin-chooser-user-copy strong{overflow:hidden;color:var(--navy);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.admin-chooser-user-copy small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-chooser-company{color:var(--blue-dark)!important;font-weight:500}.admin-chooser-action{color:var(--blue-dark);font-size:12px;font-weight:600;white-space:nowrap}.admin-chooser-alt-link{display:block;width:100%;margin-top:18px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;text-align:center}.admin-chooser-alt-link:hover:not(:disabled){color:var(--blue-dark)}.admin-chooser-alt-link:disabled{cursor:wait;opacity:.7}.portal-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(190px,.75fr) auto minmax(350px,1fr);align-items:center;min-height:72px;padding:0 24px;border-bottom:1px solid var(--border);background:#fffffff5;box-shadow:0 6px 20px #1c35520f;backdrop-filter:blur(12px)}.brand,.account-navigation,.primary-navigation,.profile-trigger,.company-context{display:flex;align-items:center}.brand{gap:10px;cursor:pointer}.brand-mark{display:grid;flex-shrink:0;width:42px;height:42px;place-items:center;border-radius:50%;background:#1f3259;box-shadow:0 8px 18px #0798e83d;overflow:hidden}.brand-mark img{display:block;width:34px;height:34px;-o-object-fit:contain;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:16px;letter-spacing:-.02em}.brand-copy small{margin-top:3px;color:var(--muted);font-size:12px}.primary-navigation{align-self:stretch;justify-content:center;gap:4px}.primary-navigation button{position:relative;align-self:stretch;min-width:104px;padding:0 15px;border:0;background:transparent;color:var(--tf-ink-2);cursor:pointer;font-size:14px;font-weight:500;transition:color .16s ease,background .16s ease}.primary-navigation button:after{position:absolute;right:16px;bottom:0;left:16px;height:3px;border-radius:2px 2px 0 0;background:transparent;content:""}.primary-navigation button:hover,.primary-navigation button.active{background:var(--tf-surface-sub);color:var(--blue-dark)}.primary-navigation button.active:after{background:var(--blue)}.nav-count{display:inline-grid;min-width:20px;height:20px;margin-left:7px;place-items:center;border-radius:2px;background:var(--amber-soft);color:var(--amber);font-size:11px}.account-navigation{position:relative;justify-content:flex-end;gap:10px}.company-context{gap:8px;max-width:240px;padding:7px 10px;border:1px solid transparent;border-radius:2px;background:var(--tf-surface-sub);color:var(--tf-ink-2);cursor:pointer;font-size:13px;font-weight:500}.company-context>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-context:hover,.company-context.active{border-color:var(--tf-line);background:var(--surface-blue);color:var(--blue-dark)}.company-symbol{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:2px;background:var(--tf-selected);color:var(--blue-dark);font-size:11px;font-weight:600}.profile-menu-wrap{position:relative}.profile-trigger{gap:9px;padding:5px 7px 5px 5px;border:1px solid transparent;border-radius:0;background:transparent;cursor:pointer}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:var(--border);background:var(--surface-soft)}.avatar{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:50%;font-size:13px;font-weight:600}.role-employee{background:var(--tf-navy-raised);color:var(--blue-dark)}.role-manager,.role-team-leader{background:var(--tf-navy-raised);color:var(--tf-on-navy)}.role-accountant{background:#f5d000;color:var(--text)}.role-chip{display:inline-flex;margin-top:3px;padding:2px 7px;align-self:flex-start;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.profile-name{display:flex;min-width:112px;max-width:180px;flex-direction:column;text-align:left}.profile-name strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.profile-caret{width:7px;height:7px;margin:0 4px;transform:rotate(45deg) translateY(-2px);border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted)}.profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:70;display:flex;width:230px;padding:8px;flex-direction:column;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:0 20px 45px #1932522e}.profile-menu button{padding:11px 12px;border:0;border-radius:2px;background:transparent;cursor:pointer;font-size:13px;font-weight:500;text-align:left}.profile-menu form{display:contents}.profile-menu button:hover{background:var(--surface-blue);color:var(--blue-dark)}.profile-menu .muted-menu-item{color:var(--muted)}.menu-divider{height:1px;margin:5px 6px;background:var(--border)}.portal-main{width:100%;padding:28px 24px 48px}.page-heading{display:flex;max-width:100%;margin:0 auto 22px;align-items:flex-end;justify-content:space-between;gap:30px}.eyebrow,.card-kicker{color:var(--blue-dark);font-size:11px;font-weight:600;letter-spacing:.06em}.page-heading h1{margin:7px 0 6px;color:var(--navy);font-size:32px;letter-spacing:-.035em}.page-heading p{max-width:670px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}.working-date{display:flex;min-width:190px;padding:11px 15px;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:0;background:#ffffffbf;text-align:right}.working-date-today{color:var(--navy);font-size:13px;font-weight:500}.working-date-api-line{font-size:12px;font-weight:500;white-space:nowrap}.working-date-api-local{color:var(--tf-warning)}.working-date-api-production{color:var(--tf-link)}.working-date-api-other{color:var(--tf-ink-3)}.section-stack{display:flex;flex-direction:column;gap:14px}.table-section{overflow:clip;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:var(--shadow)}.table-section>summary{display:flex;min-height:70px;padding:14px 18px;align-items:center;gap:14px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table-section>summary::-webkit-details-marker,.table-section>summary::marker{display:none;content:""}.table-section>summary:hover{background:var(--surface)}.summary-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}.section-title-row{display:flex;width:100%;align-items:center;gap:9px;flex-wrap:wrap}.section-title{color:var(--navy);font-size:15px;font-weight:600}.section-title-addon{display:inline-flex;align-items:center;margin-left:18px;padding-left:18px;border-left:1px solid var(--tf-line)}.table-section-prefix{border-bottom:1px solid var(--border);background:var(--surface);animation:import-ops-panel-in .18s ease-out}@keyframes import-ops-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.section-description{color:var(--muted);font-size:12px}.count-badge{display:inline-grid;min-width:26px;height:24px;padding:0 8px;place-items:center;border-radius:2px;background:var(--blue);color:var(--tf-on-navy);font-size:11px;font-weight:600}.total-badge{display:inline-flex;align-items:stretch;height:24px;overflow:hidden;border:1px solid var(--tf-success);border-radius:2px;background:var(--green-soft);box-shadow:0 1px 2px #0f9f6e1a;white-space:nowrap}.total-badge-currency{display:grid;min-width:24px;place-items:center;padding:0 7px;background:var(--tf-success);color:var(--tf-on-navy);font-size:13px;font-weight:600;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.12)}.total-badge-amount{display:grid;place-items:center;padding:0 10px 0 8px;color:var(--tf-success);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.total-badge-input{-webkit-user-select:text;-moz-user-select:text;user-select:text}.total-badge-archived-total{margin-left:auto;height:26px;border:1px solid var(--green);border-radius:2px;background:var(--surface);box-shadow:none}.total-badge-archived-total .total-badge-input-field{min-width:80px;max-width:160px;padding:0 4px 0 10px;color:var(--navy);text-align:right}.total-badge-archived-total .total-badge-currency-trailing{min-width:22px;padding:0 8px 0 2px;background:transparent;color:var(--green);font-size:12px;font-weight:600;line-height:1;text-shadow:none}.total-badge-input-field{display:block;width:auto;min-width:72px;max-width:140px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;font-variant-numeric:inherit;text-align:right;outline:none;cursor:text;-webkit-user-select:all;-moz-user-select:all;user-select:all}.total-badge-input-field::-moz-placeholder{color:var(--tf-ink-3);opacity:1}.total-badge-input-field::placeholder{color:var(--tf-ink-3);opacity:1}.section-meta{display:flex;flex:0 0 auto;align-items:center;gap:10px}.column-header-content{display:inline-flex;width:100%;align-items:center;justify-content:space-between;gap:8px}.column-header-label{display:inline-flex;align-items:center;gap:6px;min-width:0}.column-header-action{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--tf-ink-2);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.column-header-action:hover:not(:disabled){background:var(--tf-surface-sub);border-color:var(--tf-line-strong);color:var(--tf-link)}.column-header-action.is-active{background:var(--tf-selected);border-color:var(--tf-link);color:var(--tf-link)}.column-header-action:disabled{opacity:.45;cursor:not-allowed}.data-table th.is-sortable .column-header-content{padding-right:2px}.data-table tbody tr.trailer-group-end td{border-bottom:2px solid var(--tf-line-strong)}.column-sort-arrows{display:inline-flex;flex:0 0 auto;flex-direction:column;gap:0;margin-left:auto}.column-sort-button{display:grid;width:12px;height:9px;padding:0;place-items:center;border:0;background:transparent;color:var(--tf-ink-3);cursor:pointer;font-size:8px;line-height:1}.column-sort-button:hover:not(:disabled){color:var(--blue-dark)}.column-sort-button.active{color:var(--blue-dark)}.column-sort-button:disabled{cursor:wait;opacity:.45}.summary-chevron{width:9px;height:9px;margin:0 3px 3px 8px;transform:rotate(45deg);border-right:2px solid var(--tf-line-strong);border-bottom:2px solid var(--tf-line-strong);transition:transform .18s ease}.table-section[open] .summary-chevron{margin-top:7px;transform:rotate(225deg)}.table-section-body{border-top:1px solid var(--border)}.table-section-body.is-loading .data-table-viewport{opacity:.55;pointer-events:none}.table-section-message{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px}.table-section-message-error{background:var(--tf-danger-soft);color:var(--tf-danger)}.table-section-message strong{display:block;margin-bottom:4px;color:inherit}.table-section-toolbar{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.audit-search{display:inline-flex;align-items:center;gap:8px}.audit-search-label{color:var(--tf-ink-2);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.audit-search-input{width:168px;height:32px;padding:0 10px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--navy);font:inherit;font-size:12px;font-weight:600}.audit-search-input:focus{outline:2px solid rgba(10,95,145,.16);border-color:var(--blue)}.audit-search-input:disabled,.audit-search-button:disabled{opacity:.65;cursor:wait}.audit-search-button{height:32px;padding:0 12px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--blue-dark);cursor:pointer;font:inherit;font-size:12px;font-weight:600}.audit-search-button:hover:not(:disabled){border-color:var(--blue);background:var(--surface-blue)}.audit-type{display:inline-flex;padding:3px 7px;align-items:center;border-radius:2px;font-size:11px;font-weight:600;background:var(--tf-surface-sub);color:var(--tf-ink-2)}.audit-type-reservation{background:var(--tf-selected);color:var(--tf-link)}.audit-type-service{background:var(--tf-surface-sub);color:var(--tf-ink-2)}.audit-type-debit{background:var(--tf-danger-soft);color:var(--tf-danger)}.audit-type-credit{background:var(--green-soft);color:var(--tf-success)}.client-reference-validation-filter{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:500}.client-reference-validation-filter-label{color:var(--tf-ink-2);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.client-reference-validation-filter-select{min-width:180px;height:32px;padding:0 10px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--navy);font:inherit;font-size:12px;font-weight:600}.client-reference-validation-filter-select:focus{outline:2px solid rgba(10,95,145,.16);border-color:var(--blue)}.client-reference-validation-filter-select:disabled{opacity:.65;cursor:wait}.employee-filter-input{cursor:text}.toolbar-filter-wrap{position:relative;display:flex;align-items:center}.toolbar-filter-input{padding-right:24px}.toolbar-filter-clear{position:absolute;top:50%;right:4px;display:grid;width:18px;height:18px;padding:0;place-items:center;border:0;border-radius:2px;background:transparent;color:var(--tf-ink-3);cursor:pointer;font-size:15px;line-height:1;transform:translateY(-50%)}.toolbar-filter-clear:hover:not(:disabled){background:var(--tf-surface-sub);color:var(--blue-dark)}.toolbar-filter-clear:disabled{opacity:.45;cursor:wait}.toolbar-date-range-wrap{min-width:180px}.toolbar-date-range-wrap .column-date-range-filter{width:100%}.toolbar-date-range-wrap .column-date-range-trigger{width:100%;min-width:180px;height:32px;padding:0 24px 0 10px;border-radius:2px;font-size:12px;font-weight:600}.toolbar-date-range-wrap .column-filter-clear{right:6px}.toolbar-clear-all-button{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--tf-ink-2);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.toolbar-clear-all-button span{font-size:15px;line-height:1}.toolbar-clear-all-button:hover:not(:disabled){border-color:var(--tf-line-strong);background:var(--tf-surface-sub);color:var(--blue-dark)}.toolbar-clear-all-button:disabled{opacity:.65;cursor:wait}.toolbar-export-button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--navy);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.toolbar-export-parts{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:500}.toolbar-export-parts-control{position:relative}.toolbar-export-parts-trigger{display:inline-flex;align-items:center;gap:8px;min-width:132px;padding-right:8px;cursor:pointer;text-align:left}.toolbar-export-parts-trigger-label{flex:1}.toolbar-export-parts-chevron{flex-shrink:0;color:var(--tf-ink-2);transition:transform .15s ease}.toolbar-export-parts-chevron.is-open{transform:rotate(180deg)}.toolbar-export-parts-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:100%;margin:0;padding:4px;list-style:none;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);box-shadow:0 8px 24px #0f2d4b1f}.toolbar-export-parts-option{display:flex;align-items:center;gap:8px;width:100%;min-width:168px;height:32px;padding:0 10px;border:0;border-radius:2px;background:transparent;color:var(--navy);font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer}.toolbar-export-parts-option-mark{display:grid;width:14px;flex-shrink:0;place-items:center;color:var(--tf-success)}.toolbar-export-parts-option-status{margin-left:auto;color:var(--tf-ink-2);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.toolbar-export-parts-option:hover:not(:disabled){background:var(--tf-surface-sub);color:var(--blue-dark)}.toolbar-export-parts-option.is-downloaded{background:var(--green-soft);color:var(--tf-success)}.toolbar-export-parts-option.is-downloaded .toolbar-export-parts-option-status{color:var(--tf-success)}.toolbar-export-parts-option:disabled{opacity:.65;cursor:wait}.toolbar-export-button:hover:not(:disabled){border-color:var(--tf-line-strong);background:var(--tf-surface-sub);color:var(--blue-dark)}.toolbar-export-button:disabled{opacity:.65;cursor:wait}.import-ops-toggle{display:inline-flex;align-items:center;gap:6px;height:24px;margin:0;padding:0 10px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);box-shadow:0 1px 2px #14283c0f;color:var(--blue-dark);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.import-ops-toggle:hover:not(:disabled){border-color:var(--tf-line-strong);background:var(--tf-surface-sub)}.import-ops-toggle.is-open{border-color:var(--blue);background:var(--tf-selected);box-shadow:0 1px 3px #0a5f911f;color:var(--blue)}.import-ops-toggle:disabled{opacity:.55;cursor:not-allowed}.import-ops-toggle-icon{transition:transform .18s ease;opacity:.9}.import-ops-toggle.is-open .import-ops-toggle-icon{transform:rotate(180deg)}.create-using-ai-toggle{display:inline-flex;align-items:center;gap:6px;height:24px;margin:0;padding:0 10px;border:1px solid #c5d9ea;border-radius:8px;background:linear-gradient(180deg,#fff,#f3f8fc);box-shadow:0 1px 2px #14283c0f;color:var(--blue-dark);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.create-using-ai-toggle:hover:not(:disabled){border-color:#9ec3df;background:linear-gradient(180deg,#fff,#eef6fc)}.create-using-ai-toggle.is-open{border-color:var(--blue);background:linear-gradient(180deg,#f5faff,#eef6fc);box-shadow:0 1px 3px #0a5f911f;color:var(--blue)}.create-using-ai-toggle:disabled{opacity:.55;cursor:not-allowed}.create-using-ai-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}.create-using-ai-backdrop{position:absolute;inset:0;border:0;background:#0f1c2a7a;cursor:pointer}.create-using-ai-dialog{position:relative;z-index:1;display:flex;width:min(100%,960px);max-height:min(92vh,880px);flex-direction:column;gap:14px;padding:24px 24px 20px;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 24px 48px #14283c38;animation:import-ops-panel-in .18s ease-out}.create-using-ai-label{color:var(--navy);font-size:13px;font-weight:750}.create-using-ai-textarea{width:100%;min-height:240px;padding:12px 14px;border:1px solid #d7e2ec;border-radius:10px;background:#fff;color:#24364a;font:inherit;font-size:13px;line-height:1.5;resize:vertical}.create-using-ai-textarea:focus{border-color:var(--blue);outline:2px solid rgba(10,95,145,.16)}.create-using-ai-actions{display:flex;justify-content:flex-end;gap:10px}.create-using-ai-go{min-width:88px}.create-using-ai-preview-title{margin:0;color:var(--navy);font-size:16px;font-weight:800}.create-using-ai-preview-summary{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.create-using-ai-preview-table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:10px}.create-using-ai-preview-table{width:100%;border-collapse:collapse;color:#24364a;font-size:12px}.create-using-ai-preview-table th,.create-using-ai-preview-table td{padding:8px 10px;border-bottom:1px solid #e6edf4;text-align:left;white-space:nowrap}.create-using-ai-preview-table th{background:#edf3f8;color:#557086;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.create-using-ai-preview-table tbody tr:last-child td{border-bottom:0}.create-using-ai-schedule-block{display:flex;flex-direction:column;gap:10px}.create-using-ai-schedule-route{margin:0;color:#24364a;font-size:13px;font-weight:700}.create-using-ai-schedule-slots{display:flex;flex-wrap:wrap;gap:8px;max-height:320px;overflow:auto}.create-using-ai-schedule-slot{padding:8px 12px;border:1px solid #c5d6e6;border-radius:8px;background:#f7fafc;color:#24364a;font-size:12px;font-weight:700;cursor:pointer}.create-using-ai-schedule-slot:hover:not(:disabled){border-color:#3b82c4;background:#edf5fc}.create-using-ai-schedule-slot:disabled{opacity:.6;cursor:not-allowed}.import-ops-panel{display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px 18px 16px;border-top:1px solid var(--tf-line)}.import-ops-upload{width:min(100%,420px)}.import-ops-upload-label{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--blue);font-size:12px;font-weight:600}.import-ops-marker{color:var(--blue-dark);font-family:var(--font-mono);font-weight:500}.import-ops-clear-file{display:grid;width:22px;height:22px;place-items:center;border:0;border-radius:2px;background:#8a96a3;color:var(--tf-on-navy);cursor:pointer}.import-ops-clear-file:disabled{opacity:.55;cursor:not-allowed}.import-ops-file-wrap{position:relative}.import-ops-file-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font:inherit;font-size:12px}.import-ops-file-input:disabled{opacity:.65;cursor:wait}.import-ops-spinner{position:absolute;top:50%;right:10px;width:16px;height:16px;border:2px solid var(--tf-line);border-top-color:var(--blue);border-radius:50%;transform:translateY(-50%);animation:import-ops-spin .8s linear infinite}.import-ops-spinner-inline{position:static;transform:none}@keyframes import-ops-spin{to{transform:rotate(360deg)}}.import-ops-message{margin:0;color:var(--muted);font-size:12px}.import-ops-message-success{color:var(--tf-success)}.import-ops-message-error{color:var(--tf-danger)}.import-ops-preview{width:min(100%,920px);padding:14px 16px;border:1px solid var(--border);border-radius:2px;background:var(--surface)}.import-ops-preview-title{margin:0 0 8px;color:var(--navy);font-size:15px;font-weight:600}.import-ops-preview-summary{margin:0 0 12px;color:var(--text);font-size:12px;line-height:1.55}.import-ops-preview-table-wrap{max-height:400px;margin-bottom:12px;overflow:auto;border:1px solid var(--tf-line);border-radius:2px}.import-ops-preview-table{width:100%;border-collapse:collapse;color:var(--text);font-size:12px}.import-ops-preview-table th,.import-ops-preview-table td{padding:8px 10px;border-bottom:1px solid var(--tf-line);text-align:left;vertical-align:middle}.import-ops-preview-table th{position:sticky;top:0;background:var(--tf-selected);color:var(--tf-ink-2);font-size:11px;font-weight:600;text-transform:none}.import-ops-tf-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.import-ops-tf-actions{display:inline-flex;align-items:center;gap:4px}.import-ops-show-row{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:2px;background:transparent;color:var(--blue);cursor:pointer}.import-ops-show-row:hover{background:#0798e81f}.import-ops-status{display:inline-flex;align-items:center;justify-content:center}.import-ops-status-ok{color:var(--tf-success)}.import-ops-status-error,.import-ops-cell-missing{color:var(--tf-danger)}.import-ops-cell-match{color:var(--tf-success)}.import-ops-cell-diff{color:var(--tf-danger)}.import-ops-cell-muted{color:var(--tf-ink-3)}.import-ops-preview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.import-ops-preview-actions-right{display:inline-flex;align-items:center;gap:8px}.import-ops-secondary-button,.import-ops-primary-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border-radius:2px;font-size:12px;font-weight:500;cursor:pointer}.import-ops-secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.import-ops-secondary-button:hover:not(:disabled){background:var(--tf-surface-sub)}.import-ops-primary-button{border:1px solid var(--blue);background:var(--blue);color:var(--tf-on-navy)}.import-ops-primary-button:hover:not(:disabled){filter:brightness(.96)}.import-ops-secondary-button:disabled,.import-ops-primary-button:disabled{opacity:.55;cursor:not-allowed}.column-filter-cell-hidden{padding:0}.table-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface)}.table-pagination-summary{margin:0;color:var(--muted);font-size:12px}.table-pagination-summary strong{color:var(--navy);font-weight:600}.table-pagination-controls{display:flex;align-items:center;gap:8px}.table-pagination-page{color:var(--muted);font-size:12px;white-space:nowrap}.table-pagination-page strong{color:var(--navy);font-weight:600}.table-pagination-button{min-width:84px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--navy);font-size:12px;font-weight:500;cursor:pointer}.table-pagination-button--arrow{min-width:32px;width:32px;padding:0;font-size:15px;font-weight:600;line-height:1}.table-pagination-page-input-wrap{display:inline-flex}.table-pagination-page-input{width:44px;height:32px;padding:0 6px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--navy);font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.table-pagination-page-input:focus{border-color:var(--blue);outline:2px solid rgba(7,152,232,.2)}.table-pagination-page-input:disabled{cursor:not-allowed;opacity:.45}.table-pagination-page-input::-webkit-outer-spin-button,.table-pagination-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.table-pagination-page-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.table-pagination-button:hover:not(:disabled){border-color:var(--tf-line-strong);background:var(--tf-surface-sub)}.table-pagination-button:disabled{cursor:not-allowed;opacity:.45}.table-pagination--standalone{margin-top:16px;border:1px solid var(--border);border-radius:2px}.data-table-viewport{position:relative;width:100%;overflow:auto;scrollbar-color:#b8c6d5 #eef3f7;scrollbar-width:thin}.trailer-port-flow-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.trailer-port-flow-svg{display:block;width:100%;height:100%;overflow:visible}.trailer-port-flow-line{fill:none;stroke:var(--tf-line);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 3}.data-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--text);font-size:12px}.data-table th,.data-table td{height:36px;padding:5px 10px;border-right:1px solid var(--tf-line);border-bottom:1px solid var(--tf-line);white-space:nowrap}.data-table th:last-child,.data-table td:last-child{border-right:0}.data-table tbody tr:last-child td{border-bottom:0}.data-table thead th{position:sticky;top:0;z-index:2;height:32px;background:var(--tf-selected);color:var(--tf-ink-2);font-size:11px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.data-table thead .column-marker-row th{top:0;height:26px;padding-block:4px;background:var(--tf-surface-sub);color:var(--blue-dark);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em}.data-table thead .column-filter-row th{top:0;height:30px;padding:3px 6px;background:var(--tf-surface-sub);color:var(--tf-ink-2);font-size:11px;font-weight:500;letter-spacing:normal;text-transform:none}.data-table thead .column-filter-row th:has(.column-date-range-trigger.is-open){z-index:10}.data-table thead .column-filter-row.with-markers th{top:26px}.data-table thead .column-label-row.with-filters th{top:30px}.data-table thead .column-label-row.with-markers.with-filters th{top:56px}.data-table thead .column-label-row.with-markers th{top:26px}.column-filter-wrap{position:relative;display:flex;width:100%;align-items:center}.column-filter-input{width:100%;min-width:0;height:22px;padding:0 20px 0 6px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;font-weight:500;letter-spacing:normal;text-transform:none}.column-filter-input:focus{outline:2px solid rgba(10,95,145,.16);border-color:var(--blue)}.column-filter-input:disabled{opacity:.65;cursor:wait}.column-filter-select{width:100%;min-width:0;height:22px;padding:0 20px 0 6px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;font-weight:500;letter-spacing:normal;text-transform:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7a92a8 50%),linear-gradient(135deg,#7a92a8 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.column-filter-select:focus{outline:2px solid rgba(10,95,145,.16);border-color:var(--blue)}.column-filter-select:disabled{opacity:.65;cursor:wait}.column-filter-clear{position:absolute;top:50%;right:2px;display:grid;width:18px;height:18px;padding:0;place-items:center;border:0;border-radius:2px;background:transparent;color:var(--tf-ink-3);cursor:pointer;font-size:15px;line-height:1;transform:translateY(-50%)}.column-filter-clear:hover:not(:disabled){background:var(--tf-surface-sub);color:var(--blue-dark)}.column-filter-clear:disabled{opacity:.45;cursor:wait}.column-filter-cell{vertical-align:middle}.column-date-range-filter{position:relative}.column-date-range-trigger{display:flex;width:100%;min-width:0;height:22px;padding:0 20px 0 6px;align-items:center;gap:5px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--tf-ink-3);font:inherit;font-size:11px;font-weight:500;letter-spacing:normal;text-transform:none;cursor:pointer}.column-date-range-trigger.has-value{color:var(--text)}.column-date-range-trigger.is-open,.column-date-range-trigger:focus-visible{outline:2px solid rgba(10,95,145,.16);border-color:var(--blue)}.column-date-range-trigger:disabled{opacity:.65;cursor:wait}.column-date-range-trigger-text{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.column-date-range-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:248px;padding:10px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);box-shadow:0 10px 28px #14283c24}.column-date-range-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.column-date-range-popover-head strong{color:var(--text);font-size:12px;font-weight:500}.column-date-range-nav{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--tf-line);border-radius:2px;background:var(--tf-surface-sub);color:var(--tf-ink-2);cursor:pointer;font-size:17px;line-height:1}.column-date-range-nav:hover{background:var(--tf-surface-sub);color:var(--blue-dark)}.column-date-range-hint{margin-bottom:8px;color:var(--tf-ink-3);font-size:11px;font-weight:600}.column-date-range-weekdays,.column-date-range-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.column-date-range-weekdays{margin-bottom:4px;color:var(--tf-ink-3);font-size:11px;font-weight:500;text-align:center}.column-date-range-day{display:grid;min-height:28px;place-items:center;border:0;border-radius:2px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:11px;font-weight:600}.column-date-range-day.is-empty{pointer-events:none}.column-date-range-day:hover:not(.is-empty){background:var(--tf-surface-sub)}.column-date-range-day.is-today{box-shadow:inset 0 0 0 1px var(--tf-line-strong)}.column-date-range-day.in-range{background:var(--tf-selected);color:var(--tf-link)}.column-date-range-day.is-start,.column-date-range-day.is-end{background:var(--blue);color:var(--tf-on-navy)}.data-table th:first-child,.data-table td:first-child{position:sticky;left:0}.data-table thead th:first-child{z-index:3;background:var(--tf-selected)}.data-table thead .column-marker-row th:first-child,.data-table thead .column-filter-row th:first-child{z-index:4;background:var(--tf-surface-sub)}.data-table thead .column-filter-row th:first-child:has(.column-date-range-trigger.is-open){z-index:11}.data-table thead .column-label-row.with-markers.with-filters th:first-child{z-index:5;background:var(--tf-selected)}.data-table tbody td:first-child{z-index:1;background:var(--surface);box-shadow:5px 0 10px #1f375109}.data-table tbody tr:nth-child(2n) td,.data-table tbody tr:nth-child(2n) td:first-child{background:var(--surface)}.data-table tbody tr:hover td,.data-table tbody tr:hover td:first-child{background:var(--tf-surface-sub)}.align-center{text-align:center}.align-right{text-align:right}.empty-table{padding:35px!important;color:var(--muted);text-align:center}.mono-cell{color:var(--text);font-family:var(--font-mono);font-size:11.5px;font-weight:500}.filterable-cell{position:relative;display:inline-flex;align-items:center;gap:6px;padding-left:8px}.cell-filter-dot{position:absolute;left:-10px;top:-7px;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;border-radius:2px;background:transparent;color:var(--tf-ink-3);cursor:pointer}.data-table .cell-filter-dot .tabler-icon.tabler-icon-circle-dot{width:10px;height:10px}.cell-filter-dot:hover{color:var(--blue);background:#0798e81f}.cell-filter-dot:focus-visible{outline:2px solid rgba(10,95,145,.16);outline-offset:1px}.lookup-cell{display:inline-flex;align-items:center;gap:4px;width:100%;overflow:hidden}.lookup-cell-value{min-width:0;overflow:hidden;text-overflow:ellipsis}.lookup-search{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:18px;height:18px;margin-left:auto;padding:0;border:0;border-radius:2px;background:transparent;color:var(--tf-ink-3);cursor:pointer}.lookup-search:hover,.lookup-search.is-open{color:var(--blue);background:#0798e81f}.lookup-search:focus-visible{outline:2px solid rgba(10,95,145,.16);outline-offset:1px}.lookup-find-down{display:inline-flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:0;width:18px;height:18px;margin-left:auto;padding:0;border:0;border-radius:2px;background:transparent;color:var(--tf-ink-3);cursor:pointer;line-height:1}.lookup-find-down .tabler-icon{display:block}.lookup-find-down .tabler-icon:first-child{margin-bottom:-2px}.lookup-find-down:hover,.lookup-find-down.is-open{color:var(--blue);background:#0798e81f}.lookup-find-down:focus-visible{outline:2px solid rgba(10,95,145,.16);outline-offset:1px}.data-table tbody tr.expanded-parent td{background:var(--tf-surface-sub)}.data-table tbody tr.expanded-row,.data-table tbody tr.expanded-row td{height:auto!important;max-height:none!important}.data-table tbody tr.expanded-row td{padding:0;background:var(--surface);border-bottom:1px solid var(--tf-line);vertical-align:top}.vessel-cell-button{display:inline-flex;width:100%;min-height:24px;padding:3px 8px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--tf-link);border-radius:2px;background:var(--tf-surface-sub);color:var(--text);font-size:11.5px;font-weight:500;cursor:pointer;text-align:center}.vessel-cell-button--static{cursor:default}.vessel-cell-button:hover{background:var(--tf-selected)}.vessel-cell-button--static:hover{background:var(--tf-surface-sub)}.vessel-cell-button.is-open{border-color:var(--tf-link);background:var(--tf-navy);color:var(--tf-on-navy)}.vessel-cell-button:focus-visible{outline:2px solid rgba(7,152,232,.28);outline-offset:1px}.vessel-cell-flag{flex:0 0 auto;font-size:13px;line-height:1}.vessel-cell-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vessel-details{width:100%;min-width:0;background:var(--surface)}.vessel-details-inner{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr);gap:0;margin:12px 16px 16px;border:1px solid var(--tf-line);border-radius:0;overflow:hidden;background:var(--tf-surface-sub)}.vessel-details-info{padding:16px 18px;background:var(--tf-surface-sub)}.vessel-details-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--navy);font-size:15px;font-weight:600}.vessel-details-flag{font-size:17px;line-height:1}.vessel-details-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 14px;font-size:12px;line-height:1.45}.vessel-details-meta dt{margin:0;color:var(--muted);font-weight:500}.vessel-details-meta dd{margin:0;color:var(--text);font-weight:600}.vessel-details-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.vessel-details-links a{display:inline-flex;padding:6px 10px;border:1px solid var(--tf-line);border-radius:2px;background:var(--surface);color:var(--blue-dark);font-size:11px;font-weight:500;text-decoration:none}.vessel-details-links a:hover{border-color:var(--tf-line);background:var(--surface)}.vessel-details-map{min-height:400px;padding:12px;background:var(--surface)}.vessel-details-map iframe{display:block;width:100%;height:400px;border:0;border-radius:2px;background:var(--tf-surface-head)}.vessel-details-map-empty{margin:0;padding:24px 16px;color:var(--muted);font-size:13px;text-align:center}@media (max-width: 960px){.vessel-details-inner{grid-template-columns:1fr}}.related-results{width:100%;min-width:0;background:var(--surface)}.related-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);color:var(--navy);font-size:12px}.related-title strong{font-weight:600;text-transform:capitalize}.related-title span{color:var(--blue-dark);font-family:var(--font-mono);font-size:11.5px;font-weight:500}.related-title b{display:inline-flex;min-width:24px;height:24px;padding:0 8px;align-items:center;justify-content:center;border-radius:2px;background:var(--blue);color:var(--tf-on-navy);font-size:11px;font-weight:600}.related-results-message{margin:0;padding:14px 18px;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px}.related-results-body{background:var(--surface)}.data-table-viewport.is-nested{width:100%;min-width:0;background:var(--surface)}.data-table.is-nested thead th{position:static;top:auto;z-index:auto}.data-table.is-nested th:first-child,.data-table.is-nested td:first-child{position:static;left:auto;z-index:auto;box-shadow:none}.data-table.is-nested tbody td:first-child{background:var(--surface)}.data-table.is-nested tbody tr:nth-child(2n) td,.data-table.is-nested tbody tr:nth-child(2n) td:first-child{background:var(--surface)}.data-table.is-nested tbody tr:hover td,.data-table.is-nested tbody tr:hover td:first-child{background:var(--tf-surface-sub)}.data-table.is-nested tbody tr:last-child td{border-bottom:1px solid var(--tf-line)}.stack-cell{display:inline-flex;flex-direction:column;gap:3px}.stack-cell>span{font-weight:500}.stack-cell small{color:var(--muted);font-size:11px}.departure-cell{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}.departure-cell-date{padding:5px 6px;border-radius:2px;font-weight:500}.departure-day-monday{background-color:var(--weekday-monday)}.departure-day-tuesday{background-color:var(--weekday-tuesday)}.departure-day-wednesday{background-color:var(--weekday-wednesday)}.departure-day-thursday{background-color:var(--weekday-thursday)}.departure-day-friday{background-color:var(--weekday-friday)}.departure-day-saturday{background-color:var(--weekday-saturday)}.departure-day-sunday{background-color:var(--weekday-sunday)}.departure-cell-time{color:var(--muted);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.service-date-cell{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}.service-date-cell-date{font-weight:500}.service-date-cell-time{font-weight:400;font-variant-numeric:tabular-nums}.route-cell{display:inline-flex;align-items:center;gap:7px;font-weight:400}.mono-cell--regular{font-weight:400}.reference-cell{display:inline-flex;min-width:132px;min-height:24px;padding:3px 7px;align-items:center;border:1px solid transparent;border-radius:2px;font-weight:500;font-variant-numeric:tabular-nums}.reference-complete{border-color:var(--tf-success);background:var(--green-soft);color:var(--tf-success)}.reference-invalid{border-color:var(--tf-danger);background:var(--rose-soft);color:var(--tf-danger)}.reference-missing{border-color:var(--tf-line);background:var(--tf-surface-head)}.reference-neutral{border-color:transparent;background:transparent;color:inherit;padding:0;min-height:0;font-weight:inherit}.reference-cell-wrap{position:relative;display:inline-flex;min-width:132px;min-height:24px;align-items:center}.reference-cell-forbidden{position:absolute;right:1px;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:2px;background:#ffffffeb;color:var(--tf-ink-3);pointer-events:none}.reference-cell-input{width:100%;min-width:132px;font:inherit;outline:none}.reference-cell-input:focus{box-shadow:0 0 0 2px #0a5f9129}.reference-cell-input.is-saving{opacity:.65;cursor:wait}.reference-cell-error{position:absolute;left:0;top:calc(100% + 2px);color:var(--tf-danger);font-size:11px;font-weight:500;white-space:nowrap}.money-cell{color:var(--tf-success);font-weight:600;font-variant-numeric:tabular-nums}.money-cell.negative,.money-cell.debit{color:var(--tf-danger)}.money-cell.credit{color:var(--text)}.initial-cell{display:inline-grid;width:24px;height:24px;place-items:center;border-radius:2px;font-size:11px;font-weight:600}.initial-blue{background:var(--tf-selected);color:var(--tf-link)}.initial-green{background:var(--green-soft);color:var(--tf-success)}.initial-rose{background:var(--rose-soft);color:var(--rose)}.document-cell,.access-cell,.read-only-chip,.approval-chip,.amount-chip,.non-blocking-note{display:inline-flex;padding:5px 8px;align-items:center;border-radius:2px;font-size:11px;font-weight:600;white-space:nowrap}.document-blue,.access-active{background:var(--tf-selected);color:var(--tf-link)}.document-green{background:var(--green-soft);color:var(--tf-success)}.document-amber,.access-invited{background:var(--amber-soft);color:var(--amber)}.access-inactive{background:var(--tf-surface-head);color:var(--tf-ink-3)}.amount-chip{background:var(--green-soft);color:var(--tf-success);font-size:11px}.amount-chip-negative{background:var(--tf-danger-soft);color:var(--tf-danger)}.non-blocking-note{background:var(--tf-surface-sub);color:var(--tf-ink-3)}.process-note{display:flex;padding:14px 16px;align-items:flex-start;gap:11px;border:1px solid var(--tf-line);border-radius:0;background:var(--tf-surface-sub)}.process-note strong{color:var(--tf-link);font-size:13px}.process-note p{margin:3px 0 0;color:var(--tf-ink-3);font-size:12px;line-height:1.5}.process-dot{width:9px;height:9px;margin-top:4px;flex:0 0 auto;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #0798e81f}.process-live{border-color:var(--tf-success);background:var(--green-soft)}.process-live .process-dot{background:var(--green);box-shadow:0 0 0 5px #0f9f6e1f}.pending-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pending-overview>div{display:flex;min-height:82px;padding:15px 17px;flex-direction:column;justify-content:center;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:0 9px 24px #1937580d}.metric-label{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase}.pending-overview strong{color:var(--navy);font-size:26px}.pending-overview .metric-text{font-size:17px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-page-grid{grid-template-columns:1fr;max-width:min(100%,720px);align-items:start}.settings-page-grid .profile-card{min-width:0}.profile-card,.company-aside{padding:22px;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:var(--shadow)}.profile-card-wide{grid-column:1 / -1}.card-heading{display:flex;margin-bottom:22px;align-items:flex-start;justify-content:space-between;gap:20px}.profile-card h2,.company-aside h2{margin:6px 0 0;color:var(--navy);font-size:19px;letter-spacing:-.02em}.read-only-chip{background:var(--tf-surface-head);color:var(--tf-ink-3)}.approval-chip{background:var(--amber-soft);color:var(--amber)}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:12px}.details-grid>div{min-width:0;padding:14px;border:1px solid var(--tf-line);border-radius:2px;background:var(--tf-surface-sub)}.details-grid dt{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.details-grid dd{overflow:hidden;margin:0;color:var(--text);font-size:13px;font-weight:500;text-overflow:ellipsis}.details-grid>div.role-employee{border-color:var(--tf-line);background:var(--tf-navy-raised);color:var(--blue-dark)}.details-grid>div.role-manager{border-color:transparent;background:var(--tf-navy-raised);color:var(--tf-on-navy)}.details-grid>div.role-team-leader{border-color:transparent;background:var(--tf-navy-raised);color:var(--tf-on-navy)}.details-grid>div.role-accountant{border-color:transparent;background:#f5d000;color:var(--text)}.details-grid>div.role-employee dt,.details-grid>div.role-manager dt,.details-grid>div.role-team-leader dt,.details-grid>div.role-accountant dt{color:inherit;opacity:.78}.details-grid>div.role-employee dd,.details-grid>div.role-manager dd,.details-grid>div.role-team-leader dd,.details-grid>div.role-accountant dd{color:inherit}.security-line{display:flex;padding:14px 0;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.security-line:last-child{border-bottom:0}.security-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:2px;background:var(--tf-surface-sub);color:var(--blue-dark);font-size:11px;font-weight:600}.security-line strong{color:var(--text);font-size:13px}.security-line p{margin:3px 0 0;color:var(--muted);font-size:11px}.preference-list{display:flex;margin-top:18px;flex-direction:column;gap:10px}.preference-list span{display:flex;padding:12px;justify-content:space-between;gap:20px;border-radius:2px;background:var(--tf-surface-sub);color:var(--muted);font-size:12px}.preference-list strong{color:var(--text)}.settings-form{display:flex;margin-top:18px;flex-direction:column;gap:16px}.settings-field{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border-radius:2px;background:var(--tf-surface-sub)}.settings-label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.settings-label strong{color:var(--text);font-size:14px}.settings-field input{width:88px;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;text-align:center}.settings-field input:focus{outline:2px solid rgba(10,95,145,.18);border-color:var(--blue)}.settings-field-text input{width:min(100%,240px);text-align:left}.settings-field input:disabled{background:var(--tf-surface-head);color:var(--tf-ink-3);cursor:not-allowed}.settings-field select{min-width:140px;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}.settings-field-select select:focus{outline:2px solid rgba(10,95,145,.18);border-color:var(--blue)}.settings-field select:disabled{background:var(--tf-surface-head);color:var(--tf-ink-3);cursor:not-allowed}.settings-note{margin:0;color:var(--muted);font-size:12px}.settings-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.settings-save{padding:10px 16px;border:0;border-radius:2px;background:var(--blue-dark);color:var(--tf-on-navy);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.settings-save:disabled{opacity:.65;cursor:wait}.settings-feedback{font-size:12px}.settings-feedback.success{color:var(--tf-success)}.settings-feedback.error{color:var(--tf-danger)}.company-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.7fr);gap:14px}.company-layout .profile-card-wide{grid-column:auto}.company-details{grid-template-columns:repeat(2,minmax(0,1fr))}.company-details .detail-span-two{grid-column:1 / -1}.company-aside{background:var(--tf-navy);color:var(--tf-on-navy)}.company-aside .card-kicker{color:var(--tf-ink-3)}.company-aside h2{color:var(--tf-on-navy)}.company-aside p,.company-aside li{color:var(--text);font-size:12px;line-height:1.65}.company-aside ul{display:flex;margin:20px 0 0;padding:0;flex-direction:column;gap:9px;list-style:none}.company-aside li{position:relative;padding-left:19px}.company-aside li:before{position:absolute;top:7px;left:0;width:7px;height:7px;border-radius:50%;background:var(--tf-success);content:""}@media (max-width: 1180px){.portal-header{grid-template-columns:165px 1fr auto;padding:0 16px}.primary-navigation button{min-width:88px;padding:0 10px}.company-context{max-width:150px;padding:6px 8px}.profile-name{min-width:0;max-width:130px}}@media (max-width: 820px){.portal-header{grid-template-columns:1fr auto;min-height:68px}.primary-navigation{grid-column:1 / -1;order:3;height:48px;overflow-x:auto;justify-content:flex-start;border-top:1px solid var(--border)}.primary-navigation button{min-width:98px;flex:0 0 auto}.portal-main{padding:22px 14px 38px}.profile-grid,.company-layout{grid-template-columns:1fr}.details-grid,.company-details{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-overview{grid-template-columns:1fr}}@media (max-width: 560px){.brand-copy,.working-date,.section-description,.section-meta{display:none}.section-meta:has(.audit-search){display:flex;flex-wrap:wrap;max-width:100%}.portal-header{grid-template-columns:auto 1fr}.account-navigation{gap:4px}.page-heading{align-items:flex-start}.page-heading h1{font-size:27px}.details-grid,.company-details{grid-template-columns:1fr}.company-details .detail-span-two{grid-column:auto}.card-heading{flex-direction:column}.table-section>summary{min-height:62px;padding:12px 14px}}.portal-shell--admin{background-color:var(--tf-surface-sub);background-image:repeating-linear-gradient(-45deg,#ffffffeb 0 18px,#ffdcdc8c 18px 36px)}.admin-mode-chip{display:inline-flex;padding:6px 10px;border:1px solid var(--tf-danger);border-radius:2px;background:var(--tf-danger-soft);color:var(--tf-danger);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.profile-trigger-static{cursor:default}.profile-trigger-static:hover{border-color:transparent;background:transparent}.admin-logout-button{padding:8px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px;font-weight:500}.admin-logout-button:hover{border-color:var(--tf-danger);background:var(--tf-danger-soft);color:var(--tf-danger)}.admin-welcome-card{max-width:760px}.admin-welcome-card h2{margin:8px 0 10px;color:var(--navy);font-size:23px;letter-spacing:-.03em}.admin-welcome-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.admin-welcome-card p strong{color:var(--text)}.admin-dashboard-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"recent activity" "company activity";gap:18px;align-items:start}.admin-dashboard-card--recent{grid-area:recent}.admin-dashboard-card--activity{grid-area:activity}.admin-dashboard-card--company{grid-area:company}.admin-dashboard-recent-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.admin-dashboard-recent-heading h2{margin:0}.admin-dashboard-recent-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}.admin-dashboard-company-combobox{position:relative;min-width:200px}.admin-dashboard-company-combobox-input{width:min(280px,40vw);min-width:200px;padding:8px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--navy);font:inherit;font-size:14px}.admin-dashboard-company-combobox-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--surface-blue)}.admin-dashboard-company-combobox-input:disabled{opacity:.7;cursor:wait}.admin-dashboard-company-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:flex;flex-direction:column;gap:2px;width:min(320px,70vw);max-height:240px;overflow:auto;padding:6px;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:0 12px 32px #0f172a1f}.admin-dashboard-company-dropdown button{display:block;width:100%;padding:8px 10px;border:0;border-radius:2px;background:transparent;color:var(--navy);font:inherit;font-size:14px;text-align:left;cursor:pointer}.admin-dashboard-company-dropdown button:hover,.admin-dashboard-company-dropdown button.active{background:var(--surface-blue);color:var(--blue-dark)}.admin-dashboard-company-empty{margin:0;padding:8px 10px;color:var(--muted);font-size:13px}.admin-dashboard-days-control{display:flex;flex-direction:column;gap:6px;min-width:120px}.admin-dashboard-days-control>span{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-dashboard-days-row{display:flex;gap:8px}.admin-dashboard-days-row input{width:72px;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--navy);font:inherit;font-size:14px}.admin-dashboard-days-row input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--surface-blue)}.admin-dashboard-days-row button{padding:8px 12px;border:0;border-radius:2px;background:var(--blue-dark);color:var(--tf-on-navy);font:inherit;font-size:14px;font-weight:500;cursor:pointer}.admin-dashboard-days-row button:hover:not(:disabled){background:var(--navy)}.admin-dashboard-days-row button:disabled{opacity:.7;cursor:wait}.admin-dashboard-activity-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin-bottom:14px}.admin-dashboard-activity-toolbar small{color:var(--faint);font-size:12px;font-weight:500}.admin-dashboard-days-control--solo input{width:88px;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:15px;font-weight:600}.admin-dashboard-days-control--solo input:focus{border-color:var(--blue);outline:2px solid rgba(7,152,232,.2)}.admin-dashboard-inner-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.admin-dashboard-inner-tab{margin-bottom:-1px;padding:10px 14px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.01em}.admin-dashboard-inner-tab:hover{color:var(--navy)}.admin-dashboard-inner-tab.active{border-bottom-color:var(--blue);color:var(--navy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 900px){.admin-dashboard-layout{grid-template-columns:1fr;grid-template-areas:"recent" "activity" "company"}.admin-dashboard-company-combobox,.admin-dashboard-company-combobox-input{width:100%;min-width:0;max-width:100%}.admin-dashboard-recent-controls{width:100%}}.admin-dashboard-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.admin-dashboard-stat{display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:0;background:var(--surface-soft)}.admin-dashboard-stat-label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-dashboard-stat-value{color:var(--navy);font-size:30px;line-height:1.1;letter-spacing:-.03em}.admin-dashboard-stat-hint{color:var(--faint);font-size:12px;line-height:1.35}.admin-dashboard-bars-wrap{margin-bottom:20px}.admin-dashboard-bars-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.admin-dashboard-bars-legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:600}.admin-dashboard-bars-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.admin-dashboard-bars-swatch--draft{background:var(--tf-warning)}.admin-dashboard-bars-swatch--confirmed{background:var(--tf-success)}.admin-dashboard-bars-swatch--pending{background:var(--tf-navy)}.admin-dashboard-bars{display:grid;gap:10px;align-items:end}.admin-dashboard-bar-column{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.admin-dashboard-bar-column--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:4px 2px;margin:0;cursor:pointer;border-radius:2px;color:inherit;font:inherit;transition:background-color .15s ease,transform .15s ease}.admin-dashboard-bar-column--clickable:hover,.admin-dashboard-bar-column--clickable:focus-visible{background:#b91c1c14;outline:none}.admin-dashboard-bar-column--clickable:active{transform:translateY(1px)}.admin-statistics-layout{display:flex;flex-direction:column;gap:18px}.admin-statistics-toolbar{display:flex;flex-direction:column;gap:10px}.admin-statistics-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.admin-statistics-date-picker{position:relative}.admin-statistics-date-picker-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--navy);border-radius:2px;padding:7px 12px;font-size:15px;font-weight:600;cursor:pointer}.admin-statistics-date-picker-trigger.is-open,.admin-statistics-date-picker-trigger:focus-visible{outline:none;border-color:#b91c1c73;box-shadow:0 0 0 3px #b91c1c14}.admin-statistics-date-picker-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:280px;padding:12px;border:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:0 12px 30px #14283c24}.admin-statistics-date-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.admin-statistics-date-picker-head strong{color:var(--navy);font-size:15px;font-weight:500}.admin-statistics-date-picker-nav{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--navy);cursor:pointer;font-size:19px;line-height:1}.admin-statistics-date-picker-nav:hover:not(:disabled){border-color:#b91c1c59;background:#b91c1c0a}.admin-statistics-date-picker-nav:disabled{opacity:.4;cursor:not-allowed}.admin-statistics-date-picker-weekdays,.admin-statistics-date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.admin-statistics-date-picker-weekdays{margin-bottom:6px}.admin-statistics-date-picker-weekday{display:grid;min-height:24px;place-items:center;border-radius:2px;font-size:11px;font-weight:600}.admin-statistics-date-picker-day{display:grid;min-height:34px;place-items:center;border:0;border-radius:2px;color:var(--navy);cursor:pointer;font:inherit;font-size:13px;font-weight:500}.admin-statistics-date-picker-day.is-empty{pointer-events:none}.admin-statistics-date-picker-day:hover:not(.is-empty):not(.is-disabled){filter:brightness(.97)}.admin-statistics-date-picker-day.is-today{box-shadow:inset 0 0 0 2px #0f172a2e}.admin-statistics-date-picker-day.is-selected{box-shadow:inset 0 0 0 2px var(--navy)}.admin-statistics-date-picker-day.is-disabled{opacity:.35;cursor:not-allowed}.admin-statistics-back-button{align-self:auto;border:1px solid var(--border);background:var(--surface);color:var(--navy);border-radius:2px;padding:8px 14px;font-size:14px;font-weight:500;cursor:pointer}.admin-statistics-back-button:hover{border-color:#b91c1c59;background:#b91c1c0a}.admin-statistics-lead{margin:0;color:var(--navy);font-size:19px;font-weight:600;line-height:1.45;letter-spacing:-.02em}.admin-statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-statistics-table-card h2{margin-top:0}.admin-statistics-user-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-statistics-ports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;grid-column:1 / -1}@media (max-width: 1100px){.admin-statistics-grid,.admin-statistics-ports-grid{grid-template-columns:1fr}}.admin-dashboard-bar-track{display:flex;align-items:flex-end;justify-content:center;width:100%;height:160px}.admin-dashboard-bar{display:flex;flex-direction:column;width:min(100%,52px);min-height:6px;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a0f}.admin-dashboard-bar--empty{height:4px;min-height:4px;background:var(--border);box-shadow:none}.admin-dashboard-bar-segment{min-height:2px}.admin-dashboard-bar-segment--draft{background:var(--tf-warning)}.admin-dashboard-bar-segment--confirmed{background:var(--tf-success)}.admin-dashboard-bar-segment--pending{background:var(--tf-navy)}.admin-dashboard-bar-label{color:var(--muted);font-size:12px;font-weight:500;text-align:center}.admin-dashboard-bar-total{color:var(--navy);font-size:13px;font-weight:600}.admin-dashboard-card{min-width:0}.admin-dashboard-card h2{margin:8px 0 10px;color:var(--navy);font-size:21px;letter-spacing:-.03em}.admin-dashboard-lead{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.55}.admin-dashboard-card-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.admin-dashboard-hours-control{display:flex;flex-direction:column;gap:6px;min-width:180px}.admin-dashboard-hours-control label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-dashboard-hours-row{display:flex;gap:8px}.admin-dashboard-hours-row input{width:88px;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:15px;font-weight:600}.admin-dashboard-hours-row input:focus{border-color:var(--blue);outline:2px solid rgba(7,152,232,.2)}.admin-dashboard-hours-row button{padding:8px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--blue-dark);cursor:pointer;font-size:13px;font-weight:600}.admin-dashboard-hours-row button:hover:not(:disabled){border-color:var(--tf-danger);background:var(--tf-danger-soft)}.admin-dashboard-hours-row button:disabled{cursor:wait;opacity:.7}.admin-dashboard-hours-control small{color:var(--faint);font-size:12px;font-weight:500}.admin-dashboard-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:0;background:var(--surface-soft)}.admin-dashboard-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}.admin-dashboard-table th,.admin-dashboard-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-dashboard-table th{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--surface);padding:0}.admin-dashboard-sort-button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}.admin-dashboard-sort-button:hover{color:var(--navy);background:var(--surface-soft)}.admin-dashboard-sort-button.active{color:var(--blue-dark)}.admin-dashboard-sort-button span:last-child{color:var(--faint);font-size:13px;font-weight:600}.admin-dashboard-sort-button.active span:last-child{color:var(--blue-dark)}.admin-dashboard-table td strong{display:block;color:var(--navy);font-size:14px}.admin-dashboard-table td small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.admin-dashboard-table tbody tr:last-child td{border-bottom:0}.admin-dashboard-table tfoot td,.admin-dashboard-table .admin-statistics-total-row td{background:var(--surface);color:var(--navy);font-weight:600}.admin-dashboard-empty,.admin-dashboard-status{margin:0;color:var(--muted);font-size:14px}.admin-dashboard-error{margin:0;padding:11px 12px;border:1px solid var(--tf-danger);border-radius:2px;background:var(--rose-soft);color:var(--tf-danger);font-size:13px;font-weight:500}.admin-dashboard-actions{display:flex;justify-content:center;margin-top:14px}.admin-dashboard-expand-button{padding:10px 16px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--blue-dark);cursor:pointer;font-size:14px;font-weight:600}.admin-dashboard-expand-button:hover:not(:disabled){border-color:var(--tf-danger);background:var(--tf-danger-soft)}.admin-dashboard-expand-button:disabled{cursor:wait;opacity:.7}@media (max-width: 1100px){.admin-dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.admin-dashboard-card-heading{flex-direction:column}.admin-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-bars-wrap{overflow-x:auto}.admin-dashboard-bars{grid-template-columns:repeat(var(--admin-dashboard-bar-columns, 7),minmax(44px,1fr));min-width:320px}.admin-dashboard-bar-track{height:120px}}.admin-users-card{min-width:0}.admin-user-details-card{display:flex;flex-direction:column;gap:18px}.admin-user-details-header{display:flex;flex-direction:column;gap:12px}.admin-user-details-back{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.admin-user-details-back:hover{border-color:var(--blue);color:var(--blue-dark)}.admin-user-details-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}.admin-user-details-title h2{margin:0;font-size:24px}.admin-user-details-login-as{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--tf-success);border-radius:2px;background:var(--green-soft);color:var(--green);font-size:13px;font-weight:600;cursor:pointer}.admin-user-details-login-as:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.admin-user-details-login-as:disabled{opacity:.65;cursor:wait}.admin-user-details-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-user-details-subtitle{margin:8px 0 0;color:var(--muted)}.admin-user-details-associated{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 14px;border-radius:2px;background:#22c55e14;border:1px solid rgba(34,197,94,.25)}.admin-user-details-associated p{margin:0}.admin-user-details-reset-association{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--amber);border-radius:2px;background:var(--amber-soft);color:var(--amber);font-size:13px;font-weight:600;cursor:pointer}.admin-user-details-reset-association:hover:not(:disabled){background:var(--tf-warning-soft)}.admin-user-details-reset-association:disabled{opacity:.65;cursor:wait}.admin-user-details-success{margin:0;color:var(--tf-success);font-weight:600}.admin-user-details-form{display:flex;flex-direction:column;gap:20px}.admin-user-settings-card{display:flex;flex-direction:column;gap:16px;margin-top:18px}.admin-user-settings-heading h2{margin:6px 0 8px;color:var(--navy);font-size:19px;letter-spacing:-.02em}.admin-user-settings-heading p{margin:0;color:var(--muted);font-size:14px}.admin-user-settings-form{display:flex;flex-direction:column;gap:16px}.admin-user-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-user-settings-field select{padding:10px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none}.admin-user-settings-actions{position:static;margin-top:0;padding-top:0;background:none}@media (max-width: 900px){.admin-user-settings-grid{grid-template-columns:minmax(0,1fr)}}.admin-user-details-fieldset{margin:0;padding:0;border:0}.admin-user-details-fieldset legend{margin-bottom:12px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.admin-user-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-user-details-field--wide{grid-column:1 / -1}.admin-user-details-actions{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:0;z-index:2;margin-top:4px;padding:16px 0 4px;background:linear-gradient(180deg,transparent 0%,var(--surface) 28%)}.admin-user-details-actions button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:2px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.admin-user-details-actions button.primary{border-color:var(--blue);background:var(--blue);color:var(--tf-on-navy)}.admin-user-details-actions button.primary--associate{border-color:var(--amber);background:var(--amber);color:var(--tf-on-navy)}.admin-user-details-actions button.primary:hover:not(:disabled){filter:brightness(.95)}.admin-user-details-actions button.secondary{background:var(--surface);color:var(--muted);border-color:var(--border)}.admin-user-details-actions button.secondary:hover:not(:disabled){border-color:var(--tf-danger);background:var(--tf-danger-soft);color:var(--blue-dark)}.admin-user-details-actions button:disabled{opacity:.65;cursor:wait}@media (max-width: 900px){.admin-user-details-grid{grid-template-columns:minmax(0,1fr)}}.admin-users-filters{display:flex;flex-direction:column;gap:16px;margin-bottom:18px}.admin-users-filter-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,.8fr) auto;gap:12px;align-items:end}.admin-users-filter-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-users-filter-field input,.admin-users-filter-field select{padding:10px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none}.admin-users-filter-actions{display:flex;gap:8px}.admin-users-filter-actions button{padding:10px 14px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--blue-dark);cursor:pointer;font-size:14px;font-weight:600}.admin-users-filter-actions button.secondary{color:var(--muted)}.admin-users-filter-actions button:hover:not(:disabled){border-color:var(--tf-danger);background:var(--tf-danger-soft)}.admin-users-filter-actions button:disabled{cursor:wait;opacity:.7}.admin-users-status-filters{display:flex;flex-direction:column;gap:8px}.admin-users-status-label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-users-status-options{display:flex;flex-wrap:wrap;gap:8px}.admin-users-status-option{padding:7px 11px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px;font-weight:500}.admin-users-status-option.active,.admin-users-status-option:hover{border-color:var(--tf-danger);background:var(--tf-danger-soft);color:var(--tf-danger)}.admin-users-sort-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;color:var(--muted);font-size:13px;font-weight:500}.admin-users-sort-row button{padding:7px 11px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.admin-users-sort-row button.active,.admin-users-sort-row button:hover{border-color:var(--blue);background:var(--surface-blue);color:var(--blue-dark)}.admin-users-table-wrap{margin-top:4px}.admin-users-table th,.admin-users-table td{padding:5px 8px;vertical-align:middle}.admin-users-table th{padding-top:6px;padding-bottom:6px;font-size:11px}.admin-users-name-line{display:inline-flex;align-items:center;gap:5px;max-width:100%}.admin-users-name-line strong,.admin-users-inline-strong{display:inline;font-size:13px;line-height:1.3}.admin-users-verify-icon{display:inline-flex;flex-shrink:0;color:var(--tf-warning);filter:drop-shadow(0 0 .5px rgba(234,88,12,.35))}.admin-users-compact-cell{font-size:13px;line-height:1.35}.admin-users-table td strong{display:block;color:var(--navy);font-size:13px}.admin-users-table td small,.admin-users-meta{display:block;margin-top:1px;color:var(--muted);font-size:11px;line-height:1.3}.admin-users-count-cell strong{display:inline-flex;min-width:22px;justify-content:center;padding:2px 6px;border-radius:2px;background:var(--surface-blue);color:var(--blue-dark);font-size:12px}.admin-users-chip-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.admin-users-chip-row--compact{margin-top:0}.admin-users-chip{display:inline-flex;padding:2px 6px;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.admin-local-user-role-chip{margin-top:4px}.admin-users-chip--muted{background:var(--surface-soft);color:var(--muted)}.admin-users-chip--ok{background:var(--green-soft);color:var(--green)}.admin-users-chip--warn{background:var(--amber-soft);color:var(--amber)}.admin-users-chip--role-employee{background:var(--blue);color:var(--tf-on-navy)}.admin-users-chip--role-accountant{background:#f5d000;color:var(--text)}.admin-users-chip--role-manager{background:var(--tf-danger);color:var(--tf-on-navy)}.admin-users-chip--role-team-leader{background:#6a2fd4;color:var(--tf-on-navy)}.admin-users-action-row{display:flex;flex-direction:row;gap:6px;align-items:center;justify-content:flex-end}.admin-users-icon-button{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--blue-dark);cursor:pointer;line-height:0;text-decoration:none}.admin-users-icon-button--details:hover{border-color:var(--blue);background:var(--surface-blue)}.admin-users-icon-button--login-as{border-color:var(--tf-success);background:var(--green-soft);color:var(--green)}.admin-users-icon-button--login-as:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.admin-users-icon-button:disabled{cursor:wait;opacity:.7}.admin-users-icon-spin{animation:admin-users-icon-spin .8s linear infinite}@keyframes admin-users-icon-spin{to{transform:rotate(360deg)}}.admin-users-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;color:var(--muted);font-size:13px;font-weight:500}.admin-users-pagination button{padding:8px 12px;border:1px solid var(--border);border-radius:2px;background:var(--surface);color:var(--blue-dark);cursor:pointer;font-size:13px;font-weight:600}.admin-users-pagination button:disabled{cursor:not-allowed;opacity:.5}@media (max-width: 900px){.admin-users-filter-grid{grid-template-columns:1fr}}html[data-theme=dark]{color-scheme:dark;--background: #0d1520;--surface: #152131;--surface-soft: #1a2838;--surface-blue: #1a3148;--border: #2a3d52;--text: #e5edf5;--muted: #93a4b8;--faint: #6b7f94;--navy: #d8e8f5;--shadow: 0 12px 34px rgba(0, 0, 0, .35);--green-soft: #123528;--amber-soft: #3a2d12;--rose-soft: #3a1a24}html[data-theme=dark] .login-card,html[data-theme=dark] .profile-card,html[data-theme=dark] .company-aside,html[data-theme=dark] .admin-chooser-panel{background:var(--surface)}html[data-theme=dark] .admin-user-details-actions{background:linear-gradient(180deg,rgba(21,33,49,0) 0%,var(--surface) 28%)}html[data-theme=dark] .admin-user-details-actions button.secondary{background:var(--surface)}html[data-theme=dark] .portal-header{background:#152131f5;box-shadow:0 6px 20px #00000047}html[data-theme=dark] .primary-navigation button{color:var(--muted)}html[data-theme=dark] .primary-navigation button:hover,html[data-theme=dark] .primary-navigation button.active{background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .company-context{background:var(--surface-soft);color:var(--muted)}html[data-theme=dark] .company-context:hover,html[data-theme=dark] .company-context.active{border-color:var(--tf-line-strong);background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .profile-menu,html[data-theme=dark] .page-heading,html[data-theme=dark] .process-note,html[data-theme=dark] .table-section>summary:hover{background:var(--surface-soft)}html[data-theme=dark] .settings-field,html[data-theme=dark] .admin-chooser-filter input,html[data-theme=dark] .login-field input,html[data-theme=dark] .settings-field input,html[data-theme=dark] .settings-field select,html[data-theme=dark] .column-filter-input,html[data-theme=dark] .column-filter-select,html[data-theme=dark] .client-reference-validation-filter-select,html[data-theme=dark] .toolbar-filter-input{background:var(--surface-soft);color:var(--text)}html[data-theme=dark] .settings-label strong,html[data-theme=dark] .data-table{color:var(--text)}html[data-theme=dark] .data-table th,html[data-theme=dark] .data-table td{border-color:var(--border)}html[data-theme=dark] .data-table thead th,html[data-theme=dark] .data-table thead .column-marker-row th,html[data-theme=dark] .data-table thead .column-filter-row th,html[data-theme=dark] .data-table thead th:first-child,html[data-theme=dark] .data-table thead .column-marker-row th:first-child,html[data-theme=dark] .data-table thead .column-filter-row th:first-child,html[data-theme=dark] .data-table thead .column-label-row.with-markers.with-filters th:first-child{background:var(--surface);color:var(--tf-ink-3)}html[data-theme=dark] .data-table tbody td:first-child{background:var(--surface);box-shadow:5px 0 10px #0000002e}html[data-theme=dark] .data-table tbody tr:nth-child(2n) td,html[data-theme=dark] .data-table tbody tr:nth-child(2n) td:first-child{background:var(--surface)}html[data-theme=dark] .data-table tbody tr:hover td,html[data-theme=dark] .data-table tbody tr:hover td:first-child,html[data-theme=dark] .data-table tbody tr.expanded-parent td{background:var(--surface)}html[data-theme=dark] .data-table tbody tr.expanded-row td{background:var(--surface-soft)}html[data-theme=dark] .table-section-message-error{background:var(--surface);color:var(--tf-danger)}html[data-theme=dark] .admin-users-pagination button,html[data-theme=dark] .vessel-details-links a{background:var(--surface-soft);color:var(--text)}html[data-theme=dark] .table-section-toolbar,html[data-theme=dark] .table-pagination{background:var(--surface-soft)}html[data-theme=dark] .client-reference-validation-filter-label{color:var(--tf-ink-3)}html[data-theme=dark] .toolbar-clear-all-button,html[data-theme=dark] .table-pagination-button,html[data-theme=dark] .table-pagination-page-input{border-color:var(--border);background:var(--surface);color:var(--text)}html[data-theme=dark] .toolbar-clear-all-button:hover:not(:disabled),html[data-theme=dark] .table-pagination-button:hover:not(:disabled){border-color:var(--tf-line-strong);background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .column-filter-input,html[data-theme=dark] .column-filter-select,html[data-theme=dark] .column-date-range-trigger,html[data-theme=dark] .column-date-range-popover,html[data-theme=dark] .client-reference-validation-filter-select,html[data-theme=dark] .audit-search-input,html[data-theme=dark] .audit-search-button{border-color:var(--border)}html[data-theme=dark] .audit-search-label{color:var(--tf-ink-3)}html[data-theme=dark] .audit-search-input,html[data-theme=dark] .audit-search-button{background:var(--surface);color:var(--text)}html[data-theme=dark] .audit-search-button:hover:not(:disabled){border-color:var(--tf-line-strong);background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .audit-type{background:var(--surface-soft);color:var(--tf-ink-3)}html[data-theme=dark] .audit-type-reservation{background:var(--surface);color:var(--tf-ink-3)}html[data-theme=dark] .audit-type-debit{background:var(--tf-danger-soft);color:var(--tf-danger)}html[data-theme=dark] .audit-type-credit{background:var(--green-soft);color:var(--tf-success)}html[data-theme=dark] .amount-chip-negative{background:var(--tf-danger-soft);color:var(--tf-danger)}html[data-theme=dark] .column-date-range-trigger{background:var(--surface);color:var(--muted)}html[data-theme=dark] .column-date-range-trigger.has-value{color:var(--text)}html[data-theme=dark] .column-date-range-popover{background:var(--surface);box-shadow:0 10px 28px #00000059}html[data-theme=dark] .column-date-range-popover-head strong,html[data-theme=dark] .column-date-range-day{color:var(--text)}html[data-theme=dark] .column-date-range-nav{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}html[data-theme=dark] .column-date-range-nav:hover{background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .column-date-range-day:hover:not(.is-empty){background:var(--surface-blue)}html[data-theme=dark] .column-date-range-day.in-range{background:var(--surface);color:var(--text)}html[data-theme=dark] .column-date-range-day.is-start,html[data-theme=dark] .column-date-range-day.is-end{background:var(--blue);color:var(--tf-on-navy)}html[data-theme=dark] .column-filter-clear:hover:not(:disabled),html[data-theme=dark] .toolbar-filter-clear:hover:not(:disabled){background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .table-pagination-summary strong,html[data-theme=dark] .table-pagination-page strong{color:var(--text)}html[data-theme=dark] .departure-cell-date[class*=departure-day-],html[data-theme=dark] .service-date-cell-date[class*=departure-day-]{background-color:transparent}html[data-theme=dark] .departure-day-monday{color:var(--weekday-monday);border:1px solid var(--weekday-monday)}html[data-theme=dark] .departure-day-tuesday{color:var(--weekday-tuesday);border:1px solid var(--weekday-tuesday)}html[data-theme=dark] .departure-day-wednesday{color:var(--weekday-wednesday);border:1px solid var(--weekday-wednesday)}html[data-theme=dark] .departure-day-thursday{color:var(--weekday-thursday);border:1px solid var(--weekday-thursday)}html[data-theme=dark] .departure-day-friday{color:var(--weekday-friday);border:1px solid var(--weekday-friday)}html[data-theme=dark] .departure-day-saturday{color:var(--weekday-saturday);border:1px solid var(--weekday-saturday)}html[data-theme=dark] .departure-day-sunday{color:var(--weekday-sunday);border:1px solid var(--weekday-sunday)}html[data-theme=dark] .mono-cell{color:var(--text)}html[data-theme=dark] .money-cell{color:var(--tf-success)}html[data-theme=dark] .money-cell.negative,html[data-theme=dark] .money-cell.debit{color:var(--tf-danger)}html[data-theme=dark] .money-cell.credit{color:var(--tf-ink-3)}html[data-theme=dark] .reference-neutral{color:var(--text)}html[data-theme=dark] .reference-complete{border-color:var(--tf-success);background:var(--green-soft);color:var(--tf-success)}html[data-theme=dark] .reference-invalid{border-color:var(--tf-danger);background:var(--tf-danger-soft);color:var(--tf-danger)}html[data-theme=dark] .reference-missing{border-color:var(--border);background:var(--surface-soft)}html[data-theme=dark] .vessel-cell-button{border-color:var(--tf-link);background:var(--surface-blue);color:var(--text)}html[data-theme=dark] .vessel-cell-button:hover{border-color:var(--tf-link);background:var(--surface);color:var(--text)}html[data-theme=dark] .vessel-cell-button.is-open{border-color:var(--blue);background:var(--blue);color:var(--tf-on-navy)}html[data-theme=dark] .vessel-details{background:var(--surface-soft)}html[data-theme=dark] .vessel-details-inner{border-color:var(--border);background:var(--surface)}html[data-theme=dark] .vessel-details-info{background:var(--surface)}html[data-theme=dark] .vessel-details-title,html[data-theme=dark] .vessel-details-meta dd{color:var(--text)}html[data-theme=dark] .vessel-details-map{background:var(--surface-soft)}html[data-theme=dark] .vessel-details-map iframe{background:var(--surface)}html[data-theme=dark] .vessel-details-links a:hover{border-color:var(--tf-line-strong);background:var(--surface-blue);color:var(--text)}:root{--tf-navy: #1a2e58;--tf-navy-raised: #24396a;--tf-orange: #f08700;--tf-orange-hover: #d97a00;--tf-on-orange: #14213f;--tf-on-navy: #ffffff;--tf-on-navy-muted: #b3c0d9;--tf-surface-head: #e9edf4;--tf-surface-sub: #f7f8fb;--tf-selected: #e6eefb;--tf-line: #dde2ea;--tf-line-strong: #7f8ba0;--tf-ink-2: #4f5b70;--tf-ink-3: #6a7588;--tf-link: #2b4c8c;--tf-success: #1f7a4d;--tf-warning: #7d6200;--tf-warning-soft: #fdf4d3;--tf-danger: #b3261e;--tf-danger-soft: #fbe9e7;--background: #f2f4f8;--surface: #ffffff;--surface-soft: var(--tf-surface-sub);--surface-blue: var(--tf-selected);--border: var(--tf-line);--text: #172033;--muted: var(--tf-ink-2);--faint: var(--tf-ink-3);--blue: var(--tf-link);--blue-dark: var(--tf-link);--navy: #172033;--green: var(--tf-success);--green-soft: #e3f3ea;--amber: var(--tf-warning);--amber-soft: var(--tf-warning-soft);--rose: var(--tf-danger);--rose-soft: var(--tf-danger-soft);--shadow: none}html[data-theme=dark]{--tf-navy: #0b1328;--tf-navy-raised: #16213d;--tf-on-navy: #e4e9f2;--tf-on-navy-muted: #97a5bf;--tf-surface-head: #1d2942;--tf-surface-sub: #18233a;--tf-selected: #1c3159;--tf-line: #26324a;--tf-line-strong: #5a6782;--tf-ink-2: #a3aec2;--tf-ink-3: #8591a7;--tf-link: #8fb0ee;--tf-success: #5cc58f;--tf-warning: #e6c04d;--tf-warning-soft: #2f2810;--tf-danger: #ff8b80;--tf-danger-soft: #3a1714;--background: #0d1424;--surface: #131c30;--text: #e4e9f2;--navy: #e4e9f2;--green-soft: #12301f}body{font-family:var(--font-sans);font-variant-numeric:tabular-nums}:where(button,input,select,a,summary,[tabindex]):focus-visible{outline:2px solid var(--tf-link);outline-offset:2px}.portal-header{min-height:52px;padding:0 16px 0 0;border-bottom:0;background:var(--tf-navy);color:var(--tf-on-navy);box-shadow:none;backdrop-filter:none}.portal-header :focus-visible{outline-color:var(--tf-orange)}.portal-header .brand{padding-left:16px;color:var(--tf-on-navy)}.portal-header .brand-mark{width:36px;height:36px;border-radius:2px;box-shadow:none}.portal-header .brand-mark img{width:30px;height:30px}.portal-header .brand-copy strong{font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.portal-header .brand-copy small{color:var(--tf-on-navy-muted)}.primary-navigation{gap:0}.primary-navigation button{min-width:0;padding:0 16px;color:var(--tf-on-navy-muted);font-size:13px;font-weight:500}.primary-navigation button:after{right:16px;left:16px;border-radius:0}.primary-navigation button:hover,.primary-navigation button.active{background:var(--tf-navy-raised);color:var(--tf-on-navy)}.primary-navigation button.active{background:transparent}.primary-navigation button.active:after{background:var(--tf-orange)}.nav-count{height:18px;border-radius:2px;background:var(--tf-navy-raised);color:var(--tf-on-navy);font-weight:500}.company-context{border-radius:2px;background:transparent;color:var(--tf-on-navy);font-weight:500}.company-context:hover,.company-context.active{border-color:transparent;background:var(--tf-navy-raised);color:var(--tf-on-navy)}.company-symbol{border-radius:2px;background:var(--tf-navy-raised);color:var(--tf-on-navy);font-weight:600}.profile-trigger{border-radius:2px;color:var(--tf-on-navy)}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:transparent;background:var(--tf-navy-raised)}.profile-caret{border-color:var(--tf-on-navy-muted)}.avatar{width:30px;height:30px;font-size:11px;font-weight:600}.role-chip{border-radius:2px;font-size:11px;font-weight:500;letter-spacing:.03em}.profile-menu,.column-date-range-popover{border-radius:0;box-shadow:0 8px 24px #1a2e582e}.profile-menu{background:var(--surface);color:var(--text)}.profile-menu button{border-radius:2px;font-weight:400;color:var(--text)}.profile-menu button:hover{background:var(--tf-surface-sub);color:var(--text)}.portal-main{padding:0 24px 24px}.page-heading{margin-bottom:12px;padding-top:14px;align-items:center}.page-heading .eyebrow,.card-kicker{display:none}.page-heading h1{margin:0;color:var(--text);font-size:20px;font-weight:500;letter-spacing:-.01em}.page-heading p{color:var(--tf-ink-3);font-size:12px}.working-date{min-width:0;padding:6px 10px;border-radius:2px;background:var(--surface)}.section-stack{gap:12px}.table-section,.coming-departures-section,.profile-card,.company-aside,.admin-dashboard-card,.admin-users-card,.admin-user-details-card,.admin-statistics-table-card{border-color:var(--tf-line);border-radius:0;box-shadow:none}.table-section>summary{min-height:48px;padding:8px 16px}.table-section>summary:hover{background:var(--tf-surface-sub)}.section-title{color:var(--text);font-size:15px;font-weight:500}.section-description{color:var(--tf-ink-3)}.count-badge,.related-title b{min-width:22px;height:20px;padding:0 6px;border-radius:2px;background:var(--tf-surface-head);color:var(--tf-ink-2);font-weight:500}.table-section[open] .count-badge{background:var(--tf-navy);color:var(--tf-on-navy)}html[data-theme=dark] .table-section[open] .count-badge{background:var(--tf-link);color:var(--surface)}.summary-chevron{border-color:var(--tf-ink-2)}.table-section-toolbar,html[data-theme=dark] .table-section-toolbar{justify-content:flex-start;padding:8px 12px;background:var(--tf-surface-sub)}.data-table{color:var(--text);font-family:var(--font-sans);font-size:13px}.data-table th,.data-table td{height:34px;padding:4px 8px;border-right:0;border-bottom-color:var(--tf-line)}.data-table thead th,html[data-theme=dark] .data-table thead th{background:var(--tf-surface-head);color:var(--tf-ink-2);font-size:11px;font-weight:500;letter-spacing:.03em}.data-table thead .column-marker-row th,.data-table thead .column-filter-row th,html[data-theme=dark] .data-table thead .column-marker-row th,html[data-theme=dark] .data-table thead .column-filter-row th{background:var(--tf-surface-sub);color:var(--tf-ink-2)}.data-table thead th:first-child,.data-table thead .column-label-row.with-markers.with-filters th:first-child,html[data-theme=dark] .data-table thead th:first-child{background:var(--tf-surface-head)}.data-table thead .column-marker-row th:first-child,.data-table thead .column-filter-row th:first-child{background:var(--tf-surface-sub)}.data-table tbody td:first-child,html[data-theme=dark] .data-table tbody td:first-child{background:var(--surface);box-shadow:inset -1px 0 0 var(--tf-line)}.data-table tbody tr:nth-child(2n) td,.data-table tbody tr:nth-child(2n) td:first-child,html[data-theme=dark] .data-table tbody tr:nth-child(2n) td,html[data-theme=dark] .data-table tbody tr:nth-child(2n) td:first-child{background:var(--surface)}.data-table tbody tr:hover td,.data-table tbody tr:hover td:first-child,.data-table tbody tr.expanded-parent td,html[data-theme=dark] .data-table tbody tr:hover td,html[data-theme=dark] .data-table tbody tr:hover td:first-child,html[data-theme=dark] .data-table tbody tr.expanded-parent td{background:var(--tf-surface-sub)}.data-table tbody tr.trailer-group-end td{border-bottom:1px solid #9fb1cc}html[data-theme=dark] .data-table tbody tr.trailer-group-end td{border-bottom-color:#3d5378}.column-sort-button{color:var(--tf-line-strong)}.column-sort-button:hover:not(:disabled),.column-sort-button.active{color:var(--tf-link)}.mono-cell,.related-title span{color:var(--text);font-family:var(--font-mono);font-size:12.5px;font-weight:500}.column-filter-input,.column-filter-select,.column-date-range-trigger,.toolbar-filter-input,.audit-search-input,.client-reference-validation-filter-select,.employee-filter-input,.settings-field input,.settings-field select,.login-field input,.admin-chooser-filter input{border-color:var(--tf-line-strong);border-radius:2px;background-color:var(--surface);color:var(--text);font-family:var(--font-sans)}.column-filter-input:focus,.column-filter-select:focus,.column-date-range-trigger.is-open,.login-field input:focus{border-color:var(--tf-link);outline:2px solid var(--tf-link);outline-offset:1px}.column-header-action,.column-date-range-nav,.column-date-range-day,.table-pagination-button,.table-pagination-page-input,.toolbar-clear-all-button,.audit-search-button,.coming-departures-clear,.coming-departures-export-button,.import-ops-secondary-button,.vessel-details-links a{border-radius:2px}.column-date-range-day.is-start,.column-date-range-day.is-end{background:var(--tf-navy);color:var(--tf-on-navy)}.column-date-range-day.in-range{background:var(--tf-selected);color:var(--text)}.login-submit,.settings-save,.admin-user-details-actions button.primary{border:1px solid var(--tf-orange);border-radius:2px;background:var(--tf-orange);color:var(--tf-on-orange);font-weight:500}.login-submit:hover,.settings-save:hover,.admin-user-details-actions button.primary:hover:not(:disabled){border-color:var(--tf-orange-hover);background:var(--tf-orange-hover);filter:none}.reference-cell{border-radius:2px;font-family:var(--font-mono);font-size:12.5px;font-weight:500}.reference-complete,html[data-theme=dark] .reference-complete{border-color:transparent;background:transparent;color:var(--text);padding-left:0}.reference-missing{border-color:transparent;background:var(--tf-warning-soft);color:var(--tf-warning);font-family:var(--font-sans)}.reference-invalid{border-color:transparent;background:var(--tf-danger-soft);color:var(--tf-danger)}.vessel-cell-button{border-color:var(--tf-line-strong);border-radius:2px;background:var(--surface);color:var(--text);font-weight:500}.vessel-cell-button:hover,.vessel-cell-button--static:hover{background:var(--tf-surface-sub)}.vessel-cell-button.is-open{border-color:var(--tf-navy);background:var(--tf-navy);color:var(--tf-on-navy)}.vessel-details-inner{border-radius:0}.login-card{border-radius:0;box-shadow:none;background:var(--surface)}.login-card h1{color:var(--text);font-size:22px;font-weight:500;letter-spacing:-.01em}.login-field{color:var(--tf-ink-2);font-size:11px;font-weight:500;letter-spacing:.03em}.login-field input{padding:9px 10px;font-size:14px;font-weight:400}.login-error{border-radius:2px;border-color:transparent;background:var(--tf-danger-soft);color:var(--tf-danger);font-weight:500}.login-card .brand-mark{border-radius:2px;box-shadow:none}.toolbar-export-button,.coming-departures-export-button,.coming-departures-clear{border:1px solid var(--tf-line-strong);border-radius:2px;background:var(--surface);color:var(--text);font-family:var(--font-sans);font-weight:500}.toolbar-export-button:hover:not(:disabled),.coming-departures-export-button:hover:not(:disabled),.coming-departures-clear:hover{border-color:var(--tf-ink-2);background:var(--tf-surface-sub)}.coming-departures-table thead th{background:var(--tf-surface-head);color:var(--tf-ink-2);font-weight:500;letter-spacing:.03em}.coming-departures-table tbody td{border-bottom-color:var(--tf-line);color:var(--text)}.coming-departures-row:hover{background:var(--tf-surface-sub)}.coming-departures-row.is-active{background:var(--tf-selected)}.coming-departures-row.is-active td{color:var(--text)}.coming-departures-header h2{color:var(--text);font-size:15px;font-weight:500}.coming-departures-reservation-count{border-radius:2px;background:var(--tf-surface-head);color:var(--tf-ink-2);font-weight:500}.departure-cell-date{border-radius:2px;font-weight:500}.page-heading--compact{margin:0;padding:14px 0 10px}.page-heading--compact h1{margin:0}.view-tabs{display:flex;gap:0;margin-bottom:12px;box-shadow:inset 0 -1px 0 var(--tf-line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.view-tab{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:0;background:transparent;color:var(--tf-ink-2);cursor:pointer;font:500 13px/1 var(--font-sans);white-space:nowrap}.view-tab:hover{color:var(--text);background:var(--tf-surface-sub)}.view-tab[aria-selected=true]{color:var(--text)}.view-tab[aria-selected=true]:after{content:"";position:absolute;right:16px;bottom:0;left:16px;height:2px;background:var(--tf-navy)}html[data-theme=dark] .view-tab[aria-selected=true]:after{background:var(--tf-link)}.view-tab-count{display:inline-grid;min-width:20px;height:18px;padding:0 5px;place-items:center;border-radius:2px;background:var(--tf-surface-head);color:var(--tf-ink-2);font-size:11px;font-weight:500}.view-tab[aria-selected=true] .view-tab-count{background:var(--tf-navy);color:var(--tf-on-navy)}html[data-theme=dark] .view-tab[aria-selected=true] .view-tab-count{background:var(--tf-link);color:var(--surface)}.section-stack[hidden]{display:none}.table-section-toolbar{align-items:center;gap:8px}.table-section-toolbar .client-reference-validation-filter{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 4px 0 10px;border:1px dashed var(--tf-line-strong);border-radius:2px;background:var(--surface);flex-direction:row}.table-section-toolbar .client-reference-validation-filter:hover{border-color:var(--tf-ink-2)}.table-section-toolbar .client-reference-validation-filter-label,html[data-theme=dark] .table-section-toolbar .client-reference-validation-filter-label{margin:0;color:var(--tf-ink-2);font:500 12px/1 var(--font-sans);letter-spacing:0;text-transform:none}.table-section-toolbar .client-reference-validation-filter-label:after{content:":"}.table-section-toolbar .client-reference-validation-filter input,.table-section-toolbar .client-reference-validation-filter select{width:128px;height:24px;padding:0 4px;border:0;background-color:transparent;color:var(--tf-link);font:500 12px/1 var(--font-sans);box-shadow:none;outline-offset:0}.table-section-toolbar .client-reference-validation-filter input::-moz-placeholder{color:var(--tf-ink-3);font-weight:400}.table-section-toolbar .client-reference-validation-filter input::placeholder{color:var(--tf-ink-3);font-weight:400}.table-section-toolbar .client-reference-validation-filter:has(input:not(:-moz-placeholder)){border-style:solid;border-color:var(--tf-link);background:var(--tf-selected)}.table-section-toolbar .client-reference-validation-filter:has(input:not(:placeholder-shown)){border-style:solid;border-color:var(--tf-link);background:var(--tf-selected)}.table-section-toolbar .client-reference-validation-filter:focus-within{border-style:solid;border-color:var(--tf-link)}.table-section-toolbar .toolbar-export-button{margin-left:auto;height:28px;padding:0 10px;font-size:12px}.table-section-toolbar .toolbar-clear-all-button{height:28px;border:0;background:transparent;color:var(--tf-link);font-weight:500}.data-table tbody tr.expanded-row:has(>td:empty){display:none}.side-drawer-layer{position:fixed;inset:0;z-index:80}.side-drawer-scrim{position:absolute;inset:0;background:#0d14243d}.side-drawer{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(480px,100vw);border-left:1px solid var(--tf-line);background:var(--surface);box-shadow:0 8px 24px #1a2e582e;animation:side-drawer-in .22s cubic-bezier(.32,.72,0,1)}@keyframes side-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.side-drawer{animation:none}}.side-drawer-head{display:flex;align-items:flex-start;gap:8px;padding:14px 12px 14px 20px;border-bottom:1px solid var(--tf-line);background:var(--tf-navy);color:var(--tf-on-navy)}.side-drawer-head h2{margin:0;font:500 16px/22px var(--font-sans)}.side-drawer-ref{color:var(--tf-on-navy-muted);font:500 12px/18px var(--font-mono)}.side-drawer-close{display:grid;width:32px;height:32px;margin-left:auto;place-items:center;border:0;border-radius:2px;background:transparent;color:var(--tf-on-navy);cursor:pointer}.side-drawer-close:hover{background:var(--tf-navy-raised)}.side-drawer-close:focus-visible{outline:2px solid var(--tf-orange);outline-offset:-2px}.side-drawer-body{flex:1;overflow:auto}.side-drawer .vessel-details,html[data-theme=dark] .side-drawer .vessel-details{background:transparent}.side-drawer .vessel-details-inner{display:block;margin:0;border:0;border-radius:0;background:transparent}.side-drawer .vessel-details-info{padding:16px 20px;background:transparent}.side-drawer .vessel-details-title{display:none}.side-drawer .vessel-details-meta{font-size:13px}.side-drawer .vessel-details-meta dt{color:var(--tf-ink-3);font-weight:400}.side-drawer .vessel-details-meta dd{color:var(--text);font-weight:500}.side-drawer .vessel-details-map{min-height:0;padding:0 20px 20px;background:transparent}.side-drawer .vessel-details-map iframe{height:320px;border:1px solid var(--tf-line);border-radius:0}.admin-users-create-toolbar .admin-users-create-button,.admin-users-create-toolbar .admin-users-create-button:hover:not(:disabled){border-color:var(--tf-orange);color:var(--tf-on-orange);box-shadow:none}.admin-users-create-toolbar .admin-users-create-button:hover:not(:disabled){border-color:var(--tf-orange-hover)}.avatar,.avatar.role-employee,.avatar.role-manager,.avatar.role-team-leader,.avatar.role-accountant{background:var(--tf-navy-raised);color:var(--tf-on-navy);box-shadow:inset 0 0 0 1px var(--tf-on-navy-muted)}.role-chip,.role-chip.role-employee,.role-chip.role-manager,.role-chip.role-team-leader,.role-chip.role-accountant{background:var(--tf-navy-raised);color:var(--tf-on-navy)}html[data-theme=dark] .portal-header{border-bottom:0;background:var(--tf-navy)}html[data-theme=dark] .primary-navigation button{color:var(--tf-on-navy-muted)}html[data-theme=dark] .primary-navigation button:hover{background:var(--tf-navy-raised);color:var(--tf-on-navy)}html[data-theme=dark] .primary-navigation button.active{background:transparent;color:var(--tf-on-navy)}html[data-theme=dark] .company-context{border-color:transparent;background:transparent;color:var(--tf-on-navy)}html[data-theme=dark] .company-context:hover,html[data-theme=dark] .company-context.active{background:var(--tf-navy-raised)}html[data-theme=dark] .page-heading{border:0;background:transparent;box-shadow:none}html[data-theme=dark] .profile-menu{background:var(--surface)}body{font-size:12px}.portal-header{min-height:48px}.portal-header .brand-mark{width:30px;height:30px}.portal-header .brand-mark img{width:26px;height:26px}.portal-header .brand-copy strong{font-size:13px}.portal-header .brand-copy small{font-size:11px}.primary-navigation button{padding:0 14px;font-size:13px}.company-context{padding:4px 8px;font-size:12px}.profile-trigger{padding:3px 6px 3px 3px;gap:8px}.avatar{width:26px;height:26px;font-size:10.5px}.profile-name strong{font-size:12px}.role-chip{margin-top:1px;padding:1px 5px;font-size:10.5px}.portal-main{padding:0 20px 20px}.page-heading--compact{padding:10px 0 6px}.page-heading h1,.page-heading--compact h1{font-size:18px;line-height:24px}.view-tabs{margin-bottom:10px}.view-tab{height:34px;padding:0 12px;font-size:12.5px}.view-tab[aria-selected=true]:after{right:12px;left:12px}.section-stack{gap:10px}.coming-departures-section{width:100%}.coming-departures-header{padding:10px 14px 8px}.coming-departures-header h2{margin:0;font-size:14px;line-height:20px}.coming-departures-header p{margin:2px 0 0;font-size:12px}.coming-departures-table{font-size:12.5px}.coming-departures-table thead th{height:28px;padding:0 10px;font-size:11px}.coming-departures-table tbody td{height:30px;padding:0 10px}.coming-departures-table thead th.coming-departures-col-date,.coming-departures-table tbody td.coming-departures-col-date{padding-right:4px}.coming-departures-weekday{font-size:11px}.coming-departures-reservation-count{min-width:22px;padding:1px 6px;font-size:11px}.coming-departures-export-button{width:24px;height:24px;border-color:transparent;background:transparent;color:var(--tf-ink-2)}.coming-departures-export-button:hover:not(:disabled){border-color:transparent;background:var(--tf-surface-head);color:var(--text)}.table-section>summary{min-height:44px;padding:6px 14px;gap:10px}.section-title{font-size:14px}.section-description{font-size:12px}.count-badge{min-width:22px;height:18px;font-size:11px}.table-section-toolbar{padding:6px 14px}.data-table{font-size:12.5px}.data-table th,.data-table td{height:30px;padding:2px 8px}.data-table thead th{height:28px;font-size:11px}.data-table thead .column-filter-row th{height:28px;padding:2px 6px}.mono-cell{font-size:12px}.departure-cell-date{display:inline-block;padding:1px 6px;border-radius:2px;font-size:12px;line-height:18px}.vessel-cell-button,html[data-theme=dark] .vessel-cell-button{width:auto;min-height:0;padding:0;justify-content:flex-start;border:0;background:transparent;color:var(--text);font-size:12.5px;font-weight:500}.vessel-cell-button--static:hover,html[data-theme=dark] .vessel-cell-button--static:hover{background:transparent}button.vessel-cell-button{color:var(--tf-link);cursor:pointer}button.vessel-cell-button:hover{background:transparent;text-decoration:underline;text-underline-offset:2px}.vessel-cell-button.is-open{border:0;background:transparent;color:var(--tf-link);text-decoration:underline}.vessel-cell-flag{font-size:12px}.table-section-toolbar .client-reference-validation-filter{height:26px}.table-section-toolbar .client-reference-validation-filter input,.table-section-toolbar .client-reference-validation-filter select{width:120px;height:22px}.table-section-toolbar .toolbar-export-button{height:26px}.coming-departures-table colgroup col:nth-child(4),.coming-departures-table colgroup col:nth-child(5){width:1%}.coming-departures-table thead th:nth-child(4),.coming-departures-table tbody td:nth-child(4),.coming-departures-table thead th:nth-child(5),.coming-departures-table tbody td:nth-child(5){padding-right:40px;white-space:nowrap}.coming-departures-table thead th.coming-departures-col-export,.coming-departures-table tbody td.coming-departures-col-export{text-align:right;padding-right:14px}.data-table .cell-filter-dot{opacity:0;transition:opacity .12s ease-out}.data-table tbody tr:hover .cell-filter-dot,.data-table .cell-filter-dot:focus-visible{opacity:1}html{--p3-bg: #eef2f7;--p3-surface: #fff;--p3-soft: #f6f8fb;--p3-line: #e1e7ef;--p3-line-2: #c9d3e0;--p3-ink: #16243c;--p3-muted: #5d6b80;--p3-faint: #8a96a8;--p3-navy: #1a2e58;--p3-navy-2: #24396a;--p3-on-navy: #b3c0d9;--p3-blue: #079be5;--p3-blue-dark: #0a6aa1;--p3-blue-soft: #e9f6fe;--p3-selected: #e4edfb;--p3-edge: #264b96;--p3-orange: #f08700;--p3-weekday-ink: #16243c;--weekday-monday: #fff89a;--weekday-tuesday: #ffc5d3;--weekday-wednesday: #d7fba9;--weekday-thursday: #d7effb;--weekday-friday: #ffe09a;--weekday-saturday: #d5d9de;--weekday-sunday: #dcb5f2;--p3-font: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif}html[data-theme=dark]{--p3-bg: #0b1220;--p3-surface: #141d2e;--p3-soft: #192438;--p3-line: #263247;--p3-line-2: #33415a;--p3-ink: #e3e9f3;--p3-muted: #9aa7bb;--p3-faint: #6f7c92;--p3-navy: #0f1b36;--p3-navy-2: #1a2a4d;--p3-on-navy: #a2b0c9;--p3-blue: #2aa8ec;--p3-blue-dark: #7cc7f2;--p3-blue-soft: #12304a;--p3-selected: #1d3156;--p3-edge: #8fb0ee;--p3-weekday-ink: #e3e9f3;--weekday-monday: #4a4618;--weekday-tuesday: #4e2632;--weekday-wednesday: #2f4519;--weekday-thursday: #1d3a4f;--weekday-friday: #4b3815;--weekday-saturday: #353a42;--weekday-sunday: #3d2a4d}html body{background:var(--p3-bg);color:var(--p3-ink);font-family:var(--p3-font)}html .portal-shell{background:var(--p3-bg);font-family:var(--p3-font)}html .portal-shell [hidden]{display:none!important}html .portal-shell .portal-header,html[data-theme=dark] .portal-shell .portal-header{display:flex;gap:20px;min-height:56px;height:56px;padding:0 24px;border:0;background:var(--p3-navy);box-shadow:none;backdrop-filter:none;color:#fff}html .portal-shell .brand-mark{width:32px;height:32px;border-radius:8px;background:#1f3259;box-shadow:inset 0 0 0 1px #ffffff2e}html .portal-shell .brand-mark img{width:26px;height:26px}html .portal-shell .brand-copy strong{color:#fff;font:650 14px/1 var(--p3-font);letter-spacing:0}html .portal-shell .brand-copy small{margin-top:3px;color:var(--p3-on-navy);font-size:11px}html .portal-shell .primary-navigation{align-self:center;gap:4px;margin-left:24px}html .portal-shell .primary-navigation button,html[data-theme=dark] .portal-shell .primary-navigation button{align-self:center;min-width:0;height:34px;padding:0 14px;border-radius:8px;background:transparent;color:var(--p3-on-navy);font:500 13px var(--p3-font)}html .portal-shell .primary-navigation button:after{display:none}html .portal-shell .primary-navigation button:hover,html[data-theme=dark] .portal-shell .primary-navigation button:hover{background:var(--p3-navy-2);color:#fff}html .portal-shell .primary-navigation button.active,html[data-theme=dark] .portal-shell .primary-navigation button.active{background:#ffffff1f;color:#fff;font-weight:600;box-shadow:inset 0 -2px 0 var(--p3-orange)}html .portal-shell .account-navigation{gap:12px;margin-left:auto}html .portal-shell .company-context,html[data-theme=dark] .portal-shell .company-context{height:32px;padding:0 12px;border:0;border-radius:8px;background:#ffffff14;color:#fff;font:600 12px var(--p3-font)}html .portal-shell .profile-trigger{gap:10px;padding:4px 8px 4px 4px;border:0;border-radius:10px;background:transparent;color:#fff}html .portal-shell .profile-trigger:hover{background:var(--p3-navy-2)}html .portal-shell .profile-trigger .avatar{width:32px;height:32px;border-radius:50%;background:var(--p3-navy-2);box-shadow:inset 0 0 0 1px #ffffff40;color:#fff;font:600 11px var(--p3-font)}html .portal-shell .profile-name strong{color:#fff;font:600 12.5px/1.2 var(--p3-font)}html .portal-shell .profile-name .role-chip{margin-top:3px;padding:1px 6px;border:0;border-radius:4px;background:var(--p3-blue);color:#fff;font:600 9.5px/14px var(--p3-font);letter-spacing:.04em}html .portal-shell .profile-caret{border-color:var(--p3-on-navy)}html .portal-shell .portal-main--band{padding:0}.portal-band{display:flow-root;padding:18px 24px 0;background:var(--p3-navy)}.portal-band--small{padding-bottom:64px}.portal-band-inner,.portal-below>.section-stack,.portal-below--settings>*{max-width:1360px;margin-right:auto;margin-left:auto}.portal-band-title{display:flex;align-items:flex-end;gap:12px;padding-bottom:14px;color:#fff}.portal-band-title h1{margin:0;color:#fff;font:700 22px/1.2 var(--p3-font);letter-spacing:-.01em}.portal-band-title>span{padding-bottom:2px;color:var(--p3-on-navy);font-size:13px}html .portal-shell .portal-band .view-tabs{gap:4px;margin:0 0 0 auto;box-shadow:none}html .portal-shell .portal-band .view-tab{height:34px;padding:0 14px;border-radius:8px;background:transparent;color:var(--p3-on-navy);font:500 13px var(--p3-font)}html .portal-shell .portal-band .view-tab:hover{background:var(--p3-navy-2);color:#fff}html .portal-shell .portal-band .view-tab:after{display:none}html .portal-shell .portal-band .view-tab[aria-selected=true],html[data-theme=dark] .portal-shell .portal-band .view-tab[aria-selected=true]{background:#fff;color:#16243c;font-weight:600}html .portal-shell .portal-band .view-tab-count{min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:#ffffff24;color:inherit;font:600 10.5px/18px var(--p3-font)}html .portal-shell .portal-band .view-tab[aria-selected=true] .view-tab-count,html[data-theme=dark] .portal-shell .portal-band .view-tab[aria-selected=true] .view-tab-count{background:var(--p3-navy);color:#fff}.portal-band-card{position:relative;margin-bottom:-120px}.portal-below{padding:136px 24px 28px}.portal-below--settings{padding-top:0;margin-top:-48px}html .portal-shell .coming-departures-section,html .portal-shell .reservation-board,html .portal-shell .profile-card{border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 1px 2px #1018280d;overflow:hidden}html .portal-shell .portal-band-card .coming-departures-section{box-shadow:0 14px 36px #0a163038}html .portal-shell .coming-departures-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px}html .portal-shell .coming-departures-header .board-tabs{flex-wrap:wrap}html .portal-shell .coming-departures-empty{height:64px;color:var(--p3-muted);text-align:center}html .portal-shell .coming-departures-table-wrap.is-loading{opacity:.65}html .portal-shell .coming-departures-table--schedule thead th:nth-child(4),html .portal-shell .coming-departures-table--schedule tbody td:nth-child(4),html .portal-shell .coming-departures-table--schedule thead th:nth-child(5),html .portal-shell .coming-departures-table--schedule tbody td:nth-child(5){padding-right:10px}html .portal-shell .reservations-layout{display:flex;flex-direction:column;gap:16px}html .portal-shell .reservations-layout>div>.coming-departures-section{box-shadow:0 14px 36px #0a163038}html .portal-shell .coming-departures-header .card-kicker{display:none}html .portal-shell .coming-departures-header h2,.reservation-board-header h2{margin:0;color:var(--p3-ink);font:650 15px/1.25 var(--p3-font)}html .portal-shell .coming-departures-header p,.reservation-board-header p{margin:3px 0 0;color:var(--p3-muted);font-size:12.5px}html .portal-shell .coming-departures-table-wrap{max-height:none;overflow:visible}html .portal-shell .reservations-layout .coming-departures-table thead th{position:static}html .portal-shell .coming-departures-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11.5px}html .portal-shell .coming-departures-table thead th,html[data-theme=dark] .portal-shell .coming-departures-table thead th{position:sticky;top:0;z-index:1;height:30px;padding:0 10px;border-bottom:1px solid var(--p3-line-2);background:var(--p3-soft);color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.03em;text-transform:uppercase;text-align:left}html .portal-shell .coming-departures-table tbody td,html[data-theme=dark] .portal-shell .coming-departures-table tbody td{height:30px;padding:0 10px;border-bottom:1px solid var(--p3-line);background:var(--p3-row, var(--p3-surface));color:var(--p3-ink);white-space:nowrap}html .portal-shell .coming-departures-row{cursor:pointer}html .portal-shell .coming-departures-row:hover td{--p3-row: var(--p3-soft)}html .portal-shell .coming-departures-row.is-active td{--p3-row: var(--p3-selected)}html .portal-shell .coming-departures-row.is-active td:first-child{box-shadow:inset 3px 0 var(--p3-edge)}html .portal-shell .coming-departures-col-reservations,html .portal-shell .coming-departures-col-export{text-align:center!important}html .portal-shell .coming-departures-reservation-count{display:inline-grid;min-width:24px;height:20px;padding:0 6px;place-items:center;border-radius:10px;background:var(--p3-blue-soft);color:var(--p3-blue-dark);font-weight:600}html .portal-shell .coming-departures-export-button{width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--p3-muted)}html .portal-shell .coming-departures-export-button:hover:not(:disabled){background:var(--p3-soft);color:var(--p3-ink)}html .portal-shell .coming-departures-clear{height:28px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-blue-dark);font:500 12px var(--p3-font)}html .portal-shell .departure-cell{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.departure-weekday{display:inline-grid;width:36px;height:20px;place-items:center;border-radius:5px;color:var(--p3-weekday-ink);font:700 10.5px/1 var(--p3-font);letter-spacing:.04em}html .portal-shell .departure-cell-date{min-width:72px;padding:0;border-radius:0;background:none;color:var(--p3-ink);font-weight:600}html .portal-shell .departure-cell-time{color:var(--p3-muted);font-size:11.5px;font-weight:400}.reservation-board-header{padding:14px 16px 10px}html .portal-shell .reservation-board-header .count-badge,html[data-theme=dark] .portal-shell .reservation-board-header .count-badge{display:inline-block;min-width:22px;height:18px;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--p3-navy);color:#fff;font:600 10.5px/18px var(--p3-font);text-align:center;vertical-align:2px}html[data-theme=dark] .portal-shell .reservation-board-header .count-badge{background:var(--p3-blue)}.reservation-board-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--p3-line);border-bottom:1px solid var(--p3-line);background:var(--p3-soft)}.reservation-board-search{display:flex;align-items:center;gap:6px;width:320px;height:30px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-faint)}.reservation-board-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--p3-ink);font:12px var(--p3-font)}.reservation-board-active{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:12px;background:var(--p3-blue-soft);color:var(--p3-blue-dark);font:600 11.5px var(--p3-font)}.reservation-board-clear,.reservation-board-export{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-blue-dark);font:500 12px var(--p3-font);cursor:pointer}.reservation-board-export{height:30px;padding:0 12px;color:var(--p3-ink);font-weight:600}.reservation-board-export:disabled{opacity:.55;cursor:default}.reservation-board-spacer{flex:1}.reservation-board-total{color:var(--p3-muted);font-size:12px}.reservation-board-body{max-height:calc(100vh - 210px);min-height:220px;overflow:auto}.reservation-board-body.is-loading{opacity:.6}html .portal-shell .reservation-board .data-table-viewport{overflow:visible;border:0}html .portal-shell .reservations-layout .reservation-board .data-table-viewport{max-width:100%;min-width:0;overflow:visible}html .portal-shell .reservations-layout .reservation-board-table.data-table th,html .portal-shell .reservations-layout .reservation-board-table.data-table td{transform:translate(calc(var(--table-x, 0px) * -1))}html .portal-shell .reservations-layout .reservation-board-table.data-table .is-pinned{transform:none}html .portal-shell .reservations-layout .data-table-xbar{position:sticky;top:103px;z-index:3;height:14px;overflow-x:auto;overflow-y:hidden;background:var(--p3-soft);border-bottom:1px solid var(--p3-line)}html body .portal-shell .reservations-layout .data-table-xbar+.data-table-viewport .reservation-board-table.data-table thead th,html[data-theme=dark] body .portal-shell .reservations-layout .data-table-xbar+.data-table-viewport .reservation-board-table.data-table thead th{top:117px}html body .portal-shell .reservation-board-table.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--p3-surface);color:var(--p3-ink);font-family:var(--p3-font);font-size:11.5px}html body .portal-shell .reservation-board-table.data-table thead th,html[data-theme=dark] body .portal-shell .reservation-board-table.data-table thead th{position:sticky;top:0;z-index:2;height:44px;padding:6px;border-bottom:1px solid var(--p3-line-2);background:var(--p3-soft);vertical-align:middle}html body .portal-shell .reservation-board-table.data-table tbody tr td,html[data-theme=dark] body .portal-shell .reservation-board-table.data-table tbody tr td,html[data-theme=dark] body .portal-shell .reservation-board-table.data-table tbody tr:nth-child(2n) td{position:relative;height:30px;padding:0 10px;border-bottom:1px solid var(--p3-line);background:var(--p3-row, var(--p3-surface));color:var(--p3-ink);white-space:nowrap}html body .portal-shell .reservation-board-table.data-table tbody tr{cursor:pointer}html body .portal-shell .reservation-board-table.data-table tbody tr:hover td{--p3-row: var(--p3-soft)}html body .portal-shell .reservation-board-table.data-table tbody tr.is-selected td{--p3-row: var(--p3-selected)}html body .portal-shell .reservation-board-table.data-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 var(--p3-edge)}html body .portal-shell .reservation-board-table.data-table tbody tr.trailer-group-end td{border-bottom:1px solid var(--p3-line-2)}html body .portal-shell .reservation-board-table .empty-table{padding:28px;color:var(--p3-muted);text-align:center;cursor:default}html .portal-shell .reservation-board-table .mono-cell{color:var(--p3-ink);font-size:11.5px}.multi-select-filter{position:relative;display:flex;align-items:center;gap:4px}.multi-select-trigger{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:92px;padding:4px 22px 4px 8px;border:1px solid var(--p3-line);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font:inherit;text-align:left;cursor:pointer}.multi-select-trigger:hover{border-color:var(--p3-line-2)}.multi-select-filter.is-active .multi-select-trigger{border-color:var(--p3-blue);background:var(--p3-blue-soft)}.multi-select-filter.is-open .multi-select-trigger{box-shadow:0 0 0 2px #079be540}.multi-select-label{color:var(--p3-muted);font:650 10px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.multi-select-value{max-width:150px;overflow:hidden;color:var(--p3-blue-dark);font:600 11.5px/1.2 var(--p3-font);text-overflow:ellipsis;text-transform:none;white-space:nowrap}.multi-select-value.is-empty{color:var(--p3-faint);font-weight:500}.multi-select-caret{position:absolute;top:50%;right:8px;width:6px;height:6px;margin-top:-4px;border-right:1.5px solid var(--p3-muted);border-bottom:1.5px solid var(--p3-muted);transform:rotate(45deg)}.multi-select-clear{position:absolute;top:50%;right:4px;display:grid;width:16px;height:16px;margin-top:-8px;padding:0;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--p3-blue-dark);font:600 13px/1 var(--p3-font);cursor:pointer}.multi-select-filter:has(.multi-select-addon) .multi-select-clear{right:34px}.multi-select-clear:hover{background:#079be52e}.multi-select-addon{display:inline-flex}.multi-select-popover{position:fixed;z-index:1000;padding:8px;border:1px solid var(--p3-line-2);border-radius:10px;background:var(--p3-surface);box-shadow:0 12px 32px #1018282e;color:var(--p3-ink);font:12px var(--p3-font)}.multi-select-search{display:flex;align-items:center;gap:6px;height:30px;margin-bottom:6px;padding:0 9px;border:1px solid var(--p3-line-2);border-radius:7px;color:var(--p3-faint)}.multi-select-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--p3-ink);font:12px var(--p3-font)}.multi-select-options{max-height:280px;overflow-y:auto}.multi-select-option{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 6px;border-radius:6px;cursor:pointer}.multi-select-option:hover{background:var(--p3-soft)}.multi-select-option input{accent-color:var(--p3-blue)}.multi-select-option-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-option em{margin-left:auto;color:var(--p3-muted);font:600 11px var(--p3-font);font-style:normal}.multi-select-freighter{display:inline-flex;align-items:center;gap:8px}.multi-select-empty{padding:10px 6px;color:var(--p3-muted)}.multi-select-footer{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:8px;border-top:1px solid var(--p3-line)}.multi-select-spacer{flex:1}.multi-select-link{border:0;background:none;color:var(--p3-blue-dark);font:500 12px var(--p3-font);cursor:pointer}.multi-select-button{height:26px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font:600 11.5px var(--p3-font);cursor:pointer}.multi-select-button.is-primary{border-color:var(--p3-orange);background:var(--p3-orange);color:#14213f}.quick-filter-dot{position:absolute;top:0;right:0;width:18px;height:18px;padding:0;border:0;background:none;opacity:0;pointer-events:none;cursor:pointer}.quick-filter-dot:before{content:"";position:absolute;top:4px;right:4px;width:3px;height:3px;border-radius:50%;background:var(--p3-faint);transition:background .12s,transform .12s}.quick-filter-dot:after{content:attr(data-tip);position:absolute;top:17px;right:0;z-index:6;padding:4px 8px;border:1px solid var(--p3-line-2);border-radius:5px;background:var(--p3-surface);box-shadow:0 4px 12px #1018281f;color:var(--p3-ink);font:500 11.5px/1.2 var(--p3-font);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .1s}.reservation-board-table tbody tr:hover .quick-filter-dot,.reservation-board-table tbody tr.is-selected .quick-filter-dot{opacity:1;pointer-events:auto}.quick-filter-dot:hover:before,.quick-filter-dot.is-active:before{background:var(--p3-blue)}.quick-filter-dot:hover:before{transform:scale(1.5)}.quick-filter-dot:hover:after{opacity:1}html .portal-shell .cell-filter-dot{display:none}.freighter-cell{display:inline-grid;min-width:24px;height:20px;padding:0 5px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--p3-fc) 12%,transparent);color:var(--p3-fc);font:600 10.5px/1 var(--p3-font);letter-spacing:.03em}.freighter-blue{--p3-fc: #1a7fc4}.freighter-orange{--p3-fc: #c46a00}.freighter-green{--p3-fc: #13876a}.freighter-violet{--p3-fc: #7a52d6}.freighter-teal{--p3-fc: #0e7f8c}.freighter-rose{--p3-fc: #c2416b}html[data-theme=dark] .freighter-blue{--p3-fc: #5cb8f2}html[data-theme=dark] .freighter-orange{--p3-fc: #f2a54a}html[data-theme=dark] .freighter-green{--p3-fc: #4fcfa6}html[data-theme=dark] .freighter-violet{--p3-fc: #ad91f5}html[data-theme=dark] .freighter-teal{--p3-fc: #5ccfdc}html[data-theme=dark] .freighter-rose{--p3-fc: #f28aab}html .portal-shell .portal-below--settings .settings-page-grid{max-width:760px}html .portal-shell .settings-save{border:1px solid var(--p3-orange);border-radius:8px;background:var(--p3-orange);color:#14213f;font:600 12px var(--p3-font)}html .portal-shell .brand-copy strong{text-transform:none}html .portal-shell .coming-departures-table{table-layout:auto}html .portal-shell .coming-departures-table col{width:auto}html .portal-shell .coming-departures-table .coming-departures-col-date{width:1%}html .portal-shell .coming-departures-table .coming-departures-col-reservations,html .portal-shell .coming-departures-table .coming-departures-col-export{width:110px}html[data-theme=dark] .departure-weekday[class*=departure-day-]{border:0;color:var(--p3-weekday-ink)}html .portal-shell .vessel-cell-button--static,html .portal-shell .reservation-board-table .vessel-cell-button{padding:0;border:0;background:none;color:var(--p3-ink);font-weight:500}html .portal-shell .reservation-board-table .vessel-cell-button:hover{color:var(--p3-blue-dark);text-decoration:underline}html .portal-shell .portal-band--small .portal-band-inner{max-width:760px}html .portal-shell .reservation-board{overflow:clip}html .portal-shell .reservation-board-toolbar{position:sticky;top:56px;z-index:4}html .portal-shell .reservation-board-body{max-height:none;min-height:0;overflow:visible}html body .portal-shell .reservation-board-table.data-table thead th,html[data-theme=dark] body .portal-shell .reservation-board-table.data-table thead th{top:103px}@media (max-width: 1499px){html .portal-shell .reservation-board-body{max-height:calc(100vh - 103px);overflow:auto}html .portal-shell .reservations-layout .reservation-board-body{max-height:none;overflow:visible}html body .portal-shell .reservation-board-table.data-table thead th,html[data-theme=dark] body .portal-shell .reservation-board-table.data-table thead th{top:0}html body .portal-shell .reservations-layout .reservation-board-table.data-table thead th,html[data-theme=dark] body .portal-shell .reservations-layout .reservation-board-table.data-table thead th{top:103px}}.quick-filter-dot:after{display:none}html .portal-shell .coming-departures-header .count-badge,html[data-theme=dark] .portal-shell .coming-departures-header .count-badge{display:inline-block;min-width:22px;height:18px;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--p3-navy);color:#fff;font:600 10.5px/18px var(--p3-font);text-align:center;vertical-align:2px}html[data-theme=dark] .portal-shell .coming-departures-header .count-badge{background:var(--p3-blue)}html .portal-shell .portal-header,html[data-theme=dark] .portal-shell .portal-header{padding-right:max(24px,calc((100% - 1360px)/2));padding-left:max(24px,calc((100% - 1360px)/2))}html .portal-shell .portal-header .brand{padding-left:0}html .portal-shell .primary-navigation{margin-left:0}html .portal-shell .portal-header{gap:12px}.theme-toggle{display:inline-grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:8px;background:#ffffff14;color:#fff;cursor:pointer}.theme-toggle:hover{background:var(--p3-navy-2)}html .portal-shell .profile-menu,html[data-theme=dark] .portal-shell .profile-menu{top:calc(100% + 6px);right:0;left:auto;min-width:180px;width:auto;padding:6px;border:1px solid var(--p3-line-2);border-radius:10px;background:var(--p3-surface);box-shadow:0 12px 32px #1018282e}html .portal-shell .profile-menu button,html[data-theme=dark] .portal-shell .profile-menu button{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--p3-ink);font:500 12.5px var(--p3-font);text-align:left;cursor:pointer}html .portal-shell .profile-menu button:hover{background:var(--p3-soft);color:var(--p3-ink)}html .portal-shell .profile-menu button svg{color:var(--p3-muted)}html .portal-shell .company-port-list{flex-wrap:nowrap;white-space:nowrap}html .portal-shell .profile-menu button{justify-content:space-between}html body .login-shell{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:72px 16px 40px;background:linear-gradient(var(--p3-navy) 0 300px,var(--p3-bg) 300px);font-family:var(--p3-font)}html body .login-shell .login-card,html body .login-shell .admin-chooser-card,html[data-theme=dark] body .login-shell .login-card,html[data-theme=dark] body .login-shell .admin-chooser-card{width:min(400px,100%);padding:28px;border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 14px 36px #0a163038;color:var(--p3-ink)}html body .login-shell .admin-chooser-card{width:min(640px,100%)}html body .login-shell .brand{margin-bottom:20px;padding:0}html body .login-shell .brand-mark{width:40px;height:40px;border-radius:10px;background:var(--p3-navy);box-shadow:none}html body .login-shell .brand-mark img{width:30px;height:30px}html body .login-shell .card-kicker{display:none}html body .login-shell h1{margin:0;color:var(--p3-ink);font:700 20px/1.25 var(--p3-font);letter-spacing:-.01em}html body .login-shell h1+p,html body .login-shell .admin-chooser-card>p{margin:6px 0 20px;color:var(--p3-muted);font-size:13px;line-height:1.45}html body .login-shell .login-form{display:grid;gap:14px}html body .login-shell .login-field{display:grid;gap:6px}html body .login-shell .login-field>span{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html body .login-shell .login-field input,html[data-theme=dark] body .login-shell .login-field input{height:38px;padding:0 12px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:13px var(--p3-font);box-shadow:none}html body .login-shell .login-field input:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 3px #079be52e}html body .login-shell .login-submit{height:40px;margin-top:6px;border:1px solid var(--p3-orange);border-radius:8px;background:var(--p3-orange);color:#14213f;font:650 13px var(--p3-font);cursor:pointer}html body .login-shell .login-submit:hover:not(:disabled){filter:brightness(1.05)}html body .login-shell .login-submit:disabled{opacity:.6;cursor:default}html body .login-shell .login-error{margin:0 0 14px;padding:10px 12px;border:1px solid #f3c2bd;border-radius:8px;background:#fdf0ee;color:#a3271b;font-size:12.5px}html body .login-shell .admin-chooser-alt-link{display:block;margin:18px auto 0;border:0;background:none;color:var(--p3-blue-dark);font:500 12.5px var(--p3-font);cursor:pointer}html body .login-shell .process-note{display:flex;gap:10px;padding:12px;border-radius:8px;background:var(--p3-soft);color:var(--p3-muted);font-size:12.5px}html body .login-shell .admin-chooser-quick-filters{display:flex;gap:6px;margin-bottom:12px}html body .login-shell .admin-chooser-quick-filters button{height:28px;padding:0 12px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font:500 12px var(--p3-font);cursor:pointer}html body .login-shell .admin-chooser-quick-filters button.active{border-color:var(--p3-navy);background:var(--p3-navy);color:#fff}html body .login-shell .admin-chooser-filter-block{margin-bottom:14px}html body .login-shell .admin-chooser-groups{border:1px solid var(--p3-line);border-radius:10px;overflow:hidden}html body .login-shell .admin-chooser-group-heading{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--p3-line);background:var(--p3-soft)}html body .login-shell .admin-chooser-user{border:0;border-bottom:1px solid var(--p3-line);border-radius:0;background:var(--p3-surface);color:var(--p3-ink)}html body .login-shell .admin-chooser-user:hover:not(:disabled){background:var(--p3-soft)}html body .login-shell .admin-chooser-action{color:var(--p3-blue-dark);font-weight:600}html body .login-shell .admin-chooser-recent-label{display:block;margin:14px 0 8px;color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html body .login-shell .admin-chooser-user{padding-top:8px;padding-bottom:8px}html body .login-shell.login-split{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);align-items:stretch;padding:0;background:var(--p3-surface)}.login-aside{display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;background:var(--p3-navy);color:#fff}.login-wordmark strong{display:block;font:800 14px/1 var(--p3-font);letter-spacing:.04em}.login-wordmark span{display:block;margin-top:4px;color:var(--p3-on-navy);font-size:12px}.login-pitch{max-width:440px}.login-rule{display:block;width:40px;height:3px;margin-bottom:22px;border-radius:2px;background:var(--p3-orange)}.login-pitch h2{margin:0 0 14px;color:#fff;font:700 30px/1.2 var(--p3-font);letter-spacing:-.015em}.login-pitch p{margin:0;color:var(--p3-on-navy);font-size:14px;line-height:1.55}.login-site{color:var(--p3-on-navy);font-size:12.5px;text-decoration:none}.login-site:hover{color:#fff}.login-main{display:flex;align-items:center;justify-content:center;padding:48px 24px}html body .login-shell.login-split .login-card,html[data-theme=dark] body .login-shell.login-split .login-card{width:min(360px,100%);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}html body .login-shell.login-split h1{font-size:18px}html body .login-shell.login-split h1+p{margin-bottom:18px}.login-field-error{display:flex;align-items:center;gap:6px;color:#c0392b;font-size:12px}.login-field-error:before{content:"!";display:inline-grid;width:14px;height:14px;place-items:center;border:1.5px solid currentColor;border-radius:50%;font:700 9px/1 var(--p3-font)}html body .login-shell .login-field input[aria-invalid=true]{border-color:#e0786d}@media (max-width: 860px){html body .login-shell.login-split{grid-template-columns:1fr}.login-aside{gap:28px;padding:32px 24px}.login-pitch h2{font-size:24px}}html body .login-shell.login-split{justify-content:stretch;width:100%;max-width:none;gap:0}html body .login-shell.login-split>.login-aside{width:auto;max-width:none;margin:0;justify-self:stretch}html body .login-shell.login-split{grid-template-columns:minmax(380px,46fr) minmax(380px,54fr)}html body .login-shell.login-split>.login-aside{position:relative;overflow:hidden;background:radial-gradient(120% 80% at 0% 100%,#24407a 0%,transparent 60%),radial-gradient(90% 70% at 100% 0%,#213a6e 0%,transparent 55%),var(--p3-navy)}.login-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.login-routes path{fill:none;stroke:#ffffff1a;stroke-width:1.5;stroke-dasharray:2 7;stroke-linecap:round}.login-routes circle{fill:#f087008c}.login-aside>:not(.login-routes){position:relative}.login-wordmark{display:flex;align-items:center;gap:12px}.login-wordmark .brand-mark{width:40px;height:40px;border-radius:10px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff2e}.login-wordmark .brand-mark img{width:28px;height:28px}.login-wordmark small{display:block;margin-top:4px;color:var(--p3-on-navy);font-size:12px}.login-pitch h2{font-size:36px}.login-features{display:grid;gap:16px;margin:32px 0 0;padding:0;list-style:none}.login-features li{display:flex;align-items:flex-start;gap:14px}.login-feature-icon{display:inline-grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border-radius:9px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff1f;color:#ffb04d}.login-features strong{display:block;color:#fff;font:600 13.5px/1.3 var(--p3-font)}.login-features small{display:block;margin-top:2px;color:var(--p3-on-navy);font-size:12.5px;line-height:1.45}.login-aside-foot{display:flex;justify-content:space-between;color:#b3c0d9b3;font-size:12px}.login-main{background:radial-gradient(70% 50% at 50% 0%,rgba(7,155,229,.06),transparent 70%),var(--p3-surface)}html body .login-shell.login-split .login-card{width:min(380px,100%)}html body .login-shell.login-split h1{font-size:24px}html body .login-shell.login-split h1+p{margin:6px 0 26px;font-size:13.5px}html body .login-shell .login-field{position:relative}html body .login-shell .login-field input{height:42px}html body .login-shell .login-field input[type=password],html body .login-shell .login-field input[name=password]{padding-right:40px}.login-password-toggle{position:absolute;top:26px;right:6px;display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:6px;background:none;color:var(--p3-faint);cursor:pointer}.login-password-toggle:hover{background:var(--p3-soft);color:var(--p3-ink)}html body .login-shell .login-submit{height:44px;font-size:14px;box-shadow:0 6px 16px #f0870047}@media (max-width: 860px){html body .login-shell.login-split{grid-template-columns:1fr}.login-features{display:none}}html body .login-shell.login-split{min-height:100vh}html body .login-shell.login-split>.login-aside{gap:32px;padding:40px 56px}.login-routes{position:absolute!important}.login-main{background:var(--p3-surface)}.login-routes circle{fill:#f0870066}html body .login-shell.login-split{grid-template-columns:minmax(420px,62fr) minmax(400px,38fr)}html body .login-shell.login-split>.login-aside{padding:44px clamp(40px,6vw,96px)}.login-pitch{max-width:520px}html body .login-shell.login-split{grid-template-columns:minmax(380px,1fr) minmax(380px,1fr)}html body .login-shell.login-split>.login-aside{padding:44px 56px}.login-pitch{max-width:460px}.login-main{background:linear-gradient(180deg,#f3f6fb,#e9eef6)}html[data-theme=dark] .login-main{background:var(--p3-bg)}html body .login-shell.login-split .login-card,html[data-theme=dark] body .login-shell.login-split .login-card{width:min(400px,100%);padding:36px 36px 30px;border:1px solid var(--p3-line);border-radius:16px;background:var(--p3-surface);box-shadow:0 1px 2px #1018280a,0 18px 40px #10182814}html body .login-shell.login-split .login-card:before{content:"";display:block;width:32px;height:3px;margin-bottom:18px;border-radius:2px;background:var(--p3-orange)}@media (max-width: 860px){html body .login-shell.login-split{grid-template-columns:1fr}}html body .login-shell.login-split>.login-main{width:auto;max-width:none;margin:0;justify-self:stretch}html .portal-shell .admin-mode-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:0;border-radius:12px;background:#f087002e;color:#ffb04d;font:600 11px var(--p3-font);letter-spacing:.03em}.portal-below--admin{padding-top:0;margin-top:-48px}.portal-admin-content{max-width:1360px;margin:0 auto}html .portal-shell--admin .portal-band-title .working-date{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;color:#fff}html .portal-shell--admin .working-date-today{color:#fff;font:600 13px var(--p3-font)}html .portal-shell--admin .working-date-api-line{color:var(--p3-on-navy);font-size:11.5px}html .portal-shell--admin .profile-card,html[data-theme=dark] .portal-shell--admin .profile-card{border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 1px 2px #1018280d;color:var(--p3-ink)}html .portal-shell--admin .portal-admin-content>*+*,html .portal-shell--admin .admin-dashboard-layout>*+*{margin-top:14px}html .portal-shell--admin .profile-card h2,html .portal-shell--admin .profile-card h3{color:var(--p3-ink);font:650 15px/1.25 var(--p3-font)}html .portal-shell--admin .eyebrow,html .portal-shell--admin .card-kicker{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em}html .portal-shell--admin .admin-dashboard-table,html .portal-shell--admin .data-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--p3-font);font-size:12px}html .portal-shell--admin .admin-dashboard-table thead th,html .portal-shell--admin .data-table thead th,html[data-theme=dark] .portal-shell--admin .admin-dashboard-table thead th,html[data-theme=dark] .portal-shell--admin .data-table thead th{height:32px;padding:0 10px;border-bottom:1px solid var(--p3-line-2);background:var(--p3-soft);color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.03em;text-transform:uppercase}html .portal-shell--admin .admin-dashboard-table tbody td,html .portal-shell--admin .data-table tbody td,html[data-theme=dark] .portal-shell--admin .admin-dashboard-table tbody td,html[data-theme=dark] .portal-shell--admin .data-table tbody td,html[data-theme=dark] .portal-shell--admin .data-table tbody tr:nth-child(2n) td{height:34px;padding:0 10px;border-bottom:1px solid var(--p3-line);background:var(--p3-row, var(--p3-surface));color:var(--p3-ink)}html .portal-shell--admin .admin-dashboard-table tbody tr:hover td,html .portal-shell--admin .data-table tbody tr:hover td{--p3-row: var(--p3-soft)}html .portal-shell--admin .admin-users-filter-field>span,html .portal-shell--admin .admin-users-filter-field label{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html .portal-shell--admin .admin-users-filter-field input,html .portal-shell--admin .admin-users-filter-field select,html .portal-shell--admin .admin-users-filter-field textarea,html[data-theme=dark] .portal-shell--admin .admin-users-filter-field input,html[data-theme=dark] .portal-shell--admin .admin-users-filter-field select{min-height:36px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:13px var(--p3-font);box-shadow:none}html .portal-shell--admin .admin-users-filter-field input:focus,html .portal-shell--admin .admin-users-filter-field select:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 3px #079be52e}html .portal-shell--admin button.primary,html .portal-shell--admin .admin-users-create-button{height:34px;padding:0 14px;border:1px solid var(--p3-orange);border-radius:8px;background:var(--p3-orange);color:#14213f;font:650 12.5px var(--p3-font);cursor:pointer}html .portal-shell--admin button.secondary,html .portal-shell--admin .admin-user-details-back,html .portal-shell--admin .admin-statistics-back-button{height:34px;padding:0 14px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:600 12.5px var(--p3-font);cursor:pointer}html .portal-shell--admin .admin-users-icon-button{border:1px solid var(--p3-line);border-radius:7px;background:var(--p3-surface);color:var(--p3-muted)}html .portal-shell--admin .admin-users-icon-button:hover{border-color:var(--p3-line-2);color:var(--p3-ink)}html .portal-shell--admin .portal-band-title .working-date{min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}html .portal-shell--admin .working-date-api-line{display:inline-flex;align-items:center;gap:6px}html .portal-shell--admin .working-date-api-line:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}html .portal-shell--admin .working-date-api-production{color:#6fd3a3}html .portal-shell--admin .working-date-api-local{color:#ffcf66}html .portal-shell--admin .admin-dashboard-layout>*+*{margin-top:0}html .portal-shell--admin .admin-dashboard-layout{align-items:start}html .portal-shell--admin .portal-band--small .portal-band-inner{max-width:1360px}html .portal-shell--admin .admin-dashboard-layout:not(:has(.admin-dashboard-card--recent)){grid-template-areas:"company activity"}@media (max-width: 1100px){html .portal-shell--admin .admin-dashboard-layout:not(:has(.admin-dashboard-card--recent)){grid-template-columns:1fr;grid-template-areas:"company" "activity"}}html .portal-shell--admin .admin-users-status-options{display:flex;flex-wrap:wrap;gap:6px}html .portal-shell--admin .admin-users-status-option,html .portal-shell--admin .admin-users-sort-row button{height:28px;padding:0 12px;border:1px solid var(--p3-line-2);border-radius:14px;background:var(--p3-surface);color:var(--p3-ink);font:500 12px var(--p3-font);cursor:pointer}html .portal-shell--admin .admin-users-status-option:hover,html .portal-shell--admin .admin-users-sort-row button:hover{border-color:var(--p3-blue)}html .portal-shell--admin .admin-users-status-option.active,html .portal-shell--admin .admin-users-sort-row button.active{border-color:var(--p3-blue);background:var(--p3-blue-soft);color:var(--p3-blue-dark);font-weight:600}html .portal-shell--admin .admin-users-sort-row{display:flex;align-items:center;gap:6px}html .portal-shell--admin .admin-users-sort-row>span,html .portal-shell--admin .admin-users-status-label{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html .portal-shell--admin .admin-users-sort-row>span{margin-right:4px}html .portal-shell--admin .role-chip,html .portal-shell--admin .admin-users-chip{border-radius:4px;font:600 9.5px/16px var(--p3-font);letter-spacing:.04em}html .portal-shell--admin .admin-user-details-login-as{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-blue-dark);font:600 12px var(--p3-font);cursor:pointer}html .portal-shell--admin .admin-user-details-login-as:hover{border-color:var(--p3-blue);background:var(--p3-blue-soft)}html .portal-shell--admin .admin-user-details-associated{border:1px solid var(--p3-line);border-radius:10px;background:var(--p3-soft)}html .portal-shell--admin .admin-user-details-reset-association{height:30px;border-radius:8px;font:600 12px var(--p3-font)}html .portal-shell--admin .admin-user-details-fieldset legend{color:var(--p3-muted);font:650 11px/1 var(--p3-font);letter-spacing:.05em;text-transform:uppercase}html .portal-shell--admin .admin-port-badge{border-color:#b7d7ef;border-radius:14px;font:600 12px var(--p3-font)}html .portal-shell--admin .admin-port-add-button{height:30px;padding:0 12px;border-radius:8px;font:600 12px var(--p3-font)}html .portal-shell--admin .portal-band--small:has(+.portal-below--admin .admin-statistics-layout){padding-bottom:18px}html .portal-shell--admin .portal-below--admin:has(.admin-statistics-layout){margin-top:0;padding-top:18px}html .portal-shell--admin .admin-statistics-lead{margin:10px 0 14px;color:var(--p3-muted);font:400 13px/1.45 var(--p3-font)}html .portal-shell--admin .admin-statistics-toolbar-row{display:flex;align-items:center;gap:8px}html .portal-shell--admin .admin-statistics-toolbar-row button{height:32px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:600 12.5px var(--p3-font)}html .portal-shell--admin .admin-dashboard-inner-tabs button{font-family:var(--p3-font)}.admin-band-action{display:inline-flex;align-items:center;gap:6px;align-self:center;height:34px;margin-left:auto;padding:0 14px;border:1px solid var(--p3-orange);border-radius:8px;background:var(--p3-orange);color:#14213f;font:650 12.5px var(--p3-font);cursor:pointer}.admin-band-action+.working-date{margin-left:16px!important}.admin-users-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--p3-line);background:var(--p3-soft)}.admin-users-search{display:flex;align-items:center;gap:6px;width:280px;height:32px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-faint)}.admin-users-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--p3-ink);font:12.5px var(--p3-font)}.admin-users-select{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 10px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-muted);font-size:12px}.admin-users-select select{border:0;outline:0;background:none;color:var(--p3-ink);font:500 12px var(--p3-font)}.admin-users-clear{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-blue-dark);font:500 12px var(--p3-font);cursor:pointer}.admin-users-spacer{flex:1}.admin-users-sort{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--p3-line-2);border-radius:9px;background:var(--p3-surface)}.admin-users-sort>span{padding:0 6px 0 8px;color:var(--p3-muted);font-size:12px}.admin-users-sort button{height:26px;padding:0 10px;border:0;border-radius:7px;background:none;color:var(--p3-muted);font:500 12px var(--p3-font);cursor:pointer}.admin-users-sort button.active{background:var(--p3-navy);color:#fff}html[data-theme=dark] .admin-users-sort button.active{background:var(--p3-blue)}.admin-users-table-wrap{overflow-x:auto}.admin-users-table-wrap.is-loading{opacity:.6}.admin-users-table{width:100%;border-collapse:separate;border-spacing:0;font:12px var(--p3-font)}.admin-users-table th{height:32px;padding:0 12px;border-bottom:1px solid var(--p3-line-2);background:var(--p3-soft);color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.03em;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-users-table td{height:46px;padding:0 12px;border-bottom:1px solid var(--p3-line);background:var(--p3-row, var(--p3-surface));color:var(--p3-ink);white-space:nowrap}.admin-users-row{cursor:pointer}.admin-users-row:hover td{--p3-row: var(--p3-soft)}.admin-users-who{display:flex;align-items:center;gap:10px}.admin-users-avatar{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--p3-blue-soft);color:var(--p3-blue-dark);font:650 10.5px var(--p3-font)}.admin-users-who strong{display:block;font-weight:600}.admin-users-who small{display:block;margin-top:1px;color:var(--p3-faint);font-size:11px}.admin-users-phone{font-family:var(--font-mono),monospace;font-size:11.5px!important}.admin-users-ports{display:inline-flex;flex-wrap:wrap;gap:4px}.admin-users-port{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--p3-line);border-radius:11px;background:var(--p3-soft);font-size:11px;font-weight:500}.admin-users-state{display:inline-flex;align-items:center;gap:5px;height:20px;margin-right:4px;padding:0 8px;border-radius:10px;font:600 10.5px var(--p3-font)}.admin-users-state--ok{background:#e6f6ef;color:#13876a}.admin-users-state--ok:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.admin-users-state--warn{background:#fff4e2;color:#b26a00}.admin-users-state--muted{background:var(--p3-soft);color:var(--p3-muted)}html[data-theme=dark] .admin-users-state--ok{background:#4fcfa624;color:#4fcfa6}html[data-theme=dark] .admin-users-state--warn{background:#f2a54a24;color:#f2a54a}.admin-users-date{color:var(--p3-muted)!important}.admin-users-actions{width:1%;text-align:right}.admin-users-actions .admin-users-icon-button{display:inline-grid;width:28px;height:28px;margin-left:4px;place-items:center}.admin-users-foot{padding:10px 16px;color:var(--p3-muted);font-size:12px}.admin-band-heading{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.admin-band-heading .admin-band-action{margin-left:0}html .portal-shell--admin .portal-band-title{align-items:flex-end}.admin-create-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.4fr) minmax(150px,1fr) minmax(130px,.9fr) minmax(220px,1.6fr) auto;align-items:start;gap:10px;padding:14px 16px;border-bottom:1px solid var(--p3-line);background:linear-gradient(var(--p3-blue-soft),var(--p3-surface))}.admin-create-field{display:grid;gap:5px;min-width:0}.admin-create-field>span{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}.admin-create-field input,.admin-create-field select{width:100%;height:34px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:13px var(--p3-font)}.admin-create-field input:focus,.admin-create-field select:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 3px #079be52e}.admin-create-field [aria-invalid=true]{border-color:#e0786d}.admin-create-field small{color:#c0392b;font-size:11.5px;line-height:1.3}.admin-create-field em{color:var(--p3-muted);font-size:11.5px;font-style:normal;font-family:var(--font-mono),monospace}.admin-create-actions{display:flex;gap:6px;padding-top:16px}.admin-create-save{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--p3-orange);border-radius:8px;background:var(--p3-orange);color:#14213f;font:650 12.5px var(--p3-font);cursor:pointer}.admin-create-cancel{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-muted);cursor:pointer}.admin-create-error{grid-column:1 / -1;margin:0;color:#c0392b;font-size:12.5px}.admin-users-notice{display:flex;align-items:center;gap:8px;margin:0;padding:10px 16px;border-bottom:1px solid var(--p3-line);background:#e6f6ef;color:#13876a;font:600 12.5px var(--p3-font)}.admin-users-notice button{margin-left:auto;border:0;background:none;color:inherit;cursor:pointer}.admin-users-email{color:var(--p3-muted)!important}@media (max-width: 1200px){.admin-create-row{grid-template-columns:1fr 1fr}.admin-create-actions{padding-top:0}}.port-multiselect{position:relative;display:flex;align-items:center;min-height:34px;padding:3px 28px 3px 6px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);cursor:pointer}.port-multiselect:hover{border-color:var(--p3-blue)}.port-multiselect.is-open{border-color:var(--p3-blue);box-shadow:0 0 0 3px #079be52e}.port-multiselect.is-invalid{border-color:#e0786d}.port-multiselect-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.port-multiselect-placeholder{padding:0 4px;color:var(--p3-faint);font-size:13px}.port-multiselect-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 4px 0 9px;border:1px solid #b7d7ef;border-radius:12px;background:var(--p3-blue-soft);color:var(--p3-blue-dark);font:600 11.5px var(--p3-font)}.port-multiselect-chip button{display:inline-grid;width:16px;height:16px;padding:0;place-items:center;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}.port-multiselect-chip button:hover{background:#079be52e}.port-multiselect-caret{position:absolute;right:9px;color:var(--p3-muted)}.multi-select-count{color:var(--p3-muted);font-size:12px}.admin-users-table{font-size:12px}.admin-users-table th{height:30px;padding:0 10px}.admin-users-table td{height:32px;padding:0 10px}.admin-users-name{font-weight:600}.admin-users-position{margin-left:6px;color:var(--p3-faint);font-size:11px}.admin-users-phone{font-size:11.5px!important}.admin-users-ports{gap:10px}.admin-users-port{height:auto;padding:0;border:0;background:none;font-size:12px}.admin-users-state{height:auto;margin-right:8px;padding:0;background:none!important;font-size:11.5px}.admin-users-state--warn{color:#b26a00}.admin-users-actions .admin-users-icon-button{width:24px;height:24px;margin-left:2px;border:0!important;background:none!important;color:var(--p3-faint)}.admin-users-row:hover .admin-users-icon-button{color:var(--p3-muted)}.admin-users-actions .admin-users-icon-button:hover{background:var(--p3-blue-soft)!important;color:var(--p3-blue-dark)}html .portal-shell--admin .admin-user-sheet{padding:0;overflow:visible}.admin-user-sheet-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--p3-line)}.admin-user-sheet-back{display:inline-grid;width:30px;height:30px;place-items:center;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);cursor:pointer}.admin-user-sheet-back:hover{border-color:var(--p3-blue);color:var(--p3-blue-dark)}.admin-user-sheet-title h2{margin:0;font:650 15px/1.2 var(--p3-font)}.admin-user-sheet-title span{color:var(--p3-muted);font-size:12px}.admin-user-sheet-msg{padding:8px 16px}.admin-user-sheet-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.4fr) minmax(150px,1fr) minmax(130px,.9fr) minmax(220px,1.6fr) minmax(110px,.6fr);align-items:start;gap:10px;padding:14px 16px}.admin-user-sheet-company{border-top:1px solid var(--p3-line)}.admin-user-sheet-company>summary{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--p3-ink);font:650 12.5px var(--p3-font);cursor:pointer;list-style:none}.admin-user-sheet-company>summary::-webkit-details-marker{display:none}.admin-user-sheet-company>summary:before{content:"";width:6px;height:6px;border-right:1.5px solid var(--p3-muted);border-bottom:1.5px solid var(--p3-muted);transform:rotate(-45deg);transition:transform .12s}.admin-user-sheet-company[open]>summary:before{transform:rotate(45deg)}.admin-user-sheet-company>summary span{color:var(--p3-muted);font-weight:400}.admin-user-sheet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 14px}.admin-user-sheet-wide{grid-column:span 2}.admin-user-sheet-danger{display:flex;align-items:center;gap:12px;margin:0 16px 14px;padding:10px 12px;border:1px solid #f3d3a6;border-radius:8px;background:#fff8ee;color:#8a5a00;font-size:12px}html[data-theme=dark] .admin-user-sheet-danger{border-color:#f2a54a59;background:#f2a54a14;color:#f2a54a}.admin-user-sheet-danger button{flex:0 0 auto;margin-left:auto}@media (max-width: 1200px){.admin-user-sheet-row,.admin-user-sheet-grid{grid-template-columns:1fr 1fr}}html .portal-shell--admin .admin-user-settings-card{margin-top:14px;padding:12px 16px}html .portal-shell--admin .admin-user-settings-heading .eyebrow{display:none}html .portal-shell--admin .admin-user-settings-heading h2{margin:0;font:650 13.5px var(--p3-font)}html .portal-shell--admin .admin-user-settings-heading p{margin:2px 0 10px;color:var(--p3-muted);font-size:12px}html .portal-shell--admin .admin-user-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}html .portal-shell--admin .admin-user-settings-actions{margin-top:10px}html .portal-shell--admin .admin-user-settings-card .admin-users-filter-field select{min-height:34px;height:34px}html .portal-shell--admin .admin-user-settings-card .admin-users-filter-field>span{font-size:10px}html .portal-shell--admin .admin-user-settings-actions button{height:30px}.admin-users-edit-row>td{height:auto!important;padding:0!important;background:none!important}.admin-create-row--edit{grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.4fr) minmax(150px,1fr) minmax(130px,.9fr) minmax(220px,1.6fr) minmax(110px,.6fr) auto;border-left:3px solid var(--p3-edge);white-space:normal}.admin-create-loading{padding:10px 16px}.admin-users-row--editing td{--p3-row: var(--p3-blue-soft) !important;height:40px!important;padding:0 6px!important}.admin-users-row--editing td:first-child{box-shadow:inset 3px 0 var(--p3-edge)}.admin-users-row--editing{cursor:default}.admin-cell-input{width:100%;min-width:0;height:28px;padding:0 8px;border:1px solid var(--p3-line-2);border-radius:6px;background:var(--p3-surface);color:var(--p3-ink);font:12px var(--p3-font)}.admin-cell-input:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 2px #079be533}.admin-cell-input[aria-invalid=true]{border-color:#e0786d}.admin-cell-phone{display:flex;gap:4px}.admin-cell-code{flex:0 0 74px;width:74px;padding:0 2px 0 6px;font-family:var(--font-mono),monospace;font-size:11.5px}.admin-cell-phone input{flex:1;min-width:96px;font-family:var(--font-mono),monospace;font-size:11.5px}.admin-cell-status{width:104px}.admin-users-row--editing .port-multiselect{min-height:28px;padding:1px 24px 1px 4px;border-radius:6px}.admin-users-row--editing .port-multiselect-chip{height:20px;font-size:11px}.admin-users-row--editing .port-multiselect-placeholder{font-size:12px}.admin-users-table td.admin-users-actions{white-space:nowrap}.admin-cell-save{display:inline-grid;width:26px;height:26px;margin-left:2px;place-items:center;border:1px solid var(--p3-orange);border-radius:6px;background:var(--p3-orange);color:#14213f;cursor:pointer;vertical-align:middle}.admin-cell-save:disabled{border-color:var(--p3-line-2);background:var(--p3-soft);color:var(--p3-faint);cursor:default}.admin-users-row--editing-note td{height:auto!important;padding:4px 12px 6px!important;background:var(--p3-blue-soft)!important;color:#c0392b;font-size:11.5px}.admin-create-row{grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.3fr) minmax(96px,.5fr) minmax(130px,.8fr) minmax(260px,2.2fr) auto}.admin-users-table{table-layout:fixed}.admin-users-table td{overflow:hidden;text-overflow:ellipsis}.admin-users-table td:has(.port-multiselect){overflow:visible}.admin-users-row--editing td{height:32px!important;padding:0 4px!important}.admin-cell-input{height:26px}.admin-users-row--editing .port-multiselect{min-height:26px}.admin-users-row--editing .port-multiselect-chip{height:18px}.admin-cell-save{width:24px;height:24px}.admin-users-table td.admin-users-actions{overflow:visible;padding-right:8px}.portal-boot{min-height:100vh;background:var(--p3-bg)}.portal-boot-bar{height:56px;background:var(--p3-navy)}.portal-boot-band{position:relative;height:140px;overflow:hidden;background:var(--p3-navy)}.portal-boot-band:after{content:"";position:absolute;bottom:0;left:0;width:30%;height:2px;background:var(--p3-orange);animation:portal-boot 1.1s ease-in-out infinite}@keyframes portal-boot{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion: reduce){.portal-boot-band:after{animation:none}}html .portal-shell .profile-menu form{margin:0}.contact-cell{display:inline-flex;align-items:center;gap:4px;max-width:100%}.contact-cell a{overflow:hidden;color:inherit;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.contact-cell a:hover{color:var(--p3-blue-dark);text-decoration:underline}.contact-cell-copy{display:inline-grid;flex:0 0 auto;width:22px;height:22px;padding:0;place-items:center;border:0;border-radius:5px;background:none;color:var(--p3-faint);opacity:0;cursor:pointer;transition:opacity .1s}.admin-users-row:hover .contact-cell-copy,.contact-cell-copy:focus-visible,.contact-cell-copy.is-copied{opacity:1}.contact-cell-copy:hover{background:var(--p3-blue-soft);color:var(--p3-blue-dark)}.contact-cell-copy.is-copied{color:#13876a}.portal-band--page{padding-bottom:64px}.portal-below--page{padding:0 24px 28px;margin-top:-48px}.portal-below--page>*{max-width:1360px;margin-right:auto;margin-left:auto}.portal-band-title{flex-wrap:wrap}.portal-band-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;padding-bottom:2px}.portal-band-meta strong{color:#fff;font:600 13px var(--p3-font)}.portal-band-api{display:inline-flex;align-items:center;gap:6px;color:var(--p3-on-navy);font-size:11.5px;white-space:nowrap}.portal-band-api:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.portal-band-api-production{color:#6fd3a3}.portal-band-api-local{color:#ffcf66}html .portal-shell .nav-count{min-width:20px;height:18px;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--p3-orange);color:#14213f;font:650 10.5px/18px var(--p3-font)}html .portal-shell .company-symbol{background:#ffffff24;color:#fff}html .portal-shell .company-context:hover,html .portal-shell .company-context.active{background:var(--p3-navy-2)}html .portal-shell .profile-menu .menu-divider{display:block;height:1px;margin:4px 2px;background:var(--p3-line)}html body .portal-shell .table-section,html body .portal-shell .profile-card,html body .portal-shell .company-aside,html[data-theme=dark] body .portal-shell .table-section,html[data-theme=dark] body .portal-shell .profile-card,html[data-theme=dark] body .portal-shell .company-aside{border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 1px 2px #1018280d;color:var(--p3-ink)}html body .portal-shell .portal-below--page>.section-stack>:first-child,html body .portal-shell .portal-below--page>.profile-grid>:first-child,html body .portal-shell .portal-below--page>.company-layout>:first-child{box-shadow:0 14px 36px #0a163038}html .portal-shell .section-stack{gap:14px}html .portal-shell .card-kicker{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em}html .portal-shell .profile-card h2,html .portal-shell .company-aside h2{color:var(--p3-ink);font:650 15px/1.25 var(--p3-font)}html .portal-shell .details-grid dt{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html .portal-shell .details-grid dd{color:var(--p3-ink);font:500 13px/1.35 var(--p3-font)}html body .portal-shell .process-note,html[data-theme=dark] body .portal-shell .process-note{border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 1px 2px #1018280d;color:var(--p3-muted);font:12.5px/1.45 var(--p3-font)}html body .portal-shell .process-note strong{color:var(--p3-ink);font-weight:650}html body .portal-shell .table-section>summary,html[data-theme=dark] body .portal-shell .table-section>summary{min-height:0;padding:14px 16px 10px;background:transparent}html body .portal-shell .table-section>summary:hover{background:transparent}html body .portal-shell .table-section .section-title{color:var(--p3-ink);font:650 15px/1.25 var(--p3-font);letter-spacing:0;text-transform:none}html body .portal-shell .table-section .section-description{color:var(--p3-muted);font:12.5px/1.4 var(--p3-font)}html body .portal-shell .table-section .count-badge,html[data-theme=dark] body .portal-shell .table-section .count-badge{min-width:22px;height:18px;padding:0 6px;border:0;border-radius:9px;background:var(--p3-navy);color:#fff;font:600 10.5px/18px var(--p3-font)}html[data-theme=dark] body .portal-shell .table-section .count-badge{background:var(--p3-blue)}html body .portal-shell .table-section .summary-chevron{display:none}html body .portal-shell .table-section .section-meta{display:flex;margin-left:auto}html body .portal-shell .section-total{display:inline-grid;grid-template-columns:auto auto;-moz-column-gap:5px;column-gap:5px;align-items:baseline;justify-items:end;padding:2px 0 2px 16px;border-left:1px solid var(--p3-line);font-family:var(--p3-font);white-space:nowrap;-webkit-user-select:text;-moz-user-select:text;user-select:text}html body .portal-shell .section-total-label{grid-column:1 / -1;color:var(--p3-faint);font:600 10.5px/1.2 var(--p3-font);letter-spacing:.06em;text-transform:uppercase}html body .portal-shell .section-total-value{color:var(--p3-ink);font:650 18px/1.2 var(--p3-font);font-variant-numeric:tabular-nums;letter-spacing:-.01em}html body .portal-shell .section-total-currency{color:var(--p3-orange);font:650 13px/1.2 var(--p3-font)}html body .portal-shell .section-total.is-negative .section-total-value{color:#c8372d}html[data-theme=dark] body .portal-shell .section-total.is-negative .section-total-value{color:#f07a70}html body .portal-shell .table-section-body{border-top:1px solid var(--p3-line)}html body .portal-shell .table-section-body.is-loading{opacity:.6}html body .portal-shell .table-section-toolbar,html[data-theme=dark] body .portal-shell .table-section-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--p3-line);background:var(--p3-soft)}html body .portal-shell .table-section-toolbar select,html body .portal-shell .table-section-toolbar input,html body .portal-shell .table-section-toolbar .toolbar-filter-wrap button,html[data-theme=dark] body .portal-shell .table-section-toolbar select,html[data-theme=dark] body .portal-shell .table-section-toolbar input{border-color:var(--p3-line-2);border-radius:8px;background-color:var(--p3-surface);color:var(--p3-ink);font-family:var(--p3-font)}html body .portal-shell .table-section-toolbar>select:focus,html body .portal-shell .table-section-toolbar>input:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 3px #079be52e}html body .portal-shell .toolbar-clear-all-button,html body .portal-shell .toolbar-filter-clear,html[data-theme=dark] body .portal-shell .toolbar-clear-all-button{height:28px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-blue-dark);font:500 12px var(--p3-font)}html body .portal-shell .toolbar-export-button,html body .portal-shell .toolbar-export-parts-control>button,html[data-theme=dark] body .portal-shell .toolbar-export-button{height:30px;padding:0 12px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font:600 12px var(--p3-font)}html body .portal-shell .table-section-toolbar .client-reference-validation-filter,html[data-theme=dark] body .portal-shell .table-section-toolbar .client-reference-validation-filter{height:30px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface)}html body .portal-shell .table-section-toolbar .client-reference-validation-filter:hover{border-color:var(--p3-blue)}html body .portal-shell .table-section-toolbar .client-reference-validation-filter:has(input:not(:-moz-placeholder)){border-color:var(--p3-blue);background:var(--p3-blue-soft)}html body .portal-shell .table-section-toolbar .client-reference-validation-filter:has(input:not(:placeholder-shown)),html body .portal-shell .table-section-toolbar .client-reference-validation-filter:focus-within{border-color:var(--p3-blue);background:var(--p3-blue-soft)}html body .portal-shell .table-section-toolbar .client-reference-validation-filter-label,html[data-theme=dark] body .portal-shell .table-section-toolbar .client-reference-validation-filter-label{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html body .portal-shell .table-section-toolbar .client-reference-validation-filter-label:after{content:""}html body .portal-shell .table-section-toolbar .client-reference-validation-filter input,html body .portal-shell .table-section-toolbar .client-reference-validation-filter select,html[data-theme=dark] body .portal-shell .table-section-toolbar .client-reference-validation-filter input,html[data-theme=dark] body .portal-shell .table-section-toolbar .client-reference-validation-filter select{border:0;background-color:transparent;color:var(--p3-blue-dark);font:600 12px/1 var(--p3-font);box-shadow:none}html body .portal-shell .table-section-toolbar .client-reference-validation-filter input::-moz-placeholder{color:var(--p3-faint);font-weight:500}html body .portal-shell .table-section-toolbar .client-reference-validation-filter input::placeholder{color:var(--p3-faint);font-weight:500}html body .portal-shell .toolbar-export-button:hover:not(:disabled),html body .portal-shell .toolbar-clear-all-button:hover:not(:disabled){border-color:var(--p3-blue);background:var(--p3-blue-soft)}html body .portal-shell .data-table-viewport{border:0}html body .portal-shell .data-table,html[data-theme=dark] body .portal-shell .data-table{background:var(--p3-surface);color:var(--p3-ink);font-family:var(--p3-font);font-size:11.5px}html body .portal-shell .data-table thead th,html[data-theme=dark] body .portal-shell .data-table thead th{border-right:0;border-bottom:1px solid var(--p3-line-2);background:var(--p3-soft);color:var(--p3-muted);font:650 10.5px/1.2 var(--p3-font);letter-spacing:.03em;text-transform:uppercase}html body .portal-shell .data-table tbody td,html[data-theme=dark] body .portal-shell .data-table tbody td,html[data-theme=dark] body .portal-shell .data-table tbody tr:nth-child(2n) td{height:30px;border-right:0;border-bottom:1px solid var(--p3-line);background:var(--p3-row, var(--p3-surface));color:var(--p3-ink)}html body .portal-shell .data-table tbody tr:nth-child(2n) td{--p3-row: var(--p3-surface)}html body .portal-shell .data-table tbody tr:hover td{--p3-row: var(--p3-soft)}html body .portal-shell .data-table tbody tr.is-selected td,html body .portal-shell .data-table tbody tr.expanded-parent td{--p3-row: var(--p3-selected)}html body .portal-shell .data-table tbody tr.is-selected td:first-child,html body .portal-shell .data-table tbody tr.expanded-parent td:first-child{box-shadow:inset 3px 0 var(--p3-edge)}html body .portal-shell .data-table .mono-cell{color:var(--p3-ink);font-family:var(--font-mono);font-size:11.5px}html body .portal-shell .data-table .empty-table{padding:28px;color:var(--p3-muted);text-align:center}html body .portal-shell .table-pagination,html[data-theme=dark] body .portal-shell .table-pagination{padding:8px 16px;border-top:0;background:var(--p3-surface);color:var(--p3-muted);font:12px var(--p3-font)}html body .portal-shell .table-pagination button,html body .portal-shell .table-pagination input,html[data-theme=dark] body .portal-shell .table-pagination button,html[data-theme=dark] body .portal-shell .table-pagination input{border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font-family:var(--p3-font)}html body .portal-shell .table-pagination button:hover:not(:disabled){border-color:var(--p3-blue);color:var(--p3-blue-dark)}html body .portal-shell .pending-overview>div{border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 1px 2px #1018280d}html body .portal-shell .metric-label{color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}html body .portal-shell .settings-field input,html body .portal-shell .settings-field select,html[data-theme=dark] body .portal-shell .settings-field input,html[data-theme=dark] body .portal-shell .settings-field select{height:34px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:13px var(--p3-font)}html body .portal-shell .settings-field input:focus,html body .portal-shell .settings-field select:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 3px #079be52e}html body .portal-shell .profile-card,html body .portal-shell .company-aside{padding:16px}html body .portal-shell .card-heading{margin-bottom:12px}html body .portal-shell .profile-card h2,html body .portal-shell .company-aside h2{margin-top:4px}html body .portal-shell .settings-form{margin-top:4px;gap:0}html body .portal-shell .settings-field,html[data-theme=dark] body .portal-shell .settings-field{gap:16px;padding:8px 0;border-bottom:1px solid var(--p3-line);border-radius:0;background:transparent}html body .portal-shell .settings-label{gap:2px;color:var(--p3-muted);font:12px var(--p3-font)}html body .portal-shell .settings-label strong{color:var(--p3-ink);font:600 13px var(--p3-font)}html body .portal-shell .settings-field input{width:80px;padding:0 10px}html body .portal-shell .settings-field-text input{width:min(100%,240px)}html body .portal-shell .settings-actions{padding-top:12px}html body .portal-shell .settings-note{padding-top:10px;color:var(--p3-muted)}html body .portal-shell .details-grid{gap:10px}html body .portal-shell .details-grid>div,html[data-theme=dark] body .portal-shell .details-grid>div{padding:10px 12px;border:1px solid var(--p3-line);border-radius:8px;background:var(--p3-soft)}html body .portal-shell .security-line{border-color:var(--p3-line)}html body .portal-shell .security-icon,html body .portal-shell .preference-list span{border-radius:8px;background:var(--p3-soft)}html body .portal-shell .settings-save{height:34px;padding:0 14px;cursor:pointer}html body .portal-shell .settings-save:disabled{opacity:.6;cursor:default}html body .portal-shell .read-only-chip,html body .portal-shell .approval-chip{border-radius:10px;font:600 11px var(--p3-font)}html .portal-shell--admin .admin-users-board{padding:0;overflow:hidden}.admin-users-toolbar .admin-users-status-options{flex-basis:100%}.admin-users-table col.admin-users-col-name,.admin-users-table col.admin-users-col-email{width:17%}.admin-users-table col.admin-users-col-phone{width:14%}.admin-users-table col.admin-users-col-company{width:15%}.admin-users-table col.admin-users-col-reservations{width:10%}.admin-users-table col.admin-users-col-status{width:7%}.admin-users-table col.admin-users-col-role{width:8%}.admin-users-table col.admin-users-col-activity{width:9%}.admin-users-table col.admin-users-col-actions{width:100px}.admin-users-company{display:inline-flex;align-items:center;gap:8px}.admin-users-company .admin-users-state{margin:0}.admin-users-reservations{display:inline-flex;align-items:baseline;gap:8px}.admin-users-reservations strong{font-weight:600}.admin-users-reservations small{color:var(--p3-muted);font-size:11px}.admin-users-verify-icon{display:inline-flex;margin-left:6px;color:#b26a00;vertical-align:-2px}.admin-users-empty{padding:28px!important;color:var(--p3-muted);text-align:center}.admin-users-table td.admin-users-edit-error{color:#c0392b}.admin-cell-cancel{width:24px;height:24px;margin-left:2px;vertical-align:middle}html .portal-shell--admin .admin-users-chip{display:inline-block;padding:0 6px}@media (max-width: 820px){html .portal-shell .portal-header,html[data-theme=dark] .portal-shell .portal-header{flex-wrap:wrap;height:auto;min-height:56px;padding-top:8px;padding-bottom:0;row-gap:4px}html .portal-shell .portal-header .account-navigation{margin-left:auto}html .portal-shell .primary-navigation{order:3;flex:1 0 100%;height:44px;margin:0;border-top:1px solid rgba(255,255,255,.1);overflow-x:auto;scrollbar-width:none}html .portal-shell .primary-navigation::-webkit-scrollbar{display:none}html .portal-shell .profile-name{display:none}}html body .portal-shell .table-pagination,html[data-theme=dark] body .portal-shell .table-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--p3-line)}html body .portal-shell .table-pagination-summary{justify-self:start;color:var(--p3-muted);font:12px var(--p3-font)}html body .portal-shell .table-pagination-summary strong{color:var(--p3-ink)}html body .portal-shell .table-pagination-controls{justify-self:center}.table-pagination-size{justify-self:end}.table-pagination-size label{display:inline-flex;align-items:center;gap:8px;color:var(--p3-muted);font:12px var(--p3-font);white-space:nowrap}.table-pagination-size select{height:30px;padding:0 8px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font:600 12px var(--p3-font);cursor:pointer}.table-pagination-size select:focus{border-color:var(--p3-blue);outline:0;box-shadow:0 0 0 3px #079be52e}html body .portal-shell .table-pagination-button,html body .portal-shell .table-pagination-page-input{border-radius:7px}@media (max-width: 760px){html body .portal-shell .table-pagination{grid-template-columns:1fr;justify-items:center}html body .portal-shell .table-pagination-summary,.table-pagination-size{justify-self:center}}html body .portal-shell .data-table thead tr.column-select-row th,html[data-theme=dark] body .portal-shell .data-table thead tr.column-select-row th{height:44px;padding:6px;border-bottom:1px solid var(--p3-line-2);background:var(--p3-soft);vertical-align:middle;text-transform:none;letter-spacing:0}.data-table tbody tr:hover .quick-filter-dot,.data-table tbody tr.is-selected .quick-filter-dot{opacity:1;pointer-events:auto}html body .portal-shell .data-table tbody td{position:relative}.multi-select-filter.is-static .multi-select-trigger{cursor:default}.multi-select-filter.is-static .multi-select-trigger:hover{border-color:var(--p3-line)}.multi-select-typed{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;margin-bottom:6px;padding:0 8px;border:1px dashed var(--p3-blue);border-radius:7px;background:var(--p3-blue-soft);color:var(--p3-blue-dark);font:500 12px var(--p3-font);text-align:left;cursor:pointer}.multi-select-typed span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-typed kbd{padding:1px 5px;border:1px solid var(--p3-line-2);border-radius:4px;background:var(--p3-surface);color:var(--p3-muted);font:500 10px var(--p3-font)}.header-date-filter{display:flex;flex-direction:column;gap:3px;padding:3px 8px;border:1px solid var(--p3-line);border-radius:7px;background:var(--p3-surface)}.header-date-filter .column-date-range-filter,.header-date-filter .column-filter-wrap{width:100%}html body .portal-shell .header-date-filter input,html body .portal-shell .header-date-filter button{height:18px;min-height:0;padding:0;border:0;background:transparent;color:var(--p3-blue-dark);font:600 11.5px var(--p3-font);box-shadow:none}html body .portal-shell .table-section-toolbar .audit-search{display:inline-flex;align-items:center;gap:8px;margin:0}html body .portal-shell .table-section-toolbar .audit-search .reservation-board-search input{height:auto;border:0;background:none;box-shadow:none}html body .portal-shell .data-table.has-layout thead th,html body .portal-shell .data-table.has-layout tbody td{padding-right:6px;padding-left:6px}html body .portal-shell .data-table.has-layout .multi-select-trigger{padding:4px 16px 4px 6px}html body .portal-shell .data-table.has-layout .multi-select-caret{right:5px}html body .portal-shell .data-table.has-layout .multi-select-clear{right:1px}html body .portal-shell .data-table.has-layout thead tr.column-select-row th{padding:6px 3px}html body .portal-shell .data-table .multi-select-filter.is-static .multi-select-trigger,html[data-theme=dark] body .portal-shell .data-table .multi-select-filter.is-static .multi-select-trigger{min-width:0;padding:4px 2px;border-color:transparent;background:transparent;box-shadow:none}html body .portal-shell .data-table .multi-select-filter.is-static .multi-select-label{overflow:hidden;text-overflow:ellipsis}html body .portal-shell .data-table.has-layout th.align-center .multi-select-filter.is-static .multi-select-trigger{align-items:center}.multi-select-note{margin:0 0 4px;padding:0 6px;color:var(--p3-faint);font:500 10.5px/1.35 var(--p3-font)}html body .portal-shell .data-table thead th:has(.column-date-range-filter){overflow:visible}html body .portal-shell .data-table thead th:has(.column-date-range-trigger.is-open){z-index:12}html body .portal-shell .column-date-range-popover,html[data-theme=dark] body .portal-shell .column-date-range-popover{width:260px;border:1px solid var(--p3-line-2);border-radius:10px;background:var(--p3-surface);box-shadow:0 12px 32px #1018282e;color:var(--p3-ink);font-family:var(--p3-font);text-transform:none;letter-spacing:0}html body .portal-shell .table-section-toolbar .toolbar-export-parts,html body .portal-shell .table-section-toolbar .toolbar-export-button{margin-left:auto}html body .portal-shell .table-section-toolbar .toolbar-before-export{display:inline-flex;margin-left:auto}html body .portal-shell .table-section-toolbar>.reservation-board-search{flex:1 1 200px;min-width:180px;max-width:320px}html body .portal-shell .table-section-toolbar .toolbar-before-export+.toolbar-export-parts,html body .portal-shell .table-section-toolbar .toolbar-before-export+.toolbar-export-button{margin-left:0}html body .portal-shell .table-section-toolbar .import-ops-toggle,html[data-theme=dark] body .portal-shell .table-section-toolbar .import-ops-toggle{height:30px;padding:0 12px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);box-shadow:none;color:var(--p3-ink);font:600 12px var(--p3-font);letter-spacing:0;text-transform:none}html body .portal-shell .table-section-toolbar .import-ops-toggle:hover:not(:disabled){border-color:var(--p3-blue)}html body .portal-shell .table-section-toolbar .import-ops-toggle.is-open{border-color:var(--p3-orange);box-shadow:inset 0 -2px 0 var(--p3-orange)}html body .portal-shell .column-date-range-popover .column-date-range-mode{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;margin:6px 0;padding:2px;border:1px solid var(--p3-line);border-radius:8px;background:var(--p3-soft)}html body .portal-shell .column-date-range-popover .column-date-range-mode button{height:26px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--p3-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}html body .portal-shell .column-date-range-popover .column-date-range-mode button:hover{color:var(--p3-ink)}html body .portal-shell .column-date-range-popover .column-date-range-day.in-range{background:var(--p3-selected);color:var(--p3-ink)}html body .portal-shell .column-date-range-popover .column-date-range-day.is-start,html body .portal-shell .column-date-range-popover .column-date-range-day.is-end{background:var(--p3-navy);color:#fff}html[data-theme=dark] body .portal-shell .column-date-range-popover .column-date-range-day.is-start,html[data-theme=dark] body .portal-shell .column-date-range-popover .column-date-range-day.is-end{background:var(--p3-blue);color:#0b1220}html body .portal-shell .column-date-range-popover .column-date-range-day.is-today:not(.is-start):not(.is-end){box-shadow:inset 0 0 0 1px var(--p3-orange)}html body .portal-shell .column-date-range-popover .column-date-range-day:hover:not(.is-empty):not(.is-start):not(.is-end){background:var(--p3-blue-soft)}html body .portal-shell .column-date-range-popover .column-date-range-mode button.active{background:var(--p3-surface);color:var(--p3-ink);box-shadow:0 1px 2px #16243c24,inset 0 -2px 0 var(--p3-orange)}.multi-select-sort{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--p3-line)}.multi-select-sort button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-ink);font:500 12px var(--p3-font);cursor:pointer}.multi-select-sort button:hover{border-color:var(--p3-blue);color:var(--p3-blue-dark)}.multi-select-sort button.active{border-color:var(--p3-orange);background:var(--p3-orange);color:#14213f;font-weight:600}.multi-select-label{display:inline-flex;align-items:center;gap:3px}.multi-select-sort-mark{display:inline-grid;place-items:center;color:var(--p3-orange)}.board-tabs{display:inline-flex;gap:4px}.board-tab{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--p3-muted);font:500 13px var(--p3-font);cursor:pointer;transition:background .12s,color .12s}.board-tab:hover{background:var(--p3-soft);color:var(--p3-ink)}.board-tab:focus-visible{outline:0;box-shadow:0 0 0 3px #079be540}.board-tab[aria-selected=true]{background:var(--p3-soft);color:var(--p3-ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--p3-orange);cursor:default}.board-tab-count{min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--p3-line);color:var(--p3-muted);font:600 10.5px/18px var(--p3-font);text-align:center}.board-tab[aria-selected=true] .board-tab-count{background:var(--p3-orange);color:#14213f}.reservation-board-header:has(.board-tabs){padding:12px 16px 10px}.portal-boot-shell .primary-navigation button:disabled{cursor:default;opacity:1}.portal-boot-pill{display:inline-block;height:32px;border-radius:8px;background:#ffffff14}.portal-boot-pill--company{width:150px}.portal-boot-pill--round{width:32px}.portal-boot-pill--profile{width:170px;border-radius:16px}.portal-boot-progress{position:relative;overflow:hidden}.portal-boot-progress:after{content:"";position:absolute;bottom:0;left:0;width:30%;height:2px;background:var(--p3-orange);animation:portal-boot 1.1s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.portal-boot-progress:after{animation:none}}html body .portal-shell .portal-boot-card{height:420px;border:1px solid var(--p3-line);border-radius:12px;background:var(--p3-surface);box-shadow:0 14px 36px #0a163038}html body .portal-shell .data-table.has-layout{table-layout:fixed}html body .portal-shell .data-table.has-layout th,html body .portal-shell .data-table.has-layout td{overflow:hidden;text-overflow:ellipsis}html body .portal-shell .data-table.has-layout tbody tr td,html[data-theme=dark] body .portal-shell .data-table.has-layout tbody tr td,html[data-theme=dark] body .portal-shell .data-table.has-layout tbody tr:nth-child(2n) td{height:var(--table-row-height, 30px);font-size:var(--table-font-size, 11.5px)}html body .portal-shell .data-table.has-layout tbody td *:not(svg):not(.departure-weekday):not(.quick-filter-dot){font-size:inherit}html body .portal-shell .data-table.has-layout .departure-weekday{font-size:.88em}html body .portal-shell .data-table.has-layout.is-wrapping tbody td,html body .portal-shell .data-table.has-layout.is-wrapping tbody td *{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}html body .portal-shell .data-table.has-layout .multi-select-trigger{min-width:0}.data-table th.is-movable{cursor:grab}.data-table th.is-movable:active{cursor:grabbing}.data-table th.is-dragging{opacity:.45}html body .portal-shell .data-table th.is-drop-before{box-shadow:inset 3px 0 0 var(--p3-blue)}html body .portal-shell .data-table th.is-drop-after{box-shadow:inset -3px 0 0 var(--p3-blue)}.column-resize-handle{position:absolute;top:0;right:0;z-index:5;width:8px;height:100%;padding:0;border:0;background:none;cursor:col-resize;touch-action:none}.column-resize-handle:after{content:"";position:absolute;top:22%;right:2px;bottom:22%;width:2px;border-radius:1px;background:var(--p3-line-2);opacity:0;transition:opacity .12s,background .12s}.data-table th:hover .column-resize-handle:after{opacity:1}.column-resize-handle:hover:after,.column-resize-handle:focus-visible:after{opacity:1;background:var(--p3-blue)}.column-resize-handle:focus-visible{outline:0}body.is-resizing-column,body.is-resizing-column *{cursor:col-resize!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}html body .portal-shell .data-table td.is-pinned{z-index:1}html body .portal-shell .data-table th.is-pinned{z-index:4}html body .portal-shell .data-table td.is-pinned-last,html body .portal-shell .data-table th.is-pinned-last{box-shadow:6px 0 8px -6px #10182847}html body .portal-shell .data-table tbody tr.is-selected td.is-pinned-last:first-child{box-shadow:inset 3px 0 var(--p3-edge),6px 0 8px -6px #10182847}html body .portal-shell .data-table.is-measuring{width:-moz-max-content!important;width:max-content!important;min-width:0!important;table-layout:auto!important}html body .portal-shell .data-table.is-measuring th *,html body .portal-shell .data-table.is-measuring td *{white-space:nowrap!important}.data-table.is-measuring col{width:auto!important}html body .portal-shell .data-table.is-measuring th,html body .portal-shell .data-table.is-measuring td{width:auto!important;max-width:none!important;overflow:visible!important;white-space:nowrap!important}.data-table.is-measuring .vessel-cell-button,.data-table.is-measuring .multi-select-trigger{width:auto!important;min-width:0!important}.layout-trigger{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface);color:var(--p3-ink);font:600 12px var(--p3-font);cursor:pointer;white-space:nowrap}.layout-trigger:hover,.layout-trigger.is-open{border-color:var(--p3-blue);background:var(--p3-blue-soft);color:var(--p3-blue-dark)}.layout-trigger.is-customized{border-color:var(--p3-blue);color:var(--p3-blue-dark)}.layout-trigger-count{padding:0 6px;border-radius:9px;background:var(--p3-soft);color:var(--p3-muted);font:600 10.5px/18px var(--p3-font)}.layout-trigger.is-customized .layout-trigger-count{background:var(--p3-blue);color:#fff}.table-section-toolbar-spacer{flex:1}.layout-panel{position:fixed;z-index:1000;display:flex;flex-direction:column;max-height:min(640px,calc(100vh - 90px));padding:10px;border:1px solid var(--p3-line-2);border-radius:12px;background:var(--p3-surface);box-shadow:0 16px 40px #10182838;color:var(--p3-ink);font:12px var(--p3-font)}.layout-panel-section{display:grid;gap:8px;padding:2px 2px 10px;border-bottom:1px solid var(--p3-line)}.layout-row{display:flex;align-items:center;gap:8px}.layout-label{width:38px;color:var(--p3-muted);font:650 10.5px/1 var(--p3-font);letter-spacing:.04em;text-transform:uppercase}.layout-segment{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--p3-line-2);border-radius:8px;background:var(--p3-surface)}.layout-segment button{height:24px;padding:0 9px;border:0;border-radius:6px;background:none;color:var(--p3-muted);font:500 11.5px var(--p3-font);cursor:pointer}.layout-segment button:hover{color:var(--p3-ink)}.layout-segment button.active{background:var(--p3-navy);color:#fff}html[data-theme=dark] .layout-segment button.active{background:var(--p3-blue)}.layout-segment--icons button{display:inline-grid;width:24px;padding:0;place-items:center}.layout-stepper{display:inline-flex;align-items:center;height:26px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface)}.layout-stepper button{width:22px;height:24px;border:0;background:none;color:var(--p3-ink);font:600 13px/1 var(--p3-font);cursor:pointer}.layout-stepper button:hover:not(:disabled){color:var(--p3-blue-dark)}.layout-stepper button:disabled{color:var(--p3-faint);cursor:default}.layout-stepper>span{min-width:34px;color:var(--p3-ink);font:600 11px var(--p3-font);text-align:center}.layout-stepper>span.is-muted{color:var(--p3-faint);font-weight:500}.layout-toggle{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--p3-line-2);border-radius:7px;background:var(--p3-surface);color:var(--p3-muted);font:500 11.5px var(--p3-font);cursor:pointer}.layout-toggle.active{border-color:var(--p3-blue);background:var(--p3-blue-soft);color:var(--p3-blue-dark)}.layout-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 0}.layout-panel-actions button{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border:0;border-radius:6px;background:none;color:var(--p3-blue-dark);font:500 11.5px var(--p3-font);cursor:pointer}.layout-panel-actions button:hover:not(:disabled){background:var(--p3-blue-soft)}.layout-panel-actions button:disabled{color:var(--p3-faint);cursor:default}.layout-spacer{flex:1}.layout-reset{color:var(--p3-muted)!important}.layout-search{display:flex;align-items:center;gap:6px;height:30px;margin-bottom:6px;padding:0 9px;border:1px solid var(--p3-line-2);border-radius:7px;color:var(--p3-faint)}.layout-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--p3-ink);font:12px var(--p3-font)}.layout-columns{flex:1;min-height:0;margin:0;padding:0;overflow-y:auto;list-style:none}.layout-column{position:relative;display:flex;align-items:center;gap:6px;min-height:34px;padding:0 4px;border-radius:7px}.layout-column:hover{background:var(--p3-soft)}.layout-column.is-hidden .layout-column-name span,.layout-column.is-hidden .layout-column-name em{color:var(--p3-faint)}.layout-column.is-dragging{opacity:.45}.layout-column.is-drop-before{box-shadow:inset 0 2px 0 var(--p3-blue)}.layout-column.is-drop-after{box-shadow:inset 0 -2px 0 var(--p3-blue)}.layout-grip{flex:0 0 auto;color:var(--p3-faint);cursor:grab}.layout-column-name{display:flex;flex:1;align-items:center;gap:7px;min-width:0;cursor:pointer}.layout-column-name input{accent-color:var(--p3-blue)}.layout-column-name em{min-width:18px;color:var(--p3-blue-dark);font:600 10.5px var(--font-mono);font-style:normal}.layout-column-name span{overflow:hidden;color:var(--p3-ink);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.layout-icon-button{display:inline-grid;width:26px;height:26px;padding:0;place-items:center;border:0;border-radius:6px;background:none;color:var(--p3-faint);cursor:pointer}.layout-icon-button:hover{color:var(--p3-ink)}.layout-icon-button.active{background:var(--p3-blue-soft);color:var(--p3-blue-dark)}.layout-width{width:42px;color:var(--p3-faint);font:500 10.5px var(--font-mono);text-align:right}.layout-hint{margin:8px 2px 0;color:var(--p3-faint);font-size:11px}html .portal-shell{--page-gutter: 12px}html body .portal-shell .data-table thead th,html body .portal-shell .data-table tbody td{padding-right:8px;padding-left:8px}html .portal-shell .portal-header,html[data-theme=dark] .portal-shell .portal-header,html .portal-shell .portal-band{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}html .portal-shell .portal-band-inner,html .portal-shell--admin .portal-band--small .portal-band-inner,html .portal-shell .portal-below--page>*,html .portal-shell .portal-admin-content{max-width:none}html .portal-shell .portal-below--page,html .portal-shell .portal-below--admin{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}html body .portal-shell .portal-below--page>.settings-page-grid,html body .portal-shell .portal-band--narrow .portal-band-inner{max-width:760px}@media (max-width: 760px){html .portal-shell{--page-gutter: 8px}.portal-band-meta{display:none}}html body .portal-shell .associated-users-board{padding:0;overflow:hidden}html body .portal-shell .associated-users-head{display:flex;flex-direction:column;gap:4px;padding:14px 16px 10px}html body .portal-shell .associated-users-board .admin-users-table-wrap{border-top:1px solid var(--p3-line)}html body .portal-shell .associated-users-row{cursor:default}html body .portal-shell .associated-users-board .admin-users-table td{overflow:hidden;text-overflow:ellipsis}html body .portal-shell .associated-users-board .admin-users-table .associated-users-number{padding-right:24px;text-align:right;font-variant-numeric:tabular-nums}html body .portal-shell .associated-users-board .admin-users-empty{height:64px;color:var(--p3-muted);text-align:center}html body .portal-shell .associated-users-row:hover .contact-cell-copy{opacity:1}html body .portal-shell .associated-users-board .admin-users-table{min-width:980px}html body .portal-shell .associated-users-board .section-title{color:var(--p3-ink);font:650 15px/1.25 var(--p3-font)}html body .portal-shell .associated-users-board .section-description{color:var(--p3-muted);font:12.5px/1.4 var(--p3-font)}html body .portal-shell .associated-users-board .count-badge{min-width:22px;height:18px;padding:0 6px;border:0;border-radius:9px;background:var(--p3-navy);color:#fff;font:600 10.5px/18px var(--p3-font)}html[data-theme=dark] body .portal-shell .associated-users-board .count-badge{background:var(--p3-blue)}html body .portal-shell .associated-users-board .associated-users-position{color:var(--p3-muted)}
