@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2)format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2)format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.schedule-filter-panel{background:#edf4f8;border:1px solid #d6e4ed;border-radius:8px;min-width:0;margin:-3px 0 23px;padding:15px 16px 12px}.schedule-filter-chips{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.schedule-filter-label{color:#375d76;align-items:center;gap:6px;margin-right:2px;font-size:12px;font-weight:600;display:inline-flex}.schedule-filter-chips .filter-chip{text-align:left;max-width:100%;font-size:12px}.schedule-filter-chips .filter-chip>span{overflow-wrap:anywhere;min-width:0}.schedule-filter-chips .filter-chip>svg{flex-shrink:0}.clear-schedule-filters{margin-left:auto}.schedule-filter-explanation{color:#536f81;margin:10px 0 0;font-size:11px;line-height:1.55}.filtered-occupancy-note{color:#5b7282;margin:-9px 0 19px;font-size:11px;line-height:1.5}.day-heading.outside-filter{color:#81939f;background:#eef1f3}.day-heading.outside-filter>span,.day-heading.outside-filter>strong{opacity:.5}.day-cell.outside-filter,.day-cell.outside-filter:disabled:hover{background:repeating-linear-gradient(135deg,#edf1f3 0 4px,#f2f5f6 4px 8px)}.schedule-empty-filter{color:#5b7181;background:#f8fbfc;border-top:1px solid #e2eaee;align-items:flex-start;gap:11px;padding:18px 20px;font-size:12px;display:flex}.schedule-empty-filter>svg{flex-shrink:0;margin-top:1px}.schedule-empty-filter>div{flex:1;min-width:0}.schedule-empty-filter strong{color:#355369;font-size:13px;font-weight:500}.schedule-empty-filter p{margin:5px 0 0;line-height:1.5}.schedule-empty-filter>.button{flex-shrink:0}@media (width<=600px){.schedule-filter-panel{margin-bottom:18px;padding:12px}.schedule-filter-chips{gap:7px}.schedule-filter-label{width:100%;font-size:11px}.schedule-filter-chips .filter-chip{font-size:11px}.clear-schedule-filters{margin-left:0}.schedule-filter-explanation,.filtered-occupancy-note{font-size:10px}.schedule-empty-filter{flex-wrap:wrap;padding:15px 12px;font-size:11px}.schedule-empty-filter strong{font-size:12px}.schedule-empty-filter>.button{margin-left:29px}}.grid-new-resource-row{grid-template-columns:var(--berth-width) minmax(0,1fr);background:#f7fafc;border-top:1px solid #dce6ec;min-height:62px;display:grid}.grid-add-resource{z-index:4;color:#315f7d;text-align:left;background:#f2f7fa;border:0;border-right:1px solid #dce6ec;align-items:center;gap:10px;padding:13px 16px;font-size:12px;font-weight:500;display:flex;position:sticky;left:0}.grid-add-resource>span{background:#e6f0f6;border:1px solid #c1d6e2;border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;transition:background .15s,border-color .15s;display:grid}.grid-add-resource:hover{background:#e8f2f7}.grid-add-resource:hover>span{background:#d9eaf3;border-color:#83acc5}.grid-add-resource:focus-visible{outline-offset:-3px;outline:2px solid #538cab}.grid-new-resource-hint{color:#6a8190;background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--days) - 1px), #e7eef2 calc(100% / var(--days) - 1px), #e7eef2 calc(100% / var(--days)));align-items:center;padding:0 20px;font-size:11px;display:flex}.berth-heading:focus{outline-offset:-3px;background:#f1f8fb;outline:2px solid #8db4c9}@media (width<=600px){.grid-add-resource{gap:8px;padding:12px;font-size:11px}.grid-new-resource-row{min-height:58px}.grid-new-resource-hint{font-size:10px}}.secondary-view{min-width:0;max-width:100%}.secondary-view .page-heading>div{min-width:0}.secondary-view .table-card,.secondary-view .table-scroll,.secondary-view .filter-bar,.secondary-view .migration-log,.secondary-view .filter-bar input,.secondary-view .filter-bar select{min-width:0;max-width:100%}.heading-actions,.inline-edit-actions,.form-actions{align-items:center;gap:8px;display:flex}.heading-actions{flex-shrink:0}.secondary-view .filter-bar{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:20px;display:flex}.secondary-view .filter-bar .field{min-width:150px;margin:0}.secondary-view .filter-bar .search-field{flex:220px}.secondary-view .field>span{margin-bottom:7px;font-size:12px;font-weight:600;display:block}.secondary-view input:not([type=checkbox]),.secondary-view select,.secondary-view textarea{min-height:38px;color:var(--ink,#14212b);font:inherit;background:#fff;border:1px solid #d5dfe4;border-radius:6px;width:100%;padding:8px 11px;font-size:13px}.secondary-view input[type=date]{min-width:140px}.secondary-view .input-with-icon{position:relative}.secondary-view .input-with-icon>svg{color:#5e7180;pointer-events:none;position:absolute;top:11px;left:11px}.secondary-view .input-with-icon>input{padding-left:36px}.secondary-view .checkbox-field{white-space:nowrap;cursor:pointer;align-items:center;gap:8px;min-height:38px;font-size:13px;display:flex}.secondary-view input[type=checkbox]{width:15px;height:15px;accent-color:var(--harbour,#1f5f8b);margin:0}.secondary-view .filter-note{color:#5e7180;margin-left:auto;padding-bottom:11px;font-size:12px}.secondary-view .table-card{background:#fff;border:1px solid #dce4e8;border-radius:10px;overflow:hidden}.secondary-view .table-caption{justify-content:space-between;align-items:center;gap:15px;min-height:70px;padding:17px 22px;display:flex}.secondary-view .table-caption>div{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.secondary-view .table-caption strong{font-size:14px;font-weight:600}.secondary-view .table-caption .muted{font-size:12px}.secondary-view .table-scroll{overscroll-behavior-x:contain;width:100%;overflow-x:auto}.secondary-view .data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.secondary-view .data-table th{color:#5e7180;white-space:nowrap;background:#f7f9fa;border-top:1px solid #e4eaed;border-bottom:1px solid #e4eaed;padding:12px 18px;font-size:11px;font-weight:500}.secondary-view .data-table td{vertical-align:middle;border-bottom:1px solid #edf1f3;padding:15px 18px}.secondary-view .data-table tbody tr:last-child td{border-bottom:0}.secondary-view .data-table th:first-child,.secondary-view .data-table td:first-child{padding-left:22px}.secondary-view .data-table strong{font-weight:600}.secondary-view .clickable-row{cursor:pointer;transition:background-color .12s}.secondary-view .clickable-row:hover{background:#f7fafc}.secondary-view .row-name{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-width:185px;padding:0;display:flex}.secondary-view .row-name>span:last-child{gap:5px;display:grid}.secondary-view .row-name small{color:#5e7180;font-size:11px}.secondary-view .booking-kind-mark,.secondary-view .vessel-mark{width:32px;height:32px;color:var(--harbour,#1f5f8b);background:#edf4f8;border-radius:7px;flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.secondary-view .kind-event{color:#5e7180;background:#eaf6f4}.secondary-view .kind-closure{color:#5e7180;background:#edf0f2}.secondary-view .kind-hold{color:#5e7180;background:#f7f4e9}.secondary-view .date-cell,.secondary-view .number-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.secondary-view .issue-count{color:#a73028;background:#fbece9;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;font-size:12px;display:inline-flex}.secondary-view .pagination{border-top:1px solid #e8edef;justify-content:space-between;align-items:center;gap:12px;min-height:65px;padding:16px 22px;font-size:12px;display:flex}.secondary-view .button.disabled{opacity:.45;pointer-events:none}.secondary-view .inline-error{color:#a22f27;background:#fff2ef;border-radius:5px;padding:10px 12px;font-size:13px}.secondary-view .text-link,.secondary-view .subtle-link{color:var(--harbour,#1f5f8b);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.secondary-view .text-link:hover,.secondary-view .subtle-link:hover{text-decoration:underline}.secondary-view .subtle-link{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.heading-count{vertical-align:middle;color:#5e7180;border:1px solid #dce4e8;border-radius:7px;margin-left:7px;padding:0 9px;font-size:16px;font-weight:500;line-height:28px;display:inline-block}.page-context{color:#5e7180;align-items:center;gap:10px;font-size:12px;display:flex}.page-context>span>span{padding-top:3px;font-size:11px;display:block}.secondary-view .issue-tabs{border-bottom:1px solid #dce4e8;gap:24px;margin-bottom:23px;display:flex;overflow-x:auto}.secondary-view .issue-tabs>button{color:#5e7180;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;margin-bottom:-1px;padding:13px 1px 15px;font-size:14px;display:inline-flex}.secondary-view .issue-tabs>button.active{color:var(--harbour,#1f5f8b);border-color:var(--harbour,#1f5f8b);font-weight:600}.secondary-view .issue-tabs>button>span{background:#e9eef1;border-radius:5px;padding:2px 7px;font-size:11px}.secondary-view .issue-tabs>button.active>span{color:#1f5f8b;background:#e4f0f7}.secondary-view .issue-filters{margin-bottom:17px}.secondary-view .issue-filters select{min-width:190px}.secondary-view .rule-explainer{color:#617483;align-items:flex-start;gap:10px;margin-bottom:22px;font-size:13px;line-height:1.5;display:flex}.secondary-view .rule-explainer>svg{flex-shrink:0;margin-top:1px}.secondary-view .rule-explainer p{margin:0}.secondary-view .review-list{gap:15px;display:grid}.secondary-view .review-card{background:#fff;border:1px solid #dce4e8;border-left:3px solid #c23b32;border-radius:9px;overflow:hidden}.secondary-view .review-card.issue-fit{border-left-color:#c98a0b}.secondary-view .review-card.is-reviewed{border-left-color:#799582}.review-card-heading{border-bottom:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.review-card-heading>div{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.secondary-view .issue-category{color:#a7352b;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.secondary-view .issue-category.fit{color:#926809}.review-date{color:#5e7180;font-variant-numeric:tabular-nums;font-size:12px}.secondary-view .review-card .badge{color:#5e7180;white-space:nowrap;background:#f7f3ed;border-radius:4px;padding:4px 7px;font-size:10px}.issue-booking-pair{padding:23px 20px}.issue-booking-pair.has-pair{grid-template-columns:1fr 1fr;gap:28px;display:grid}.issue-booking-pair.has-pair>:last-child{border-left:1px solid #e7edef;padding-left:28px}.issue-booking{gap:13px;min-width:0;display:flex}.issue-booking-icon{color:#1f5f8b;background:#edf4f8;border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.issue-booking-body{min-width:0}.secondary-view .booking-link{text-align:left;font-size:16px;font-weight:600}.issue-booking-meta{color:#5e7180;flex-wrap:wrap;gap:8px 14px;margin-top:7px;font-size:12px;display:flex}.issue-lengths{color:#5e7180;flex-wrap:wrap;align-items:center;gap:12px;margin-top:11px;font-size:12px;display:flex}.issue-lengths strong{color:#364a58;margin-left:4px}.source-reference{color:#5e7180;overflow-wrap:anywhere;align-items:baseline;gap:5px;margin:10px 0 12px;font-size:10px;line-height:1.6;display:flex}.source-reference svg{flex-shrink:0}.review-card-actions{background:#fbfcfc;border-top:1px solid #edf1f3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex}.review-card-actions>div{flex-wrap:wrap;gap:8px;display:flex}.review-note-form{background:#f9fbfc;border-top:1px solid #e4ebee;padding:20px}.review-note-form>.muted{font-size:12px}.review-note-form .form-actions{justify-content:flex-end;margin-top:12px}.reviewed-note{color:#5e7180;align-items:flex-start;gap:8px;margin:0 20px 17px;font-size:12px;display:flex}.reviewed-note p{color:#5e7180;margin:5px 0 0}.status-reviewed{color:#3b7552;background:#edf6ef}.registry-note{background:#eaf2f7;border:1px solid #d9e6ee;border-radius:9px;gap:14px;margin-bottom:24px;padding:18px 21px;display:flex}.registry-note-icon{color:#1f5f8b;padding-top:2px}.registry-note strong{color:#31536a;font-size:14px;font-weight:600}.registry-note p{color:#5e7180;max-width:900px;margin:5px 0 0;font-size:13px;line-height:1.5}.secondary-view .vessel-filters .search-field{max-width:420px}.secondary-view .missing-length-filter{margin-bottom:1px}.secondary-view .missing-length-filter.selected{color:#1f5f8b;background:#edf5fa;border-color:#87acc6}.vessels-table{min-width:780px}.vessel-name-cell{align-items:center;gap:11px;display:flex}.vessel-name-cell strong{white-space:nowrap}.vessel-length-note{color:#5e7180;max-width:350px;margin:6px 0 0;font-size:10px;line-height:1.5}.editable-length{font:inherit;color:#243f52;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;display:inline-flex}.editable-length>span{color:#5e7180}.editable-length>svg{color:#5e7180;opacity:.5;margin-left:5px}.editable-length:hover>svg{opacity:1}.editable-length.missing{color:#1f5f8b;border-bottom:1px dashed #b9cedc;font-size:12px}.length-input{align-items:center;gap:7px;max-width:130px;display:flex}.length-input>span{color:#5e7180;font-size:12px}.secondary-view .inline-name-input{min-width:190px}.secondary-view .editing-row{background:#f5f9fc}.secondary-view .inline-error-row td{padding-top:0}.inline-error-row .inline-error{margin:0}.row-actions-cell .inline-edit-actions{justify-content:flex-end}.add-vessel-modal form>.field{margin:18px 0;display:block}.add-vessel-modal .form-actions{justify-content:flex-end;margin-top:24px}.import-complete{color:#3a7652;background:#f0f8f2;border:1px solid #d2e6d9;border-radius:6px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:inline-flex}.migration-source{background:#fff;border:1px solid #dce4e8;border-radius:9px;align-items:center;gap:14px;margin-bottom:20px;padding:20px;display:flex}.source-file-icon{color:#387d67;background:#edf6f1;border:1px solid #dcebe2;border-radius:7px;flex-shrink:0;place-items:center;width:44px;height:47px;display:grid}.migration-source strong{font-size:14px;font-weight:600}.migration-source p{color:#5e7180;margin:6px 0 0;font-size:12px}.source-preserved{color:#5e7180;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.secondary-view .migration-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.secondary-view .migration-summary .stat-card{background:#fff;border:1px solid #dce4e8;border-radius:9px;padding:19px 20px 17px}.stat-card-label{color:#5e7180;align-items:center;gap:8px;font-size:12px;display:flex}.migration-summary .stat-card>strong{font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:11px;font-size:31px;font-weight:600;line-height:1.2;display:block}.migration-summary .stat-card>p{color:#5e7180;margin:8px 0 15px;font-size:12px}.stat-breakdown{color:#5e7180;border-top:1px solid #edf1f3;flex-wrap:wrap;gap:5px 10px;padding-top:12px;font-size:11px;display:flex}.migration-explanation{color:#5e7484;align-items:flex-start;gap:12px;padding:0 2px 23px;display:flex}.migration-explanation>svg{flex-shrink:0;margin-top:1px}.migration-explanation p{margin:0;font-size:13px;line-height:1.6}.migration-explanation p>strong{color:#3c5363;font-weight:600}.migration-explanation .button{flex-shrink:0;margin:2px 0 0 auto}.secondary-view .migration-log{background:#fff;border:1px solid #dce4e8;border-radius:10px;padding:0;overflow:hidden}.log-heading{justify-content:space-between;align-items:center;gap:15px;padding:24px 23px 17px;display:flex}.log-heading h2{margin:0;font-size:17px;font-weight:600}.log-heading p{color:#5e7180;margin:6px 0 0;font-size:12px}.log-heading>span{font-size:11px}.secondary-view .log-filters{gap:10px;margin:0;padding:0 23px 20px}.secondary-view .log-filters .search-field{max-width:400px}.import-group{border-top:1px solid #e7edef}.import-group-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;align-items:center;gap:14px;padding:19px 23px;display:flex}.import-group-toggle:hover{background:#fafcfd}.import-group.expanded>.import-group-toggle{background:#f8fbfc}.log-severity-icon{border-radius:7px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.severity-info{color:#5e7180;background:#edf4f8}.severity-warn{color:#5e7180;background:#fbf5e7}.severity-error{color:#ad3e33;background:#fcede9}.import-group-label{flex:1;gap:5px;display:grid}.import-group-label>strong{font-size:13px;font-weight:600}.import-group-label>span{color:#5e7180;font-size:12px;line-height:1.5}.import-group-label>code{color:#5e7180;letter-spacing:.15px;font-family:inherit;font-size:9px}.severity-pill{border-radius:4px;padding:4px 7px;font-size:10px}.log-count{color:#5e7180;text-align:center;font-variant-numeric:tabular-nums;background:#f0f4f6;border-radius:5px;min-width:30px;padding:5px 6px;font-size:12px}.expand-chevron{color:#5e7180;flex-shrink:0;transition:transform .15s}.import-group.expanded .expand-chevron{transform:rotate(180deg)}.import-log-entries{background:#fcfdfd;border-top:1px solid #e8eef1;padding:0 23px}.import-log-entry{border-bottom:1px solid #e9eef0;grid-template-columns:140px 1fr;gap:20px;padding:16px 0;display:grid}.import-log-entry:last-child{border-bottom:0}.log-source{color:#5e7180;align-items:baseline;gap:7px;font-size:11px;display:flex}.log-source svg{flex-shrink:0}.log-source code{overflow-wrap:anywhere;font-family:inherit}.import-log-entry p{color:#5e7180;margin:0;font-size:12px;line-height:1.65}.import-log-entry .subtle-link{margin-top:7px;font-size:11px}.import-log-entries .pagination{padding-left:0;padding-right:0}.migration-footnote{color:#5e7180;align-items:flex-start;gap:8px;margin:19px 2px 0;font-size:11px;line-height:1.6;display:flex}.migration-footnote svg{flex-shrink:0;margin-top:2px}@media (width<=1100px){.secondary-view .migration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-preserved,.log-heading>span{display:none}.secondary-view .booking-filters .field{flex:150px}.secondary-view .booking-filters .search-field{flex-basis:100%}}@media (width<=700px){.secondary-view .page-heading{flex-direction:column;align-items:stretch;gap:16px}.secondary-view .page-heading>div:first-child{width:100%}.secondary-view .page-heading p{max-width:none}.secondary-view .page-heading>.button,.secondary-view .page-heading>.import-complete{align-self:flex-start;max-width:100%}.secondary-view .heading-actions{flex-wrap:wrap;flex-shrink:1;width:100%;min-width:0}.secondary-view .heading-actions>.button{flex:140px;min-width:0}.secondary-view .table-caption,.secondary-view .pagination{flex-wrap:wrap}.secondary-view .table-caption>div,.secondary-view .registry-note>div,.secondary-view .migration-source>div{min-width:0}.secondary-view .table-caption>div{max-width:100%}.secondary-view .filter-bar{gap:12px}.secondary-view .filter-bar .field{flex:140px;min-width:0}.secondary-view .filter-bar .search-field{flex-basis:100%}.secondary-view .filter-bar .filter-note{display:none}.secondary-view .issue-tabs{gap:18px}.secondary-view .issue-tabs>button{font-size:12px}.issue-booking-pair.has-pair{grid-template-columns:1fr;gap:20px}.issue-booking-pair.has-pair>:last-child{border-top:1px solid #e7edef;border-left:0;padding:20px 0 0}.review-card-heading{align-items:flex-start}.review-card-heading>div{gap:8px;display:grid}.secondary-view .issue-filters select{min-width:0}.secondary-view .pagination{padding:14px}.secondary-view .pagination .muted{font-size:11px}.secondary-view .table-caption{padding:17px}.secondary-view .table-caption>div{gap:7px;display:grid}.registry-note{padding:16px}.registry-note p{font-size:12px}.secondary-view .migration-summary{gap:10px}.secondary-view .migration-summary .stat-card{padding:15px 13px}.migration-summary .stat-card>strong{font-size:28px}.stat-breakdown{gap:5px 7px;font-size:10px}.migration-summary .stat-card>p{min-height:29px;font-size:11px}.migration-explanation{flex-wrap:wrap;gap:9px}.migration-explanation p{width:calc(100% - 32px);font-size:12px}.migration-explanation .button{margin-left:28px}.migration-source{gap:11px;padding:16px}.migration-source p{font-size:11px;line-height:1.6}.log-heading{padding:20px 16px 16px}.secondary-view .log-filters{padding:0 16px 17px}.import-group-toggle{gap:10px;padding:17px 15px}.import-group-label>span{font-size:11px}.import-group-label>code,.severity-pill{display:none}.log-severity-icon{flex-basis:29px;width:29px;height:29px}.import-log-entry{grid-template-columns:1fr;gap:7px}.import-log-entries{padding:0 17px}.page-context{display:none}}@media (prefers-reduced-motion:reduce){.secondary-view .clickable-row,.expand-chevron{transition:none}}:root{--chart:#f4f7f8;--ink:#14212b;--harbour:#1f5f8b;--port-red:#c23b32;--starboard:#2e7d4f;--signal-amber:#c98a0b;--slate:#6b7a86;--sail:#2b8c8c;--line:#dfe6e9;--muted:#637580;--surface:#fff;--radius:9px;color:var(--ink);background:var(--chart);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-family:Barlow,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--harbour);text-decoration:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #59a9d0}button{color:inherit}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.9px;font-size:32px;font-weight:600;line-height:1.15}h2{letter-spacing:-.5px;font-size:24px;font-weight:600}h3{font-size:15px;font-weight:600}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd7dd;border-radius:6px;min-height:40px;padding:10px 12px}input::placeholder,textarea::placeholder{color:#74858f}textarea{resize:vertical}input:disabled{color:var(--muted);background:#f1f4f5}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--harbour)}.facility-bar{color:#d5e0e6;letter-spacing:.3px;background:#142c3b;justify-content:space-between;align-items:center;padding:9px 36px;font-size:11px;display:flex}.facility-bar>span{align-items:center;gap:8px;display:flex}.live-dot{background:#6fb5a1;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.utility-separator{color:#758c9b;padding:0 3px}.site-header{background:#fff;justify-content:space-between;align-items:center;gap:20px;height:100px;padding:0 36px;display:flex}.brand{color:var(--ink);align-items:center;gap:13px;display:flex}.brand-mark{color:#fff;background:var(--harbour);border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.brand-name{letter-spacing:-1.2px;font-size:30px;font-weight:700;line-height:1;display:block}.brand-dot{color:var(--sail)}.tagline{color:var(--muted);letter-spacing:.1px;margin-top:7px;font-size:11px;display:block}.header-actions{gap:10px;display:flex}.button{color:#324a59;white-space:nowrap;background:#fff;border:1px solid #ccd7dd;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.button:hover{background:#f2f6f8;border-color:#94b0c1}.button.primary{color:#fff;background:var(--harbour);border-color:var(--harbour)}.button.primary:hover{background:#194f74}.button.small{min-height:31px;padding:6px 10px;font-size:12px}.button.text-button{background:0 0;border-color:#0000}.button.danger{background:var(--port-red);color:#fff;border-color:var(--port-red)}.button.danger-text{color:var(--port-red);border-color:#e6c5c2}.button.full-width{width:100%}.button-row{align-items:center;gap:8px;display:flex}.icon-button{background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;min-width:30px;min-height:30px;padding:7px;display:inline-grid}.icon-button:hover{background:#eaf0f4}.text-link{color:var(--harbour);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.text-link:hover{text-decoration:underline}.navigation-bar{background:#fff;border-bottom:1px solid #d6e0e6;justify-content:space-between;align-items:center;height:54px;padding:0 36px;display:flex}.navigation-bar nav{gap:30px;height:100%;display:flex}.navigation-bar nav a{color:#687a86;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 2px;font-size:13px;font-weight:500;display:flex}.navigation-bar nav a:hover{color:var(--harbour)}.navigation-bar nav a.active{color:var(--harbour);border-color:var(--harbour);font-weight:600}.nav-count{color:#835900;background:#f5ebda;border-radius:4px;padding:1px 6px;font-size:10px}.workspace-label{color:#70828c;align-items:center;gap:6px;font-size:11px;display:flex}.workspace-label .live-dot{background:#438567;width:5px;height:5px}.page{max-width:1800px;min-height:calc(100vh - 270px);margin:0 auto;padding:30px 36px 42px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:#6a808c;letter-spacing:.8px;margin-bottom:7px;font-size:11px;font-weight:500;display:block}.page-heading p{color:var(--muted);margin-top:8px;font-size:13px}.archive-indicator{color:#6b7c87;background:#f9fbfc;border:1px solid #dde6ea;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-size:11px;display:flex}.archive-indicator span{color:#354c5a;margin-top:2px;font-size:12px;font-weight:500;display:block}.ask-container{margin-bottom:22px}.ask-bar{background:#fff;border:1px solid #dce5ea;border-radius:7px;align-items:center;gap:12px;min-height:50px;padding:7px 11px 7px 16px;display:flex}.ask-symbol{color:#3f819f}.ask-bar input{background:0 0;border:none;flex:1;min-height:30px;padding:6px 0;font-size:13px}.ask-bar input:focus{outline:none}.ask-bar:focus-within{box-shadow:0 0 0 2px #99c3d7}.ask-example{color:#82919a;white-space:nowrap;font-size:11px}.ask-submit{color:#416e88;background:#eef4f7;border:none;border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.ask-help{color:#5e7280;margin:8px 2px 0;font-size:11px;line-height:1.6}.ask-feedback{color:#356a58;align-items:center;gap:7px;margin:8px 2px 0;font-size:12px;line-height:1.5;display:flex}.ask-feedback svg,.booking-draft-note svg{flex-shrink:0}.booking-draft-note{color:#365a71;background:#f0f6f9;border:1px solid #d1e1eb;border-radius:5px;align-items:flex-start;gap:9px;padding:11px 13px;font-size:12px;line-height:1.5;display:flex}.filter-chip{color:#365a71;background:#e4eef3;border:1px solid #d1e1eb;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;display:inline-flex}.schedule-stats{grid-template-columns:repeat(4,1fr);gap:20px;padding:2px 0 23px;display:grid}.schedule-stats>div{border-right:1px solid #dee6ea;align-items:center;gap:11px;display:flex}.schedule-stats>div:last-child{border:none}.stat-icon{border-radius:8px;place-items:center;width:37px;height:37px;display:grid}.stat-icon.blue{color:#356c92;background:#e5eff5}.stat-icon.teal{color:#378586;background:#e2eeee}.stat-icon.green{color:#568363;background:#e6efe9}.stat-icon.amber{color:#a97b24;background:#f3ecdd}.schedule-stats strong{letter-spacing:-.5px;align-items:baseline;gap:10px;font-size:23px;font-weight:600;display:flex}.schedule-stats strong span{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:400}.schedule-layout{grid-template-columns:minmax(0,1fr) 255px;align-items:start;gap:22px;display:grid}.schedule-card{background:#fff;border:1px solid #d8e2e7;border-radius:9px;overflow:hidden;box-shadow:0 2px 2px #14212b02}.schedule-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:73px;padding:18px;display:flex}.month-navigation{align-items:center;gap:15px;display:flex}.arrow-group{border:1px solid #dce4e9;border-radius:5px;display:flex;overflow:hidden}.arrow-group button{color:#657f8d;border-radius:0;min-width:29px;min-height:29px;padding:5px}.arrow-group button+button{border-left:1px solid #e1e7ea}.month-control{cursor:pointer;align-items:center;gap:9px;font-size:19px;font-weight:600;display:flex;position:relative}.month-control input{opacity:0;cursor:pointer;width:100%;padding:0;position:absolute;inset:0}.month-control input::-webkit-calendar-picker-indicator{cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.month-control:focus-within{outline-offset:4px;border-radius:2px;outline:2px solid #59a9d0}.month-actions{gap:6px;display:flex}.grid-information{color:#6c808c;background:#fafcfd;border-top:1px solid #e8eef1;border-bottom:1px solid #dfe6ea;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;font-size:11px;display:flex}.grid-information>span{align-items:center;gap:6px;display:flex}.tiny-dot{background:var(--harbour);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.grid-scroll{scrollbar-width:thin;scrollbar-color:#bdced7 #f3f7f9;overflow-x:auto}.month-grid{--berth-width:202px;min-width:930px}.grid-heading,.berth-grid-row{grid-template-columns:var(--berth-width) minmax(0,1fr);display:grid}.grid-heading{background:#fafcfd;border-bottom:1px solid #dce4e8;height:57px}.berth-column-heading{z-index:4;background:#fafcfd;border-right:1px solid #dde6eb;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;font-weight:500;display:flex;position:sticky;left:0}.berth-column-heading span{color:#82929b;font-size:10px;font-weight:400}.day-columns{grid-template-columns:repeat(var(--days), minmax(0, 1fr));display:grid}.day-heading{border-right:1px solid #e8eef1;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-family:Barlow Semi Condensed,sans-serif;display:flex}.day-heading>span{color:#8697a1;font-size:9px;font-weight:500}.day-heading>strong{color:#456170;font-size:12px;font-weight:500}.weekend{background:#f0f5f7}.day-heading.weekend strong{color:#738b98}.berth-grid-row{border-bottom:1px solid #e0e8ec}.berth-heading{z-index:4;background:#fff;border-right:1px solid #dde6eb;flex-direction:column;justify-content:center;padding:20px 16px;display:flex;position:sticky;left:0}.berth-title{justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1.1;display:flex}.berth-title strong{white-space:nowrap;color:#5c7584;font-family:Barlow Semi Condensed,sans-serif;font-size:13px;font-weight:500}.berth-title strong small{color:#8598a4;font-family:Barlow,sans-serif;font-size:9px}.berth-heading>small{color:#8799a4;margin-top:7px;font-size:10px}.length-gauge{width:100%;height:7px;margin-top:13px;position:relative}.gauge-track,.gauge-fill{border-radius:3px;height:3px;display:block;position:absolute;top:2px;left:0}.gauge-track{background:#eff3f5;width:100%}.gauge-fill{background:#779eaf}.gauge-marker{background:var(--ink);z-index:2;width:2px;height:12px;position:absolute;top:-3px}.gauge-marker:before{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--ink);position:absolute;top:-2px;left:-3px}.length-gauge.large{height:14px;margin-top:14px}.length-gauge.large .gauge-fill,.length-gauge.large .gauge-track{height:5px}.length-gauge.large .gauge-marker{height:15px}.too-short .gauge-fill{background:#d0ae79}.dimmed .berth-heading{background:#f8f9fa}.dimmed .berth-title{opacity:.6}.berth-days{-webkit-user-select:none;user-select:none;position:relative}.cell-background{position:absolute;inset:0}.day-cell{color:#0000;background:0 0;border:none;border-right:1px solid #eaf0f3;border-radius:0;padding:0;font-size:17px}.day-cell.weekend{background:#f5f8fa}.day-cell:hover{color:#527d96;background:#e7f0f5}.day-cell:disabled{cursor:default;opacity:1;color:#0000}.day-cell:disabled:hover{background:inherit;color:#0000}.day-cell.selected-cell{background:#c9e3f0}.booking-lanes{grid-template-columns:repeat(var(--days), minmax(0, 1fr));pointer-events:none;gap:6px 0;padding:20px 0 0;display:grid;position:relative}.booking-bar{pointer-events:auto;text-align:left;border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;gap:5px;min-width:0;height:29px;margin:0 2px;padding:0 8px;font-family:Barlow Semi Condensed,sans-serif;font-size:12px;font-weight:500;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #14212b08}.booking-bar>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.booking-bar small{opacity:.7;white-space:nowrap;font-size:10px}.booking-bar:hover{filter:brightness(.94);z-index:2;box-shadow:0 2px 4px #14212b1a}.kind-vessel{color:#255e87;background:#dceaf4;border-color:#bcd3e4 #bcd3e4 #bcd3e4 #3477a3;border-left-style:solid;border-left-width:3px}.kind-event{color:#276e6d;background:#ddefea;border-color:#b6d8cf #b6d8cf #b6d8cf #348a82;border-left-style:solid;border-left-width:3px}.kind-closure{color:#647b89;background:repeating-linear-gradient(-45deg,#e8edf0,#e8edf0 4px,#f5f7f8 4px 8px);border-color:#c8d2d8}.kind-hold{color:#7d909c;background:#f0f3f5;border:1px dashed #b1c1cb}.booking-bar.conflict{color:#9e453b;background-color:#f5e6e2;border:1px solid #c23b32;border-left-width:3px}.booking-bar.fit-violation{border:1px solid #c98a0b;border-left-width:3px}.bar-warning{font-family:sans-serif}.continues-before{clip-path:polygon(4px 0,100% 0,100% 100%,4px 100%,0 50%);border-top-left-radius:0;border-bottom-left-radius:0}.continues-after{clip-path:polygon(0 0,calc(100% - 4px) 0,100% 50%,calc(100% - 4px) 100%,0 100%);border-top-right-radius:0;border-bottom-right-radius:0}.continues-before.continues-after{clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 50%,calc(100% - 4px) 100%,4px 100%,0 50%)}.focused-booking{outline-offset:1px;outline:2px solid #14212b;animation:1.5s focus-booking}@keyframes focus-booking{0%,to{box-shadow:0 0 #1f5f8b00}40%{box-shadow:0 0 0 7px #1f5f8b45}}.pool-divider{color:#718893;background:#f8fafb;border-bottom:1px solid #e0e8ec;align-items:center;gap:6px;height:29px;padding:0 16px;font-size:10px;display:flex}.pool-divider>span{color:#91a1aa;margin-left:auto;font-size:9px}.pool-chip{color:#748997;border:1px solid #dae4e9;border-radius:4px;padding:3px 5px;font-size:9px;font-weight:400}.grid-legend{color:#687f8c;flex-wrap:wrap;align-items:center;gap:15px;padding:15px 17px;font-size:10px;display:flex}.grid-legend>span{align-items:center;gap:5px;display:flex}.grid-legend i{border-radius:2px;width:11px;height:9px;display:inline-block}.legend-vessel{background:#dceaf4;border:1px solid #91b4cf}.legend-event{background:#ddefea;border:1px solid #8ec1b4}.legend-closure{background:repeating-linear-gradient(-45deg,#c6d1d7,#c6d1d7 1px,#f4f6f7 1px 3px);border:1px solid #adbdc6}.legend-hold{background:#f0f3f5;border:1px dashed #9dafb9}.legend-conflict{border:1px solid var(--port-red)}.legend-fit{border:1px solid var(--signal-amber)}.legend-divider{border-left:1px solid #e1e9ed;height:13px}.grid-legend .inclusive-note{color:#91a0a9;margin-left:auto;font-size:9px}.schedule-sidebar{flex-direction:column;gap:17px;display:flex}.sidebar-card{background:#fff;border:1px solid #dce5e9;border-radius:8px;padding:18px 16px 0;overflow:hidden}.sidebar-heading{justify-content:space-between;align-items:center;gap:5px;display:flex}.sidebar-heading h3{align-items:center;gap:7px;font-size:13px;display:flex}.sidebar-heading h3 svg{color:#ab812f}.count-badge{color:#96712b;background:#f6edda;border-radius:4px;padding:2px 6px;font-size:10px}.sidebar-description{color:#7b8c97;margin:9px 0 15px;font-size:11px}.compact-issue{border:1px solid #e2e8eb;border-radius:6px;margin-bottom:10px;padding:12px 11px}.issue-type{color:#a47212;align-items:center;gap:6px;margin-bottom:7px;font-size:10px;display:flex}.issue-type .tiny-dot{background:#c49436}.issue-overlap .issue-type,.issue-vessel_double .issue-type{color:var(--port-red)}.issue-overlap .tiny-dot,.issue-vessel_double .tiny-dot{background:var(--port-red)}.compact-issue>strong{font-size:12px;font-weight:500;display:block}.compact-issue>p{color:#768b98;margin-top:2px;font-size:11px}.compact-issue-bottom{color:#80919d;justify-content:space-between;margin-top:10px;font-size:10px;display:flex}.compact-issue-bottom button{color:#42738e;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:10px;display:flex}.sidebar-link{border-top:1px solid #e4eaed;justify-content:space-between;align-items:center;margin:15px -16px 0;padding:12px 16px;font-size:11px;font-weight:500;display:flex}.sidebar-link:hover{background:#f7fafb}.month-clear{flex-direction:column;align-items:center;padding:18px 0 21px;display:flex}.month-clear>span{color:#508261;background:#eef5ef;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:12px;display:grid}.month-clear>strong{font-size:12px;font-weight:500}.month-clear>p{color:#83959f;margin-top:4px;font-size:10px}.find-prompt{background:linear-gradient(145deg,#edf4f8,#f6f9fb);border:1px solid #d8e5ec;border-radius:8px;padding:19px 17px;position:relative;overflow:hidden}.find-prompt:after{content:"";pointer-events:none;border:1px solid #adc8d426;border-radius:50%;width:160px;height:160px;position:absolute;top:-72px;right:-66px;box-shadow:0 0 0 14px #adc8d410,0 0 0 28px #adc8d40a}.compass-graphic{color:#4d7a94;background:#f7fafc;border:1px solid #d3e2eb;border-radius:50%;place-items:center;width:40px;height:40px;margin-bottom:15px;display:grid}.find-prompt h3{font-size:14px;font-weight:500;position:relative}.find-prompt p{color:#728a99;margin-top:7px;font-size:11px;line-height:1.7}.find-prompt .button{border-color:#d2dfe7;justify-content:space-between;width:100%;min-height:33px;margin-top:18px;padding:7px 10px;font-size:11px}.schedule-note{color:#82949f;align-items:start;gap:8px;padding:0 7px;font-size:10px;line-height:1.7;display:flex}.empty-month-note{color:#687f8c;align-items:center;gap:10px;padding-top:18px;font-size:12px;display:flex}.site-footer{color:#8497a3;border-top:1px solid #e3ebef;justify-content:space-between;align-items:center;max-width:1800px;margin:0 auto;padding:20px 36px;font-size:10px;display:flex}.site-footer>span{align-items:center;gap:7px;display:flex}.site-footer>span:last-child>span{margin:0 4px}.workspace-label,.eyebrow,.ask-example,.day-heading>span,.berth-column-heading span,.berth-title strong small,.berth-heading>small,.pool-chip,.pool-divider,.pool-divider>span,.grid-legend,.grid-legend .inclusive-note,.sidebar-description,.compact-issue>p,.compact-issue-bottom,.month-clear>p,.find-prompt p,.schedule-note,.site-footer,.field-hint,.form-gauge>span,.availability-hint,.dialog-footer>span,.booking-location,.detail-date-card span,.fit-comparison,.booking-notes,.provenance,.drawer-intro,.availability-length,.empty-state p,.pagination{color:#5e7280}.muted{color:var(--muted);font-weight:400}.amber-text{color:#986700}.inline-error{color:var(--port-red);margin-top:8px;font-size:12px}.loading{color:#6d8796;justify-content:center;align-items:center;gap:12px;padding:90px 20px;font-size:13px;display:flex}.spinner{border:2px solid #d7e3eb;border-top-color:var(--harbour);border-radius:50%;width:17px;height:17px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:#914a40;background:#fff7f5;border:1px solid #e4cbc6;border-radius:7px;align-items:center;gap:12px;margin:18px;padding:18px;display:flex}.error-state p{overflow-wrap:anywhere;margin-top:4px;font-size:12px}.error-state>.button{margin-left:auto}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:48px 28px;display:flex}.empty-icon{color:#799db2;background:#ebf2f6;border-radius:50%;place-items:center;width:65px;height:65px;margin-bottom:18px;display:grid}.empty-state h3{font-size:17px}.empty-state p{color:#80929d;max-width:340px;margin-top:8px;font-size:13px}.status{white-space:nowrap;color:#68808f;background:#edf2f5;border:1px solid #dde5eb;border-radius:4px;align-items:center;padding:3px 7px;font-size:10px;font-weight:500;display:inline-flex}.status-ok,.status-known,.status-available{color:#3b7150;background:#ecf4ef;border-color:#d6e7db}.status-violation,.status-too_short,.status-disputed{color:#8f671d;background:#fbf3e1;border-color:#eee0bf}.status-busy{color:#a35246;background:#faeeeb;border-color:#eed7d1}.status-unverified,.status-unknown{color:#8c7a46;background:#f7f5ed;border-style:dashed;border-color:#e6e0ce}.status-shared{color:#3b747c;background:#eaf3f4;border-color:#d4e6e8}.dialog{width:min(640px,100% - 32px);max-width:none;max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;border:none;border-radius:12px;padding:0;box-shadow:0 20px 100px #10273830}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#132c3c6b}.dialog-heading{border-bottom:1px solid #e3ebf0;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;display:flex}.dialog-heading .eyebrow{margin-bottom:5px;font-size:10px}.dialog-heading h2{font-size:23px}.booking-form{flex-direction:column;gap:19px;padding:23px 26px 0;display:flex}.kind-segment{background:#eff4f7;border-radius:7px;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px;display:grid}.kind-segment button{color:#6d8391;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:12px;display:flex}.kind-segment button.active{color:#275f83;background:#fff;border-color:#dce5eb;box-shadow:0 1px 3px #22334408}.field{color:#405d6e;flex-direction:column;gap:7px;font-size:12px;font-weight:500;display:flex}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-label-row .text-link{font-size:11px}.field input,.field select,.field textarea{font-size:13px;font-weight:400}.field-hint{color:#80939f;font-size:10px;font-weight:400}.field-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.inline-vessel{background:#f5f9fb;border:1px solid #d7e5ec;border-radius:6px;grid-template-columns:1fr 100px;gap:12px;padding:12px;display:grid}.inline-vessel>.button{grid-column:1/-1}.form-gauge{background:#f8fafc;border:1px solid #e4ecf0;border-radius:6px;margin:-5px 0 0;padding:12px 14px 6px}.form-gauge>span{color:#7a919f;justify-content:space-between;font-size:11px;display:flex}.form-gauge strong{color:#4c6a7c;font-weight:500}.availability-hint{color:#728896;background:#f6f9fa;border-radius:5px;align-items:center;gap:9px;margin-top:-7px;padding:10px;font-size:11px;display:flex}.booking-error{color:#914f3e;background:#fef5f1;border:1px solid #edcdc3;border-radius:7px;padding:14px;font-size:12px}.booking-error>strong{align-items:flex-start;gap:7px;font-weight:500;display:flex}.booking-error>p{margin-top:8px;font-size:11px}.booking-error .button-row{margin-top:13px}.alternative-actions{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.alternative-actions>span{color:#846c5f;width:100%;margin-bottom:3px;font-size:11px}.dialog-footer{border-top:1px solid #e1eaf0;justify-content:space-between;align-items:center;gap:12px;margin:3px -26px 0;padding:18px 26px;display:flex}.dialog-footer>span{color:#8c9da7;align-items:center;gap:5px;max-width:195px;font-size:10px;display:flex}.dialog-footer>div{gap:8px;display:flex}.drawer{border-radius:12px 0 0 12px;width:min(500px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto}.drawer .dialog-heading,.drawer-body{padding:25px}.booking-kind-pill{border-left-width:1px;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.booking-name{margin-top:16px;font-size:28px}.booking-location{color:#6d8594;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.detail-date-card{color:#537c95;background:#f2f7fa;border:1px solid #dfe9ef;border-radius:7px;align-items:center;gap:13px;margin-top:26px;padding:18px;display:flex}.detail-date-card strong{color:#385c71;font-size:13px;font-weight:500;display:block}.detail-date-card span{color:#8095a2;margin-top:4px;font-size:11px;display:block}.detail-section{border-bottom:1px solid #e4ebf0;padding:24px 0}.detail-section h3{font-size:13px}.section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.fit-comparison{color:#7c929f;justify-content:space-between;gap:15px;margin-top:18px;font-size:11px;display:flex}.fit-comparison strong{color:#37586c;margin-top:4px;font-size:21px;font-weight:500;display:block}.detail-section>p{margin-top:13px;font-size:12px}.detail-issue{color:#a67825;align-items:center;gap:7px;padding:10px 0 0;font-size:12px;display:flex}.detail-issue small{color:#879a9e}.detail-issue>svg:last-child{margin-left:auto}.booking-notes{white-space:pre-wrap;color:#7e919e}.provenance{color:#879aa5;align-items:start;gap:10px;margin-bottom:22px;display:flex}.provenance h3{font-size:12px;font-weight:500}.provenance p{overflow-wrap:anywhere;margin-top:5px;font-size:10px;line-height:1.6}.drawer-actions{border-top:1px solid #e0e9ee;justify-content:space-between;gap:10px;margin-top:30px;padding-top:24px;display:flex}.drawer-body>.booking-error{margin-top:20px}.drawer-intro{color:#77909f;margin:0 0 22px;font-size:13px}.find-form{flex-direction:column;gap:18px;display:flex}.availability-results{padding-top:30px}.availability-results>.section-title{margin-bottom:16px}.availability-results>.section-title h3{font-size:14px}.availability-results>.section-title .muted{font-size:11px}.availability-card{border:1px solid #dee8ed;border-radius:7px;margin-bottom:12px;padding:16px}.availability-card h3{font-size:13px}.availability-length{color:#899da8;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;display:flex}.availability-card.short-berth{background:#f8f9fa}.availability-card.short-berth h3{color:#7c8d98}.availability-card .text-link{margin-top:13px;font-size:11px}.conflict-summary{color:#967867;margin-top:10px;font-size:10px}.toast{z-index:100;color:#f0f7fb;background:#153f53;border-radius:8px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 30px);padding:12px 15px;font-size:13px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #10293930}.toast>svg{color:#88c5ae}.toast .icon-button:hover{background:#ffffff15}.toolbar,.filter-bar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.table-card{background:#fff;border:1px solid #dae4e9;border-radius:9px;overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:#758a98;background:#f9fbfc;font-size:11px;font-weight:500}.data-table th,.data-table td{border-bottom:1px solid #e6edf1;padding:15px 18px}.data-table tbody tr:hover{background:#fafcfd}.pagination{color:#7d92a0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:12px;display:flex}.card{background:#fff;border:1px solid #dae5eb;border-radius:8px;padding:20px}.summary-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #dae4ea;border-radius:8px;padding:20px}.tab-bar{border-bottom:1px solid #d8e3e9;gap:8px;margin-bottom:22px;display:flex}.tab-bar button{color:#718999;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-size:13px}.tab-bar button.active{border-bottom-color:var(--harbour);color:var(--harbour);font-weight:500}.badge{color:#658093;background:#eaf1f5;border-radius:4px;padding:3px 7px;font-size:10px}@media (width>=1600px){.month-grid{--berth-width:225px}.schedule-layout{grid-template-columns:minmax(0,1fr) 285px;gap:25px}.booking-bar{font-size:13px}}@media (width<=1150px){.schedule-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.page,.site-header,.navigation-bar{padding-left:24px;padding-right:24px}.schedule-stats strong{gap:5px;font-size:22px}.schedule-stats strong span{font-size:11px}.schedule-stats{gap:12px}.stat-icon{width:32px;height:32px}.grid-legend{gap:10px}.inclusive-note{display:none!important}}@media (width<=900px){.schedule-layout{grid-template-columns:1fr}.schedule-sidebar{grid-template-columns:1fr 1fr;gap:15px;display:grid}.schedule-note{grid-column:1/-1}.month-issues{grid-template-columns:1fr 1fr;gap:8px;display:grid}.compact-issue{margin:0}.sidebar-card{padding:18px 16px 0}.sidebar-link{margin-top:12px}.workspace-label{display:none}.schedule-stats strong{display:block}.schedule-stats strong span{font-size:10px;display:block}.schedule-stats{padding-bottom:22px}.ask-example{display:none}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.facility-bar{padding:8px 18px;font-size:10px}.facility-bar>span:last-child{display:none}.site-header{align-items:flex-start;gap:10px;height:96px;padding:16px 18px}.brand{gap:9px;padding-top:5px}.brand-mark{border-radius:8px;width:36px;height:36px}.brand-mark svg{width:23px}.brand-name{font-size:25px}.tagline{max-width:155px;margin-top:4px;font-size:8px;line-height:1.4}.header-actions{flex-direction:column-reverse;align-items:stretch;gap:4px}.header-actions .button{gap:5px;min-height:30px;padding:5px 9px;font-size:10px}.header-actions .button svg{width:13px;height:13px}.header-actions>.button:first-child{border-color:#0000;min-height:24px;padding:1px 9px}.navigation-bar{height:47px;padding:0 18px;overflow:auto}.navigation-bar nav{gap:23px;min-width:max-content}.navigation-bar nav a{gap:5px;font-size:11px}.navigation-bar nav svg{width:14px;height:14px}.nav-count{padding:1px 4px;font-size:9px}.page{padding:23px 16px 28px}h1{font-size:28px}.page-heading{align-items:start;gap:12px;margin-bottom:19px}.page-heading p{max-width:220px;font-size:11px;line-height:1.6}.eyebrow{margin-bottom:6px;font-size:9px}.archive-indicator{gap:5px;margin-top:6px;padding:6px 7px;font-size:9px}.archive-indicator>svg{display:none}.archive-indicator span{font-size:10px}.ask-container{margin-bottom:19px}.ask-bar{gap:9px;min-height:43px;padding:6px 8px 6px 12px}.ask-bar input{font-size:12px}.ask-symbol svg{width:16px}.ask-submit{width:28px;height:28px}.schedule-stats{grid-template-columns:1fr 1fr;row-gap:16px;padding-bottom:23px}.schedule-stats>div:nth-child(2){border-right:none}.schedule-stats strong{align-items:baseline;gap:7px;font-size:20px;display:flex}.schedule-stats strong span{max-width:65px;font-size:9px;line-height:1.3}.schedule-stats>div{gap:8px}.stat-icon{border-radius:6px;width:29px;height:29px}.stat-icon svg{width:15px}.schedule-toolbar{gap:6px;min-height:58px;padding:12px}.month-navigation{gap:8px}.month-control{gap:4px;font-size:15px}.arrow-group button{min-width:24px;min-height:26px;padding:4px}.month-actions{gap:0}.month-actions .button{min-height:27px;padding:5px 6px;font-size:9px}.grid-information{padding:9px 12px;font-size:9px}.grid-information>span:last-child{font-size:8px}.month-grid{--berth-width:165px;min-width:940px}.berth-heading{padding-left:12px;padding-right:12px}.berth-title{font-size:11px}.berth-column-heading{padding:0 12px}.berth-column-heading span{font-size:8px}.grid-legend{gap:10px;padding:13px 12px;font-size:9px}.grid-legend i{width:9px;height:8px}.schedule-sidebar{grid-template-columns:1fr;gap:16px}.schedule-note{padding:0 5px}.find-prompt{grid-template-columns:40px 1fr;column-gap:13px;padding:17px;display:grid}.compass-graphic{grid-row:span 2;margin:0}.find-prompt h3{align-self:end;font-size:13px}.find-prompt p{margin-top:4px;font-size:10px}.find-prompt .button{grid-column:1/-1;margin-top:13px}.site-footer{padding:17px;font-size:9px}.site-footer>span:last-child{display:none}.dialog{border-radius:10px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog.drawer{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.dialog-heading{padding:19px}.booking-form{gap:17px;padding:19px 19px 0}.kind-segment button{gap:4px;padding:7px 3px;font-size:10px}.kind-segment svg{width:13px}.dialog-footer{margin-left:-19px;margin-right:-19px;padding:15px 19px}.dialog-footer>span{display:none}.dialog-footer>div{margin-left:auto}.drawer .dialog-heading,.drawer-body{padding:20px}.field-pair{gap:10px}.field-pair input{min-width:0;padding:9px}.field{min-width:0}.error-state{flex-wrap:wrap;font-size:12px}.summary-cards{gap:10px}.stat-card{padding:15px}.tab-bar{overflow-x:auto}.tab-bar button{white-space:nowrap;padding:10px;font-size:11px}.toast{font-size:12px;bottom:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
