:root{color:#142d41;--teal:#007f83;background:#f4f7fa;font-family:Arial,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-decoration:none}header{background:#fff;border-bottom:1px solid #e2e8ee;justify-content:space-between;align-items:center;height:86px;padding:0 max(24px,50vw - 580px);display:flex}.brand{color:#14334b;letter-spacing:1px;font-size:25px;font-weight:900}.brand span{color:var(--teal)}.brand small{letter-spacing:3px;margin-top:5px;font-size:10px;display:block}nav{gap:26px;font-size:14px;display:flex}main{max-width:1160px;margin:32px auto;padding:0 24px}.hero{color:#fff;background:#10354d;border-radius:20px;padding:50px;position:relative;overflow:hidden}.hero:after{content:"SEA / FREIGHT";color:#ffffff08;pointer-events:none;font-size:70px;font-weight:900;position:absolute;top:10px;right:-25px;transform:rotate(-12deg)}.eyebrow{color:#65d6cc;letter-spacing:3px;font-size:12px}h1{margin:16px 0;font-size:clamp(28px,4vw,42px);line-height:1.3}p{line-height:1.75}.muted{color:#677e8f;font-size:14px}.hero .muted{color:#bfd1dd}.filters{color:#142d41;background:#fff;border-radius:14px;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:24px;padding:24px;display:grid}label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}input,select,textarea{color:#17364c;width:100%;font:inherit;background:#f8fafb;border:1px solid #d8e2e8;border-radius:7px;padding:12px}textarea{min-height:90px}button,.button{background:var(--teal);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:7px;padding:12px 20px;font-size:14px;display:inline-block}button:disabled{opacity:.5;cursor:wait}.secondary{color:var(--teal);background:#e9f3f3}.bar{justify-content:space-between;align-items:center;margin:32px 0 16px;display:flex}.card{background:#fff;border:1px solid #dfe7ec;border-radius:14px;margin-bottom:16px;padding:24px}.card h2{font-size:20px}.grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;display:grid}.price{color:var(--teal);margin:12px 0;font-size:30px;font-weight:800}.tag{color:var(--teal);background:#edf5f5;border-radius:5px;padding:5px 10px;font-size:12px;display:inline-block}.notice{background:#fff4dc;border-radius:8px;padding:14px;font-size:14px}.empty{text-align:center;background:#fff;border:1px dashed #cfdae2;border-radius:12px;padding:60px 24px}.form{max-width:560px;margin:40px auto}.form label{margin-top:18px}.form button{margin-top:20px}.error{color:#ab3333}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.detail{border-top:1px solid #e8eef2;padding-top:16px}footer{color:#688090;border-top:1px solid #dde5eb;max-width:1160px;margin:70px auto 0;padding:26px 24px;font-size:13px}footer span{float:right}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;border-bottom:1px solid #e5edf2;padding:10px}.tabs{gap:12px;margin:20px 0;display:flex}@media (max-width:640px){header{gap:18px;height:auto;min-height:84px;padding:18px}nav{gap:10px;font-size:12px}.hero{padding:26px}.filters{grid-template-columns:1fr}main{padding:0 16px}.brand{font-size:20px}footer span{float:none;margin-top:8px;display:block}}nav{align-items:center}.nav-logout{color:var(--teal);font:inherit;background:0 0;border-radius:0;padding:0}.route-filters{grid-template-columns:1fr 1fr 1fr auto;align-items:end}.route-filters button{height:46px;padding:0 24px}@media (max-width:640px){.route-filters{grid-template-columns:1fr}.route-filters button{width:100%}}.home-page,.route-page{max-width:1280px}.home-page{margin-top:20px}.home-page .hero{border-radius:12px;padding:24px 32px}.home-page .hero h1{margin:10px 0;font-size:30px;line-height:1.25}.home-page .hero h1 br{display:none}.home-page .hero p{margin:8px 0 0}.home-page .filters{border-radius:10px;gap:12px;margin-top:16px;padding:16px 20px}.home-page .bar{margin:22px 0 12px}.home-page .bar h2{margin:0;font-size:20px}.quote-row{box-shadow:none;border-radius:10px;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.65fr) minmax(280px,1fr);align-items:center;gap:8px 22px;margin-bottom:10px;padding:16px 20px;display:grid}.quote-row h2{margin:0 0 8px;font-size:17px;line-height:1.45}.quote-meta{color:#677e8f;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.quote-row .price{white-space:nowrap;margin:4px 0;font-size:25px}.quote-company p{margin:0 0 8px;font-size:13px;line-height:1.5}.quote-row .actions{gap:8px}.quote-row .actions button,.quote-row .actions a{padding:8px 12px;font-size:12px}.quote-fees{color:#677e8f;border-top:1px solid #e8eef2;grid-column:1/-1;padding-top:8px;font-size:12px}.quote-fees summary{cursor:pointer}.quote-fees p{margin:6px 0;line-height:1.5}.quote-message{grid-column:1/-1;margin:0;font-size:13px}@media (max-width:850px){.quote-row{grid-template-columns:1fr auto}.quote-company{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:12px;display:flex}.home-page .hero h1{font-size:25px}}@media (max-width:640px){.home-page{margin-top:14px}.home-page .hero{padding:20px}.home-page .hero h1{font-size:23px}.home-page .hero p{font-size:13px}.quote-row{gap:10px;padding:14px}.quote-row h2{font-size:15px}.quote-row .price{font-size:21px}.quote-meta{gap:6px}.quote-company{display:block}.quote-company .actions{margin-top:8px}.home-page .filters{padding:14px}.home-page .hero:after{font-size:42px}}.port-search{min-width:0;position:relative}.port-search input{height:46px;padding:10px 12px;font-size:14px}.port-search input:focus{border-color:var(--teal);outline:2px solid #007f8333}.port-options{z-index:30;background:#fff;border:1px solid #cfdfe5;border-radius:9px;max-height:290px;margin-top:6px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #14334b24}.route-filters .port-option{text-align:left;color:#17364c;background:#fff;border-bottom:1px solid #edf2f5;border-radius:0;width:100%;height:auto;min-height:58px;padding:10px 12px;font-size:14px;display:block}.port-option.active,.route-filters .port-option:hover{background:#edf7f7}.port-option>span:first-child{justify-content:space-between;gap:10px;display:flex}.port-option small{color:#007f83;font-size:11px}.port-option-sub{color:#6a8090;margin-top:4px;font-size:12px;line-height:1.4;display:block}.port-no-match{color:#677e8f;padding:18px 12px;font-size:13px}.home-page .filters{overflow:visible}.port-search .port-option{text-align:left;color:#17364c;background:#fff;border-bottom:1px solid #edf2f5;border-radius:0;width:100%;height:auto;min-height:58px;padding:10px 12px;font-size:14px;display:block}.port-search .port-option.active,.port-search .port-option:hover{background:#edf7f7}.company-page{max-width:1100px}.company-readonly{overflow-wrap:anywhere;background:#f4f7fa;border-radius:7px;margin:0;padding:12px;font-size:14px}.company-route-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;display:grid}.company-route-form>button{height:46px}.company-routes{padding:0;list-style:none}.company-routes li{border-bottom:1px solid #e8eef2;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:14px;display:flex}.company-upload{margin:20px 0}.company-upload input[type=file]{flex:1;width:auto;min-width:0;font-size:13px}.company-logo{object-fit:contain;border:1px solid #e0e8ee;border-radius:8px;width:120px;height:120px}.company-document{overflow-wrap:anywhere;background:#f8fafb;border:1px solid #e0e8ee;border-radius:9px;margin:12px 0;padding:16px}.company-document .bar{flex-wrap:wrap;gap:12px;margin:0}.company-document .bar strong{font-size:14px}.document-approved{color:#28643c;background:#e2f4e8}.document-rejected{color:#983535;background:#ffeaea}.document-pending{color:#886017;background:#fff3d9}.company-history{margin:18px 0}.company-history summary{cursor:pointer;font-size:14px}.company-page button:disabled{cursor:not-allowed}@media (max-width:640px){.company-page .bar{flex-wrap:wrap;align-items:flex-start;gap:12px}.company-page .card{padding:18px}.company-route-form{grid-template-columns:1fr}.company-upload .actions{display:block}.company-upload input[type=file]{width:100%;margin-bottom:10px}.company-upload button{width:100%}.company-routes li{align-items:flex-start}.company-page h1{font-size:28px}}.company-page>.notice{z-index:40;position:sticky;top:12px;box-shadow:0 3px 12px #14334b18}.draft-editor fieldset{border:0;border-top:1px solid #e2e9ee;min-width:0;margin:0;padding:22px 0}.draft-editor legend{padding:0 12px 0 0;font-size:17px;font-weight:700}.draft-editor>.bar{align-items:flex-start;gap:16px;margin-top:0}.draft-editor h2{margin:0}.draft-editor .bar p{margin:6px 0 0}.draft-editor input,.draft-editor select{min-width:0;font-size:14px}.draft-editor .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.draft-transits{background:#f5f9fa;border-radius:8px;margin-top:18px;padding:16px}.draft-transits h3{margin:0 0 12px;font-size:15px}.draft-transit-row{align-items:end;gap:12px;max-width:540px;margin-bottom:12px;display:flex}.draft-transit-row .port-search{flex:1}.draft-fee{background:#f8fafb;border:1px solid #dee7ec;border-radius:9px;margin:12px 0;padding:16px}.draft-fee .bar{margin:0 0 12px}.draft-fee h3{margin:0;font-size:15px}.draft-fee .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.draft-save{border-top:1px solid #e2e9ee;justify-content:space-between;align-items:center;gap:14px;padding-top:18px;display:flex}.draft-message{z-index:40;position:sticky;top:12px;box-shadow:0 3px 12px #14334b18}.workbench-quote{justify-content:space-between;align-items:center;gap:16px;display:flex}.workbench-quote h3{margin:0 0 8px;font-size:17px}.workbench-quote p{margin:6px 0;font-size:14px}.quote-terms{color:#677e8f;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.quote-terms p{white-space:pre-wrap;margin:6px 0}@media (max-width:850px){.draft-editor .grid,.draft-fee .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-quote{flex-wrap:wrap;align-items:flex-start}}@media (max-width:640px){.draft-editor{padding:18px}.draft-editor .grid,.draft-fee .grid{grid-template-columns:1fr}.draft-save{flex-direction:column;align-items:stretch}.draft-save .actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.draft-save button{padding:12px 8px}.draft-editor>.bar{flex-wrap:wrap}.draft-fee{padding:12px}.draft-transit-row{gap:8px}.workbench-quote .actions{width:100%}.account-page h1{font-size:28px}}.workbench-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.workbench-heading h1{margin:6px 0;font-size:30px}.workbench-heading p{margin:4px 0}.workbench-eyebrow{color:#678395;letter-spacing:2px;font-size:11px}.workbench-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.workbench-stats button{color:#17364c;text-align:left;background:#fff;border:1px solid #dfe7ec;border-radius:10px;padding:16px 20px}.workbench-stats button:hover{border-color:#007f83}.workbench-stats span,.workbench-stats small{display:block}.workbench-stats strong{color:#007f83;margin:8px 0;font-size:30px;line-height:1.3;display:block}.workbench-stats small{color:#7a8f9d;font-size:11px}.workbench-tabs{border-bottom:1px solid #dbe6eb;gap:8px;margin-bottom:20px;display:flex}.workbench-tabs button{color:#677e8f;background:0 0;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;padding:14px 22px;font-weight:700}.workbench-tabs button[aria-selected=true]{color:#007f83;background:#e7f3f3;border-bottom-color:#007f83}.workbench-tabs button span{margin-left:8px;font-size:12px}.pending-count{color:#a26717}.management-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:16px 0;display:flex}.management-toolbar h2{margin:0;font-size:20px}.management-toolbar p{margin:5px 0 0;font-size:13px}.management-filters{background:#fff;border:1px solid #dfe7ec;border-radius:10px;align-items:end;gap:14px;margin-bottom:14px;padding:14px 18px;display:flex}.management-filters>div:first-child{flex:1}.management-filters>div:nth-child(2){width:180px}.management-filters input,.management-filters select{height:40px;padding:8px 12px;font-size:13px}.management-filters>span{white-space:nowrap;padding-bottom:10px;font-size:12px}.record-number{color:#8b9ca8;margin-bottom:6px;font-size:11px;display:block}.status-pill{color:#637a8c;white-space:nowrap;background:#eef2f6;border-radius:20px;padding:5px 10px;font-size:12px;display:inline-block}.status-pending,.status-pending_review{color:#956722;background:#fff2d8}.status-published,.status-confirmed{color:#327a51;background:#e5f4ed}.status-rejected,.status-review_rejected{color:#ab4950;background:#fcebed}.account-page .workbench-quote{border-radius:10px;margin-bottom:10px;padding:16px 20px}.workbench-quote .actions button{padding:9px 13px;font-size:13px}.booking-row{border-radius:10px;margin-bottom:10px;padding:16px 20px}.booking-summary{grid-template-columns:minmax(180px,1fr) auto minmax(130px,.45fr) auto;align-items:center;gap:22px;display:grid}.booking-summary h3{margin:4px 0;font-size:16px}.booking-summary p{margin:6px 0;font-size:13px}.booking-rate strong{color:#007f83;font-size:18px;display:block}.booking-rate small{color:#7a8f9d;margin-top:6px;font-size:11px;display:block}.booking-summary .actions button{padding:9px 13px;font-size:13px}.booking-details{border-top:1px solid #e7eef2;margin-top:12px;padding-top:10px;font-size:13px}.booking-details summary{color:#007f83;cursor:pointer}.booking-details p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.booking-details h4{margin:10px 0}.booking-details .grid{margin-top:14px}.account-page .draft-editor{padding:20px}.account-page .draft-editor fieldset{padding:18px 0}.account-page .draft-editor legend{font-size:15px}.account-page .draft-editor label{margin-bottom:6px;font-size:12px}.account-page .draft-editor .grid{gap:12px}.account-page .draft-editor input,.account-page .draft-editor select,.account-page .draft-editor .port-search input{height:40px;padding:9px 11px}.account-page .draft-editor .port-option{height:auto}.account-page .draft-save{z-index:20;background:#fff;padding:14px 0 4px;position:sticky;bottom:0}.account-page [hidden]{display:none!important}@media (max-width:850px){.booking-summary{grid-template-columns:1fr auto;gap:12px}.booking-summary .actions{justify-content:flex-end}.management-filters{flex-wrap:wrap}.management-filters>span{padding-bottom:0}}@media (max-width:640px){.workbench-heading{align-items:flex-start}.workbench-heading h1{font-size:25px}.workbench-stats{grid-template-columns:1fr 1fr;gap:8px}.workbench-stats button{padding:12px}.workbench-stats strong{margin:6px 0;font-size:25px}.workbench-stats small{font-size:10px}.workbench-tabs button{padding:12px 14px;font-size:14px}.management-toolbar{align-items:flex-start}.management-toolbar p{max-width:210px;line-height:1.5}.management-filters{gap:10px;padding:12px}.management-filters>div:first-child{flex-basis:100%}.management-filters>div:nth-child(2){flex:1;width:auto}.management-filters>span{align-self:center}.booking-row{padding:14px}.booking-summary .actions{grid-column:1/-1;justify-content:flex-start}.booking-rate strong{font-size:17px}.account-page .draft-editor{padding:16px}.workbench-heading .button{padding:10px 13px;font-size:12px}}.danger{color:#b34444;background:#fff0f0;border:1px solid #f2d3d3}.danger:hover{background:#fce2e2}.fee-template-panel{background:#eff8f8;border:1px solid #cde3e5;border-radius:9px;margin:14px 0 20px;padding:16px}.fee-template-panel>.muted{margin:12px 0 0;font-size:12px}.fee-template-panel .actions{gap:8px}.fee-template-panel .actions button{padding:9px 13px}.template-controls{border-top:1px solid #cde3e5;margin-top:16px;padding-top:12px}.template-controls>.bar{gap:12px;margin:0 0 14px}.template-name-row{align-items:end;gap:10px;margin:14px 0;display:flex}.template-name-row>div{flex:1;min-width:0}.template-message{color:#246365;overflow-wrap:anywhere;background:#fff;border-radius:7px;padding:10px;font-size:13px}.template-preview{background:#fff;border-radius:7px;max-height:330px;margin:14px 0;overflow:auto}.template-preview table{min-width:580px}.template-preview caption{text-align:left;color:#007f83;padding:12px;font-weight:700}.template-preview th{z-index:1;background:#f3f8f9;position:sticky;top:0}.template-confirm{background:#fff4dc;border:1px solid #efdfb9;border-radius:8px;margin-top:14px;padding:14px}.template-confirm p{margin:0 0 12px;font-size:13px}.template-controls .muted{font-size:12px}@media (max-width:640px){.fee-template-panel{padding:12px}.template-controls>.bar,.template-name-row{flex-wrap:wrap}.template-name-row>div{flex-basis:100%}.fee-template-panel button{font-size:12px}.template-controls>.bar strong{font-size:14px}}.quote-totals{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;display:grid}.quote-totals section{background:#f0f7f7;border-radius:8px;min-width:0;padding:12px 14px}.total-heading{font-size:13px;font-weight:700}.total-heading span{color:#956722;background:#fff2d8;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:400}.total-amount{color:var(--teal);flex-wrap:wrap;gap:6px 16px;margin:6px 0;font-size:17px;display:flex}.total-amount strong{white-space:nowrap}.total-note{color:#677e8f;font-size:12px;line-height:1.6}.quote-row .quote-totals{gap:8px;margin:0}.quote-row .quote-totals section{padding:8px 12px}.quote-row .total-amount{margin:4px 0;font-size:16px}@media (max-width:640px){.quote-totals{grid-template-columns:1fr;gap:8px}.quote-totals section{padding:10px 12px}}
