:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#102348;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-size:14px}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:#1765ff}.sidebar{width:210px;background:#eaf3ff;border-right:1px solid #e1eafa;position:fixed;inset:0 auto 0 0;padding:26px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#102348;padding:0 9px}.brand img{object-fit:contain}.brand b{font-size:21px;display:block}.brand small{font-size:9px;letter-spacing:.16em;color:#6c82a7}.nav-label{font-size:11px;color:#8c9db9;letter-spacing:.15em;margin:47px 14px 12px}.nav{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;text-align:left;background:none;border:0;color:#667d9f;border-radius:9px;margin:5px 0}.nav span{font-size:19px;line-height:1}.nav.active{background:#d5e6ff;color:#145ade;font-weight:600}.nav:hover{background:#dceaff}.sidebar-bottom{margin-top:auto;border-top:1px solid #d9e6f8;padding:20px 12px 0;font-size:12px;color:#526c91}.sidebar-bottom p{font-size:11px;color:#91a2bd;margin:7px 0 0 12px}.mini-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6a93d2;margin-right:7px}.workspace{margin-left:210px}header{height:70px;background:#fff;border-bottom:1px solid #e3ebf6;display:flex;justify-content:space-between;align-items:center;padding:0 36px}.breadcrumb{font-size:12px;color:#8c9ab1}.breadcrumb span{padding:0 10px;color:#c0ccde}.breadcrumb b{color:#526782;font-weight:500}.header-right{display:flex;gap:20px;align-items:center}.text-button{border:0;color:#1765ff;background:none;padding:5px;font-size:12px}.tag{display:inline-block;font-size:11px;border-radius:5px;padding:5px 8px;white-space:nowrap;line-height:1.3}.neutral{background:#f0f3f8;color:#6c7b93}.amber{background:#fff2d7;color:#946c26}.blue{background:#eaf3ff;color:#1765ff}main{max-width:1480px;padding:34px 36px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 26px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em;color:#1765ff}h1{font-size:29px;letter-spacing:-.03em;margin:9px 0 7px;font-weight:650}.page-title p{font-size:13px;color:#8996ab;margin:0}.source-date{font-size:11px;background:#fff;border:1px solid #e3ebf6;border-radius:7px;padding:11px;color:#8393ae}.source-date b{font-weight:500;color:#506886;padding-left:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e3ebf6;border-radius:12px;background:#fff;margin-bottom:20px;padding:22px 0}.stats>div{padding:0 25px;border-right:1px solid #edf1f7}.stats>div:last-child{border:0}.stats span{display:block;font-size:12px;color:#6e82a0}.stats b{font-size:30px;letter-spacing:-.04em;display:block;margin:9px 0 5px;font-weight:650}.stats small{font-size:10px;color:#9ca8bb}.notice{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#eef5ff;border:1px solid #e1ebfb;border-radius:9px;margin:0 0 19px;color:#617da7;font-size:12px}.notice p{margin:0;line-height:1.7;flex:1}.notice strong{font-weight:600}.notice-icon{font-size:13px;flex:none;border:1px solid #9ab6df;border-radius:50%;width:17px;height:17px;text-align:center;line-height:15px}.notice a{white-space:nowrap;text-decoration:none;font-size:11px}.notice.warning{background:#fff8eb;border-color:#f1e4cc;color:#8b733e}.filter-panel{background:#fff;border:1px solid #e3ebf6;border-radius:12px;padding:20px;margin-bottom:28px}.filter-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.45fr auto;gap:14px;align-items:end}label{display:block;font-size:11px;color:#71829e}input:not([type=checkbox]),select{display:block;border:1px solid #dfe6f1;border-radius:6px;width:100%;height:39px;margin-top:8px;padding:0 10px;background:#fff;color:#233a60;font-size:12px;min-width:0}input::placeholder{color:#a7b3c5}.primary{height:39px;padding:0 19px;background:#1765ff;color:#fff;border:1px solid #1765ff;border-radius:6px;font-size:12px;font-weight:600}.primary:hover{background:#0955e5}.filter-bottom{display:flex;align-items:center;margin-top:16px;gap:22px}.checkbox{display:flex;align-items:center;gap:6px}.checkbox input{accent-color:#1765ff}.filter-bottom>span{margin-left:auto;font-size:10px;color:#99a6ba}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}h2{font-size:16px;margin:0;font-weight:600}.section-head h2 span{font-size:11px;font-weight:400;color:#8191a9;margin-left:8px}.section-head>span{font-size:11px;color:#99a6ba}.table-scroll{overflow:auto;border:1px solid #e3ebf6;background:white;border-radius:11px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:11px;font-weight:500;padding:14px 18px;color:#8797ae;background:#f9fbfe;white-space:nowrap;border-bottom:1px solid #e3ebf6}td{padding:15px 18px;border-bottom:1px solid #edf1f7;height:70px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}.vessel-button{color:#203956;font-weight:650;font-size:12px;padding:0;border:0;background:none;text-align:left;white-space:nowrap}.vessel-button:hover{color:#1765ff}.voyage{display:block;color:#96a4b8;font-size:10px;margin-top:6px}.date{white-space:nowrap;color:#7b8da7;font-variant-numeric:tabular-nums}.emphasis{color:#3f5b82;font-weight:550}.terminal-cell{font-size:11px;color:#8291a7;max-width:200px;line-height:1.6}.row-open{border:0;color:#829ac2;background:none;font-size:18px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:#96a4b8;font-size:11px}.pagination>div{display:flex;gap:8px}.secondary{background:white;border:1px solid #dfe7f3;border-radius:6px;padding:8px 12px;font-size:11px;color:#627a9b}.empty{padding:45px;text-align:center;color:#8c9ab0;background:#fff;border:1px dashed #d7e2f1;border-radius:10px;font-size:13px}.empty p{font-size:12px}.tutorial{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid #dbe7fa;border-left:3px solid #1765ff;border-radius:8px;padding:16px 20px;margin-bottom:25px}.tutorial p{font-size:12px;color:#6d819f;line-height:1.7;margin:6px 0}.tutorial small{font-size:10px;color:#9ba8bc}.tutorial .secondary{margin-left:auto;flex:none}.error{padding:14px;background:#fff0ed;border:1px solid #f2d1c9;border-radius:8px;margin-bottom:18px;color:#a55341;font-size:13px}footer{display:flex;justify-content:space-between;font-size:10px;color:#a1aec1;padding:34px 0 5px;line-height:1.7}.quote-filter{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:end}.quote-card{padding:22px;background:#fff;border:1px solid #e3ebf6;border-radius:11px;margin-bottom:14px}.quote-top{display:flex;justify-content:space-between;gap:12px}.quote-top h3{font-size:16px;margin:16px 0 0}.quote-top h3 span{color:#a5b3c8;padding:0 7px}.price{text-align:right}.price small{display:block;font-size:10px;color:#95a2b8}.price b{font-size:24px;color:#1765ff;display:block;margin:7px 0}.quote-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px;padding:17px 0;border-top:1px solid #edf1f7}.quote-facts small{display:block;font-size:10px;color:#91a1b8;margin-bottom:7px}.quote-facts strong{font-size:12px;font-weight:500}.quote-card details{padding-top:10px}details{font-size:12px;color:#7b8fae}summary{color:#1765ff;cursor:pointer;font-size:11px}details p{white-space:pre-wrap;line-height:1.8}.muted{color:#a0acc0}.source-card{padding:25px;background:white;border:1px solid #e3ebf6;border-radius:12px;margin-bottom:18px}.source-card h2{margin:13px 0}.source-card p{color:#7a8ea8;font-size:13px;line-height:1.8}.hash{overflow-wrap:anywhere;font-family:monospace;font-size:11px!important}dialog{border:0;border-radius:15px;max-width:700px;width:calc(100% - 32px);padding:0;box-shadow:0 30px 100px #10234840;color:#102348}dialog::backdrop{background:#172e4d66;backdrop-filter:blur(3px)}.dialog-header{padding:25px 28px;border-bottom:1px solid #e3ebf6;display:flex;justify-content:space-between;align-items:center}.dialog-header small{font-size:10px;color:#7d94b4;letter-spacing:.08em}.dialog-header h2{font-size:21px;margin-top:8px}.close{width:30px;height:30px;border:0;border-radius:50%;color:#8499b6;background:#f0f4fa;font-size:22px}#detail-content{padding:24px 28px}.detail-sub{font-size:12px;color:#647b9d;display:flex;justify-content:space-between;gap:12px}.detail-sub span{font-size:10px;color:#9babbe}.timeline{display:flex;align-items:center;background:#eef5ff;padding:20px;margin-top:20px;border-radius:10px;gap:18px}.timeline>div:not(.timeline-line){flex:1}.timeline small{display:block;font-size:10px;color:#7f96b6;margin-bottom:9px}.timeline strong{font-size:15px;font-weight:600}.timeline-line{color:#a0b8dc}.terminal-detail{font-size:11px;color:#8094b3}.detail-warning{background:#fff5df;color:#966e2b;padding:12px;border-radius:6px;font-size:12px;line-height:1.7}#detail-content h3{font-size:13px;margin:24px 0 15px}.deadline-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.deadline-grid div{padding:13px;background:#f8fafd;border-radius:7px}.deadline-grid small{display:block;font-size:10px;color:#8c9eb7;margin-bottom:8px}.deadline-grid b{font-size:12px;font-weight:500}.match-box{background:#fff9ee;border:1px solid #f1e4c8;border-radius:9px;padding:17px 20px;margin:24px 0}.match-box h3{margin:0 0 12px!important;color:#846a36}.match-box ul{padding-left:18px;font-size:12px;color:#9b865e;line-height:1.9}.match-box p{font-size:11px;color:#9b865e}.official-link{display:inline-block;text-decoration:none;margin-top:22px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1600px){main{padding-top:42px}}@media(max-width:1100px){.sidebar{width:175px;padding:25px 12px}.workspace{margin-left:175px}main{padding:28px 22px}header{padding:0 22px}.filter-grid{grid-template-columns:1.5fr 1fr 1fr}.filter-grid .terminal{grid-column:span 2}.stats>div{padding:0 17px}.source-date{display:none}td,th{padding-left:13px;padding-right:13px}}@media(max-width:700px){.sidebar{position:static;width:auto;display:flex;flex-direction:row;align-items:center;padding:12px 16px;border-right:0;border-bottom:1px solid #d9e6f8;gap:15px}.brand{padding:0}.brand img{width:31px;height:31px}.brand b{font-size:17px}.brand small{display:none}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:3px;margin-left:auto}.nav{padding:8px;font-size:11px;margin:0;white-space:nowrap}.nav span{display:none}.workspace{margin:0}header{height:49px;padding:0 16px}.header-right{gap:8px}main{padding:24px 16px}.page-title{margin-bottom:20px}.page-title h1{font-size:25px}.page-title p{font-size:11px}.page-title>.tag{display:none}.stats{grid-template-columns:1fr 1fr;padding:0;overflow:hidden}.stats>div{padding:17px;border-bottom:1px solid #edf1f7}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(3){border-bottom:0}.stats b{font-size:27px}.stats small{font-size:9px}.notice{align-items:flex-start;flex-wrap:wrap;gap:8px}.notice p{flex:1;min-width:220px;font-size:11px}.notice a{margin-left:25px}.filter-panel{padding:16px}.filter-grid{grid-template-columns:1fr 1fr;gap:12px}.filter-grid .wide{grid-column:span 2}.filter-grid .terminal{grid-column:span 2}.filter-grid .primary{grid-column:span 2}.filter-bottom{gap:8px;flex-wrap:wrap}.filter-bottom>span{width:100%;margin:0;font-size:9px}.filter-bottom .text-button{margin-left:auto}.tutorial{display:block;padding:15px}.tutorial .secondary{margin-top:12px}table{min-width:780px}footer{display:block;font-size:9px}footer span{display:block;margin-top:7px}.quote-filter{grid-template-columns:1fr 1fr}.quote-filter label:first-child{grid-column:span 2}.quote-card{padding:16px}.quote-top h3{font-size:14px}.quote-facts{grid-template-columns:1fr 1fr}.price b{font-size:21px}.source-card{padding:18px}.source-card h2{font-size:14px;line-height:1.6}.source-card p{font-size:12px}.dialog-header{padding:20px}#detail-content{padding:20px}.detail-sub{flex-direction:column;gap:6px}.timeline{padding:14px;gap:8px}.timeline strong{font-size:12px}.timeline small{font-size:9px}}
.offer-filters{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr .8fr auto;gap:16px;align-items:end}.offer-summary{display:flex;gap:28px;color:#66768e;margin:24px 0 18px;font-size:13px}.offer-summary b{font-size:19px;color:#102348;margin-right:5px}.offers-table{min-width:1260px}.offers-table td{vertical-align:top;padding-top:22px;padding-bottom:22px}.offers-table td small,.offers-table th small{display:block;font-weight:400;font-size:11px;margin-top:7px;color:#6e7d95}.offers-table th{white-space:nowrap}.offers-table .route-cell{min-width:190px}.route-cell b{display:block;line-height:1.5;margin:6px 0}.offers-table .amount{min-width:85px;white-space:nowrap}.amount b{font-size:20px;color:#1765ff;font-variant-numeric:tabular-nums}.amount.reference b{color:#244b86}.offers-table .validity-cell{min-width:160px;font-size:12px;line-height:1.6}.validity-cell b{font-weight:500}.sailing-date{min-width:140px;white-space:nowrap}.missing{color:#9b6a23}.price-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;background:#f1f6ff;border:1px solid #dce7fa;border-radius:12px;padding:22px}.price-trio small,.price-trio b{display:block}.price-trio b{font-size:26px;margin:10px 0;color:#1765ff}.price-trio small{font-size:12px;color:#66768e}.preserve-lines{white-space:pre-wrap}button:focus-visible,a:focus-visible{outline:3px solid #1765ff;outline-offset:3px}@media(max-width:1200px){.offer-filters{grid-template-columns:1fr 1fr 1fr}.offer-filters button{height:42px}}@media(max-width:700px){.offer-filters{grid-template-columns:1fr 1fr}.offer-summary{gap:14px;flex-wrap:wrap;font-size:11px}.offer-summary b{font-size:17px}.price-trio{padding:14px;gap:10px}.price-trio b{font-size:22px}.offers-table{min-width:1200px}.sidebar nav{gap:6px}}

.login-page{min-height:100vh;display:grid;place-items:center;background:#f3f7fc;padding:24px}.login-card{background:#fff;max-width:420px;width:100%;border:1px solid #e3ebf6;border-radius:18px;padding:36px;box-shadow:0 16px 60px #1023480c}.login-card .eyebrow{margin-top:20px}.login-card p{color:#63738a;line-height:1.6}.login-card label,#password-form label{display:flex;flex-direction:column;gap:8px;margin:20px 0}.login-card input,#password-form input{width:100%;padding:12px;border:1px solid #cbd8e8;border-radius:8px;font:inherit}.login-card button{width:100%;margin:4px 0 22px}.login-card small{color:#63738a}#password-dialog{max-width:440px;padding:28px}#password-error{color:#ad2535}.header-right{flex-wrap:wrap}#account-name{font-size:13px;color:#63738a}
