@font-face{font-family:'FWD Aptos';src:url('../assets/fonts/Aptos.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'FWD Aptos';src:url('../assets/fonts/Aptos-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'FWD Aptos';src:url('../assets/fonts/Aptos-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'FWD Aptos';src:url('../assets/fonts/Aptos-ExtraBold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:'FWD Nanum Gothic';src:url('../assets/fonts/NanumGothic-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'FWD Nanum Gothic';src:url('../assets/fonts/NanumGothic-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{
  --bg:#f1f5f9;--white:#fff;
  --navy:#0f172a;--n2:#1e293b;--n3:#334155;--n4:#475569;--n5:#64748b;
  --g3:#e2e8f0;--g4:#cbd5e1;--g2:#f8fafc;
  /* DSF 브랜드 컬러 (teal 변수명 유지 - 기존 참조 호환성) */
  --teal:#003E6F;--tl2:#1E88BC;--tl3:#7dd3fc;--tl4:#e0f2fe;
  --red:#dc2626;--r2:#fff1f2;--r3:#fecdd3;
  --orange:#ea580c;--o2:#fff7ed;--o3:#fed7aa;
  --blue:#1d4ed8;--b2:#eff6ff;--b3:#bfdbfe;
  --green:#15803d;--gn2:#f0fdf4;--gn3:#bbf7d0;
  --yellow:#b45309;--y2:#fefce8;--y3:#fde68a;
  --purple:#7c3aed;--p2:#f5f3ff;--p3:#ddd6fe;
  --mono:'FWD Aptos','Aptos','FWD Nanum Gothic','Nanum Gothic','Segoe UI Emoji','Segoe UI Symbol','Apple Color Emoji','Apple Symbols','Noto Color Emoji','Twemoji Mozilla',sans-serif;
  --sans:'FWD Aptos','Aptos','FWD Nanum Gothic','Nanum Gothic','Segoe UI Emoji','Segoe UI Symbol','Apple Color Emoji','Apple Symbols','Noto Color Emoji','Twemoji Mozilla',sans-serif;
  --sh:0 1px 4px rgba(0,0,0,.08);
  /* DSF 시그니처 3색 */
  --dsf-amber:#EBAF37;--dsf-blue:#1E88BC;--dsf-red:#E4305D;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{font-family:var(--sans);background:var(--bg);color:var(--navy);font-size:14px;display:flex;flex-direction:column}
button{cursor:pointer;font-family:var(--sans)}
input,textarea,select{font-family:var(--sans);font-size:13px;outline:none}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:var(--g4);border-radius:3px}
#app-titlebar{height:40px;min-height:40px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 160px 0 18px;flex-shrink:0;-webkit-app-region:drag;user-select:none;position:relative;z-index:10001}
#app-titlebar-brand{display:flex;align-items:center;gap:14px;min-width:0}
#app-titlebar-logo{height:31px;width:auto;object-fit:contain;display:block;flex-shrink:0}
#app-titlebar-name{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#shell{display:flex;flex:1;overflow:hidden}
#shell #sb-logo{display:none !important}

/* SIDEBAR */
#sb{width:215px;min-width:150px;max-width:480px;background:var(--white);border-right:none;display:flex;flex-direction:column;flex-shrink:0;position:relative}
#sb-resizer{width:4px;position:absolute;right:0;top:0;bottom:0;cursor:col-resize;z-index:10;background:var(--g3);transition:background .15s}
#sb-resizer:hover,#sb-resizer.dragging{background:var(--teal)}
#sb-logo{padding:14px 16px 13px;border-bottom:1px solid #e2e8f0;background:var(--white)}
.logo-t{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--navy);letter-spacing:2px}
.logo-s{font-family:var(--mono);font-size:10px;color:var(--teal);letter-spacing:3px;margin-top:3px;font-weight:700}
#sb-list{flex:1;overflow-y:auto;padding:0}
.sbi{padding:10px 13px 11px;cursor:pointer;border-left:4px solid transparent;border-bottom:1px solid #f1f5f9;background:var(--white);transition:all .1s}
.sbi:hover{background:var(--g2)}
.sbi.on{background:#f0fdfa;border-left-color:var(--teal)}
.sbi-bkg{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbi.on .sbi-bkg{color:var(--teal)}
.sbi-ship{font-size:15px;font-weight:400;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbi-tags{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}
.stag{font-family:var(--mono);font-size:11px;padding:3px 7px;border-radius:4px;font-weight:700}
.stag.dep{background:#dcfce7;color:#15803d}
.stag.dg{background:#fff1f2;color:#dc2626;border:1px solid #fecdd3}
.stag.lcl{background:var(--b2);color:var(--blue);border:1px solid var(--b3)}
.stag.car{background:var(--p2);color:var(--purple);border:1px solid var(--p3)}
.stag.urgd{background:var(--y2);color:var(--yellow);border:1px solid var(--y3)}
.ic-tog-ct{font-family:var(--mono);font-size:12px;font-weight:700;padding:5px 10px;border-radius:5px;border:1.5px solid var(--g3);background:var(--white);color:var(--n5);cursor:pointer;transition:all .15s;flex-shrink:0;white-space:nowrap}
.ic-tog-ct.on{background:var(--navy);color:var(--white);border-color:var(--navy)}
.ic-tog-ct.on.lcl{background:var(--teal);border-color:var(--teal)}
.ic-tog-ct.on.gen{background:#64748b;border-color:#64748b}
.stag.etd-warn{background:#fff1f2;color:#dc2626;border:1px solid #fecdd3;animation:pulse-warn 1.5s infinite}
.stag.etd-advance{background:#fefce8;color:#a16207;border:1px solid #fde68a;animation:pulse-warn 1.5s infinite}
.stag.etd-ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.stag.edi-ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.stag.vgm-ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.stag.edi-warn{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
.stag.vgm-warn{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
@keyframes pulse-warn{0%,100%{opacity:1}50%{opacity:.6}}
.stag.urge{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
.stag.hbl-ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.stag.mbl-ok{background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc}
.stag.hbl-dr{background:var(--b2);color:var(--blue);border:1px solid var(--b3)}
.stag.mbl-dr{background:var(--p2);color:var(--purple);border:1px solid var(--p3)}
.sb-div{height:1px;background:var(--g3);margin:3px 0}
.sb-divl{font-family:var(--mono);font-size:12px;color:var(--n5);padding:7px 13px 5px;letter-spacing:1px;font-weight:800;background:var(--g2)}
.sb-dep-toggle{width:100%;border:0;border-bottom:1px solid var(--g3);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}
.sb-dep-toggle:hover{background:#e9eef5;color:var(--navy)}
.sb-dep-left{display:flex;align-items:center;gap:7px;min-width:0}
.sb-dep-arrow{font-size:13px;line-height:1;color:var(--teal);width:14px;text-align:center}
.sb-dep-count{font-family:var(--mono);font-size:12px;color:var(--navy);background:#fff;border:1px solid var(--g3);border-radius:4px;padding:1px 6px}
.sb-dep-note{font-family:var(--mono);font-size:12px;color:#8190a4;padding:8px 13px;background:#fafbfc;border-bottom:1px solid #eef2f6}
#sb-foot{padding:9px 10px;border-top:1px solid var(--g3);display:flex;flex-direction:column;gap:5px;background:var(--g2)}
#add-wrap{display:none;padding:4px 10px 2px}
#add-inp{width:100%;background:var(--white);border:2px solid var(--g3);border-radius:5px;padding:6px 8px;color:var(--navy);font-family:var(--mono);font-size:12px}
#add-inp:focus{border-color:var(--teal)}
#add-inp::placeholder{color:var(--g4)}
.sb-btn{font-family:var(--mono);font-size:11px;padding:8px 10px;border-radius:5px;border:none;font-weight:700;text-align:left;transition:all .12s}
.sb-btn.add{background:var(--teal);color:#fff}.sb-btn.add:hover{background:var(--tl2)}
.sb-btn.sub{background:var(--g2);color:var(--n4);border:1px solid var(--g3)}.sb-btn.sub:hover{background:var(--g3)}

/* MAIN */
#main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}
#topbar{background:var(--white);border-bottom:2px solid var(--g3);padding:0 12px;display:flex;align-items:center;flex-shrink:0;min-height:50px;overflow:hidden}
.tnav{font-family:var(--mono),'Nanum Gothic',var(--sans);font-size:13.5px;font-weight:700;padding:13px 11px;border:none;background:none;color:var(--n5);border-bottom:3px solid transparent;letter-spacing:0;white-space:nowrap;flex-shrink:0;transition:all .12s;white-space:nowrap}
.tnav:hover{color:var(--navy)}
.tnav.on{color:var(--teal);border-bottom-color:var(--teal)}
#tb-r{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:fit-content}
#tb-info{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:14.5px;font-weight:700;white-space:nowrap}
.tb-txt{cursor:pointer;padding:2px 5px;border-radius:3px;border-bottom:1px dashed transparent;transition:all .12s}
.tb-txt:hover{background:#f0fdfa;border-bottom-color:var(--teal)}
.tb-txt.bkg{color:var(--teal);font-weight:600}
.tb-txt.ship{color:var(--navy);font-weight:400}

/* ═══════════ CHECKLIST 리스킨 — 네이비 커맨드 바 (#pg-cl 스코프) ═══════════ */
#cl-cmdbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#003E6F;padding:9px 18px;min-height:52px;flex-shrink:0;margin:-20px -28px 14px;position:sticky;top:-20px;z-index:5}
#cl-cmdbar .cb-l{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:wrap}
#cl-cmdbar .cb-bkg{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.5px;color:#fff}
#cl-cmdbar .cb-ship{font-size:15px;font-weight:400;color:#EBAF37}
#cl-cmdbar .cb-route{font-family:var(--mono);font-size:12px;font-weight:500;color:#A9C4DC}
#cl-cmdbar .cb-r{display:flex;align-items:center;gap:12px;flex-shrink:0}
#cl-cmdbar .cb-prog{display:flex;flex-direction:column;gap:4px;width:150px}
#cl-cmdbar .cb-prog-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;font-weight:700;color:#A9C4DC}
#cl-cmdbar .cb-prog-top b{color:#fff;font-weight:700}
#cl-cmdbar .cb-prog-track{height:5px;background:#0C2D4D;border-radius:3px;overflow:hidden}
#cl-cmdbar .cb-prog-fill{height:100%;background:#EBAF37;transition:width .35s}
#cl-cmdbar .cb-status{font-family:var(--mono);font-size:11px;font-weight:700;color:#3A2A06;background:#EBAF37;border-radius:2px;padding:5px 11px;white-space:nowrap}
/* 목업 톤 미세 정렬 (체크리스트 한정) */
#pg-cl .info-card{padding:14px 16px !important}
#pg-cl .ic-inp{background:#F8FAFC !important}
#pg-cl .info-card-title{font-size:11px !important;letter-spacing:1.5px !important}

/* ═══════════ OVERVIEW 리스킨 — KPI 스트립 + 모니터링 표 (#pg-ov 스코프) ═══════════ */
#pg-ov .stat-row{grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid #DAE0E8;border-radius:3px;overflow:hidden;margin-bottom:14px}
#pg-ov .stat-c{border:none !important;border-right:1px solid #EAEEF3 !important;border-radius:0 !important;box-shadow:none !important;padding:11px 18px !important}
#pg-ov .stat-c:last-child{border-right:none !important}
#pg-ov .stat-c:hover{background:#F4F8FB !important;box-shadow:none !important;border-color:#EAEEF3 !important}
#pg-ov .stat-n{font-size:27px !important}
#pg-ov .sec-hd.act-now{color:#C8262C}
#pg-ov .sec-hd.act-now::after{background:#E6CACB}
#pg-ov .ovt{background:#fff;border:1px solid #DAE0E8;border-radius:3px;overflow:hidden;margin-bottom:14px}
#pg-ov .ovt-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #DAE0E8;background:#F4F6F9}
#pg-ov .ovt-hd.ovt-toggle-hd{cursor:pointer}
#pg-ov .ovt-hd.ovt-toggle-hd:hover{background:#ECF0F5}
#pg-ov .ovt-title-wrap{display:flex;align-items:center;gap:8px;min-width:0}
#pg-ov .ovt-arrow{font-size:14px;line-height:1;color:var(--teal);width:14px;text-align:center;flex-shrink:0}
#pg-ov .ovt.is-collapsed .ovt-cols,
#pg-ov .ovt.is-collapsed .ovt-row,
#pg-ov .ovt.is-collapsed .ov-empty{display:none !important}
#pg-ov .ovt-hd-t{font-size:15px;font-weight:800;color:#0F1B2A}
#pg-ov .ovt-hd-s{font-family:var(--mono);font-size:12px;font-weight:700;color:#8190A4;margin-left:8px}
#pg-ov .ovt-hd-c{font-family:var(--mono);font-size:12px;font-weight:800;color:#41526A;background:#ECF0F5;border:1px solid #DAE0E8;border-radius:2px;padding:2px 9px}
#pg-ov .ovt-cols{display:grid;gap:10px;padding:8px 14px;background:#ECF0F5;border-bottom:1px solid #DAE0E8}
#pg-ov .ovt-cols span{font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.5px;color:#111827;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pg-ov .ovt-row{display:grid !important;gap:10px !important;align-items:center !important;padding:10px 14px !important;min-height:44px;border-bottom:1px solid #EAEEF3 !important;cursor:pointer;flex-wrap:nowrap !important;border-radius:0 !important}
#pg-ov .ovt-row:hover{background:#F4F8FB !important}
#pg-ov .ovt-row:last-child{border-bottom:none !important}
#pg-ov .ovt-dd{justify-self:start;align-self:center;font-family:var(--mono);font-size:13px;font-weight:800;padding:2px 9px;border-radius:2px;white-space:nowrap}
#pg-ov .ovt-dd.rd{color:#C8262C;background:#FCEDED;border:1px solid #F1C9CB}
#pg-ov .ovt-dd.or{color:#B45309;background:#FBF1E3;border:1px solid #ECD9B6}
#pg-ov .ovt-dd.bl{color:#1E88BC;background:#E8F2F8;border:1px solid #C5DEEC}
#pg-ov .ovt-dd.gn{color:#1A7F4B;background:#E7F4EC;border:1px solid #BFE0CC}
#pg-ov .ovt-dd.gy{color:#8190A4;background:#ECF0F5;border:1px solid #DAE0E8}
#pg-ov .ovt-ship{font-size:15px;font-weight:400;color:#0F1B2A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:center}
#pg-ov .ovt-c{font-family:var(--mono);font-size:14px;font-weight:400;color:#16202E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:center}
#pg-ov .ovt-bkg{font-weight:600}
#pg-ov .ovt-status{display:flex;min-width:0;align-self:center}
#pg-ov .ovt-tags{display:flex;flex-wrap:wrap;gap:5px}
#pg-ov .ovt .ov-empty{padding:14px}

/* ═══════════ CHECKLIST 풀 리페인트 — 목업 컴포넌트 매칭 (#pg-cl 스코프, CSS 전용) ═══════════ */
#pg-cl .info-card{border-color:#DAE0E8 !important}
#pg-cl .ic-lbl{color:#41526A}
#pg-cl .ic-inp{border-color:#DAE0E8 !important;color:#0F1B2A;font-weight:600}
#pg-cl .ic-inp:focus{border-color:#003E6F !important;background:#fff !important}
#pg-cl .chips-bar{border-color:#DAE0E8}
/* 체크박스 → 목업 ✓ 사각형 */
#pg-cl input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid #C2CCD8;border-radius:3px;background:#fff;position:relative;cursor:pointer;flex-shrink:0;vertical-align:middle}
#pg-cl input[type="checkbox"]:checked{background:#1A7F4B;border-color:#1A7F4B}
#pg-cl input[type="checkbox"]:checked::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);color:#fff;font-size:11px;font-weight:700;line-height:1}
#pg-cl #ck-hbl-draft:checked{background:#1D6FB8;border-color:#1D6FB8}
#pg-cl #ck-mbl-draft:checked{background:#0E7490;border-color:#0E7490}
/* 완료 라벨 색 */
#pg-cl .ic-ckr.gn{color:#1A7F4B}
#pg-cl .ic-ckr.bl{color:#1D6FB8}
#pg-cl .ic-ckr.rd{color:#C8262C}
/* BL 타입 버튼 — 목업 톤 */
#pg-cl .ic-blt{border-color:#DAE0E8 !important;background:#F8FAFC !important;color:#8190A4 !important;font-weight:700}
#pg-cl .ic-blt.sel-obl{background:#E6FBFD !important;border-color:#A7E6EE !important;color:#0E7490 !important}
#pg-cl .ic-blt.sel-sur{background:#E8F1FB !important;border-color:#C2DBF2 !important;color:#1D6FB8 !important}
#pg-cl .ic-blt.sel-pod{background:#FBF1E3 !important;border-color:#ECD9B6 !important;color:#B45309 !important}
#pg-cl .ic-blt.sel-swb{background:#EEEDFE !important;border-color:#CECBF6 !important;color:#534AB7 !important}
#pg-cl .ic-blt.sel-no{background:#ECF0F5 !important;border-color:#DAE0E8 !important;color:#8190A4 !important}
#pg-cl .etd-actual-label{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:3px;min-height:24px;line-height:24px}

/* Mode entry hub: keeps the existing OPS shell untouched until "업무 관련" is selected. */
body:not(.ops-work-mode) #shell,
body[data-ops-mode="home"] #shell,
body[data-ops-mode="admin"] #shell,
body[data-ops-mode="api"] #shell,
body[data-ops-mode="safe"] #shell{
  display:none !important;
  position:absolute;
  left:0;
  right:0;
  top:40px;
  bottom:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
body.ops-work-mode #shell,
body[data-ops-mode="work"] #shell{
  display:flex !important;
  position:relative;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
body.ops-login-gate #shell{
  display:none !important;
  position:absolute;
  left:0;
  right:0;
  top:40px;
  bottom:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
body:not(.ops-work-mode) #login-overlay,
body[data-ops-mode="home"] #login-overlay,
body[data-ops-mode="admin"] #login-overlay,
body[data-ops-mode="api"] #login-overlay,
body[data-ops-mode="safe"] #login-overlay{
  display:none !important;
  visibility:hidden;
  pointer-events:none;
}
body.ops-work-mode #ops-mode-hub,
body[data-ops-mode="work"] #ops-mode-hub{display:none}
#ops-mode-hub{
  flex:1;
  overflow:auto;
  background:var(--ops-bg,#f5f5f7);
  color:#1d1d1f;
  font-family:var(--sans);
  padding:28px 24px 40px;
  --ops-card:#fff;
  --ops-input:#fbfbfd;
  --ops-accent:#007aff;
  --ops-user-font:14px;
}
#ops-mode-hub [hidden]{
  display:none !important;
}
.ops-entry,.ops-mode-page{width:min(100%,1180px);margin:0 auto}
.ops-entry{
  min-height:calc(100vh - 126px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:42px;
}
.ops-entry-greeting{
  width:min(100%,1060px);
  min-height:244px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}
.ops-greeting-emoji{
  font-size:58px;
  line-height:1;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.08));
}
.ops-entry-greeting h1{
  margin:0;
  color:#111113;
  font-size:32px;
  line-height:1.18;
  font-weight:900;
  letter-spacing:0;
}
.ops-entry-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin:14px 0 22px;
}
.ops-entry-head img{height:30px;width:auto;object-fit:contain}
.ops-entry-head h1,.ops-mode-head h2{margin:0;color:#111113;font-size:28px;line-height:1.2;font-weight:800;letter-spacing:0}
.ops-entry-head p,.ops-mode-head p{margin:6px 0 0;color:#5f6673;font-size:14px;font-weight:700}
.ops-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  width:min(100%,1080px);
}
.ops-entry-card{
  min-height:188px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:0;
  background:var(--ops-card,#fff);
  box-shadow:none;
  padding:22px 24px;
  color:#1d1d1f;
  text-align:left;
  display:grid;
  gap:10px;
  align-content:start;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.ops-entry-card:hover{transform:translateY(-2px);border-color:rgba(0,122,255,.28);box-shadow:0 16px 34px rgba(0,0,0,.075)}
.ops-card-icon{
  width:44px;height:44px;border-radius:13px;background:#eef6ff;color:#0057a8;
  display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:900;
}
.ops-entry-card strong{font-size:20px;font-weight:800;color:#111113}
.ops-entry-card small{font-size:14px;line-height:1.55;color:#5f6673;font-weight:700}
.ops-entry-card em{margin-top:auto;font-style:normal;font-size:12px;font-weight:800;color:#007aff}
.ops-mode-head{
  min-height:92px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:var(--ops-card,#fff);
  box-shadow:none;
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}
.ops-head-tags{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ops-head-tags span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  background:var(--ops-input,#fbfbfd);
  color:#384152;
  font-size:12px;
  font-weight:900;
}
.ops-mode-head button,.ops-key-row button{
  min-height:36px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px;
  background:#fff;
  color:#1d1d1f;
  padding:0 13px;
  font-weight:800;
}
.ops-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ops-mode-panel{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:var(--ops-card,#fff);
  box-shadow:none;
  padding:17px;
  display:grid;
  gap:12px;
  min-width:0;
}
.ops-mode-panel.ops-span{grid-column:1/-1}
.ops-mode-panel h3{margin:0;color:#111113;font-size:17px;font-weight:800}
.ops-mode-panel h4{margin:0 0 8px;color:#111113;font-size:15px;font-weight:900}
.ops-mode-panel p,.ops-mode-panel small{color:#5f6673;line-height:1.6;font-weight:700}
.ops-mode-panel code,.ops-key-row code,.ops-api-row code,.ops-log-row code,.ops-guard-row code{
  display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border:1px solid rgba(0,0,0,.07);border-radius:10px;background:var(--ops-input,#fbfbfd);
  padding:9px 11px;color:#18324c;font-family:var(--mono);font-size:12px;font-weight:800;
}
.ops-key-row{display:flex;gap:8px;align-items:center;min-width:0;flex-wrap:nowrap}
.ops-key-row code,.ops-key-row input{flex:1 1 auto;min-width:0}
.ops-key-row button{flex:0 0 auto;white-space:nowrap}
.ops-key-row input,.ops-api-row input{
  height:38px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:var(--ops-input,#fbfbfd);
  padding:0 12px;font-family:var(--mono);font-size:12px;font-weight:800;color:#111113;
  min-width:0;
}
.ops-preview-text{
  min-height:42px;border:1px solid rgba(0,0,0,.07);border-radius:10px;background:var(--ops-input,#fbfbfd);
  padding:10px 12px;font-family:var(--mono);font-weight:700;color:#1d1d1f;
  font-size:var(--ops-user-font,14px);
}
.ops-preview-wrap{
  display:grid;
  gap:10px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  background:color-mix(in srgb,var(--ops-input,#fbfbfd) 70%,#fff);
  padding:12px;
}
.ops-preview-card{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:10px;
  background:var(--ops-card,#fff);
  font-size:var(--ops-user-font,14px);
  font-weight:900;
}
.ops-preview-card span,.ops-pill,.ops-log-row em,.ops-guard-row em,.ops-mode-split em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#e8f8ee;
  color:#12823a;
  font-style:normal;
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.ops-setting-row,.ops-api-row,.ops-log-row,.ops-guard-row{
  display:grid;
  grid-template-columns:minmax(140px,1.05fr) minmax(180px,1.35fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:rgba(255,255,255,.66);
  padding:11px 12px;
}
.ops-api-row{
  grid-template-columns:minmax(145px,1fr) minmax(190px,1.25fr) auto auto;
}
.ops-api-row.ops-api-row-hapag{
  grid-template-columns:minmax(150px,.9fr) minmax(150px,1fr) minmax(150px,1fr) 82px auto auto;
}
.ops-api-row.ops-api-row-hapag input[type="number"]{
  min-width:72px;
}
.ops-api-row.ops-api-row-version{
  grid-template-columns:minmax(150px,1fr) minmax(280px,2.4fr) auto;
}
.ops-api-row.ops-api-row-version textarea{
  min-width:0;
  width:100%;
  min-height:68px;
  resize:vertical;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  background:var(--ops-input,#fbfbfd);
  padding:9px 12px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:800;
  color:#111113;
  line-height:1.45;
}
.ops-progress-row{
  display:grid;
  grid-template-columns:110px minmax(160px,1fr);
  align-items:center;
  gap:12px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:var(--ops-input,#fbfbfd);
  padding:10px 12px;
}
.ops-progress-row span{
  display:grid;
  gap:2px;
}
.ops-progress-row b{
  font-family:var(--mono);
  font-size:13px;
  color:#0057a8;
}
.ops-progress-row small{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.ops-progress-row i{
  height:8px;
  border-radius:999px;
  background:#e8edf4;
  overflow:hidden;
}
.ops-progress-row em{
  display:block;
  height:100%;
  border-radius:999px;
  background:#007aff;
  transition:width .18s ease;
}
.ops-setting-row span,.ops-api-row span,.ops-guard-row span{
  min-width:0;
  display:grid;
  gap:3px;
}
.ops-setting-row b,.ops-api-row b,.ops-guard-row b{font-size:14px;font-weight:900;color:#111113}
.ops-setting-row small,.ops-api-row small,.ops-guard-row small{font-size:12px;color:#64748b}
.ops-swatch-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  flex-wrap:wrap;
}
.ops-swatch{
  width:30px;
  height:30px;
  border-radius:9px;
  border:1px solid rgba(0,0,0,.12);
  background:var(--bg);
  box-shadow:inset 0 0 0 4px var(--card);
  cursor:pointer;
}
.ops-swatch.is-on{
  border-color:#0057a8;
  box-shadow:inset 0 0 0 4px var(--card),0 0 0 2px rgba(0,87,168,.18);
}
.ops-range-row{
  display:grid;
  grid-template-columns:minmax(160px,1fr) 58px;
  align-items:center;
  gap:10px;
}
.ops-range-row input{width:100%;accent-color:#0057a8}
.ops-range-row b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  border-radius:999px;
  background:#e8f8ee;
  color:#12823a;
  font-size:12px;
  font-weight:900;
}
.ops-small-action,.ops-api-row button,.ops-action-row button{
  min-height:36px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:10px;
  background:#fff;
  color:#1d1d1f;
  padding:0 13px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.ops-api-row button[id="ops-run-tml-audit"],.ops-action-row button:first-child{
  background:#007aff;
  color:#fff;
  border-color:#007aff;
}
.ops-mode-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.ops-mode-split>div{
  min-width:0;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:var(--ops-input,#fbfbfd);
  padding:12px;
}
.ops-log-row{
  grid-template-columns:90px minmax(180px,1fr) minmax(150px,.8fr) auto;
}
.ops-log-row time{
  font-family:var(--mono);
  font-size:12px;
  font-weight:900;
  color:#18324c;
}
.ops-log-row span{font-weight:800;color:#52627a}
.ops-log-row.is-warn em,.ops-guard-row em:last-child{background:#fff4d6;color:#9a6500}
.ops-log-row.is-lock em{background:#ffe8ec;color:#d61f3c}
.ops-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.ops-detail-grid article{
  min-width:0;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  background:var(--ops-input,#fbfbfd);
  padding:14px;
}
.ops-detail-grid article>b{
  display:inline-flex;
  margin-bottom:8px;
  padding:3px 9px;
  border-radius:999px;
  background:#fff4d6;
  color:#9a6500;
  font-family:var(--mono);
  font-size:11px;
}
.ops-detail-grid ol{
  margin:8px 0 0;
  padding-left:20px;
  color:#52627a;
  font-weight:800;
  line-height:1.75;
}
.ops-action-row{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
body[data-ops-theme="blue"],
body[data-ops-theme="mint"],
body[data-ops-theme="cream"],
body[data-ops-theme="lavender"],
body[data-ops-theme="rose"],
body[data-ops-theme="green"],
body[data-ops-theme="graphite"]{
  background:var(--ops-bg,#f5f5f7);
}
@media (max-width:760px){
  #ops-mode-hub{padding:18px 14px 28px}
  .ops-entry{gap:24px}
  .ops-entry-greeting{min-height:180px}
  .ops-greeting-emoji{font-size:46px}
  .ops-entry-greeting h1{font-size:26px}
  .ops-entry-grid,.ops-mode-grid{grid-template-columns:1fr}
  .ops-mode-head{align-items:flex-start;flex-direction:column}
  .ops-head-tags{margin-left:0;justify-content:flex-start}
  .ops-setting-row,.ops-api-row,.ops-api-row.ops-api-row-hapag,.ops-api-row.ops-api-row-version,.ops-log-row,.ops-guard-row{grid-template-columns:1fr}
  .ops-mode-split,.ops-detail-grid{grid-template-columns:1fr}
}
@media (min-width:761px) and (max-width:1180px){
  .ops-api-row.ops-api-row-hapag{
    grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(180px,1fr) 82px;
  }
  .ops-api-row.ops-api-row-hapag button{
    width:100%;
  }
}
#pg-cl .etd-actual-label>span:first-child{min-width:0;white-space:nowrap;font-size:12px;line-height:24px}
#pg-cl .etd-mode{display:inline-flex;gap:2px;margin-left:auto;border:1px solid #DAE0E8;border-radius:4px;overflow:hidden;background:#fff;flex-shrink:0;height:24px;align-self:flex-start}
#pg-cl .etd-mode-btn{border:0;background:#fff;color:#8190A4;font-family:var(--mono);font-size:11px;font-weight:800;padding:0 7px;cursor:pointer;line-height:24px;min-height:24px;height:24px}
#pg-cl .etd-mode-btn.on{background:#003E6F;color:#fff}

body.cl-font-custom #pg-cl :is(
  input,
  textarea,
  select,
  button,
  label,
  .ic-lbl,
  .ic-inp,
  .ic-ckr,
  .ic-blt,
  .info-card-title,
  .bl-section-lbl,
  .hbl-entry-title,
  .hbl-field-label,
  .hbl-row-checks,
  .hbl-add-btn,
  .hbl-remove,
  .sec-title,
  .otag
){
  font-size:var(--cl-text-font-size,14px) !important;
}

#pg-cl .schedule-card .ic-2col,
#pg-cl .schedule-card .etd-date-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important}
#pg-cl .schedule-card .etd-actual-label{
  position:relative;
  display:block;
  min-height:0 !important;
  height:auto !important;
  line-height:normal !important;
  margin-bottom:3px !important;
  padding-right:88px;
  overflow:visible;
}
#pg-cl .schedule-card .etd-actual-label>span:first-child{
  display:block;
  min-width:0;
  white-space:nowrap;
  font-size:13px !important;
  line-height:normal !important;
}
#pg-cl .schedule-card .etd-mode{
  position:absolute;
  top:-4px;
  right:0;
  height:20px;
  margin-left:0;
  align-self:auto;
}
#pg-cl .schedule-card .etd-mode-btn{font-size:10px !important;padding:0 5px !important}
#pg-cl .schedule-card .etd-mode-btn{
  min-width:38px !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  height:20px !important;
  min-height:20px !important;
  line-height:20px !important;
  padding:0 7px !important;
  text-rendering:auto !important;
}
@media (max-width:900px){
  #pg-cl .ic-2col{grid-template-columns:1fr !important}
  #pg-cl .etd-actual-label>span:first-child{font-size:13px}
  #pg-cl .etd-mode-btn{font-size:11px;padding:3px 7px}
}
#pg-cl .hbl-list{display:flex;flex-direction:column;gap:7px}
#pg-cl .hbl-entry{border:1px solid #DAE0E8;border-radius:5px;background:#fff;padding:8px;display:flex;flex-direction:column;gap:7px}
#pg-cl .hbl-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
#pg-cl .hbl-entry-title{font-family:var(--mono);font-size:11px;font-weight:900;color:#41526A}
#pg-cl .hbl-remove{border:1px solid #DAE0E8;background:#F8FAFC;color:#8190A4;border-radius:4px;font-size:12px;font-weight:900;width:24px;height:24px;line-height:20px;cursor:pointer}
#pg-cl .hbl-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#pg-cl .hbl-field-label{font-family:var(--mono);font-size:10px;font-weight:800;color:#8190A4;margin-bottom:2px}
#pg-cl .hbl-row-checks{display:flex;gap:10px;flex-wrap:wrap}
#pg-cl .hbl-add-btn{border:1px dashed #A9B7C8;background:#F8FAFC;color:#003E6F;border-radius:5px;font-family:var(--mono);font-size:12px;font-weight:900;padding:7px 10px;cursor:pointer}
#pg-cl .hbl-add-btn:hover{background:#ECF0F5}
/* B/L 섹션 — 목업처럼 평평하게 (회색 박스 제거) */
#pg-cl .bl-section{background:transparent !important;border:none !important;padding:0 !important;margin-bottom:12px !important}
#pg-cl .bl-section-lbl{border-bottom:none !important;padding-bottom:0 !important;letter-spacing:0 !important;text-transform:none !important;color:#41526A !important;font-size:13px !important;margin-bottom:5px !important}
/* 화물 토글 (DG/중고차/FCL/LCL) */
#pg-cl .ic-tog{border-color:#DAE0E8;background:#F8FAFC;color:#8190A4}
#pg-cl .ic-tog-ct{border-color:#DAE0E8;background:#F8FAFC;color:#8190A4}
#pg-cl .ic-tog-ct.on{background:#003E6F;border-color:#003E6F;color:#fff}
/* 알림/경고 박스 톤 */
#pg-cl .ic-alert.ok{background:#E7F4EC;border-color:#BFE0CC;color:#1A7F4B}
#pg-cl .ic-alert.warn{background:#FBF1E3;border-color:#ECD9B6;color:#B45309}
#pg-cl .ic-alert.danger{background:#FCEDED;border-color:#F1C9CB;color:#C8262C}
/* 변경된 실제 날짜(ETD/ETB/ETA actual ≠ 부킹기준) 앰버 강조 */
#pg-cl .ic-inp.date-changed{background:#FBF1E3 !important;border-color:#ECD9B6 !important;color:#B45309 !important;font-weight:700}
/* 가독성 우선 — 입력칸·글자 키움 */
#pg-cl .ic-inp{padding:8px 11px !important;font-size:15px !important}
#pg-cl .ic-lbl{margin-bottom:3px;font-size:13px}
#pg-cl .ic-row{margin-bottom:9px}
#pg-cl .ic-2col{gap:9px;margin-bottom:9px}
#pg-cl .ic-ckr{margin-top:5px;font-size:14px}
#pg-cl .info-card{padding:14px 16px !important}
#pg-cl .info-card-title{margin-bottom:11px !important}
#pg-cl select{font-size:14px !important}
/* 알림/상태 박스도 함께 키움 (통지완료·출항완료·OBL) */
#pg-cl .alert-box{font-size:13px !important;padding:7px 10px !important}
#pg-cl .alert-box label{font-size:13px !important}
#pg-cl .ic-dep-lbl{font-size:15px !important}
#pg-cl .ic-obl-lbl{font-size:15px !important}

/* ═══════════ DG 서류 검증 결과 팝업 ═══════════ */
.dg-modal-bg{display:none;position:fixed;inset:0;background:rgba(15,27,42,.5);z-index:300;align-items:flex-start;justify-content:center;padding:118px 16px 24px;overflow:hidden}
.dg-modal-bg.open{display:flex}
.dg-modal-box{background:#fff;border-radius:6px;width:min(720px,100%);max-height:calc(100vh - 150px);display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.dg-modal-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#003E6F;color:#fff}
.dg-modal-title{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:1px}
.dg-modal-x{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:.8;line-height:1}
.dg-modal-x:hover{opacity:1}
#dg-modal-body{padding:18px;min-height:0;overflow:auto}
.dg-pct{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.dg-pct-num{font-family:var(--mono);font-size:38px;font-weight:700;line-height:1}
.dg-pct.ok .dg-pct-num{color:#1A7F4B}.dg-pct.amb .dg-pct-num{color:#B45309}.dg-pct.bad .dg-pct-num{color:#C8262C}
.dg-pct-lbl{font-size:12px;color:#41526A;font-weight:600;margin-top:3px}
.dg-pct-bar{flex:1;height:8px;background:#ECF0F5;border-radius:4px;overflow:hidden}
.dg-pct-fill{height:100%;transition:width .4s}
.dg-pct.ok .dg-pct-fill{background:#1A7F4B}.dg-pct.amb .dg-pct-fill{background:#B45309}.dg-pct.bad .dg-pct-fill{background:#C8262C}
.dg-sec{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;color:#41526A;margin:16px 0 6px;text-transform:uppercase}
.dg-row{display:grid;grid-template-columns:118px 1fr 1fr 70px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #EAEEF3;font-size:13px}
.dg-row.head{background:#ECF0F5;font-family:var(--mono);font-size:11px;font-weight:700;color:#8190A4;text-transform:uppercase}
.dg-row .dgf{font-weight:700;color:#0F1B2A}
.dg-row .dgv{font-family:var(--mono);font-size:12px;color:#16202E;word-break:break-word}
.dg-badge{justify-self:end;font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 9px;border-radius:2px;white-space:nowrap}
.dg-badge.match{background:#E7F4EC;color:#1A7F4B;border:1px solid #BFE0CC}
.dg-badge.ambiguous{background:#FBF1E3;color:#B45309;border:1px solid #ECD9B6}
.dg-badge.mismatch{background:#FCEDED;color:#C8262C;border:1px solid #F1C9CB}
.dg-note{grid-column:1/-1;font-size:11px;color:#56657C;padding:2px 0 0}
.dg-bk{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:9px 11px;border-radius:3px;border:1px solid #DAE0E8;background:#F4F6F9;font-size:13px;margin-bottom:8px}
.tb-dot{color:var(--g4)}
.tb-inp{font-family:var(--mono);font-size:13px;font-weight:700;border:2px solid var(--teal);border-radius:4px;padding:2px 7px;background:var(--white);width:140px}
.tb-inp.bkg{color:var(--teal)}
.tb-inp.ship{color:var(--navy)}
#tb-clock{font-family:var(--mono);font-size:11px;color:var(--n5)}
.auto-lock-control{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;font-weight:700;color:#475569;white-space:nowrap}
.auto-lock-select{height:28px;border:1px solid var(--g3);border-radius:4px;background:#fff;color:#0f172a;font-family:var(--mono);font-size:11px;font-weight:700;padding:0 6px;outline:none}
.auto-lock-select:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,148,136,.12)}

.pg{display:none;flex:1;overflow:hidden}
.pg.on{display:flex;min-height:0}
#pg-ov{overflow-y:auto;flex-direction:column;padding:18px 22px 48px}
#pg-cl{flex-direction:row}



/* OVERVIEW */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.stat-c{background:var(--white);border-radius:8px;border:1px solid var(--g3);padding:12px 15px;box-shadow:var(--sh);cursor:pointer;transition:all .15s}
.stat-c:hover{border-color:var(--tl3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,148,136,.1)}
.stat-n{font-family:var(--mono);font-size:34px;font-weight:700;line-height:1}
.stat-n.tl{color:var(--teal)}.stat-n.or{color:var(--orange)}.stat-n.rd{color:var(--red)}.stat-n.gn{color:var(--green)}.stat-n.bl{color:var(--blue)}
.stat-l{font-size:13px;color:var(--n4);margin-top:6px;font-weight:600}
.sec-hd{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--n3);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sec-hd::after{content:'';flex:1;height:1px;background:var(--g3)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.ov-card{background:var(--white);border-radius:8px;border:1px solid var(--g3);box-shadow:var(--sh);padding:12px 14px}
.ov-ct{font-family:var(--mono);font-size:13px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}
.ov-ct.rd{color:var(--red)}.ov-ct.or{color:var(--orange)}.ov-ct.gn{color:var(--green)}.ov-ct.bl{color:var(--blue)}
.ov-badge{font-family:var(--mono);font-size:12px;font-weight:700;padding:3px 8px;border-radius:4px}
.ov-badge.rd{background:var(--r2);color:var(--red)}.ov-badge.or{background:var(--o2);color:var(--orange)}
.ov-empty{font-size:14px;color:var(--n5);font-style:italic;padding:5px 0}
.ov-row{display:flex;align-items:center;gap:7px;padding:6px 6px;border-bottom:1px solid var(--g3);flex-wrap:wrap;cursor:pointer;border-radius:5px;transition:background .1s}
.ov-row:last-child{border-bottom:none}
.ov-row:hover{background:#f0fdfa}
.ov-dd{font-family:var(--mono);font-size:14px;font-weight:700;min-width:60px;flex-shrink:0}
.ov-dd.rd{color:var(--red)}.ov-dd.or{color:var(--orange)}.ov-dd.bl{color:var(--blue)}.ov-dd.gn{color:var(--green)}.ov-dd.gy{color:var(--n5)}
.ov-nm{font-size:15px;font-weight:700;color:var(--navy);white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}
.ov-bk{font-family:var(--mono);font-size:12px;color:var(--n4);font-weight:600}
.ov-m{font-family:var(--mono);font-size:12px;color:var(--n4)}
.otag{font-family:var(--mono);font-size:12px;padding:3px 8px;border-radius:4px;font-weight:700}
.otag.chg{background:var(--o2);color:var(--orange)}
.otag.nt{background:var(--gn2);color:var(--green)}
.otag.hbl{background:var(--tl4);color:var(--teal)}
.otag.mbl{background:var(--b2);color:var(--blue)}
.otag.obl{background:var(--gn2);color:var(--green)}
.otag.nobl{background:var(--r2);color:var(--red)}
.full-card{background:var(--white);border-radius:8px;border:1px solid var(--g3);box-shadow:var(--sh);padding:12px 14px;margin-bottom:16px}

/* CHECKLIST */
#cl-l{display:none}
#cl-r{flex:1;overflow-y:auto;padding:20px 28px 60px;max-width:100%}
/* info grid */
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:6px}
.info-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:6px}
.info-grid>.info-card,.info-grid-2>.info-card{min-width:0}
.info-card{background:var(--white);border-radius:10px;border:1px solid var(--g3);padding:16px 18px;box-shadow:var(--sh)}
.info-card-title{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--teal);letter-spacing:2px;text-transform:uppercase;margin-bottom:13px;border-left:3px solid var(--teal);padding-left:7px}
.ic-row{margin-bottom:8px}
.ic-lbl{font-size:13px;color:var(--n4);margin-bottom:3px;font-weight:600}
.ic-inp{width:100%;border:1px solid var(--g3);border-radius:5px;padding:6px 9px;font-size:14px;background:#fafafa;transition:border .1s;color:var(--navy)}
.ic-inp:focus{border-color:var(--teal);background:var(--white)}
.po-reference-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px}
.po-reference-row #i-po-type{cursor:pointer;font-weight:700;background:#f0fdfa;color:var(--teal)}
.ic-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
#pg-cl .etd-date-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px 10px;align-items:start}
#pg-cl .etd-date-grid>div{min-width:0}
.ic-ckr{display:flex;align-items:center;gap:6px;padding:5px 0;font-size:13px;color:var(--n4)}
.ic-ckr input{width:14px;height:14px;cursor:pointer;flex-shrink:0;accent-color:var(--teal)}
.ic-ckr label{cursor:pointer}
.ic-ckr.gn{color:var(--green);font-weight:700}
.ic-ckr.rd{color:var(--red);font-weight:700}
.ic-ckr.bl{color:var(--blue);font-weight:700}
.ic-tog-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ic-tog{font-family:var(--mono);font-size:12px;padding:5px 12px;border-radius:4px;border:1px solid var(--g3);background:#fafafa;color:var(--n5);font-weight:700;transition:all .12s}
.ic-tog.on.dg{background:var(--o2);border-color:var(--o3);color:var(--orange)}
.ic-tog.on.lcl{background:var(--b2);border-color:var(--b3);color:var(--blue)}
.ic-tog.on.car{background:var(--p2);border-color:var(--p3);color:var(--purple)}
.ic-blt-row{display:flex;gap:4px;margin-bottom:6px}
.ic-blt{font-family:var(--mono);font-size:13px;padding:8px 0;border-radius:4px;border:1px solid var(--g3);background:#fafafa;color:var(--n5);font-weight:700;transition:all .12s;flex:1;text-align:center}
.ic-blt.sel-obl{background:var(--tl4);border-color:var(--tl3);color:var(--teal)}
.ic-blt.sel-sur{background:var(--b2);border-color:var(--b3);color:var(--blue)}
.ic-blt.sel-pod{background:#fef3c7;border-color:#f59e0b;color:#92400e}
.ic-blt.sel-swb{background:var(--p2);border-color:var(--p3);color:var(--purple)}
.ic-blt.sel-no{background:var(--g2);border-color:var(--g3);color:var(--n5)}
.ic-bl-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.ic-bl-lbl{font-size:13px;color:var(--n4);width:48px;flex-shrink:0;font-weight:700}
.ic-dep-blk{margin:6px 0 0;padding:7px 11px;border-radius:6px;background:var(--gn2);border:1px solid var(--gn3);display:flex;align-items:center;justify-content:space-between}
.ic-dep-lbl{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--green)}
.ic-obl-blk{margin:6px 0 0;padding:7px 11px;border-radius:6px;background:var(--y2);border:1px solid var(--y3);display:flex;align-items:center;justify-content:space-between}
.ic-obl-blk.done{background:var(--gn2);border-color:var(--gn3)}
.ic-obl-lbl{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--yellow)}
.ic-obl-blk.done .ic-obl-lbl{color:var(--green)}
.ic-alert{padding:5px 9px;border-radius:5px;font-size:11px;font-weight:700;font-family:var(--mono);margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.ic-alert.warn{background:var(--o2);color:var(--orange);border:1px solid var(--o3)}
.ic-alert.ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.ic-alert.danger{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
.chips-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:10px 14px;background:var(--white);border-radius:8px;border:1px solid var(--g3)}
#cl-prog{padding:10px 13px;border-bottom:1px solid var(--g3)}
.prog-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.prog-lbl{font-family:var(--mono);font-size:10px;color:var(--n4);letter-spacing:1px;font-weight:700}
.prog-pct{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--teal)}
.prog-bar{height:4px;background:var(--g3);border-radius:2px}
.prog-fill{height:100%;border-radius:2px;transition:width .35s,background .35s}
#cl-chips{padding:8px 12px;background:var(--g2);border-bottom:1px solid var(--g3);display:flex;flex-wrap:wrap;gap:5px}
@keyframes blink-bg{from{background:#dc2626}to{background:#b91c1c}}
.chip{font-family:var(--mono);font-size:12px;padding:4px 10px;border-radius:4px;font-weight:700;border:1px solid transparent;white-space:nowrap}
.chip.rd{background:var(--r2);color:var(--red);border-color:var(--r3)}
.chip.or{background:var(--o2);color:var(--orange);border-color:var(--o3)}
.chip.bl{background:var(--b2);color:var(--blue);border-color:var(--b3)}
.chip.gn{background:var(--gn2);color:var(--green);border-color:var(--gn3)}
.chip.gy{background:var(--g2);color:var(--n5);border-color:var(--g3)}
.chip.ok{background:var(--gn2);color:var(--green);border-color:var(--gn3)}
.chip.tl{background:var(--tl4);color:var(--teal);border-color:var(--tl3)}
.is{padding:10px 13px;border-bottom:1px solid var(--g3)}
.ist{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--teal);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;border-left:3px solid var(--teal);padding-left:6px}
.il{font-size:12px;color:var(--n4);margin-bottom:2px;font-weight:600}
.ii{width:100%;border:1px solid var(--g3);border-radius:5px;padding:5px 8px;font-size:12px;background:#fafafa;transition:border .1s;color:var(--navy)}
.ii:focus{border-color:var(--teal);background:var(--white)}
.ir{margin-bottom:6px}
.ir2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.ckr{display:flex;align-items:center;gap:5px;padding:4px 0;font-size:12px;color:var(--n4)}
.ckr input{width:14px;height:14px;cursor:pointer;flex-shrink:0;accent-color:var(--teal)}
.ckr label{cursor:pointer}
.ckr.gn{color:var(--green);font-weight:700}
.ckr.rd{color:var(--red);font-weight:700}
.ckr.bl{color:var(--blue);font-weight:700}
.tog-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.tog{font-family:var(--mono);font-size:10px;padding:4px 9px;border-radius:4px;border:1px solid var(--g3);background:#fafafa;color:var(--n5);font-weight:700;transition:all .12s}
.tog.on.dg{background:var(--o2);border-color:var(--o3);color:var(--orange)}
.tog.on.lcl{background:var(--b2);border-color:var(--b3);color:var(--blue)}
.tog.on.car{background:var(--p2);border-color:var(--p3);color:var(--purple)}
.alert-box{padding:5px 9px;border-radius:5px;font-size:11px;font-weight:700;font-family:var(--mono);margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.alert-box.warn{background:var(--o2);color:var(--orange);border:1px solid var(--o3)}
.alert-box.ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.alert-box.danger{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
.blt-row{display:flex;gap:4px;margin-bottom:5px}
.blt{font-family:var(--mono);font-size:10px;padding:4px 0;border-radius:4px;border:1px solid var(--g3);background:#fafafa;color:var(--n5);font-weight:700;transition:all .12s;flex:1;text-align:center}
.blt.sel-obl{background:var(--tl4);border-color:var(--tl3);color:var(--teal)}
.blt.sel-sur{background:var(--b2);border-color:var(--b3);color:var(--blue)}
.blt.sel-pod{background:#fef3c7;border-color:#f59e0b;color:#92400e}
.blt.sel-no{background:var(--g2);border-color:var(--g3);color:var(--n5)}
.bl-row{display:flex;align-items:center;gap:5px;margin-bottom:3px}
.bl-lbl{font-size:11px;color:var(--n4);width:38px;flex-shrink:0;font-weight:600}
.dep-blk{margin:5px 0 0;padding:6px 10px;border-radius:6px;background:var(--gn2);border:1px solid var(--gn3);display:flex;align-items:center;justify-content:space-between}
.dep-lbl{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--green)}
.obl-blk{margin:5px 0 0;padding:6px 10px;border-radius:6px;background:var(--y2);border:1px solid var(--y3);display:flex;align-items:center;justify-content:space-between}
.obl-blk.done{background:var(--gn2);border-color:var(--gn3)}
.obl-lbl{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--yellow)}
.obl-blk.done .obl-lbl{color:var(--green)}

/* CHECKLIST ITEMS */
.cl-grp-lbl{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--n5);letter-spacing:2px;padding:12px 0 5px;text-transform:uppercase;border-top:1px solid var(--g3);margin-top:6px;display:flex;align-items:center;gap:8px}
.cl-grp-lbl:first-child{border-top:none;margin-top:0;padding-top:0}
.cl-grp-cnt{font-family:var(--mono);font-size:10px;color:var(--teal)}
.cli{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;margin-bottom:4px;border-radius:6px;cursor:pointer;background:var(--white);border:1px solid var(--g3);box-shadow:var(--sh);transition:all .12s;user-select:none}
.cli:hover{border-color:var(--g4)}
.cli.ck{background:var(--gn2);border-color:var(--gn3)}
.cli-box{width:18px;height:18px;border-radius:4px;border:2px solid var(--g3);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;transition:all .12s}
.cli.ck .cli-box{background:var(--green);border-color:var(--green);color:#fff}
.cli-t{flex:1;min-width:0}
.cli-lbl{font-size:13px;font-weight:600;color:var(--navy);line-height:1.3}
.cli.ck .cli-lbl{color:var(--green);text-decoration:line-through}
.cli-det{font-size:11px;color:var(--n4);margin-top:3px;line-height:1.4}
.cli-badge{font-family:var(--mono);font-size:9px;padding:2px 6px;border-radius:3px;font-weight:700;margin-top:3px;display:inline-block}
.cli-badge.fr{background:var(--y2);color:var(--yellow);border:1px solid var(--y3)}
.cli-badge.dg{background:var(--o2);color:var(--orange);border:1px solid var(--o3)}
.cli-badge.dn{background:var(--p2);color:var(--purple);border:1px solid var(--p3)}
.cli-badge.loi{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
.cli-badge.hbl{background:var(--tl4);color:var(--teal);border:1px solid var(--tl3)}
.cli-badge.mbl{background:var(--b2);color:var(--blue);border:1px solid var(--b3)}
.sec-memo{width:100%;border:1px dashed var(--g3);border-radius:5px;padding:6px 8px;font-size:12px;color:var(--n4);resize:none;background:var(--g2);min-height:30px;margin:4px 0;transition:border .1s}
.sec-memo:focus{border-color:var(--teal);background:var(--white)}
.no-bkg{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--n5);gap:12px}

/* HISTORY */
.hc{background:var(--white);border-radius:8px;border:1px solid var(--g3);box-shadow:var(--sh);margin-bottom:10px;overflow:hidden}
.hc-h{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer}
.hc-h:hover{background:var(--g2)}
.hc-bkg{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--navy)}
.hc-ship{font-size:14px;font-weight:700;color:var(--n5)}
.hc-etd{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--green);margin-left:auto;flex-shrink:0}
.hc-bd{display:none;padding:12px 16px;border-top:1px solid var(--g3)}
.hc-bd.open{display:block}
.hc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:12px}
.hc-fl{font-size:12px;color:var(--n5);margin-bottom:3px;font-weight:500}
.hc-fv{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--navy)}
.hc-eta{padding:7px 11px;border-radius:6px;margin-bottom:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hc-eta.norm{background:var(--b2);border:1px solid var(--b3)}
.hc-eta.chg{background:var(--o2);border:1px solid var(--o3)}
.hc-eta.past{background:var(--g2);border:1px solid var(--g3)}

/* MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;align-items:center;justify-content:center}
.modal-bg.open{display:flex}
.modal-box{background:var(--white);border-radius:10px;padding:22px;width:300px;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.modal-t{font-family:var(--mono);font-size:14px;font-weight:700;margin-bottom:6px}
.modal-m{font-size:13px;color:var(--n5);margin-bottom:16px;line-height:1.6}
.modal-btns{display:flex;gap:8px;justify-content:flex-end}
.mbtn{font-family:var(--mono);font-size:12px;padding:8px 14px;border-radius:6px;border:none;font-weight:700;transition:all .12s}
.mbtn.cancel{background:var(--g2);color:var(--n4)}.mbtn.cancel:hover{background:var(--g3)}
.mbtn.del{background:var(--red);color:#fff}.mbtn.del:hover{background:#b91c1c}
#sb-search{color:#0f172a !important}
#sb-search:focus{border-color:var(--teal) !important;background:#ffffff !important;color:#0f172a !important}
#sb-search::placeholder{color:#94a3b8 !important}

  .hi-stab.on{color:var(--navy)!important;border-bottom:2px solid var(--navy)!important;background:#fff!important}
  .hi-stab:hover:not(.on){background:#f1f5f9!important}
@keyframes rtBannerSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* ── ENTERPRISE B2B STYLE OVERRIDES ─────────────────── */
/* 전반적으로 각진 모서리, 진한 네이비 기조, 조밀한 정보밀도 */
.info-card,.ov-card,.ov-empty,.stat-c,.full-card,.pd-card,.sec-hd,
.ic-card,.rt-banner,#tsch-sched-panel{border-radius:3px !important}
.info-card,.ov-card{border:1px solid var(--g3)}
.ic-inp,#i-car-loi-no,.pd-inp,input[type="text"],input[type="number"],input[type="date"],textarea,select{border-radius:2px !important}
button,.btn,.ic-blt,.mbtn,.pd-btn,.pdf-del-btn,.pdf-btn{border-radius:2px !important}
.stag{border-radius:2px !important}
.otag{border-radius:2px !important}

/* 정보 밀도 개선: 카드 padding 축소, 그림자 감소 */
.ov-card{padding:10px 12px !important;box-shadow:none !important}
.stat-c{padding:10px 13px !important;box-shadow:none !important;border-radius:3px !important}
.stat-c:hover{transform:none !important;box-shadow:0 0 0 1px var(--tl2) !important;border-color:var(--tl2) !important}
.info-card{padding:12px 14px !important;box-shadow:none !important}
.ov-row{padding:5px 6px !important;border-radius:2px !important}
.ov-row:hover{background:var(--tl4) !important}

/* 섹션 헤더 타이포그래피 - 대문자 + letter-spacing (엔터프라이즈 느낌) */
.sec-hd{font-size:12px !important;letter-spacing:3px !important;color:var(--n4) !important;margin-bottom:9px !important;padding-top:5px}
.ov-ct{font-size:12.5px !important;letter-spacing:.6px !important;text-transform:none;margin-bottom:9px !important;padding-bottom:7px;border-bottom:1px solid var(--g3);gap:8px}
.info-card-title{font-size:10px !important;letter-spacing:2.5px !important;color:var(--teal) !important;border-left:2px solid var(--teal) !important;margin-bottom:10px !important}

/* BL 상태 뱃지 (BL 진행중 섹션) */
.bl-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;width:100%}
.bl-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:2px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.3px;line-height:1.4;border:1px solid}
.bl-badge b{font-weight:700;letter-spacing:.2px}
.bl-badge.ok{background:var(--gn2);color:var(--green);border-color:var(--gn3)}
.bl-badge.wait{background:var(--r2);color:var(--red);border-color:var(--r3)}
.bl-badge.obl-wait{background:var(--y2);color:var(--yellow);border-color:var(--y3)}
.bl-badge.draft{background:var(--b2);color:var(--blue);border-color:var(--b3)}

/* 선 아이콘 (Lucide 스타일) */
.ico{display:inline-flex;align-items:center;justify-content:center;vertical-align:-2px;margin-right:4px;flex-shrink:0}
.ico svg{display:block;pointer-events:none}
.ico-sm svg{width:12px;height:12px}
.ico-md svg{width:14px;height:14px}
.ico-lg svg{width:16px;height:16px}
.emoji-ico{display:inline-block;font-size:15px;line-height:1;vertical-align:-1px}
.tnav-emoji{display:inline-block;margin-right:4px;font-size:13px;line-height:1;vertical-align:-1px}
#pg-ov .sec-hd.act-now{font-size:13px !important;letter-spacing:3.2px !important;color:#C8262C !important}
#pg-ov .ov-ct .ov-ct-label{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pg-ov .ov-ct .ico{margin-right:0}
#pg-ov .ov-badge{flex-shrink:0}
#pg-ov .ov-nm{font-size:16px}
#pg-ov .ov-bk,#pg-ov .ov-m{font-size:13px}
#pg-ov .ovt-hd-t{font-size:16px}
#pg-ov .ovt-cols span{font-size:12px}
#pg-ov .ovt-row{min-height:44px}
#pg-ov .ovt-dd{font-size:13px}
#pg-ov .ovt-ship{font-size:16px}
#pg-ov .ovt-c{font-size:14px}

/* SVG 아이콘이 버튼/라벨 클릭 이벤트를 가로채지 않도록 */
button svg,label svg,.sbt svg,.tnav svg,.ic-blt svg,.otag svg{pointer-events:none !important}

/* B/L 카드 — HBL / MBL 상하 구조 (엔터프라이즈 톤 유지) */
.bl-section{padding:10px 12px;background:var(--g2);border:1px solid var(--g3);border-radius:3px;margin-bottom:10px !important}
.bl-section:last-of-type{margin-bottom:0 !important}
.bl-section-lbl{margin-bottom:7px;padding-bottom:5px;border-bottom:1px solid var(--g3);letter-spacing:1.5px;text-transform:uppercase;font-size:11px !important;color:var(--navy) !important;font-weight:700 !important}
.bl-section .ic-blt-row{margin-bottom:8px;display:flex;flex-wrap:wrap;gap:4px}
.bl-section .ic-blt{flex:1;min-width:70px;white-space:nowrap}
.bl-section .ic-bl-row{margin-bottom:6px}
.bl-section .ic-bl-row .ic-inp{min-width:0}

/* 사이드바 아이템 - 정보 밀도 증가, 모서리 각지게 */
.sbi{border-radius:0 !important;padding:10px 12px 11px !important}
.sbi.on{border-left-width:3px !important}

/* ── AI ASSISTANT PANEL ─────────────────────────────── */
#ai-toggle{position:fixed;right:16px;bottom:18px;z-index:90;background:#fff;color:#003E6F;border:1px solid var(--g3);padding:9px 12px;border-radius:6px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.8px}
#ai-toggle:hover{background:var(--tl4);border-color:#1E88BC}
#ai-toggle .ai-toggle-logo{height:22px;width:auto;object-fit:contain;display:block}
#ai-toggle .ai-toggle-arrow{font-size:15px;line-height:1;color:#003E6F}
#ai-toggle .dot{width:6px;height:6px;background:#EBAF37;border-radius:50%;animation:aiPulse 2s infinite;writing-mode:horizontal-tb}
@keyframes aiPulse{0%,100%{opacity:.5}50%{opacity:1}}

#ai-panel{position:fixed;right:0;top:0;bottom:0;width:400px;max-width:calc(100vw - 16px);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);z-index:95;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-left:1px solid var(--g3)}
#ai-panel.open{transform:translateX(0)}
.ai-head{background:#fff;color:#003E6F;padding:16px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0;border-bottom:1px solid var(--g3)}
.ai-head-brand{flex:1;display:flex;align-items:center}
.ai-logo-img{height:28px;width:auto;object-fit:contain;display:block}
.ai-head-tt{font-family:var(--sans);font-size:18px;font-weight:700;flex:1}
.ai-head-sub{font-family:var(--mono);font-size:9px;color:rgba(255,255,255,.7);letter-spacing:1.5px;font-weight:700;margin-top:2px}
.ai-close{background:transparent;border:none;color:#003E6F;cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.7}
.ai-close:hover{opacity:1}
.ai-dsf-bar{height:3px;background:linear-gradient(90deg,#EBAF37 0,#EBAF37 33.3%,#1E88BC 33.3%,#1E88BC 66.6%,#E4305D 66.6%,#E4305D 100%);flex-shrink:0}
.ai-capabilities{flex-shrink:0;padding:10px 14px;border-bottom:1px solid var(--g3);background:#fff}
.ai-cap-title{font-family:var(--mono);font-size:12px;font-weight:900;color:#003E6F;letter-spacing:.7px;margin-bottom:7px}
.ai-cap-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ai-cap-pill{display:flex;align-items:center;justify-content:center;min-height:28px;padding:5px 7px;border:1px solid var(--g3);border-radius:5px;background:var(--g2);font-family:var(--sans);font-size:13px;font-weight:800;color:var(--navy);line-height:1.2;text-align:center;cursor:pointer}
.ai-cap-pill:hover{background:var(--tl4);border-color:#1E88BC;color:#003E6F}
.ai-cap-pill:active{transform:translateY(1px)}

.ai-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#94a3b8 #f1f5f9}
.ai-body::-webkit-scrollbar{width:8px}
.ai-body::-webkit-scrollbar-track{background:#f1f5f9}
.ai-body::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:8px;border:2px solid #f1f5f9}
.ai-scroll-bottom{flex-shrink:0;align-self:flex-end;margin:-2px 14px 8px auto;padding:5px 10px;border:1px solid var(--g3);border-radius:999px;background:#fff;color:#003E6F;font-family:var(--mono);font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.ai-scroll-bottom:hover{background:var(--tl4);border-color:#1E88BC}
.ai-api-setup{background:var(--y2);border:1px solid var(--y3);border-radius:3px;padding:8px 10px}
.ai-api-setup-tt{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--yellow);letter-spacing:1.5px;margin-bottom:6px}
.ai-api-setup-desc{display:none}
.ai-api-setup input{width:100%;padding:6px 9px;border:1px solid var(--g3);border-radius:2px;font-family:var(--mono);font-size:11px;background:#fff;color:var(--navy);margin-bottom:6px}
.ai-api-setup button{width:100%;padding:7px;border:none;border-radius:2px;background:#003E6F;color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;cursor:pointer}
.ai-api-setup button:hover{background:#002749}

.ai-msg{padding:10px 12px;border-radius:3px;font-size:13px;line-height:1.6;max-width:92%;word-break:break-word}
.ai-msg.user{align-self:flex-end;background:#003E6F;color:#fff;font-weight:500}
.ai-msg.bot{align-self:flex-start;background:var(--g2);color:var(--navy);border:1px solid var(--g3)}
.ai-msg.error{align-self:flex-start;background:var(--r2);color:var(--red);border:1px solid var(--r3);font-size:12px}
.ai-msg.info{align-self:flex-start;background:var(--b2);color:var(--blue);border:1px solid var(--b3);font-size:12px;font-family:var(--mono);letter-spacing:.3px}
.ai-msg.thinking{align-self:flex-start;color:var(--n5);font-family:var(--mono);font-size:11px;letter-spacing:1px}
.ai-msg.thinking::after{content:'';animation:aiDots 1.2s infinite}
@keyframes aiDots{0%{content:''}33%{content:'.'}66%{content:'..'}100%{content:'...'}}
.ai-template{align-self:stretch;background:#fff;border:1px solid var(--g3);border-left:3px solid #003E6F;border-radius:4px;overflow:hidden}
.ai-template-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--g2);border-bottom:1px solid var(--g3);padding:8px 10px}
.ai-template-title{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--navy);letter-spacing:.5px}
.ai-copy-btn,.ai-choice-btn,.ai-order-match-choice-btn{font-family:var(--mono);font-size:11px;font-weight:800;padding:6px 9px;border:1px solid var(--g3);background:#fff;color:var(--navy);border-radius:4px;cursor:pointer}
.ai-copy-btn:hover,.ai-choice-btn:hover,.ai-order-match-choice-btn:hover{background:#003E6F;color:#fff;border-color:#003E6F}
.ai-template pre{margin:0;padding:11px 12px;font-family:var(--sans);font-size:13px;line-height:1.65;white-space:pre-wrap;color:var(--navy);background:#fff;max-height:300px;overflow-y:auto}
.ai-choice-wrap{display:flex;gap:8px;padding:10px}

.ai-preview{align-self:flex-start;background:#fff;border:1.5px solid var(--tl2);border-radius:3px;padding:12px 14px;width:100%;max-width:100%}
.ai-preview-tt{font-family:var(--mono);font-size:10px;font-weight:700;color:#003E6F;letter-spacing:2px;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ai-preview-tt .pv-cnt{background:#EBAF37;color:#003E6F;padding:2px 7px;border-radius:2px;font-weight:700;letter-spacing:1px}
.ai-preview-explain{font-size:12px;color:var(--n3);margin-bottom:10px;line-height:1.5}
.ai-preview-list{background:var(--g2);border:1px solid var(--g3);border-radius:2px;padding:8px 10px;margin-bottom:10px;max-height:180px;overflow-y:auto}
.ai-preview-item{font-family:var(--mono);font-size:11px;padding:4px 0;border-bottom:1px solid var(--g3);color:var(--navy)}
.ai-preview-item:last-child{border-bottom:none}
.ai-preview-item b{color:var(--teal);font-weight:700}
.ai-preview-change{color:var(--red);font-weight:700}
.ai-preview-arrow{color:var(--n5);margin:0 4px}
.ai-preview-new{color:var(--green);font-weight:700}
.ai-preview-btns{display:flex;gap:6px}
.ai-preview-btns button{flex:1;padding:8px;border:none;border-radius:2px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;cursor:pointer}
.ai-btn-apply{background:var(--green);color:#fff}
.ai-btn-apply:hover{background:#166534}
.ai-btn-cancel{background:var(--g3);color:var(--n3)}
.ai-btn-cancel:hover{background:var(--g4)}

.ai-input-wrap{padding:12px 14px;border-top:1px solid var(--g3);background:var(--g2);flex-shrink:0}
.ai-input{width:100%;padding:12px 13px;border:1px solid var(--g3);border-radius:2px;font-family:var(--sans);font-size:15px;background:#fff;color:var(--navy);resize:none;min-height:68px;line-height:1.55}
.ai-input:focus{border-color:#1E88BC;outline:none;box-shadow:0 0 0 2px rgba(30,136,188,.15)}
.ai-input-row{display:flex;gap:6px;margin-top:6px}
.ai-send-btn{flex:1;padding:9px;border:none;border-radius:2px;background:#003E6F;color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.ai-send-btn:hover{background:#1E88BC}
.ai-send-btn:disabled{background:var(--g4);cursor:not-allowed}
.ai-input-hint{font-family:var(--mono);font-size:9px;color:var(--n5);letter-spacing:1px;margin-top:6px;line-height:1.6}
#ai-ctx-hint{font-size:13px !important;padding:9px 11px !important;line-height:1.55 !important}

/* 로그인 오버레이는 엔터프라이즈 오버라이드에서 제외 */
.login-box{border-radius:14px !important;padding:40px 38px 36px !important;box-shadow:0 25px 60px rgba(0,0,0,.4) !important}
#login-pwd{border-radius:7px !important}
#login-btn{border-radius:7px !important}
.dsf-bar{border-radius:2.5px !important}

/* ── LOGIN OVERLAY ──────────────────────────────────── */
#login-overlay{position:fixed;top:40px;right:0;bottom:0;left:0;background:linear-gradient(135deg,#003E6F 0%,#002749 50%,#003E6F 100%);z-index:10000;display:flex;align-items:center;justify-content:center;animation:loginFadeIn .12s ease}
body.ops-login-gate #login-overlay{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}
body.ops-login-gate #login-overlay .login-box,
body.ops-login-gate #login-pwd,
body.ops-login-gate #login-btn,
body.ops-login-gate .auto-lock-select{
  pointer-events:auto !important;
  -webkit-app-region:no-drag !important;
}
body.ops-login-gate #login-pwd{
  cursor:text !important;
  user-select:text !important;
}
@keyframes loginFadeIn{from{opacity:0}to{opacity:1}}
.login-box{background:#fff;border-radius:14px;padding:40px 38px 36px;width:360px;box-shadow:0 25px 60px rgba(0,0,0,.4);animation:loginSlideUp .12s ease;position:relative;overflow:hidden}
.login-box::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#EBAF37 0%,#EBAF37 33.3%,#1E88BC 33.3%,#1E88BC 66.6%,#E4305D 66.6%,#E4305D 100%)}
@keyframes loginSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.dsf-bars{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:20px;margin-top:4px}
.dsf-bar{width:34px;height:5px;border-radius:2.5px}
.dsf-bar-1{background:#EBAF37}
.dsf-bar-2{background:#1E88BC}
.dsf-bar-3{background:#E4305D}
.login-logo{font-family:var(--sans);font-size:26px;font-weight:700;color:#003E6F;letter-spacing:2px;text-align:center}
.login-sub{font-family:var(--mono);font-size:11px;color:#1E88BC;letter-spacing:3px;text-align:center;margin-top:8px;font-weight:700}
.login-divider{height:1px;background:var(--g3);margin:22px 0 20px}
.login-label{font-family:var(--mono);font-size:10px;color:var(--n5);letter-spacing:2px;font-weight:700;margin-bottom:7px}
.login-lock-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:9px 10px;border:1px solid var(--g3);border-radius:7px;background:var(--g2)}
.login-lock-row .auto-lock-control{font-size:11px;color:var(--navy)}
.login-lock-row .auto-lock-select{height:30px;min-width:104px;background:#fff}
#login-pwd{width:100%;padding:12px 14px;border:1.5px solid var(--g3);border-radius:7px;font-family:var(--mono);font-size:14px;background:var(--g2);color:var(--navy);transition:all .15s;letter-spacing:2px}
#login-pwd:focus{border-color:#1E88BC;background:#fff;box-shadow:0 0 0 3px rgba(30,136,188,.15)}
#login-btn{width:100%;margin-top:14px;padding:12px;border-radius:7px;border:none;background:#003E6F;color:#fff;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .15s}
#login-btn:hover{background:#002749;transform:translateY(-1px)}
#login-btn:active{transform:translateY(0)}
#login-btn:disabled{background:var(--g4);cursor:not-allowed;transform:none}
#login-err{margin-top:12px;padding:9px 12px;background:var(--r2);border:1px solid var(--r3);border-radius:6px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--red);text-align:center;animation:loginShake .35s ease}
@keyframes loginShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.login-hint{margin-top:18px;text-align:center;font-family:var(--mono);font-size:10px;color:var(--n5);letter-spacing:1.5px;line-height:1.7}
.login-hint b{color:var(--navy);font-weight:700;letter-spacing:2px}

/* Login vessel split: visual identity only; no booking or schedule data before unlock. */
#login-overlay{padding:0;box-sizing:border-box}
.login-stage{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:74% 26%;overflow:hidden;border:0;border-radius:0;background:#fff;box-shadow:none;animation:loginStageIn .22s ease-out}
.login-panel{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.login-panel:before{content:'';position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#EBAF37 0 33.3%,#1E88BC 33.3% 66.6%,#E4305D 66.6%)}
.login-stage .login-box{width:286px;max-width:calc(100% - 40px);padding:32px 22px!important;box-shadow:none!important;animation:none}
.login-stage .login-box:before{display:none}
.login-vessel-scene{position:relative;overflow:hidden;background:linear-gradient(180deg,#00192f 0%,#002a4a 48%,#063b58 49%,#031d2c 100%);isolation:isolate}
.login-vessel-sky-glow{position:absolute;inset:0 0 43%;background:radial-gradient(ellipse at 73% 64%,rgba(235,175,55,.13),transparent 22%),radial-gradient(ellipse at 46% 60%,rgba(30,136,188,.13),transparent 44%)}
.login-vessel-horizon{position:absolute;right:0;bottom:43%;left:0;height:1px;background:rgba(132,185,218,.25);box-shadow:0 1px 22px rgba(30,136,188,.2)}
.login-vessel-quay{position:absolute;bottom:22%;left:0;width:34%;height:54px;z-index:2;background:repeating-linear-gradient(135deg,#d8a83d 0 12px,#243640 12px 24px) 0 0/100% 8px no-repeat,linear-gradient(180deg,#657681 0 8px,#465966 8px 31px,#263946 31px 100%);border-top:1px solid rgba(220,231,237,.82);box-shadow:0 9px 18px rgba(0,12,20,.3)}
.login-vessel-quay:before{content:'';position:absolute;top:-15px;right:-12px;left:0;height:16px;background:linear-gradient(180deg,#aebac1,#71828c);clip-path:polygon(0 34%,96% 34%,100% 100%,0 100%);box-shadow:inset 0 1px rgba(235,242,246,.74)}
.login-vessel-quay:after{content:'';position:absolute;top:100%;right:0;left:0;height:54px;background:repeating-linear-gradient(90deg,transparent 0 7%,#182b37 7% 7.8%,transparent 7.8% 24%);opacity:.96}
.login-vessel-quay>i{position:absolute;top:21px;width:10px;height:48px;border-radius:2px;background:#111f28;box-shadow:inset 2px 0 rgba(255,255,255,.1),3px 0 5px rgba(0,0,0,.2)}.login-vessel-quay>i:nth-child(1){left:8%}.login-vessel-quay>i:nth-child(2){left:34%}.login-vessel-quay>i:nth-child(3){right:9%}
.login-vessel-scene:after{content:'';position:absolute;right:0;bottom:0;left:0;height:43%;z-index:-1;background:linear-gradient(180deg,#073a56 0%,#03283d 58%,#021c2b 100%)}
.login-vessel-water{position:absolute;left:-160px;width:calc(100% + 320px);height:1px;z-index:1;background:repeating-linear-gradient(90deg,rgba(130,188,222,.36) 0 38px,transparent 38px 108px)}
.login-vessel-water.wave-a{bottom:25%;animation:loginVesselWave 14s linear infinite}.login-vessel-water.wave-b{bottom:10%;opacity:.62;background:repeating-linear-gradient(90deg,rgba(130,188,222,.3) 0 55px,transparent 55px 142px);animation:loginVesselWave 22s linear infinite}
.login-vessel-drift{position:absolute;left:60%;bottom:12%;width:min(80%,1080px);height:230px;translate:-50% 0;z-index:3;animation:loginVesselGlideX 18s cubic-bezier(.45,0,.55,1) infinite;will-change:transform}
.login-vessel-ship{--login-ship-scale:1;position:absolute;inset:0;animation:loginVesselBobY 7.6s cubic-bezier(.45,0,.55,1) -1.9s infinite;transform-origin:center;will-change:transform}
.login-vessel-hull{position:absolute;right:0;bottom:29px;left:2%;height:54px;background:linear-gradient(180deg,#31485c 0%,#152938 62%,#5b2730 63%,#462029 100%);clip-path:polygon(1% 0,100% 0,95% 100%,5% 100%);box-shadow:inset 0 3px rgba(157,199,225,.18)}
.login-vessel-hull>b{position:absolute;left:7%;top:17px;color:#7c9bb2;font-family:var(--mono)!important;font-size:10px;font-weight:900;letter-spacing:2.4px}
.login-vessel-cargo{position:absolute;left:13%;bottom:82px;width:60%;height:58px}
.login-vessel-cargo>i{position:absolute;width:18%;height:22px;bottom:0;background:#1E88BC;box-shadow:inset 0 -5px 7px rgba(0,0,0,.28),inset 1px 0 rgba(255,255,255,.14)}
.login-vessel-cargo>i:nth-child(1){left:0}.login-vessel-cargo>i:nth-child(2){left:19%;background:#EBAF37}.login-vessel-cargo>i:nth-child(3){left:38%;background:#41526A}.login-vessel-cargo>i:nth-child(4){left:57%;background:#E4305D}.login-vessel-cargo>i:nth-child(5){left:76%;background:#2b6f8f}.login-vessel-cargo>i:nth-child(6){left:19%;bottom:23px;background:#2b6f8f}.login-vessel-cargo>i:nth-child(7){left:38%;bottom:23px;background:#41526A}.login-vessel-cargo>i:nth-child(8){left:76%;bottom:23px;background:#EBAF37}
.login-vessel-bridge{position:absolute;right:11%;bottom:82px;width:76px;height:58px;background:linear-gradient(180deg,#314a60,#1b3041)}
.login-vessel-bridge:before{content:'';position:absolute;right:9px;top:10px;width:52px;height:9px;background:repeating-linear-gradient(90deg,#EBAF37 0 7px,#20384a 7px 13px);opacity:.8}
.login-vessel-bridge>i{position:absolute;width:7px;height:7px;border-radius:1px;background:#EBAF37;opacity:.75}.login-vessel-bridge>i:nth-child(1){left:12px;top:28px}.login-vessel-bridge>i:nth-child(2){left:27px;top:28px}.login-vessel-bridge>i:nth-child(3){left:42px;top:28px}.login-vessel-bridge>i:nth-child(4){left:57px;top:28px}
.login-vessel-mast{position:absolute;right:16%;bottom:140px;width:3px;height:40px;background:#4c6477}.login-vessel-mast:before{content:'';position:absolute;left:-11px;top:4px;width:25px;height:2px;background:#4c6477}.login-vessel-mast>i{position:absolute;left:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:#EBAF37;box-shadow:0 0 13px 4px rgba(235,175,55,.28);animation:loginVesselBeacon 3.4s ease-in-out infinite}
.login-vessel-wake{position:absolute;left:8%;bottom:35%;width:76%;height:2px;z-index:2;background:linear-gradient(90deg,transparent,rgba(180,220,240,.32) 18%,rgba(180,220,240,.18) 70%,transparent);filter:blur(.4px)}
.login-vessel-docklight{position:absolute;left:12%;bottom:calc(22% + 54px);width:3px;height:29%;z-index:2;background:linear-gradient(180deg,#657b89,#334b59)}.login-vessel-docklight:before{content:'';position:absolute;left:-8px;top:0;width:19px;height:5px;background:#d9bd72;box-shadow:0 0 17px 5px rgba(235,175,55,.24)}.login-vessel-docklight>i{position:absolute;left:-16px;top:5px;width:35px;height:42%;opacity:.18;background:linear-gradient(180deg,rgba(235,175,55,.62),transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);filter:blur(5px)}
@keyframes loginStageIn{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@keyframes loginVesselGlideX{0%,100%{transform:translate3d(-58px,0,0)}50%{transform:translate3d(58px,0,0)}}
@keyframes loginVesselBobY{0%,100%{transform:translate3d(0,24px,0) rotate(-.16deg) scale(var(--login-ship-scale))}50%{transform:translate3d(0,-28px,0) rotate(.16deg) scale(var(--login-ship-scale))}}
@keyframes loginVesselWave{from{transform:translateX(0)}to{transform:translateX(-160px)}}
@keyframes loginVesselBeacon{0%,45%,72%,100%{opacity:.25}52%,62%{opacity:1}}
@media(max-width:900px){.login-stage{width:100%;height:100%;grid-template-columns:1fr;grid-template-rows:34% minmax(0,66%)}.login-vessel-drift{top:auto;bottom:-10%;left:58%;width:80%;height:230px}.login-vessel-ship{--login-ship-scale:.72}.login-vessel-docklight{left:6%;height:70%;bottom:30%}.login-panel:before{z-index:2}.login-stage .login-box{width:286px;max-width:calc(100% - 36px);padding:26px 26px 28px!important}}
@media(max-width:560px){.login-stage{grid-template-rows:30% minmax(0,70%)}.login-vessel-drift{bottom:-22%;left:58%;width:88%}.login-vessel-ship{--login-ship-scale:.62}.login-stage .login-box{max-width:calc(100% - 24px);padding:22px 22px 24px!important}.login-divider{margin:15px 0}.dsf-bars{margin-bottom:12px}.login-logo{font-size:23px}}
@media(prefers-reduced-motion:reduce){.login-stage,.login-vessel-scene *{animation:none!important}}
/* ═══════════════════ HI TAB REDESIGN CSS ═══════════════════ */
.hi-stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.hi-stat-c{background:var(--white);border-radius:8px;border:1px solid var(--g3);padding:14px 18px;box-shadow:var(--sh);cursor:pointer;transition:all .2s cubic-bezier(0.34,1.56,0.64,1);position:relative}
.hi-stat-c:hover{border-color:var(--tl3);box-shadow:0 2px 6px rgba(0,62,111,.06)}
.hi-stat-n{font-family:var(--mono);font-size:32px;font-weight:700;line-height:1}
.hi-stat-n.tl{color:var(--teal)}.hi-stat-n.rd{color:var(--red)}.hi-stat-n.gn{color:var(--green)}.hi-stat-n.or{color:var(--orange)}
.hi-stat-l{font-size:12px;color:var(--n4);margin-top:6px;font-weight:600;letter-spacing:0.5px}
.hi-stat-sub{font-family:var(--mono);font-size:10px;color:var(--n5);margin-top:2px;letter-spacing:0.5px}
.hi-stat-pulse{position:absolute;top:10px;right:12px;width:6px;height:6px;border-radius:50%;background:var(--green);animation:hiHb 2s infinite}
@keyframes hiHb{0%,100%{box-shadow:0 0 0 0 rgba(21,128,61,0.5)}50%{box-shadow:0 0 0 5px rgba(21,128,61,0)}}
.hi-sec-hd{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--n3);letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.hi-sec-hd::after{content:'';flex:1;height:1px;background:var(--g3)}
.hi-sec-count{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--teal)}
.hi-sec-live{font-family:var(--mono);font-size:11px;color:var(--n5);display:flex;align-items:center;gap:6px}
.hi-sec-toggle{font-family:var(--mono);font-size:12px;font-weight:700;padding:5px 11px;border-radius:4px;border:1.5px solid var(--g3);background:#fff;color:var(--n4);cursor:pointer;letter-spacing:0.5px}

/* 출항완료/선사 스케줄: Aptos + Nanum Gothic fallback. */
#pg-hi,
#pg-sch,
#pg-hi *:not(svg):not(path):not(circle):not(line):not(polygon):not(rect):not(polyline),
#pg-sch *:not(svg):not(path):not(circle):not(line):not(polygon):not(rect):not(polyline){font-family:var(--sans) !important}

/* Keep Windows/Electron text on the platform-default rasterizer. */
#pg-hi,
#pg-sch,
#pg-hi *,
#pg-sch *{
  -webkit-font-smoothing:auto !important;
  -moz-osx-font-smoothing:auto !important;
  text-rendering:auto !important;
}

/* v18: Pretendard에 맞는 가중치 재조정 (Pretendard는 600 지원) */
#pg-hi .hi-tl-col-val,
#pg-hi .hi-tl-col-val.shipper-name{font-weight:700 !important;letter-spacing:-0.2px !important}
#pg-hi .hi-tl-col-lbl{font-weight:600 !important;letter-spacing:0.5px !important}
#pg-hi .hi-tl-col-sub,
#pg-hi .hi-tl-col-sub.vessel-line{font-weight:500 !important}
#pg-hi .hi-tl-port-name{font-weight:700 !important;letter-spacing:0 !important}
#pg-hi .hi-tl-port-date{font-weight:500 !important}
#pg-hi .hi-tl-eta-d{font-weight:700 !important}
#pg-hi .hi-tl-b{font-weight:600 !important}

/* v18: 출항완료 탭 전체 폰트 크기 업 */
#pg-hi .hi-tl-tab{font-size:14px !important;padding:10px 18px !important}
#pg-hi .hi-tl-tab b{font-size:12px !important}
#pg-hi .hi-tl-sort-btn{font-size:12px !important;padding:6px 12px !important}
#pg-hi .hi-mf-btn{font-size:13px !important;padding:7px 14px !important}
#pg-hi .hi-stat-c .hi-stat-n{font-size:26px !important}
#pg-hi .hi-stat-c .hi-stat-l{font-size:12px !important}
#pg-hi .hi-stat-c .hi-stat-sub{font-size:10px !important}
#pg-hi #hi-tl-search{font-size:13px !important;padding:9px 14px 9px 36px !important}
/* 타임라인 행 세부 요소 - 대비 강화 */
#pg-hi .hi-tl-b{font-size:11px !important;padding:4px 9px !important}
#pg-hi .hi-tl-eta-d{font-size:22px !important;font-weight:800 !important}
#pg-hi .hi-tl-port-name{font-size:15px !important;font-weight:800 !important;color:var(--navy) !important;letter-spacing:1px !important}
#pg-hi .hi-tl-port-date{font-size:12px !important;color:var(--navy) !important;font-weight:700 !important;opacity:0.85}
#pg-hi .hi-todo-item{font-size:13px !important;padding:8px 14px !important}
#pg-hi .hi-legend-shipper{font-size:12px !important;min-width:180px !important}
#pg-hi .hi-map-info{font-size:12px !important;min-width:180px !important}
#pg-hi .hi-info-row b{font-size:14px !important}
#pg-hi .hi-legend-shipper-row{font-size:12px !important;padding:4px 0 !important}
#pg-hi .hi-tl-empty{font-size:14px !important;padding:32px !important}
#pg-hi .hi-sec-toggle{font-size:14px !important;font-weight:800 !important;padding:8px 16px !important;color:var(--navy) !important;border:2px solid var(--navy) !important;background:#fff !important;letter-spacing:1px !important}
#pg-hi .hi-sec-toggle:hover{background:var(--navy) !important;color:#fff !important}

#car-card .info-card{padding:18px 20px !important;border-color:#ddd6fe !important;background:#fdfcff !important}
#car-card .info-card-title{font-size:13px !important;letter-spacing:.8px !important;color:#6d28d9 !important;border-left-color:#7c3aed !important;margin-bottom:14px !important}
#car-card .ic-lbl{font-size:13px !important;font-weight:800 !important;color:#334155 !important;margin-bottom:5px !important}
#car-card .ic-inp{font-size:14px !important;line-height:1.45 !important;padding:9px 11px !important;background:#fff !important}
#car-card .ic-ckr{font-size:13px !important;line-height:1.45 !important}
#car-card button{font-family:var(--sans) !important;font-size:12px !important;font-weight:800 !important;letter-spacing:0 !important;line-height:1.35 !important;min-height:34px}
#car-card [style*="font-size:10px"]{font-size:12px !important}
#car-card [style*="font-size:11px"]{font-size:12px !important}
#car-card #car-cntr-wrap{margin-top:8px}

.hi-berth-done-btn{margin-top:8px;padding:7px 10px;border-radius:5px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:0;cursor:pointer;white-space:nowrap}
.hi-berth-done-btn:hover{background:#dbeafe;border-color:#60a5fa}

/* MSC 스케줄 패널 - 폰트 전반 업 */
.hi-sched-panel{background:#fff;border:1px solid var(--g3);border-radius:6px;padding:16px 18px;margin-bottom:22px}
.hi-sched-panel.collapsed{display:none}
.hi-sched-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px}
.hi-sched-pols{display:flex;gap:5px}
.hi-sched-pol-btn{font-family:var(--mono);font-size:13px;font-weight:700;padding:8px 14px;border-radius:4px;border:1.5px solid var(--g3);background:#fff;color:var(--n4);cursor:pointer;letter-spacing:1px}
.hi-sched-pol-btn.on{border-color:var(--navy);background:var(--navy);color:#fff}
.hi-sched-pol-btn b{font-size:12px;opacity:0.8;margin-left:5px}
.hi-sched-upload-btn{font-family:var(--mono);font-size:13px;font-weight:700;padding:8px 14px;border-radius:4px;border:1.5px dashed var(--teal);background:#fff;color:var(--teal);cursor:pointer;letter-spacing:0.5px;display:inline-block}
.hi-sched-upload-btn:hover{background:#f0fdf4}
.hi-sched-regions{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--g2)}

/* v18: 라우트 타입 탭 (DIRECT / T/S) */
.hi-sched-routetype{display:flex;gap:6px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--g2)}
.hi-sched-rt-btn{font-family:var(--mono);font-size:13px;font-weight:700;padding:7px 14px;border-radius:4px;border:1.5px solid var(--g3);background:#fff;color:var(--n4);cursor:pointer;letter-spacing:0.5px}
.hi-sched-rt-btn.direct.on{border-color:#166534;background:#dcfce7;color:#166534}
.hi-sched-rt-btn.ts.on{border-color:#92400e;background:#fef3c7;color:#92400e}
.hi-sched-rt-btn.on:not(.direct):not(.ts){border-color:var(--navy);background:var(--navy);color:#fff}
.hi-sched-rt-btn b{font-size:12px;margin-left:4px;opacity:0.8}

/* 진행 가능 체크박스 토글 */
.hi-sched-avail-toggle{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;font-weight:700;padding:7px 12px;border-radius:4px;border:1.5px solid var(--teal);background:#f0fdf4;color:var(--teal);cursor:pointer;letter-spacing:0.3px}
.hi-sched-avail-toggle input{accent-color:var(--teal);cursor:pointer;margin:0}
.hi-sched-avail-toggle:hover{background:#dcfce7}

/* 빈 카드 (진행 가능 없음) */
.hi-sched-card.empty{opacity:0.55;background:#f8f8f8}
.hi-sched-card.empty .hi-sched-next.warn{color:var(--red);background:#fef2f2;border-left-color:var(--red);font-weight:700}

/* 상세 테이블 - 상태 뱃지 + 마감 행 */
.hi-sched-tbadge{font-family:var(--mono);font-size:12px;font-weight:800;padding:5px 12px;border-radius:4px;letter-spacing:0.5px;display:inline-block}
.hi-sched-tbadge.available{background:#dcfce7;color:#166534;border:1.5px solid #86efac}
.hi-sched-tbadge.expired{background:#fee2e2;color:#991b1b;border:1.5px solid #fca5a5}
.hi-sched-table tr.expired td{background:#fafafa;color:#9ca3af;text-decoration:line-through;text-decoration-color:#d1d5db}
.hi-sched-table tr.expired td b{color:#9ca3af}
.hi-sched-table tr.expired:hover td{background:#f3f4f6}
.hi-sched-reg-btn{font-family:var(--mono);font-size:12px;font-weight:700;padding:6px 12px;border-radius:3px;border:1px solid var(--g3);background:#fafafa;color:var(--n5);cursor:pointer;letter-spacing:0.5px}
.hi-sched-reg-btn.on{border-color:var(--teal);background:#f0fdf4;color:var(--teal)}
.hi-sched-reg-btn b{font-size:11px;margin-left:4px;opacity:0.7}
.hi-sched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.hi-sched-card{background:#fafbfc;border:1px solid var(--g2);border-radius:4px;padding:14px 16px;transition:all 0.15s;cursor:pointer;user-select:none}
.hi-sched-card:hover{border-color:var(--navy);background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.05)}
.hi-sched-card.active{border-color:var(--teal);border-width:2px;background:#f0fdf4;padding:13px 15px}
.hi-sched-card.active .hi-sched-click-hint{color:var(--teal);font-weight:700}
.hi-sched-card.active .hi-sched-click-hint::after{content:' (열림 - 다시 클릭하면 닫힘)';font-size:10px}
.hi-sched-card-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.hi-sched-name{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--navy);letter-spacing:1px}
.hi-sched-direct{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px;background:#dcfce7;color:#166534;letter-spacing:1px}
.hi-sched-ts{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px;background:#fef3c7;color:#92400e;letter-spacing:1px}
.hi-sched-region{font-family:var(--mono);font-size:12px;color:var(--n5);margin-bottom:8px;letter-spacing:0.5px}
.hi-sched-ports{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.hi-sched-port{font-family:var(--mono);font-size:12px;padding:3px 8px;border-radius:3px;background:#eff6ff;color:#1e40af;font-weight:600}
.hi-sched-port b{color:#0ea5e9;margin-left:4px;font-weight:700}
.hi-sched-port.more{background:var(--g2);color:var(--n4)}
.hi-sched-next{font-family:var(--mono);font-size:13px;color:var(--navy);margin-bottom:8px;padding:8px 11px;background:#fff;border-radius:4px;border-left:4px solid var(--teal);line-height:1.55;font-weight:700}
.hi-sched-next b{color:var(--teal);font-weight:800}
.hi-sched-click-hint{font-family:var(--mono);font-size:11px;color:var(--n5);text-align:center;padding-top:6px;border-top:1px dashed var(--g2);letter-spacing:0.5px}
.hi-sched-empty{padding:28px;text-align:center;color:var(--n5);font-size:13px;font-family:var(--mono);background:#fafafa;border-radius:4px;line-height:1.7}
.hi-sched-detail{margin-top:16px;padding:16px;background:#f8fafc;border:2px solid var(--teal);border-radius:6px}
.hi-sched-det-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:var(--mono);font-size:14px;color:var(--navy);font-weight:700;letter-spacing:1px;flex-wrap:wrap;gap:8px}
.hi-sched-det-hint{font-family:var(--mono);font-size:11px;color:var(--teal);font-weight:600;letter-spacing:0.5px}
.hi-sched-det-ports{font-family:var(--mono);font-size:13px;color:var(--n3);margin-bottom:12px;padding:8px 12px;background:#fff;border-radius:4px;font-weight:600}
.hi-sched-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px}
.hi-sched-table th{background:var(--navy);color:#fff;padding:8px 10px;text-align:left;font-weight:700;letter-spacing:0.5px;font-size:12px}
.hi-sched-table td{padding:7px 10px;border-bottom:1px solid var(--g2);color:var(--n3)}
.hi-sched-table tr:hover td{background:#f0fdf4}
.hi-msc-copy-schedule{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:0;padding:7px 11px;border-radius:4px;border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;cursor:pointer;white-space:nowrap}
.hi-msc-copy-schedule:hover{background:#ccfbf1;border-color:#2dd4bf}
.hi-msc-copy-schedule:disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8;border-color:#e2e8f0}
.hi-sec-live{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--green);letter-spacing:2px;display:flex;align-items:center;gap:6px}
.hi-sec-live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:hiHb 2s infinite}
.hi-sec-count{font-family:var(--mono);font-size:11px;color:var(--teal);background:var(--tl4);padding:3px 10px;border-radius:4px;letter-spacing:1px;font-weight:700}
.hi-sec-toggle{margin-left:auto;padding:4px 10px;font-family:var(--mono);font-size:10px;font-weight:700;color:var(--n4);background:var(--white);border:1px solid var(--g3);border-radius:4px;cursor:pointer;letter-spacing:1px;transition:all 0.15s}
.hi-sec-toggle:hover{border-color:var(--teal);color:var(--teal)}
.hi-map-card{background:var(--white);border-radius:8px;border:1px solid var(--g3);box-shadow:var(--sh);margin-bottom:20px;overflow:hidden;transition:all 0.3s ease}
.hi-map-card.collapsed .hi-map-wrap,.hi-map-card.collapsed .hi-map-head{display:none}
.hi-map-card.collapsed{padding:8px 16px}
.hi-map-card.collapsed .hi-map-collapsed-bar{display:flex}
.hi-map-collapsed-bar{display:none;align-items:center;justify-content:space-between;padding:4px 0}
.hi-map-collapsed-bar .mcb-l{font-family:var(--mono);font-size:11px;color:var(--n4);letter-spacing:1px}
.hi-map-collapsed-bar b{color:var(--teal)}
.hi-map-head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--g3);background:var(--g2)}
.hi-map-head-l{display:flex;align-items:center;gap:20px}
.hi-map-title{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:2px;color:var(--n3);text-transform:uppercase}
.hi-map-legend{display:flex;gap:16px;font-family:var(--mono);font-size:10px;font-weight:700;color:var(--n4);letter-spacing:0.5px}
.hi-leg-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.hi-map-filter{display:flex;gap:4px}
.hi-mf-btn{padding:5px 12px;font-family:var(--mono);font-size:11px;font-weight:700;background:#fff;border:1px solid var(--g3);border-radius:4px;cursor:pointer;color:var(--n4);letter-spacing:0.5px;transition:all 0.15s}
.hi-mf-btn:hover{border-color:var(--teal);color:var(--teal)}
.hi-mf-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.hi-map-wrap{position:relative;width:100%;height:540px;background:#f0f4f8;overflow:hidden;cursor:grab}
.hi-map-wrap:active{cursor:grabbing}
.hi-map-wrap svg{display:block;width:100%;height:100%}
.hi-map-hud{position:absolute;top:14px;left:18px;z-index:5;pointer-events:none}
.hi-hud-tt{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--n3);letter-spacing:1.5px;margin-bottom:4px}
.hi-hud-sub{font-family:var(--mono);font-size:9px;color:var(--n5);letter-spacing:0.5px;line-height:1.6}
.hi-map-info-stack{position:absolute;top:14px;right:18px;z-index:5;display:flex;flex-direction:column;gap:8px;max-height:calc(100% - 28px);pointer-events:none}
.hi-map-info{position:relative;top:auto;right:auto;z-index:auto;background:rgba(255,255,255,0.92);border:1px solid var(--g3);border-radius:6px;padding:10px 14px;font-family:var(--mono);font-size:10px;letter-spacing:0.5px;color:var(--n4);pointer-events:none;min-width:160px}
.hi-info-row{display:flex;justify-content:space-between;gap:16px;padding:2px 0}
.hi-info-row b{color:var(--teal);font-weight:700}
.hi-map-zoom{position:absolute;bottom:14px;right:18px;z-index:5;display:flex;flex-direction:column;gap:4px}
.hi-zoom-btn{width:34px;height:34px;background:rgba(255,255,255,0.95);border:1px solid var(--g3);border-radius:5px;font-family:var(--mono);font-size:15px;font-weight:700;color:var(--n3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s}
.hi-zoom-btn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.hi-view-preset{position:absolute;bottom:14px;left:18px;z-index:5;display:flex;gap:4px;background:rgba(255,255,255,0.95);border:1px solid var(--g3);border-radius:5px;padding:3px}
.hi-vp-btn{padding:5px 10px;font-family:var(--mono);font-size:10px;font-weight:700;background:none;border:none;color:var(--n4);cursor:pointer;letter-spacing:1px;border-radius:3px;transition:all 0.15s}
.hi-vp-btn:hover{background:var(--g2);color:var(--navy)}
.hi-vp-btn.on{background:var(--navy);color:#fff}
.hi-ship-tt{position:absolute;background:var(--navy);color:#fff;font-family:var(--mono);font-size:10px;font-weight:700;padding:10px 13px;border-radius:5px;letter-spacing:0.3px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.15s;transform:translate(-50%,-130%);z-index:50;box-shadow:0 6px 16px rgba(0,0,0,0.18);line-height:1.6}
.hi-ship-tt.show{opacity:1}
.hi-tt-hd{color:var(--tl3);font-size:11px;margin-bottom:4px}
.hi-tt-shipper{color:#fff;font-size:11px;display:block}
.hi-tt-row{color:var(--g4);display:block;font-size:9px;margin-top:2px}
.hi-tt-row b{color:var(--dsf-amber)}
.hi-loading{position:absolute;inset:0;background:var(--g2);display:flex;align-items:center;justify-content:center;z-index:20;transition:opacity 0.3s}
.hi-loading.hide{opacity:0;pointer-events:none}
.hi-loading-spinner{display:inline-block;width:30px;height:30px;border:3px solid var(--g3);border-top-color:var(--teal);border-radius:50%;animation:hiSpin 0.8s linear infinite;margin-bottom:12px}
@keyframes hiSpin{to{transform:rotate(360deg)}}
.hi-loading-text{font-family:var(--mono);font-size:11px;color:var(--n5);letter-spacing:1.5px}
.hi-load-error{position:absolute;inset:0;background:var(--r2);display:none;flex-direction:column;align-items:center;justify-content:center;padding:40px;z-index:20}
.hi-load-error.show{display:flex}
.hi-tl-section{margin-bottom:30px}
.hi-tl-tabs{display:flex;gap:2px;margin-bottom:16px;background:var(--g2);padding:3px;border-radius:8px;width:fit-content}
.hi-tl-tab{padding:9px 24px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--n5);background:none;border:none;border-radius:6px;cursor:pointer;letter-spacing:1.5px;transition:all 0.2s cubic-bezier(0.34,1.56,0.64,1);display:flex;align-items:center;gap:8px}
.hi-tl-tab:hover{color:var(--navy)}
.hi-tl-tab.on{background:#fff;color:var(--teal);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.hi-tl-tab-count{font-size:10px;background:var(--g3);color:var(--n4);padding:1px 7px;border-radius:10px;letter-spacing:0.5px;font-weight:700}
.hi-tl-tab.on .hi-tl-tab-count{background:var(--tl4);color:var(--teal)}
.hi-tl-search-wrap{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:14px}
.hi-tl-search{flex:1;max-width:420px;position:relative}
.hi-tl-search input{width:100%;padding:9px 14px 9px 38px;font-family:var(--mono);font-size:12px;border:1px solid var(--g3);border-radius:6px;background:#fff;color:var(--navy);letter-spacing:0.3px;outline:none;transition:all 0.15s}
.hi-tl-search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,62,111,.1)}
.hi-tl-search-icon{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:var(--n5)}
.hi-tl-sort{display:flex;gap:4px}
.hi-tl-sort-btn{padding:8px 12px;font-family:var(--mono);font-size:10px;font-weight:700;border:1px solid var(--g3);background:#fff;color:var(--n4);border-radius:5px;cursor:pointer;letter-spacing:0.5px;transition:all 0.15s}
.hi-tl-sort-btn:hover{border-color:var(--teal);color:var(--teal)}
.hi-tl-sort-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.hi-tl-list{display:flex;flex-direction:column;gap:10px}
.hi-tl-row{background:#fafbfc;border:1px solid var(--g3);border-radius:6px;padding:18px 24px;cursor:pointer;transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);box-shadow:var(--sh)}
.hi-tl-row:hover{box-shadow:0 2px 6px rgba(0,62,111,.06);border-color:var(--tl3)}
.hi-tl-row.expanded{border-color:var(--teal);border-width:1.5px;background:#fafbfc}
.hi-tl-head{display:grid;grid-template-columns:180px 180px 1fr auto;gap:18px;align-items:center;margin-bottom:18px}
/* v18: HBL 기준 5블록 그리드 (HBL No. / OBL No. / 화주·선박 / 선사 / D-day) */
.hi-tl-head2{display:grid;grid-template-columns:1.3fr 1.3fr 1.5fr 0.9fr 0.7fr;gap:18px;align-items:start;margin-bottom:16px}
.hi-tl-col{display:flex;flex-direction:column;gap:5px;min-width:0}
.hi-tl-col-lbl{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--n5);letter-spacing:1px;text-transform:uppercase}
.hi-tl-col-val{font-family:var(--mono);font-size:16px;font-weight:800;color:var(--navy);letter-spacing:0.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hi-tl-col-val.hi-tl-col-ssl{color:#0f766e;letter-spacing:1px;text-transform:uppercase}
.hi-tl-col-sub{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--n4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0.3px}
/* v18: 화주/VSL 컬럼은 짤리지 않게 wrap 허용 + 글자 크기 업 */
.hi-tl-col-val.shipper-name{font-size:18px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;word-break:break-word}
.hi-tl-col-sub.vessel-line{font-size:14px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;word-break:break-word;color:var(--navy);font-weight:700}
.hi-tl-col-badge{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.hi-tl-col-eta{align-items:flex-end;justify-content:flex-start}
.hi-tl-bkg-wrap{display:flex;flex-direction:column;gap:3px}
.hi-tl-bkg{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--teal);letter-spacing:0.5px}
.hi-tl-vessel{font-family:var(--mono);font-size:10px;color:var(--n5);letter-spacing:0.3px}
.hi-tl-shipper-wrap{display:flex;flex-direction:column;gap:3px}
.hi-tl-shipper{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--navy)}
.hi-tl-carrier{font-family:var(--mono);font-size:10px;color:var(--n5);letter-spacing:0.3px}
.hi-tl-badges{display:flex;gap:5px;flex-wrap:wrap}
.hi-tl-b{font-family:var(--mono);font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:0.5px}
.hi-tl-b.hbl-ok,.hi-tl-b.mbl-ok,.hi-tl-b.obl-ok{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.hi-tl-b.hbl-wait,.hi-tl-b.mbl-wait{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
.hi-tl-b.obl-wait{background:var(--y2);color:var(--yellow);border:1px solid var(--y3)}
.hi-tl-b.delay{background:var(--r2);color:var(--red);border:1px solid var(--r3)}
@keyframes hiPulseRed{0%,100%{opacity:1}50%{opacity:0.65}}
.hi-tl-b.dg{background:var(--p2);color:var(--purple);border:1px solid var(--p3)}
.hi-tl-b.arrived{background:var(--gn2);color:var(--green);border:1px solid var(--gn3)}
.hi-tl-eta-wrap{text-align:right;display:flex;flex-direction:column;gap:3px;min-width:110px}
.hi-tl-eta-d{font-family:var(--mono);font-size:16px;font-weight:700;letter-spacing:0.5px}
/* v18: D-day 색상 - 검정/네이비 통일 (빨강 제거, 굵기로 긴급도 구분) */
.hi-tl-eta-d.near{color:#0f172a;font-weight:900}
.hi-tl-eta-d.soon{color:#0f172a;font-weight:800}
.hi-tl-eta-d.norm{color:var(--navy);font-weight:800}
.hi-tl-eta-d.done{color:var(--navy);font-weight:800}
.hi-tl-eta-date{font-family:var(--mono);font-size:10px;color:var(--n5);letter-spacing:0.3px}
.hi-tl-bar-wrap{position:relative;margin:0 6px;height:84px}
.hi-tl-port-lbl{position:absolute;display:flex;flex-direction:column;gap:3px;top:0}
.hi-tl-port-lbl.start{left:0}
.hi-tl-port-lbl.end{right:0;align-items:flex-end}
.hi-tl-port-name{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--navy);letter-spacing:0.5px}
.hi-tl-port-date{font-family:var(--mono);font-size:9px;color:var(--n5);letter-spacing:0.3px}
.hi-tl-progress-label{position:absolute;bottom:18px;transform:translateX(-50%);font-family:var(--mono);font-size:11px;font-weight:700;color:#fff;background:var(--teal);padding:2px 8px;border-radius:3px;letter-spacing:0.3px;transition:left 1.2s cubic-bezier(0.65,0,0.35,1);white-space:nowrap;z-index:4}
.hi-tl-progress-label.delayed{background:var(--red);color:#fff}
.hi-tl-progress-label.arrived{background:var(--green);color:#fff}
.hi-tl-bar-track-wrap{position:absolute;bottom:10px;left:0;right:0;height:3px}
.hi-tl-bar-track{position:relative;width:100%;height:3px;background:var(--g3);border-radius:2px}
.hi-tl-bar-progress{position:absolute;top:0;left:0;height:100%;background:var(--teal);border-radius:2px;transition:width 1s cubic-bezier(0.65,0,0.35,1)}
.hi-tl-bar-progress.delayed{background:var(--red)}
.hi-tl-bar-progress.arrived{background:var(--green)}
.hi-tl-port{position:absolute;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--n4);z-index:2}
.hi-tl-port.start{left:-5.5px}
.hi-tl-port.end{right:-5.5px;border-color:var(--teal)}
.hi-tl-port.end.arrived{background:var(--green);border-color:var(--green)}
.hi-tl-ship{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--teal);border:2.5px solid #fff;box-shadow:0 0 0 0 rgba(0,62,111,0.5);animation:hiShipP 2s infinite;transition:left 1.2s cubic-bezier(0.65,0,0.35,1);z-index:3;cursor:pointer}
.hi-tl-ship.delayed{background:var(--red);animation:hiShipR 1.2s infinite}
.hi-tl-ship.near{background:var(--orange);animation:hiShipO 1.5s infinite}
.hi-tl-ship.arrived{display:none}
@keyframes hiShipP{0%,100%{box-shadow:0 0 0 0 rgba(0,62,111,0.4)}50%{box-shadow:0 0 0 8px rgba(0,62,111,0)}}
@keyframes hiShipR{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,0.5)}50%{box-shadow:0 0 0 10px rgba(220,38,38,0)}}
@keyframes hiShipO{0%,100%{box-shadow:0 0 0 0 rgba(234,88,12,0.4)}50%{box-shadow:0 0 0 9px rgba(234,88,12,0)}}
.hi-tl-detail{max-height:0;overflow:hidden;transition:max-height 0.5s ease,padding 0.3s;padding:0}
.hi-tl-row.expanded .hi-tl-detail{max-height:320px;padding:16px 0 0;border-top:1px solid var(--g3);margin-top:8px}
.hi-tl-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hi-tl-dt-item{display:flex;flex-direction:column;gap:3px}
.hi-tl-dt-lbl{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--n5);letter-spacing:1px;text-transform:uppercase}
.hi-tl-dt-val{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--navy)}
.hi-tl-dt-val.ok{color:var(--green)}.hi-tl-dt-val.wait{color:var(--red)}.hi-tl-dt-val.warn{color:var(--orange)}
.hi-tl-actions{display:flex;gap:8px;margin-top:14px}
.hi-tl-act-btn{padding:7px 14px;font-family:var(--mono);font-size:11px;font-weight:700;border-radius:5px;border:1px solid var(--g3);background:#fff;color:var(--n3);cursor:pointer;letter-spacing:0.5px;transition:all 0.15s}
.hi-tl-act-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--tl4)}
.hi-tl-act-btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}
.hi-tl-act-btn.primary:hover{background:#002749;color:#fff}
.hi-tl-empty{text-align:center;padding:60px;color:var(--n5);font-family:var(--mono);font-size:12px;letter-spacing:1px}
/* === v18: 배너/주간뷰/그룹핑/인라인/긴급 === */
.hi-todo-bar{background:linear-gradient(90deg,#FFF7EC 0%,#FEF3C7 100%);border:1px solid #FBBF24;border-left:4px solid #D97706;border-radius:8px;padding:12px 18px;margin-bottom:14px;display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:12px;color:#78350F;letter-spacing:0.3px;flex-wrap:wrap}
.hi-todo-bar.empty{background:#F0FDF4;border-color:#86EFAC;border-left-color:#15803D;color:#166534}
.hi-todo-icon{font-size:18px;flex-shrink:0}
.hi-todo-title{font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:11px;color:#78350F;margin-right:6px}
.hi-todo-bar.empty .hi-todo-title{color:#166534}
.hi-todo-item{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:rgba(255,255,255,0.7);border-radius:4px;font-weight:700;cursor:pointer;transition:all 0.15s}
.hi-todo-item:hover{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.1)}
.hi-todo-item b{color:#DC2626;font-size:13px}
.hi-todo-item.active{background:#DC2626;color:#fff;box-shadow:0 2px 8px rgba(220,38,38,0.3)}
.hi-todo-item.active b{color:#fff}
.hi-retry-btn{margin-top:14px;padding:8px 18px;font-family:var(--mono);font-size:11px;font-weight:700;background:#DC2626;color:#fff;border:none;border-radius:5px;cursor:pointer;letter-spacing:1px}
.hi-retry-btn:hover{background:#991B1B}
.hi-urgent-bar{background:linear-gradient(90deg,#FEF2F2 0%,#FEE2E2 100%);border:1.5px solid #DC2626;border-radius:8px;padding:10px 18px;margin-bottom:14px;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;color:#991B1B;font-weight:700;letter-spacing:0.5px;animation:hiUrgPulse 2.5s infinite}
@keyframes hiUrgPulse{0%,100%{border-color:#DC2626}50%{border-color:#FCA5A5}}
.hi-urgent-list{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.hi-urg-item{background:#fff;padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;border:1px solid #FCA5A5;transition:all 0.15s}
.hi-urg-item:hover{background:#DC2626;color:#fff;border-color:#DC2626}
.hi-urg-item b{color:#DC2626}
.hi-urg-item:hover b{color:#fff}
.hi-arrival-today{background:linear-gradient(90deg,#ECFDF5 0%,#EFF6FF 100%);border:1px solid #86EFAC;border-left:4px solid #15803D;border-radius:8px;padding:12px 18px;margin-bottom:14px;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;color:#14532D;font-weight:700;letter-spacing:0.3px;flex-wrap:wrap}
.hi-arrival-title{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#166534;margin-right:4px}
.hi-arrival-list{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.hi-arrival-item{background:#fff;padding:5px 10px;border-radius:4px;font-size:11px;cursor:pointer;border:1px solid #BBF7D0;color:#14532D;transition:all 0.15s;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hi-arrival-item:hover{background:#15803D;color:#fff;border-color:#15803D;box-shadow:0 2px 6px rgba(21,128,61,0.18)}
.hi-arrival-item b{color:#0F766E}
.hi-arrival-item:hover b{color:#fff}
.hi-stat-c.active{border-color:var(--teal);background:var(--tl4);box-shadow:0 0 0 3px rgba(0,62,111,0.1)}
.hi-wk-card{background:#fff;border:1px solid var(--g3);border-radius:8px;padding:14px 18px;margin-bottom:14px;box-shadow:var(--sh)}
.hi-wk-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.hi-wk-title{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--n3);letter-spacing:1.5px;text-transform:uppercase}
.hi-wk-range{font-family:var(--mono);font-size:10px;color:var(--n5);letter-spacing:0.5px}
.hi-wk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.hi-wk-day{background:var(--g2);border-radius:5px;padding:8px 6px;min-height:80px;display:flex;flex-direction:column;gap:3px;transition:all 0.15s;border:1px solid transparent}
.hi-wk-day.today{background:var(--tl4);border-color:var(--teal)}
.hi-wk-day.weekend{background:#F1F5F9}
.hi-wk-day-lbl{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--n5);letter-spacing:0.5px;text-align:center;padding-bottom:2px;border-bottom:1px solid var(--g3);margin-bottom:2px}
.hi-wk-day.today .hi-wk-day-lbl{color:var(--teal)}
.hi-wk-dot{font-family:var(--mono);font-size:9px;padding:2px 4px;background:#fff;border-radius:3px;color:var(--navy);font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid var(--teal);transition:all 0.15s}
.hi-wk-dot:hover{background:var(--tl4);transform:translateX(1px)}
.hi-wk-dot.delayed{border-left-color:#DC2626;color:#991B1B}
.hi-wk-dot.arrived{border-left-color:#15803D;color:#166534}
.hi-wk-empty{font-family:var(--mono);font-size:9px;color:#CBD5E1;text-align:center;padding-top:12px;letter-spacing:0.5px}
.hi-legend-shipper{position:relative;top:auto;right:auto;z-index:auto;background:rgba(255,255,255,0.92);border:1px solid var(--g3);border-radius:6px;padding:8px 12px;font-family:var(--mono);font-size:10px;color:var(--n4);letter-spacing:0.5px;max-height:180px;overflow-y:auto;min-width:160px;pointer-events:auto;flex-shrink:1}
.hi-legend-shipper-row{display:flex;align-items:center;gap:6px;padding:2px 0;cursor:pointer}
.hi-legend-shipper-row:hover{color:var(--navy)}
.hi-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.hi-group-toggle{display:flex;gap:4px;margin-left:auto}
.hi-gt-btn{padding:5px 10px;font-family:var(--mono);font-size:10px;font-weight:700;background:#fff;border:1px solid var(--g3);border-radius:4px;cursor:pointer;color:var(--n4);letter-spacing:0.5px;transition:all 0.15s}
.hi-gt-btn:hover{border-color:var(--teal);color:var(--teal)}
.hi-gt-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.hi-grp-hd{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--navy);letter-spacing:1px;padding:8px 12px;background:var(--g2);border-radius:5px;margin:10px 0 6px;display:flex;align-items:center;gap:10px}
.hi-grp-hd .hi-grp-dot{width:10px;height:10px;border-radius:50%}
.hi-grp-hd .hi-grp-count{font-size:10px;color:var(--n4);margin-left:auto}
.hi-risk-star{display:inline-block;color:#DC2626;font-size:12px;margin-left:4px;animation:hiPulseRed 2s infinite}
.hi-inline-edit{display:flex;align-items:center;gap:6px;margin-top:4px}
.hi-inline-edit input{font-family:var(--mono);font-size:11px;padding:3px 6px;border:1px solid var(--g3);border-radius:3px;width:110px;outline:none}
.hi-inline-edit input:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(0,62,111,0.1)}
.hi-inline-save{font-family:var(--mono);font-size:10px;font-weight:700;padding:3px 8px;background:var(--teal);color:#fff;border:none;border-radius:3px;cursor:pointer}
.hi-inline-save:hover{background:#002749}
.hi-inline-cancel{font-family:var(--mono);font-size:10px;padding:3px 8px;background:#fff;color:var(--n4);border:1px solid var(--g3);border-radius:3px;cursor:pointer}
.hi-memo-qinput{width:100%;font-family:var(--sans);font-size:12px;padding:7px 10px;border:1px solid var(--g3);border-radius:5px;background:#fff;color:var(--navy);outline:none;margin-top:8px;resize:vertical;min-height:32px}
.hi-memo-qinput:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(0,62,111,0.08)}
.hi-memo-hint{font-family:var(--mono);font-size:9px;color:var(--n5);margin-top:3px;letter-spacing:0.5px}

/* v18: 화주/파트너 안내 문구 카드 */
.notify-block{background:#fafbfc;border:1px solid #e2e8f0;border-left:3px solid var(--teal);border-radius:4px;padding:10px 12px;margin-bottom:10px;max-width:100%;box-sizing:border-box;overflow:hidden}
.notify-block:last-child{margin-bottom:0}
.notify-block-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;gap:7px;cursor:pointer}
.notify-block-title{font-family:var(--mono);font-size:12px;font-weight:800;color:var(--navy);letter-spacing:0.4px;line-height:1.35;min-width:0;flex:1}
.notify-block-toggle{width:24px;height:24px;border:1px solid #cbd5e1;background:#fff;color:var(--navy);border-radius:4px;font-family:var(--mono);font-size:12px;font-weight:900;cursor:pointer;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center}
.notify-block-toggle:hover{background:#f1f5f9}
.notify-block-toggle .notify-arrow{display:inline-block;line-height:1;transition:transform .15s}
.notify-block.is-collapsed .notify-block-toggle .notify-arrow{transform:rotate(-90deg)}
.notify-block.is-collapsed .notify-block-body{display:none}
.notify-copy-btn{font-family:var(--mono);font-size:11px;font-weight:800;padding:5px 11px;border:1px solid #cbd5e1;background:#fff;color:var(--navy);border-radius:4px;cursor:pointer;transition:all 0.15s;white-space:nowrap;flex-shrink:0}
.notify-copy-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.notify-edit-btn{font-family:var(--mono);font-size:11px;font-weight:800;padding:5px 11px;border:1px solid #cbd5e1;background:#fff;color:var(--navy);border-radius:4px;cursor:pointer;transition:all 0.15s;white-space:nowrap;flex-shrink:0}
.notify-edit-btn:hover,.notify-block.is-editing .notify-edit-btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.notify-text-editor{display:none;margin:0 0 10px;padding:13px;background:#eef5f8;border:1px solid #c6d8e2;border-radius:8px}
.notify-block.is-editing .notify-text-editor{display:block}
.notify-text-editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;font-family:var(--mono)}
.notify-text-editor-title>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.notify-text-editor-title b{font-size:12px;color:var(--navy);white-space:nowrap}
.notify-text-editor-title small{font-size:9px;color:#64748b;font-weight:600}
.notify-text-editor-title>span{font-size:9px;color:#0f766e;font-weight:800;white-space:nowrap;padding:3px 7px;border:1px solid #a7d7d0;border-radius:999px;background:#f0fdfa}
.notify-text-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.notify-text-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #d5e1e8;border-radius:7px;box-shadow:0 1px 2px rgba(15,59,95,.035)}
.notify-text-toggle{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;cursor:pointer;font-family:var(--mono)}
.notify-text-toggle input{position:absolute;opacity:0;pointer-events:none}
.notify-text-toggle>i{position:relative;width:34px;height:18px;flex:0 0 34px;border-radius:999px;background:#cbd5e1;transition:background .15s}
.notify-text-toggle>i:after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.24);transition:transform .15s}
.notify-text-toggle input:checked+i{background:#0f8275}
.notify-text-toggle input:checked+i:after{transform:translateX(16px)}
.notify-text-toggle input:focus-visible+i{outline:2px solid rgba(15,118,110,.28);outline-offset:2px}
.notify-text-toggle>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.notify-text-toggle b{font-size:11px;color:var(--navy);white-space:nowrap}
.notify-text-toggle small{font-size:9px;color:#64748b;font-weight:600;white-space:nowrap}
.notify-text-fields{display:grid;gap:8px;padding:10px 12px 12px}
.notify-text-fields label{display:block;min-width:0;font-family:var(--mono);font-size:10px;color:#475569;font-weight:800}
.notify-text-fields label>span{display:block;margin-bottom:4px}
.notify-text-fields input[type="text"],.notify-text-fields textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#0f172a;font-family:var(--mono);font-size:11px;line-height:1.45;padding:7px 8px;resize:vertical}
.notify-text-fields textarea{min-height:66px}
.notify-text-fields input[type="text"]:focus,.notify-text-fields textarea:focus{outline:2px solid rgba(15,118,110,.18);border-color:#0f766e}
.notify-text-actions{display:flex;align-items:center;gap:7px;margin-top:10px}
.notify-text-actions>span{flex:1}
.notify-text-actions button{font-family:var(--mono);font-size:10px;font-weight:800;padding:7px 12px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#475569;cursor:pointer;white-space:nowrap}
.notify-text-actions button:hover{border-color:#94a3b8;background:#f8fafc}
.notify-text-actions .notify-text-apply{background:var(--navy);border-color:var(--navy);color:#fff}
.notify-text-actions .notify-text-apply:hover{background:#0b2941;border-color:#0b2941}
.notify-inline-hd{font-family:var(--mono);font-size:12px;font-weight:800;color:var(--navy);letter-spacing:1px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.notify-inline-title{display:flex;align-items:center;gap:6px}
#notify-toggle{display:none}
.notify-toggle-btn{border:1px solid #cbd5e1;background:#fff;color:var(--navy);border-radius:4px;font-family:var(--mono);font-size:11px;font-weight:900;padding:3px 8px;cursor:pointer;min-width:34px}
.notify-toggle-btn:hover{background:#f1f5f9}
.notify-toggle-btn .notify-arrow{display:inline-block;transition:transform .15s}
.notify-collapsed .notify-toggle-btn .notify-arrow{transform:rotate(-90deg)}
.notify-collapsed #notify-body{display:none}
.notify-mode-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;flex-wrap:wrap}
.notify-mode-seg{display:inline-flex;border:1px solid #cbd5e1;border-radius:4px;overflow:hidden;background:#fff}
.notify-mode-btn{border:0;border-right:1px solid #e2e8f0;background:#fff;color:#64748b;font-family:var(--mono);font-size:12px;font-weight:800;padding:6px 11px;cursor:pointer}
.notify-mode-btn:last-child{border-right:0}
.notify-mode-btn.on{background:var(--navy);color:#fff}
.notify-block-content{font-family:var(--mono);font-size:12px;color:#0f172a;line-height:1.6;margin:0;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:3px;white-space:pre-wrap;word-break:break-all;letter-spacing:0.2px}
.notify-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:3px;padding:10px;overflow-x:auto;overflow-y:hidden;max-width:100%;box-sizing:border-box}
.notify-table-wrap table{width:100% !important;min-width:640px !important;max-width:none !important;table-layout:fixed !important}
.notify-table-wrap th,.notify-table-wrap td{white-space:normal !important;overflow-wrap:break-word;word-break:normal;padding:9px 10px !important;font-size:12.5px !important;line-height:1.45 !important;box-sizing:border-box}
.notify-table-wrap p{white-space:normal !important;overflow-wrap:break-word;word-break:normal}
/* Account notice grows horizontally while preserving explicit line breaks. */
.notify-block[data-key="account-change"] .notify-table-wrap table{width:auto !important;min-width:720px !important;table-layout:auto !important}
.notify-block[data-key="account-change"] .notify-table-wrap :is(th,td,p){white-space:nowrap !important;overflow-wrap:normal;word-break:normal}
@media (max-width:760px){
  .notify-block-hd{flex-wrap:wrap}
  .notify-block-title{flex-basis:calc(100% - 34px)}
  .notify-text-editor-grid{grid-template-columns:1fr}
  .notify-text-editor-title{align-items:flex-start}
  .notify-text-editor-title>div{display:block}
  .notify-text-editor-title small{display:block;margin-top:3px}
  .notify-table-wrap{padding:6px}
  .notify-table-wrap th,.notify-table-wrap td{line-height:1.28 !important}
}
.tax-invoice-card{margin-top:14px;padding:14px;border:1px solid #b9d8e8;border-left:3px solid var(--teal);border-radius:7px;background:linear-gradient(135deg,#f7fbfd 0%,#fff 72%);box-shadow:0 2px 8px rgba(15,59,95,.05)}
.tax-invoice-card[hidden]{display:none !important}
.tax-invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;cursor:pointer}
.tax-invoice-head:focus-visible{outline:2px solid rgba(0,62,111,.25);outline-offset:3px;border-radius:4px}
.tax-invoice-title{font-family:var(--mono);font-size:12px;font-weight:900;color:var(--navy)}
.tax-invoice-subtitle{margin-top:3px;font-size:11px;line-height:1.45;color:#64748b}
.tax-invoice-collapse-button{width:26px;height:26px;padding:0;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:var(--navy);font-family:var(--mono);font-size:12px;font-weight:900;cursor:pointer}
.tax-invoice-collapse-button:hover{background:#f1f5f9}
.tax-invoice-collapse-arrow{display:inline-block;transition:transform .15s}
.tax-invoice-card.is-collapsed .tax-invoice-collapse-arrow{transform:rotate(-90deg)}
.tax-invoice-card.is-collapsed .tax-invoice-body{display:none}
.tax-invoice-card.is-collapsed .tax-invoice-head{margin-bottom:0}
.tax-invoice-upload-row{display:flex;align-items:center;gap:8px;padding:9px;border:1px dashed #b8c8d6;border-radius:6px;background:#fff}
.tax-invoice-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#94a3b8}
.tax-invoice-file-name.has-file{font-weight:700;color:#0f3b5f}
.tax-invoice-link{padding:3px 4px;border:0;background:transparent;color:var(--teal);font-size:10px;font-weight:800;text-decoration:underline;cursor:pointer}
.tax-invoice-fields{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.tax-invoice-field{display:flex;flex-direction:column;gap:5px}
.tax-invoice-field span{font-size:10px;font-weight:800;color:#334155}
.tax-invoice-field input{height:34px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:5px;background:#fff;padding:0 10px;font-size:12px;color:#0f172a;outline:none}
.tax-invoice-field input:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(0,62,111,.09)}
.tax-invoice-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}
.tax-invoice-status{flex:1;min-height:16px;font-size:10px;line-height:1.5;color:#64748b;word-break:break-all}
.tax-invoice-status.is-working{color:#0369a1}
.tax-invoice-status.is-success{color:#15803d}
.tax-invoice-status.is-error{color:#b91c1c;font-weight:700}
.tax-invoice-button{min-height:32px;padding:6px 12px;border-radius:5px;font-size:11px;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}
.tax-invoice-button.secondary{border:1px solid #9fc7db;background:#eef8fc;color:#075985}
.tax-invoice-button.secondary:hover{background:#dff2fa;border-color:#69abc9}
.tax-invoice-button.primary{border:1px solid var(--teal);background:var(--teal);color:#fff}
.tax-invoice-button.primary:hover{background:#002f55}
.tax-invoice-button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:760px){
  .tax-invoice-fields{grid-template-columns:1fr}
  .tax-invoice-upload-row,.tax-invoice-footer{align-items:stretch;flex-direction:column}
  .tax-invoice-button{width:100%}
}
.hi-kbd-hint{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-family:var(--mono);font-size:10px;padding:6px 12px;border-radius:20px;letter-spacing:1px;z-index:9999;opacity:0;transition:opacity 0.3s;pointer-events:none}
.hi-kbd-hint.show{opacity:0.92}


html,body{
  background:var(--bg) !important;
  color:var(--navy) !important;
  letter-spacing:0 !important;
}
body{font-family:var(--sans) !important;font-size:14px !important}
button,input,textarea,select{font-family:var(--sans) !important;letter-spacing:0 !important}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--tl2) !important;
  outline-offset:2px !important;
  box-shadow:var(--focus) !important;
}

#shell{
  background:var(--bg) !important;
  gap:0;
}

/* Dark command sidebar */
#sb{
  width:252px !important;
  min-width:210px !important;
  max-width:420px !important;
  background:#101927 !important;
  border-right:1px solid #1f2d3d !important;
  box-shadow:10px 0 28px rgba(15,23,42,.12) !important;
  color:#dbe5f0 !important;
}
#sb-resizer{background:#243446 !important}
#sb-resizer:hover,#sb-resizer.dragging{background:#1E88BC !important}
#sb-logo{
  min-height:70px !important;
  padding:16px 16px 14px !important;
  background:linear-gradient(180deg,#0b1420,#101927) !important;
  border-bottom:1px solid #26384b !important;
}
#sb-logo .logo-t,
#sb-logo [style*="font-size:23px"]{
  color:#fff !important;
  font-size:22px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
#sb-logo img{filter:none !important}
#sb-search-wrap{
  background:#101927 !important;
  border-bottom:1px solid #26384b !important;
  padding:10px 12px !important;
}
#sb-search{
  height:38px !important;
  background:#162335 !important;
  border:1px solid #2e4054 !important;
  color:#edf5ff !important;
  border-radius:8px !important;
  padding:0 12px !important;
}
#sb-search::placeholder{color:#7f91a8 !important}
#sb-search:focus{border-color:#4bb3dc !important;background:#18293f !important;color:#fff !important}

#sb [style*="display:flex;border-bottom"]{
  background:#0d1521 !important;
  border-bottom:1px solid #26384b !important;
  padding:8px 8px !important;
  gap:6px !important;
}
#sbt-bkg,#sbt-exw,#sbt-ssl{
  border:1px solid #2e4054 !important;
  border-radius:8px !important;
  background:#162335 !important;
  color:#aebdca !important;
  padding:9px 4px !important;
}
#sbt-bkg[style*="background:#e2e8f0"],
#sbt-exw[style*="background:#e2e8f0"],
#sbt-ssl[style*="background:#e2e8f0"]{
  background:#e7f4fb !important;
  color:#003E6F !important;
}

#sb-list{padding:8px !important}
.sbi{
  margin:0 0 7px !important;
  border:1px solid #26384b !important;
  border-left:4px solid transparent !important;
  border-radius:8px !important;
  background:#142033 !important;
  color:#dbe5f0 !important;
  padding:11px 12px !important;
}
.sbi:hover{background:#1a2a40 !important;border-color:#36506a !important}
.sbi.on{
  background:#e7f4fb !important;
  border-color:#98d4ef !important;
  border-left-color:#EBAF37 !important;
  color:#0f172a !important;
}
.sbi-bkg,.sbi-ship{color:inherit !important}
.sbi.on .sbi-bkg{color:#003E6F !important}
.sbi-tags{gap:5px !important}

#add-wrap{
  background:#0d1521 !important;
  border-top:1px solid #26384b !important;
  padding:10px !important;
}
#add-inp{
  height:38px !important;
  border-radius:8px !important;
  border:1px solid #2e4054 !important;
  background:#162335 !important;
  color:#fff !important;
}
.sb-btn,#btn-add,#btn-backup,#btn-load,#btn-update{
  min-height:36px !important;
  border-radius:8px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
#btn-add{
  background:#0b5f93 !important;
  border:1px solid #3ba9d6 !important;
  color:#fff !important;
}
#btn-backup,#btn-load{
  background:#162335 !important;
  border:1px solid #2e4054 !important;
  color:#dbe5f0 !important;
}
#btn-update{
  background:#103624 !important;
  border:1px solid #2d8b58 !important;
  color:#bff2d1 !important;
}

/* App workbench */
#main{
  background:var(--bg) !important;
}
#topbar{
  min-height:60px !important;
  height:60px !important;
  background:#fff !important;
  border-bottom:1px solid var(--g3) !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
  padding:0 16px !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible !important;
  position:relative;
  z-index:40;
}
.tnav{
  margin:0 2px !important;
  padding:9px 12px !important;
  border:1px solid transparent !important;
  border-bottom:1px solid transparent !important;
  border-radius:8px !important;
  color:#566579 !important;
  font-weight:700 !important;
  font-size:13px !important;
}
.tnav:hover{
  background:#f4f8fb !important;
  border-color:#d9e7ef !important;
  color:#003E6F !important;
}
.tnav.on{
  background:#003E6F !important;
  border-color:#003E6F !important;
  color:#fff !important;
}
.tnav-divider{width:1px;height:24px;flex:0 0 1px;margin:0 8px;background:#d7e0e7}
#tb-r{
  padding-left:12px !important;
  border-left:1px solid var(--g3) !important;
}
#tb-info{
  background:#f8fafc !important;
  border:1px solid #cbd5e1 !important;
  border-radius:8px !important;
  padding:7px 11px !important;
  color:#172033 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75) !important;
}
#tb-info .tb-dot{color:#94a3b8 !important}
#tb-info .tb-txt{font-family:var(--sans) !important;font-size:13px !important;font-weight:900 !important;letter-spacing:0 !important}
#tb-info .tb-txt.bkg{color:#1d4ed8 !important;background:#eff6ff !important;border:1px solid #bfdbfe !important}
#tb-info .tb-txt.ship{color:#0f172a !important;background:#fff !important;border:1px solid #e2e8f0 !important}
#tb-clock{color:#7e8a99 !important}
#tb-work-select{flex-shrink:0;white-space:nowrap;font-family:var(--sans);font-size:13px;font-weight:700;color:#003E6F;background:#fff;border:1px solid var(--g3);border-radius:6px;padding:7px 10px;cursor:pointer}
#tb-work-select:hover{background:#f4f8fb;border-color:#9facba}
@media(max-width:1400px){
  #tb-r{display:grid;grid-template-columns:auto auto;gap:2px 6px;padding-left:6px !important}
  #tb-info{grid-row:1 / 3}
  #tb-work-select{padding:4px 10px;justify-self:end}
  #tb-clock{grid-column:2}
}

.page{
  background:var(--bg) !important;
}
input,textarea,select,.ic-inp,#sb-search,#add-inp,.ai-input{
  border-radius:8px !important;
  border:1px solid var(--g4) !important;
  background:#fff !important;
  color:var(--navy) !important;
  box-shadow:none !important;
}
input:hover,textarea:hover,select:hover,.ic-inp:hover{border-color:#9facba !important}
input:focus,textarea:focus,select:focus,.ic-inp:focus{
  border-color:#1E88BC !important;
  box-shadow:var(--focus) !important;
}

/* Overview as control dashboard */
#pg-ov{
  padding:22px 26px 60px !important;
  background:var(--bg) !important;
}
#pg-ov .stat-row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  margin-bottom:18px !important;
}
#pg-ov .stat-c{
  background:#fff !important;
  border:1px solid var(--g3) !important;
  border-left:5px solid #1E88BC !important;
  border-radius:8px !important;
  padding:16px 18px !important;
  box-shadow:var(--soft) !important;
}
#pg-ov .stat-c:nth-child(2){border-left-color:#228738 !important}
#pg-ov .stat-c:nth-child(3){border-left-color:#d63d4a !important}
#pg-ov .stat-c:nth-child(4){border-left-color:#a66000 !important}
#pg-ov .stat-c:hover{transform:translateY(-1px);box-shadow:var(--sh) !important}
#pg-ov .stat-n{font-size:30px !important;color:#003E6F !important}
#pg-ov .stat-l{color:#3f4d5d !important;font-weight:800 !important}
#pg-ov .sec-hd{
  margin:20px 0 10px !important;
  color:#344255 !important;
  letter-spacing:2.5px !important;
  font-size:12px !important;
}
#pg-ov .sec-hd.act-now{color:#d63d4a !important}
#pg-ov .ov-ct{
  background:#fff !important;
  border:1px solid var(--g3) !important;
  border-radius:8px !important;
  box-shadow:var(--soft) !important;
}
#pg-ov .ov-ct:hover{box-shadow:var(--sh) !important}
#pg-ov .ovt{
  background:#fff !important;
  border:1px solid var(--g3) !important;
  border-radius:8px !important;
  overflow:hidden !important;
  box-shadow:var(--soft) !important;
}
#pg-ov .ovt-hd{
  background:#f7f9fb !important;
  border-bottom:1px solid var(--g3) !important;
  padding:12px 16px !important;
}
#pg-ov .ovt-cols{
  background:#eef3f7 !important;
  border-bottom:1px solid var(--g3) !important;
}
#pg-ov .ovt-row:hover{background:#f7fbfd !important}
#pg-ov .ovt-hd-t{font-size:16px !important;color:#18202b !important}

/* Checklist as full command form */
#pg-cl{
  background:var(--bg) !important;
}
#pg-cl .cl-head{
  min-height:60px !important;
  background:linear-gradient(90deg,#003E6F,#064b7a 55%,#0f766e) !important;
  border-bottom:4px solid #EBAF37 !important;
  box-shadow:0 8px 20px rgba(0,62,111,.18) !important;
}
#pg-cl .cl-title{font-size:17px !important;color:#fff !important;letter-spacing:.5px !important}
#pg-cl .cl-progress-bar{height:7px !important;background:rgba(255,255,255,.2) !important}
#pg-cl .cl-progress-fill{background:linear-gradient(90deg,#EBAF37,#1E88BC,#E4305D) !important}
#pg-cl .cl-status-pill{
  border-radius:8px !important;
  background:#fff6e6 !important;
  color:#5f3d00 !important;
  border:1px solid #f4d28e !important;
}
#pg-cl .chips-bar{
  margin:16px 24px 12px !important;
  background:#fff !important;
  border:1px solid var(--g3) !important;
  border-radius:8px !important;
  box-shadow:var(--soft) !important;
}
#pg-cl .info-card{
  border:1px solid var(--g3) !important;
  border-top:4px solid #1E88BC !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:var(--soft) !important;
  padding:18px !important;
}
#pg-cl .schedule-card{border-top-color:#EBAF37 !important}
#pg-cl .bl-card{border-top-color:#E4305D !important}
#pg-cl .info-card-title{
  color:#003E6F !important;
  letter-spacing:2px !important;
  font-size:12px !important;
}
#pg-cl .ic-lbl{
  color:#3f4d5d !important;
  font-size:12px !important;
  font-weight:850 !important;
}
#pg-cl .ic-inp{
  min-height:38px !important;
  background:#fff !important;
  font-weight:700 !important;
}
#pg-cl .ic-inp::placeholder{color:#8996a6 !important}
#pg-cl .ic-tog,
#pg-cl .ic-tog-ct,
#pg-cl .ic-blt,
#pg-cl .etd-mode-btn,
#pg-cl .hbl-add-btn{
  min-height:34px !important;
  border-radius:8px !important;
  border:1px solid var(--g4) !important;
  background:#fff !important;
  color:#566579 !important;
  font-weight:800 !important;
}
#pg-cl .ic-tog.on,
#pg-cl .ic-tog-ct.on,
#pg-cl .etd-mode-btn.on{
  background:#003E6F !important;
  border-color:#003E6F !important;
  color:#fff !important;
}
#pg-cl .ic-blt.sel-obl,
#pg-cl .ic-blt.sel-sur,
#pg-cl .ic-blt.sel-pod,
#pg-cl .ic-blt.sel-swb{
  background:#e7f4fb !important;
  border-color:#98d4ef !important;
  color:#003E6F !important;
}
#pg-cl input[type="checkbox"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:17px !important;
  height:17px !important;
  border:1.5px solid #9facba !important;
  border-radius:5px !important;
  background:#fff !important;
  position:relative !important;
}
#pg-cl input[type="checkbox"]:checked{
  background:#1E88BC !important;
  border-color:#1E88BC !important;
}
#pg-cl input[type="checkbox"]:checked::after{
  content:'✓';
  position:absolute;
  inset:0;
  color:#fff;
  font-size:12px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
#pg-cl .hbl-entry,
#pg-cl .bl-section,
#pg-cl .alert-box,
#pg-cl .file-drop{
  border-radius:8px !important;
  border:1px solid var(--g3) !important;
  background:#f9fbfd !important;
}
#pg-cl .ic-alert.ok{background:#eaf6ec !important;border-color:#bddfc3 !important;color:#228738 !important}
#pg-cl .ic-alert.warn{background:#fff6e6 !important;border-color:#f4d28e !important;color:#a66000 !important}
#pg-cl .ic-alert.danger{background:#fff0f1 !important;border-color:#f4c7cc !important;color:#d63d4a !important}

/* Common badges */
.stag,.pill,.ov-badge,#pg-ov .ovt-dd{
  border-radius:999px !important;
  padding-inline:9px !important;
  font-weight:850 !important;
}
.stag.dep,.pill.ok{background:#eaf6ec !important;color:#228738 !important;border-color:#bddfc3 !important}
.stag.dg,.stag.urge,.pill.warn{background:#fff0f1 !important;color:#d63d4a !important;border-color:#f4c7cc !important}
.stag.lcl,.stag.hbl-dr{background:#e7f4fb !important;color:#003E6F !important;border-color:#98d4ef !important}
.stag.car,.stag.mbl-dr{background:#f1efff !important;color:#5546bf !important;border-color:#d7d1ff !important}
.stag.urgd{background:#fff6e6 !important;color:#a66000 !important;border-color:#f4d28e !important}

/* Tables and schedule surfaces */
table{border-collapse:separate !important;border-spacing:0 !important}
th{
  background:#18202b !important;
  color:#fff !important;
  border-color:#344255 !important;
}
td{border-color:#e7ebef !important}
#pg-cbm,
#pg-ssl,
#pg-sch,
#pg-hi,
#pg-rt,
#pg-tsch{
  top:61px !important;
}
#pg-sch,#pg-hi,#pg-rt,#pg-ssl,#pg-term{
  background:var(--bg) !important;
}
.tsch-card,.hi-card,.ssl-card,.term-card,.rt-card{
  border-radius:8px !important;
  border:1px solid var(--g3) !important;
  background:#fff !important;
  box-shadow:var(--soft) !important;
}
#pg-sch [style*="border:2px solid var(--teal)"],
#pg-sch [style*="border:2px solid"]{
  border-radius:8px !important;
  box-shadow:var(--soft) !important;
}

/* CBM: tool mode */
#pg-cbm{background:#e9eef4 !important}
#cbm3d-body{background:#e9eef4 !important}
#cbm3d-panel{
  width:430px !important;
  background:#ffffff !important;
  border-right:1px solid var(--g3) !important;
  box-shadow:10px 0 30px rgba(15,23,42,.08) !important;
}
#cbm3d-panel input,
#cbm3d-panel select,
#cbm3d-panel button{
  border-radius:8px !important;
}
#cbm3d-panel > div,
#cbm3d-manual,
#cbm3d-roadbox,
#cbm3d-res,
#cbm3d-viewbox{
  border-radius:8px !important;
  border-color:var(--g3) !important;
  box-shadow:var(--soft) !important;
}
#cbm3d-ocr{
  background:#e7f4fb !important;
  border-color:#98d4ef !important;
  color:#003E6F !important;
}
#cbm3d-add{border-color:var(--g4) !important}
#cbm3d-calc{
  background:#003E6F !important;
  color:#fff !important;
  border-radius:8px !important;
}
#cbm3d-ubar{background:linear-gradient(90deg,#256ef4,#18a5a5,#EBAF37) !important}
#cbm3d-view-roadmap{
  background:#e8f3ff !important;
  border-color:#b9d7ff !important;
  color:#003E6F !important;
}

/* AI panel: command assistant */
#ai-toggle{
  right:18px !important;
  bottom:18px !important;
  min-width:126px !important;
  border-radius:10px !important;
  border:1px solid #d9e7ef !important;
  box-shadow:0 14px 34px rgba(15,23,42,.18) !important;
}
#ai-toggle:hover{background:#e7f4fb !important;border-color:#98d4ef !important}
#ai-panel{
  width:430px !important;
  border-left:1px solid var(--g3) !important;
  box-shadow:-24px 0 45px rgba(15,23,42,.18) !important;
}
.ai-head{
  min-height:68px !important;
  background:#101927 !important;
  color:#fff !important;
  border-bottom:none !important;
}
.ai-close{color:#dbe5f0 !important}
.ai-dsf-bar{height:5px !important}
.ai-capabilities{
  background:#f7f9fb !important;
  border-bottom:1px solid var(--g3) !important;
}
.ai-cap-title{color:#003E6F !important}
.ai-cap-pill{
  min-height:34px !important;
  border-radius:8px !important;
  border:1px solid var(--g3) !important;
  background:#fff !important;
}
.ai-cap-pill:hover{
  background:#e7f4fb !important;
  border-color:#98d4ef !important;
  color:#003E6F !important;
}
.ai-body{background:#fff !important}
.ai-msg{border-radius:10px !important}
.ai-msg.user{
  background:#003E6F !important;
  color:#fff !important;
  border-radius:10px 10px 2px 10px !important;
}
.ai-msg.bot,.ai-template{
  background:#f7f9fb !important;
  border:1px solid var(--g3) !important;
  border-radius:10px !important;
}
.ai-template{border-left:4px solid #1E88BC !important}
.ai-template-hd{background:#eef3f7 !important;border-color:var(--g3) !important}
.ai-input-wrap{background:#f7f9fb !important;border-top:1px solid var(--g3) !important}
.ai-input{border-radius:10px !important;min-height:76px !important}
.ai-send-btn{
  min-height:42px !important;
  border-radius:8px !important;
  background:#003E6F !important;
  color:#fff !important;
}

/* Dialogs */
.modal-box,
.dg-modal-box,
#alarm-modal > div,
#claude-api-modal > div,
#bkg-ocr-claude-notice > div{
  border-radius:10px !important;
  border:1px solid var(--g3) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.22) !important;
}
.dg-modal-head{background:#101927 !important;border-bottom:4px solid #EBAF37 !important}

@media (max-width:960px){
  #sb{width:220px !important;min-width:190px !important}
  #pg-ov .stat-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .tnav{padding:8px 9px !important;font-size:12px !important}
  .tnav-divider{margin:0 4px}
  #cbm3d-panel,#ai-panel{width:390px !important}
}

/* Restore original light sidebar palette */
#sb{
  width:215px !important;
  min-width:150px !important;
  max-width:480px !important;
  background:#fff !important;
  border-right:1px solid #e2e8f0 !important;
  box-shadow:none !important;
  color:#0f172a !important;
}
#sb-resizer{background:#e2e8f0 !important}
#sb-resizer:hover,#sb-resizer.dragging{background:#003E6F !important}
#sb-logo{
  min-height:auto !important;
  padding:14px 16px 13px !important;
  background:#fff !important;
  border-bottom:1px solid #e2e8f0 !important;
}
#sb-logo .logo-t,
#sb-logo [style*="font-size:23px"]{
  color:#0f172a !important;
  font-size:23px !important;
  font-weight:700 !important;
}
#sb-search-wrap{
  background:#f8fafc !important;
  border-bottom:1px solid #e2e8f0 !important;
  padding:8px 10px !important;
}
#sb-search{
  height:auto !important;
  background:#fff !important;
  border:1.5px solid #e2e8f0 !important;
  color:#0f172a !important;
  border-radius:6px !important;
  padding:7px 9px !important;
}
#sb-search::placeholder{color:#94a3b8 !important}
#sb-search:focus{
  border-color:#003E6F !important;
  background:#fff !important;
  color:#0f172a !important;
}
#sb [style*="display:flex;border-bottom"]{
  background:#0f172a !important;
  border-bottom:1px solid #1e293b !important;
  padding:0 !important;
  gap:0 !important;
}
#sbt-bkg,#sbt-exw,#sbt-ssl{
  border:none !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#64748b !important;
  padding:11px 4px !important;
  border-bottom:3px solid transparent !important;
}
#sbt-bkg[style*="background:#e2e8f0"],
#sbt-exw[style*="background:#e2e8f0"],
#sbt-ssl[style*="background:#e2e8f0"]{
  background:#e2e8f0 !important;
  color:#0f172a !important;
  border-bottom-color:#334155 !important;
}
#sb-list{
  padding:0 !important;
  background:#fff !important;
}
.sbi{
  margin:0 !important;
  border:0 !important;
  border-left:4px solid transparent !important;
  border-bottom:1px solid #f1f5f9 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#0f172a !important;
  padding:10px 13px 11px !important;
  box-shadow:none !important;
}
.sbi:hover{background:#f8fafc !important;border-color:#f1f5f9 !important}
.sbi.on{
  background:#f0fdfa !important;
  border-left-color:#003E6F !important;
  color:#0f172a !important;
}
.sbi-bkg,.sbi-ship{color:#0f172a !important}
.sbi.on .sbi-bkg{color:#003E6F !important}
.sbi-tags{gap:3px !important}
#add-wrap{
  background:#fff !important;
  border-top:1px solid #e2e8f0 !important;
  padding:9px 10px !important;
  max-height:min(460px, calc(100vh - 260px)) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:thin !important;
}
#add-inp{
  height:auto !important;
  border-radius:5px !important;
  border:1.5px solid #e2e8f0 !important;
  background:#fff !important;
  color:#0f172a !important;
}
.sb-btn,#btn-add,#btn-backup,#btn-load,#btn-update{
  min-height:auto !important;
  border-radius:2px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
#btn-add{
  background:#003E6F !important;
  border:1px solid #003E6F !important;
  color:#fff !important;
}
#btn-backup,#btn-load{
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  color:#0f172a !important;
}
#btn-update{
  background:#f0fdf4 !important;
  border:1px solid #bbf7d0 !important;
  color:#15803d !important;
}

/* Checklist density and clarity pass */
#cl-cmdbar{
  min-height:70px !important;
  padding:12px 20px !important;
  margin:-20px -28px 16px !important;
  background:linear-gradient(90deg,#003E6F 0%,#064b7a 56%,#155e75 100%) !important;
  border-bottom:4px solid #EBAF37 !important;
  box-shadow:0 10px 24px rgba(0,62,111,.18) !important;
}
#cl-cmdbar .cb-l{
  gap:12px !important;
  flex:1 1 360px !important;
}
#cl-cmdbar .cb-bkg{
  font-size:17px !important;
  font-weight:600 !important;
  color:#fff !important;
}
#cl-cmdbar .cb-ship{
  font-size:15px !important;
  font-weight:400 !important;
  color:#fff0c2 !important;
}
#cl-cmdbar .cb-route{
  color:#d7e7f5 !important;
}
#cl-cmdbar .cb-r{
  gap:14px !important;
  flex:0 1 430px !important;
}
#cl-cmdbar .cb-prog{
  width:250px !important;
  gap:7px !important;
  padding:7px 10px !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.08) !important;
}
#cl-cmdbar .cb-prog-top{
  font-size:12px !important;
  color:#fff !important;
}
#cl-cmdbar .cb-prog-top span{
  font-weight:900 !important;
}
#cl-cmdbar .cb-prog-top b{
  color:#fff !important;
  font-weight:900 !important;
}
#cl-cmdbar .cb-prog-track{
  height:10px !important;
  background:rgba(255,255,255,.24) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  overflow:hidden !important;
}
#cl-cmdbar .cb-prog-fill{
  height:100% !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#EBAF37 0%,#1E88BC 54%,#22c55e 100%) !important;
}
#cl-cmdbar .cb-status{
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  padding:0 13px !important;
  background:#fff !important;
  color:#003E6F !important;
  border:1px solid rgba(255,255,255,.7) !important;
  box-shadow:0 8px 18px rgba(0,30,60,.16) !important;
}

/* Remove the tight box around the ETD delay/rollover switch */
#pg-cl .schedule-card .etd-mode,
#pg-cl .etd-mode{
  height:auto !important;
  min-height:0 !important;
  gap:5px !important;
  margin-left:4px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#pg-cl .schedule-card .etd-mode-btn,
#pg-cl .etd-mode-btn{
  min-height:20px !important;
  height:20px !important;
  line-height:20px !important;
  padding:0 4px !important;
  border:0 !important;
  border-radius:4px !important;
  background:transparent !important;
  color:#64748b !important;
  box-shadow:none !important;
  font-size:11px !important;
}
#pg-cl .schedule-card .etd-mode-btn.on,
#pg-cl .etd-mode-btn.on{
  padding:0 7px !important;
  background:#003E6F !important;
  color:#fff !important;
}

/* Open up the B/L card: keep the outer card, remove nested frames */
#pg-cl .bl-card .bl-section{
  padding:0 !important;
  margin-bottom:14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
#pg-cl .bl-card .bl-section + .bl-section{
  padding-top:10px !important;
  border-top:1px solid #e7ebef !important;
}
#pg-cl .bl-card .bl-section-lbl{
  margin-bottom:7px !important;
  padding-bottom:0 !important;
  border:0 !important;
  color:#344255 !important;
  font-size:13px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
#pg-cl .bl-card .hbl-entry{
  padding:0 0 11px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#pg-cl .bl-card .hbl-entry + .hbl-entry{
  padding-top:11px !important;
  border-top:1px solid #e7ebef !important;
}
#pg-cl .bl-card .hbl-entry-head{
  margin-bottom:2px !important;
}
#pg-cl .bl-card .hbl-add-btn{
  min-height:28px !important;
  border-style:dashed !important;
  background:#fff !important;
}
#pg-cl .bl-card > div[style*="background:var(--g2)"]{
  margin-top:4px !important;
  padding:2px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
#pg-cl .bl-card .ic-obl-blk{
  margin-top:6px !important;
  padding:4px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
#pg-cl .bl-card .ic-obl-lbl{
  color:#15803d !important;
}

/* ACT NOW: remove the second nested box inside each alert card */
#pg-ov .act-wait-zone{
  grid-template-columns:1fr !important;
  gap:0 !important;
  align-items:stretch !important;
  margin-bottom:16px !important;
}
#pg-ov .act-now-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}
#pg-ov .act-now-grid > .act-doc{border-top:2px solid rgba(30,136,188,.82) !important}
#pg-ov .act-now-grid > .act-edi{border-top:2px solid rgba(235,175,55,.82) !important}
#pg-ov .act-now-grid > .act-bl{border-top:2px solid rgba(228,48,93,.82) !important}
#pg-ov .sec-hd.act-now + .g4{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}
#pg-ov .sec-hd.act-now + .g4 .ov-ct{
  margin-bottom:10px !important;
  padding:0 0 8px !important;
  border:0 !important;
  border-bottom:1px solid #f1d4d7 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#pg-ov .sec-hd.act-now + .g4 .ov-ct:hover{
  box-shadow:none !important;
}
#pg-ov .sec-hd.act-now + .g4 .ov-ct .ov-ct-label{
  color:#d63d4a !important;
}
#pg-ov .sec-hd.act-now + .g4 .act-card .ov-ct{
  position:relative;
  overflow:visible;
}
#pg-ov .sec-hd.act-now + .g4 > .ov-card{
  min-height:232px !important;
  height:232px !important;
  overflow:auto !important;
}
#pg-ov .sec-hd.act-now + .g4 .act-card .ico{
  transform-origin:center;
}
#pg-ov .sec-hd.act-now + .g4 .act-card.has-items .ov-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform-origin:center;
}
#pg-ov .act-wait-zone .ov-ct{
  margin-bottom:10px !important;
  padding:0 0 8px !important;
  border:0 !important;
  border-bottom:1px solid #f1d4d7 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#pg-ov .act-wait-zone .ov-ct:hover{
  box-shadow:none !important;
}
#pg-ov .act-wait-zone .act-card .ov-ct{
  position:relative;
  overflow:visible;
}
#pg-ov .act-wait-zone .act-wait-card{
  grid-column:1 / -1 !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-color:#cfdeeb !important;
  border-radius:6px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f2f8fc 100%) !important;
}
#pg-ov .act-wait-dashboard{
  display:grid;
  grid-template-columns:minmax(390px,auto) minmax(260px,1fr);
  gap:0;
  align-items:stretch;
  min-height:96px;
}
#pg-ov .act-wait-info{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  padding:18px 24px;
  border-right:1px solid #dbe6ef;
  background:rgba(255,255,255,.78);
}
#pg-ov .act-wait-metric{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  min-width:96px;
}
#pg-ov .act-wait-metric b{
  font-family:var(--mono);
  font-size:31px;
  line-height:1;
  color:#075985;
}
#pg-ov .act-wait-metric span{
  color:#0f2740;
  font-family:var(--sans);
  font-size:13px;
  font-weight:900;
}
#pg-ov .act-wait-sea{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 50%,rgba(30,136,188,.07) 100%);
}
#pg-ov .act-wait-sea-line{
  position:absolute;
  left:0;
  right:0;
  bottom:27px;
  height:2px;
  background:linear-gradient(90deg,rgba(0,62,111,0),rgba(30,136,188,.38) 8%,rgba(30,136,188,.22) 90%,rgba(0,62,111,0));
}
#pg-ov .act-wait-sea::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:20px;
  background:linear-gradient(180deg,rgba(30,136,188,.10),rgba(30,136,188,.02));
}
#pg-ov .act-wait-ship{
  position:absolute;
  left:0;
  bottom:23px;
  width:92px;
  height:30px;
  display:block;
  transform-origin:right bottom;
  animation:actWaitShipSail 68s linear infinite;
  animation-delay:-30s;
}
#pg-ov .act-wait-ship-hull{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:13px;
  background:linear-gradient(180deg,#0f6f9f 0%,#075985 68%,#083653 100%);
  border:1px solid rgba(0,62,111,.45);
  border-radius:2px 4px 16px 18px;
  clip-path:polygon(0 4%,82% 4%,100% 34%,92% 100%,11% 100%,0 43%);
  box-shadow:0 2px 5px rgba(15,23,42,.13);
}
#pg-ov .act-wait-ship-hull::after{
  content:'';
  position:absolute;
  left:6px;
  right:9px;
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.42);
}
#pg-ov .act-wait-ship-cabin{
  position:absolute;
  right:13px;
  bottom:13px;
  width:17px;
  height:13px;
  border:1px solid #cbd5e1;
  border-bottom:0;
  border-radius:2px 2px 1px 1px;
  background:linear-gradient(180deg,#ffffff 0%,#e8f2f8 100%);
  box-shadow:inset 0 -3px 0 rgba(30,136,188,.10);
}
#pg-ov .act-wait-ship-cabin::before{
  content:'';
  position:absolute;
  left:3px;
  top:4px;
  width:3px;
  height:3px;
  border-radius:1px;
  background:#1E88BC;
  box-shadow:6px 0 0 #1E88BC;
}
#pg-ov .act-wait-ship-cargo{
  position:absolute;
  bottom:13px;
  width:15px;
  height:7px;
  border-radius:1px;
  border:1px solid rgba(30,136,188,.18);
  background:#dbeafe;
  box-shadow:inset 0 -2px 0 rgba(30,136,188,.12);
}
#pg-ov .act-wait-ship-cargo.c1{left:13px}
#pg-ov .act-wait-ship-cargo.c2{left:30px;background:#e0f2fe;border-color:rgba(30,136,188,.20)}
#pg-ov .act-wait-ship-cargo.c3{left:47px;bottom:13px;width:14px;height:7px;background:#eef2f7;border-color:rgba(100,116,139,.18)}
#pg-ov .act-wait-ship::after{
  content:'';
  position:absolute;
  left:8px;
  right:8px;
  bottom:-5px;
  height:5px;
  border-radius:50%;
  background:rgba(15,118,110,.12);
  filter:blur(3px);
}
#pg-ov .act-wait-chips{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-content:center;
  align-items:center;
  gap:8px;
  min-width:0;
}
#pg-ov .act-wait-chips span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:30px;
  padding:0 11px;
  border:1px solid #bae6fd;
  border-radius:999px;
  background:#eff6ff;
  color:#075985;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:900;
  white-space:nowrap;
}
#pg-ov .act-wait-chips span.dday{
  border-color:#7dd3fc;
  background:linear-gradient(180deg,#f0f9ff 0%,#e0f2fe 100%);
  color:#075985;
}
#pg-ov .act-wait-chips span.etd-change{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}
#pg-ov .act-wait-chips span.etd-change.warn{
  border-color:#fdba74;
  background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
}
#pg-ov .act-wait-chips b{
  color:inherit;
  font-family:var(--mono);
  font-size:15px;
  font-weight:900;
}
#pg-ov .act-wait-zone .act-wait-block{
  border-top:1px solid #eef2f6;
  background:#fbfdff;
}
#pg-ov .act-wait-zone .act-wait-toggle{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  min-height:42px;
  padding:9px 16px;
  border:0;
  border-bottom:1px solid #dbe6ef;
  background:#f8fbfe;
  cursor:pointer;
}
#pg-ov .act-wait-zone .act-wait-toggle:hover{
  background:#eef5fb;
}
#pg-ov .act-wait-zone .act-wait-arrow{
  width:24px;
  text-align:center;
  color:#0c4f7c !important;
  font-size:14px !important;
  font-weight:900;
}
#pg-ov .act-wait-toggle-label{
  color:#64748b;
  font-family:var(--sans);
  font-size:12px;
  font-weight:900;
  text-align:left;
}
#pg-ov .act-wait-zone .act-wait-list{
  overflow:auto;
}
#pg-ov .act-wait-zone .act-wait-cols,
#pg-ov .act-wait-zone .act-wait-row{
  min-width:960px;
}
#pg-ov .sec-hd.act-now + .g4 .act-doc.has-items .ov-ct{
  overflow:hidden;
  padding-top:2px !important;
}
#pg-ov .sec-hd.act-now + .g4 .act-doc.has-items .ov-ct-label .ico{
  animation:actDocBounce 1.8s ease-in-out infinite;
}
#pg-ov .sec-hd.act-now + .g4 .act-doc.has-items .ov-badge{
  animation:actSoftPulse 1.8s ease-in-out infinite;
}
#pg-ov .sec-hd.act-now + .g4 .act-edi.has-items .ov-ct-label .ico,
#pg-ov .sec-hd.act-now + .g4 .act-edi.has-items .ov-badge{
  animation:actAlertBlink .9s steps(2,start) infinite;
}
@keyframes actDocBounce{
  0%,100%{opacity:1}
  50%{opacity:.72}
}
@keyframes actSoftPulse{
  0%,100%{box-shadow:none}
  45%{box-shadow:0 0 0 4px rgba(214,61,74,.12)}
}
@keyframes actAlertBlink{
  0%,100%{opacity:1}
  50%{opacity:.28}
}
@keyframes actWaitShipSail{
  0%{left:0;transform:translateX(-120%) scale(.82)}
  100%{left:100%;transform:translateX(12%) scale(.82)}
}
@media (prefers-reduced-motion: reduce){
  #pg-ov .sec-hd.act-now + .g4 .act-card.has-items .ico,
  #pg-ov .sec-hd.act-now + .g4 .act-card.has-items .ov-badge,
  #pg-ov .act-wait-ship{
    animation:none !important;
  }
}
@media (max-width:900px){
  #pg-ov .act-wait-dashboard{
    grid-template-columns:1fr;
    gap:12px;
    min-height:0;
  }
  #pg-ov .act-wait-info{
    border-right:0;
    border-bottom:1px solid #dbe6ef;
    flex-wrap:wrap;
  }
  #pg-ov .act-wait-sea{
    min-height:62px;
  }
  #pg-ov .act-wait-chips{
    justify-content:flex-start;
    padding:0 18px 14px;
  }
}

#pg-ov .sec-hd.act-now + .g4{
  grid-template-columns:repeat(4,1fr) !important;
  gap:10px !important;
}
#pg-ov .sec-hd.act-now + .g4 > .ov-card{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}

/* Restore readable native checkboxes instead of solid custom blocks */
#pg-cl input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:auto !important;
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  border:revert !important;
  border-radius:2px !important;
  background:revert !important;
  position:static !important;
  cursor:pointer !important;
  flex-shrink:0 !important;
  vertical-align:-2px !important;
  accent-color:#1A7F4B !important;
}
#pg-cl input[type="checkbox"]:checked{
  background:revert !important;
  border-color:revert !important;
}
#pg-cl input[type="checkbox"]::after,
#pg-cl input[type="checkbox"]:checked::after{
  content:none !important;
  display:none !important;
}
#pg-cl .ic-ckr input[type="checkbox"],
#pg-cl label.ic-ckr input[type="checkbox"]{
  margin:0 !important;
}

/* B/L status blocks need their own visual compartment */
#pg-cl .bl-card > div[style*="background:var(--g2)"]{
  margin-top:8px !important;
  padding:8px 10px !important;
  border:1px solid var(--g3) !important;
  border-radius:6px !important;
  background:#f8fafc !important;
}
#pg-cl .bl-card .ic-obl-blk{
  margin-top:8px !important;
  padding:7px 11px !important;
  border:1px solid var(--y3) !important;
  border-radius:6px !important;
  background:var(--y2) !important;
}
#pg-cl .bl-card .ic-obl-blk.done{
  border-color:var(--gn3) !important;
  background:var(--gn2) !important;
}

/* Shipment Info: flow cargo controls horizontally when there is room */
#pg-cl .shipment-card .shipment-extra-row{
  display:grid !important;
  grid-template-columns:minmax(210px,max-content) max-content minmax(160px,1fr) !important;
  gap:8px 10px !important;
  align-items:end !important;
  margin-top:2px !important;
}
#pg-cl .shipment-card .ship-cntr-row,
#pg-cl .shipment-card .ship-flags-row,
#pg-cl .shipment-card .ship-special-row{
  margin:0 !important;
  min-width:0 !important;
}
#pg-cl .shipment-card .ship-cntr-row{
  display:flex !important;
  align-items:center !important;
}
#pg-cl .shipment-card .ship-flags-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
}
#pg-cl .shipment-card .ship-special-row{
  display:grid !important;
  grid-template-columns:auto minmax(120px,1fr) !important;
  align-items:center !important;
  gap:6px !important;
}
#pg-cl .shipment-card .ship-special-row .ic-lbl{
  margin:0 !important;
  white-space:nowrap !important;
}
#pg-cl .shipment-card #i-special-cargo{
  min-width:0 !important;
}
@media (max-width:1280px){
  #pg-cl .shipment-card .shipment-extra-row{
    grid-template-columns:1fr 1fr !important;
  }
  #pg-cl .shipment-card .ship-special-row{
    grid-column:1 / -1 !important;
  }
}
@media (max-width:760px){
  #pg-cl .shipment-card .shipment-extra-row{
    grid-template-columns:1fr !important;
  }
  #pg-cl .shipment-card .ship-special-row{
    grid-template-columns:1fr !important;
  }
}

/* ETD delay/rollover: compact segmented control with clear grouping */
#pg-cl .schedule-card .etd-mode,
#pg-cl .etd-mode{
  height:24px !important;
  min-height:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  margin-left:6px !important;
  border:1px solid #d7e1ea !important;
  border-radius:5px !important;
  background:#f8fafc !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
#pg-cl .schedule-card .etd-mode-btn,
#pg-cl .etd-mode-btn{
  min-height:22px !important;
  height:22px !important;
  line-height:22px !important;
  padding:0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#526174 !important;
  font-size:11px !important;
  font-weight:800 !important;
}
#pg-cl .schedule-card .etd-mode-btn + .etd-mode-btn,
#pg-cl .etd-mode-btn + .etd-mode-btn{
  border-left:1px solid #dfe7ef !important;
}
#pg-cl .schedule-card .etd-mode-btn.on,
#pg-cl .etd-mode-btn.on{
  background:#003E6F !important;
  color:#fff !important;
  border-left-color:#003E6F !important;
}

/* Shipment Info correction: Special Cargo stays below like the original */
#pg-cl .shipment-card .shipment-extra-row{
  grid-template-columns:minmax(210px,max-content) max-content !important;
  align-items:start !important;
}
#pg-cl .shipment-card .ship-special-row{
  grid-column:1 / -1 !important;
  display:block !important;
  margin-top:6px !important;
}
#pg-cl .shipment-card .ship-special-row .ic-lbl{
  display:block !important;
  margin:0 0 3px !important;
  white-space:normal !important;
}
#pg-cl .shipment-card #i-special-cargo{
  width:100% !important;
  min-width:0 !important;
}
@media (max-width:1280px){
  #pg-cl .shipment-card .shipment-extra-row{
    grid-template-columns:1fr 1fr !important;
  }
}
@media (max-width:760px){
  #pg-cl .shipment-card .shipment-extra-row{
    grid-template-columns:1fr !important;
  }
}

/* ETD mode alignment: match the original app position */
#pg-cl .schedule-card .etd-mode{
  position:absolute !important;
  top:-4px !important;
  right:0 !important;
  height:20px !important;
  min-height:20px !important;
  margin-left:0 !important;
  align-self:auto !important;
  border:1px solid #DAE0E8 !important;
  border-radius:4px !important;
  background:#fff !important;
  overflow:hidden !important;
}
#pg-cl .schedule-card .etd-mode-btn{
  min-width:38px !important;
  min-height:20px !important;
  height:20px !important;
  line-height:20px !important;
  padding:0 7px !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  border:0 !important;
  border-radius:0 !important;
}
#pg-cl .schedule-card .etd-mode-btn + .etd-mode-btn{
  border-left:1px solid #DAE0E8 !important;
}
#pg-cl .schedule-card .etd-mode-btn.on{
  background:#003E6F !important;
  color:#fff !important;
}

/* Shipment Info final flow: FCL/LCL and cargo flags share one wrapping row */
#pg-cl .shipment-card .shipment-extra-row{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px 8px !important;
  margin-top:2px !important;
}
#pg-cl .shipment-card .ship-cntr-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:0 !important;
  min-width:0 !important;
  flex:0 1 auto !important;
}
#pg-cl .shipment-card .ship-cntr-row > div:last-child{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:4px !important;
}
#pg-cl .shipment-card .ship-flags-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:0 !important;
  min-width:0 !important;
  flex:0 0 auto !important;
}
#pg-cl .shipment-card .ship-special-row{
  flex:1 0 100% !important;
  display:block !important;
  margin-top:6px !important;
  min-width:0 !important;
}
#pg-cl .shipment-card .ship-special-row .ic-lbl{
  display:block !important;
  margin:0 0 3px !important;
}
#pg-cl .shipment-card #i-special-cargo{
  width:100% !important;
  min-width:0 !important;
}

/* ETD mode visual correction: lift it to match the original app screenshot */
#pg-cl .schedule-card .etd-mode{
  top:-8px !important;
}

/* Shipment Info compact wrap: let all toggle buttons share one flex line */
#pg-cl .shipment-card .ship-cntr-row,
#pg-cl .shipment-card .ship-flags-row{
  display:contents !important;
}
#pg-cl .shipment-card .ship-cntr-row > .ic-lbl{
  align-self:center !important;
  margin:0 !important;
}
#pg-cl .shipment-card .ship-cntr-row > div:last-child{
  display:contents !important;
}
#pg-cl .shipment-card #i-cntr-count{
  flex:0 0 50px !important;
}
#pg-cl .shipment-card #i-cntr-type-main{
  flex:0 1 128px !important;
}
#pg-cl .shipment-card #ct-fcl,
#pg-cl .shipment-card #ct-lcl,
#pg-cl .shipment-card #tog-dg,
#pg-cl .shipment-card #tog-car{
  flex:0 0 auto !important;
}

/* Narrow schedule cards: move ETD mode above the actual-date label */
@media (max-width:1180px){
  #pg-cl .schedule-card .etd-date-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
  #pg-cl .schedule-card .etd-actual-label{
    padding-right:0 !important;
    padding-top:22px !important;
  }
  #pg-cl .schedule-card .etd-mode{
    top:0 !important;
    right:0 !important;
  }
}
@media (max-width:900px){
  #pg-cl .schedule-card .etd-date-grid{
    grid-template-columns:1fr !important;
  }
  #pg-cl .schedule-card .etd-actual-label{
    padding-top:22px !important;
  }
  #pg-cl .schedule-card .etd-mode{
    top:0 !important;
    right:0 !important;
  }
}

/* ETD mode lives beside CRO 완료; never push ETD fields down */
#pg-cl .schedule-card .cro-mode-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  padding:4px 0 !important;
}
#pg-cl .schedule-card .cro-mode-row .etd-mode{
  position:static !important;
  top:auto !important;
  right:auto !important;
  margin-left:4px !important;
  height:20px !important;
  min-height:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  border:1px solid #DAE0E8 !important;
  border-radius:4px !important;
  background:#fff !important;
  overflow:hidden !important;
}
#pg-cl .schedule-card .cro-mode-row .etd-mode-btn{
  min-width:38px !important;
  min-height:20px !important;
  height:20px !important;
  line-height:20px !important;
  padding:0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
}
#pg-cl .schedule-card .cro-mode-row .etd-mode-btn + .etd-mode-btn{
  border-left:1px solid #DAE0E8 !important;
}
#pg-cl .schedule-card .etd-actual-label{
  padding-right:0 !important;
  padding-top:0 !important;
  margin-bottom:3px !important;
}
@media (max-width:1180px){
  #pg-cl .schedule-card .etd-actual-label{
    padding-top:0 !important;
  }
}
@media (max-width:900px){
  #pg-cl .schedule-card .etd-actual-label{
    padding-top:0 !important;
  }
}

/* Final ETD mode placement: above ETD 실제(변경), without moving inputs */
#pg-cl .schedule-card .etd-actual-label{
  position:relative !important;
  display:block !important;
  padding:0 !important;
  margin-bottom:3px !important;
  min-height:14px !important;
  height:14px !important;
  line-height:14px !important;
  overflow:visible !important;
}
#pg-cl .schedule-card .etd-actual-label > span:not(.etd-mode){
  display:block !important;
  line-height:14px !important;
  white-space:nowrap !important;
}
#pg-cl .schedule-card .etd-actual-label .etd-mode{
  position:absolute !important;
  top:-34px !important;
  right:0 !important;
  height:20px !important;
  min-height:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  border:1px solid #DAE0E8 !important;
  border-radius:4px !important;
  background:#fff !important;
  overflow:hidden !important;
  z-index:2 !important;
}
#pg-cl .schedule-card .etd-actual-label .etd-mode-btn{
  min-width:38px !important;
  min-height:20px !important;
  height:20px !important;
  line-height:20px !important;
  padding:0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
}
#pg-cl .schedule-card .etd-actual-label .etd-mode-btn + .etd-mode-btn{
  border-left:1px solid #DAE0E8 !important;
}
#pg-cl #etd-alert .alert-box label{
  align-items:center !important;
  line-height:15px !important;
}
#pg-cl #etd-alert .alert-box input[type="checkbox"]{
  margin:0 !important;
  align-self:center !important;
}

/* Stable ETD layout: mode control is its own row, date inputs stay aligned */
#pg-cl .schedule-card .etd-block-row{
  gap:5px !important;
}
#pg-cl .schedule-card .etd-date-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:start !important;
}
#pg-cl .schedule-card .etd-mode-line{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-height:20px !important;
  margin:0 0 3px !important;
}
#pg-cl .schedule-card .etd-mode-line .etd-mode{
  position:static !important;
  top:auto !important;
  right:auto !important;
  height:20px !important;
  min-height:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  border:1px solid #DAE0E8 !important;
  border-radius:4px !important;
  background:#fff !important;
  overflow:hidden !important;
  z-index:auto !important;
}
#pg-cl .schedule-card .etd-mode-line .etd-mode-btn{
  min-width:38px !important;
  min-height:20px !important;
  height:20px !important;
  line-height:20px !important;
  padding:0 7px !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
}
#pg-cl .schedule-card .etd-mode-line .etd-mode-btn + .etd-mode-btn{
  border-left:1px solid #DAE0E8 !important;
}
#pg-cl .schedule-card .etd-date-grid > div{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}
#pg-cl .schedule-card .etd-date-grid > div > .ic-lbl,
#pg-cl .schedule-card .etd-date-grid .etd-actual-label{
  position:static !important;
  display:block !important;
  height:17px !important;
  min-height:17px !important;
  line-height:17px !important;
  padding:0 !important;
  margin:0 0 3px !important;
  overflow:visible !important;
}
#pg-cl .schedule-card .etd-date-grid .etd-actual-label > span{
  display:block !important;
  line-height:17px !important;
  white-space:nowrap !important;
}

/* TML lookup: KRDS-like work modal with DSF teal action */
#pg-cl .tml-schedule-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
#pg-cl .tml-lookup-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:4px 9px;
  border:1px solid #7dd3c7;
  border-radius:4px;
  background:#f0fdfa;
  color:#0f766e;
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  cursor:pointer;
  white-space:nowrap;
}
#pg-cl .tml-lookup-btn:hover{background:#ccfbf1;border-color:#2dd4bf}
#pg-cl .tml-lookup-btn:disabled{cursor:wait;opacity:.72}
#pg-cl .tml-lookup-ico{
  display:inline-grid;
  place-items:center;
  height:16px;
  min-width:28px;
  padding:0 4px;
  border-radius:3px;
  background:#0f766e;
  color:#fff;
  font-size:9px;
  line-height:1;
}
#pg-cl .tml-lookup-status{
  display:none !important;
  min-height:0;
  margin:0;
  font-family:var(--mono);
  font-size:10.5px;
  line-height:1.45;
  color:#64748b;
}
#pg-cl .eta-check-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:4px;
}
#pg-cl .eta-auto-verify-btn,
#pg-cl .eta-security-btn{
  min-height:24px;
  padding:3px 8px;
  border:1px solid #bfdbfe;
  border-radius:4px;
  background:#eff6ff;
  color:#1d4ed8;
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  cursor:pointer;
  white-space:nowrap;
}
#pg-cl .eta-security-btn{
  border-color:#fde68a;
  background:#fffbeb;
  color:#92400e;
}
#pg-cl .eta-auto-verify-btn:hover{background:#dbeafe;border-color:#93c5fd}
#pg-cl .eta-security-btn:hover{background:#fef3c7;border-color:#facc15}
#pg-cl .eta-auto-verify-btn:disabled,
#pg-cl .eta-security-btn:disabled{cursor:wait;opacity:.72}
.ov-batch-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--g3);border-radius:6px;background:#fff;box-shadow:var(--sh)}
.ov-batch-toolbar span{margin-left:auto;font-size:12px;font-weight:700;color:var(--n4)}
.ov-batch-btn{min-height:34px;border:1.5px solid #0f766e;border-radius:5px;background:#ecfdf5;color:#0f766e;padding:0 13px;font-family:var(--mono);font-size:12px;font-weight:900;cursor:pointer}
#sch-tml-batch-btn{width:110px;white-space:nowrap}
.ov-batch-btn:hover{background:#ccfbf1}.ov-batch-btn:disabled{opacity:.65;cursor:wait}
.tml-batch-panel{margin:0 0 16px;border:1px solid var(--g3);border-radius:8px;background:#fff;box-shadow:var(--sh);overflow:hidden;font-family:var(--sans)}
.tml-batch-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #d9e2ef;background:#f8fafc}
.tml-batch-applied-head{justify-content:flex-start}.tml-batch-applied-head .tml-batch-title{flex:1}.tml-batch-toggle{flex:0 0 auto;width:32px;height:32px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#0f172a;font-family:var(--mono);font-size:16px;font-weight:900;line-height:1;cursor:pointer}.tml-batch-toggle:hover{border-color:#0f766e;background:#ecfdf5;color:#0f766e}.tml-batch-applied-panel.collapsed{box-shadow:none}.tml-batch-applied-body[hidden]{display:none}
.tml-batch-title{display:flex;align-items:center;gap:8px;min-width:0}.tml-batch-title b{display:block;font-family:var(--sans);font-size:16px;color:var(--navy);font-weight:900;letter-spacing:0}.tml-batch-title small{display:inline-flex;align-items:center;min-height:24px;border:1px solid #d9e2ef;border-radius:5px;background:#fff;color:#475569;padding:0 8px;font-family:var(--mono);font-size:12px;font-weight:800}.tml-batch-title span{font-family:var(--mono);font-size:11px;color:#64748b}
.tml-batch-head em{font-style:normal;font-family:var(--mono);font-size:12px;font-weight:900;color:#0f766e;background:#ccfbf1;border-radius:999px;padding:5px 10px}
.tml-batch-scope{display:flex;gap:7px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #d9e2ef;background:#fff}.tml-batch-scope.compact{padding:9px 14px}.tml-batch-scope span{border:1px solid #d9e2ef;border-radius:5px;background:#f8fafc;color:#475569;padding:6px 9px;font-size:12px;font-weight:800;letter-spacing:0}
.tml-batch-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 14px;border-bottom:1px solid var(--g2)}
.tml-batch-summary span,.tml-batch-summary button{min-width:0;border:1px solid var(--g3);border-radius:5px;padding:9px 10px;font-family:var(--sans);font-size:13px;font-weight:900;color:var(--n3);text-align:left}
.tml-batch-summary button{cursor:pointer}.tml-batch-summary button:hover:not(:disabled){filter:brightness(.98);box-shadow:0 0 0 2px rgba(15,118,110,.08)}.tml-batch-summary button:disabled{cursor:not-allowed;opacity:.62}
.tml-batch-summary b{float:right;font-family:var(--mono);font-size:15px}.tml-batch-summary .auto{background:#ecfdf5;color:#0f766e;border-color:#99f6e4}.tml-batch-summary .review{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.tml-batch-summary .selected{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.tml-batch-summary .nomatch{background:#f8fafc;color:#475569;border-color:#cbd5e1}.tml-batch-summary .fail{background:#fef2f2;color:#991b1b;border-color:#fecaca}.tml-batch-summary .conflict{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.tml-batch-progress{padding:14px;border-top:1px solid var(--g2);display:grid;gap:9px}.tml-batch-progress div{display:flex;align-items:center;justify-content:space-between;gap:12px}.tml-batch-progress b{font-family:var(--mono);font-size:18px;color:#0f766e}.tml-batch-progress span{min-width:0;font-size:12px;font-weight:800;color:var(--n4);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-batch-progress i{display:block;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.tml-batch-progress i em{display:block;height:100%;border-radius:999px;background:#0f766e;transition:width .18s ease}
.tml-batch-list{display:grid;gap:8px;padding:10px 10px 0;background:#fff}.tml-batch-row{overflow:hidden;border:1px solid #d9e2ef;border-radius:7px;background:#fff}.tml-batch-row.active,.tml-batch-row[open]{border-color:#64748b;box-shadow:0 0 0 2px rgba(100,116,139,.12),0 6px 14px rgba(15,23,42,.05)}.tml-batch-row.active summary,.tml-batch-row[open] summary{background:#f8fafc}
.tml-batch-row summary{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(230px,1.2fr) minmax(108px,.48fr) minmax(310px,1.25fr) 96px;gap:0;align-items:stretch;padding:0;cursor:pointer;list-style:none;background:#fff}.tml-batch-row summary::-webkit-details-marker{display:none}
.tml-batch-row summary:hover{background:#f8fafc}.tml-batch-row summary>span{min-width:0;display:flex;align-items:center;padding:14px 14px;border-right:1px solid #dfe8f3;font-family:var(--sans);font-size:14px;font-weight:800;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tml-batch-booking{display:flex !important;align-items:center;gap:8px}.tml-batch-booking b{display:inline-block;color:#0f172a;font-family:var(--mono);font-size:14px;line-height:1.25;flex:0 0 auto;letter-spacing:0}.tml-batch-booking small{display:inline-block;color:#64748b;font-family:var(--sans);font-size:13px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-batch-booking small:before{content:'/ ';color:#94a3b8}
.tml-batch-best{font-family:var(--mono);font-size:13px;color:#334155;letter-spacing:0}.tml-batch-change-summary{min-width:0;display:flex;align-content:center;align-items:center;gap:5px;flex-wrap:wrap;padding:8px 10px;border-right:1px solid #dfe8f3;overflow:visible}.tml-batch-change-summary.none span{font-family:var(--sans);font-size:12px;font-weight:900;color:#94a3b8}.tml-batch-change-summary.excluded span{display:inline-flex;align-items:center;min-height:24px;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc;color:#475569;padding:0 7px;font-family:var(--sans);font-size:11px;font-weight:900;white-space:nowrap}.tml-change-mini{display:inline-flex;align-items:center;max-width:100%;min-height:24px;border:1px solid #d7dee8;border-radius:4px;background:#f8fafc;color:#334155;padding:0 7px;font-family:var(--mono);font-size:11px;font-weight:850;letter-spacing:0;line-height:1;white-space:nowrap}.tml-change-mini.delay{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.tml-change-mini.advance{background:#fefce8;border-color:#fde68a;color:#a16207}.tml-change-mini.changed{background:#f5f3ff;border-color:#c4b5fd;color:#5b21b6}.tml-change-mini.excluded{background:#f8fafc;border-color:#cbd5e1;color:#475569;font-family:var(--sans)}.tml-batch-change-summary i{font-style:normal;font-family:var(--sans);font-size:11px;font-weight:900;color:#64748b}.tml-batch-row summary em,.tml-batch-row-status{align-self:center;justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:78px;min-height:28px;border:1px solid transparent;border-radius:5px;padding:0 7px;font-style:normal;text-align:center;font-family:var(--sans);font-size:12px;font-weight:900;white-space:nowrap}.tml-batch-row-status{cursor:pointer}.tml-batch-row-status:hover{filter:brightness(.98);box-shadow:0 0 0 2px rgba(100,116,139,.1)}
.tml-batch-row.auto-ready summary em,.tml-batch-row.auto summary em{background:#ecfdf5;color:#0f766e;border-color:#99f6e4}.tml-batch-row.selected-choice summary em,.tml-batch-row.selected summary em{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.tml-batch-row.select-needed summary em,.tml-batch-row.select-needed .tml-batch-row-status,.tml-batch-row.review summary em,.tml-batch-row.review .tml-batch-row-status{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.tml-batch-row.no-match summary em{background:#f8fafc;color:#64748b;border-color:#d7dee8}.tml-batch-row.lookup-failed summary em,.tml-batch-row.fail summary em{background:#fef2f2;color:#991b1b;border-color:#fecaca}.tml-batch-row.bts-conflict summary em,.tml-batch-row.conflict summary em{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.tml-batch-detail{padding:12px 14px 14px;background:#fbfdff;border-top:1px solid #bfdbfe}.tml-batch-reason{font-family:var(--sans);font-size:13px;font-weight:900;color:#1e293b;line-height:1.45;margin-bottom:8px}.tml-batch-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tml-batch-meta span{font-family:var(--mono);font-size:11px;font-weight:800;color:#475569;border:1px solid #c7d6e8;border-radius:4px;background:#fff;padding:5px 7px;letter-spacing:0}.tml-batch-meta span.learned{font-family:var(--sans);color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.tml-batch-meta button{min-height:26px;border:1px solid #93c5fd;border-radius:4px;background:#eff6ff;color:#1d4ed8;padding:0 8px;font-family:var(--sans);font-size:12px;font-weight:900;cursor:pointer}
.tml-batch-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.tml-batch-section-title b{font-size:13px;font-weight:900;color:#0f172a}.tml-batch-section-title span{font-size:12px;font-weight:800;color:#64748b}.tml-batch-compare{margin-bottom:10px}.tml-batch-compare-grid{border:1px solid #b7c6d8;border-radius:7px;background:#fff;overflow:hidden}.tml-batch-compare-head,.tml-batch-compare-row{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) 96px}.tml-batch-compare-head span,.tml-batch-compare-row span{min-width:0;min-height:38px;padding:9px 11px;border-right:1px solid #cbd5e1;border-bottom:1px solid #dbe4ef;display:flex;align-items:center;font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-batch-compare-head span:nth-child(4n),.tml-batch-compare-row span:nth-child(4n){border-right:0}.tml-batch-compare-row:last-child span{border-bottom:0}.tml-batch-compare-head span{background:#e8eef5;color:#334155;font-family:var(--sans);font-size:12px;font-weight:900}.tml-batch-compare-row .field{font-family:var(--sans);color:#334155}.tml-batch-compare-row .value{font-family:var(--mono);font-size:13px;color:#0f172a}.tml-batch-compare-row .value.changed{background:#ecfdf5;color:#0f766e}.tml-batch-compare-row .state{justify-content:center;font-family:var(--sans);font-size:12px;font-weight:900}.tml-batch-compare-row .state.same,.tml-batch-compare-row .state.info,.tml-batch-compare-row .state.muted{background:#f8fafc;color:#475569}.tml-batch-compare-row .state.new{background:#ecfdf5;color:#047857}.tml-batch-compare-row .state.changed{background:#eff6ff;color:#1d4ed8}
.tml-batch-support{margin-bottom:10px}.tml-batch-supplement{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tml-batch-supplement span{min-width:0;border:1px solid #c7d6e8;border-radius:6px;background:#fff;padding:9px 11px}.tml-batch-supplement span.notice{background:#fff7ed;border-color:#fdba74}.tml-batch-supplement span.excluded{background:#f8fafc;border-color:#b7c6d8}.tml-batch-supplement span.matched{background:#f0fdf4;border-color:#86cda0}.tml-batch-supplement span.matched em,.tml-batch-supplement span.matched small{color:#166534}.tml-batch-supplement em{display:block;margin-bottom:4px;font-style:normal;font-size:11px;font-weight:900;color:#0f766e}.tml-batch-supplement b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:14px;color:#0f172a}.tml-batch-supplement small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;color:#64748b}.tml-batch-doc-toggle{width:100%;min-height:30px;margin-top:8px;border:1px solid #c2410c;border-radius:5px;background:#fff;color:#9a3412;padding:0 8px;font-family:var(--sans);font-size:11px;font-weight:900;cursor:pointer}.tml-batch-doc-toggle:hover{background:#ffedd5}.tml-batch-doc-toggle.is-excluded{border-color:#0f766e;background:#ecfdf5;color:#0f766e}.tml-batch-doc-toggle.is-excluded:hover{background:#ccfbf1}
.tml-batch-candidates{display:block;border:1px solid #b7c6d8;border-radius:6px;background:#fff;overflow-x:auto;overflow-y:hidden}.tml-batch-candidate-head,.tml-batch-candidate{display:grid;grid-template-columns:82px minmax(210px,1.35fr) 70px 160px 112px 112px 112px;align-items:stretch;min-width:930px}.tml-batch-candidate-head{background:#e8eef5;border-bottom:1px solid #b7c6d8}.tml-batch-candidate-head span{padding:9px 11px;border-right:1px solid #cbd5e1;font-size:12px;font-weight:900;color:#334155}.tml-batch-candidate{cursor:pointer;border-bottom:1px solid #dbe4ef;transition:background .12s,border-color .12s}.tml-batch-candidate:last-child{border-bottom:0}.tml-batch-candidate:hover{background:#f8fafc}.tml-batch-candidate.selected{background:#eff6ff;box-shadow:inset 3px 0 0 #2563eb}.tml-batch-candidate span{min-width:0;display:flex;align-items:center;padding:10px 11px;border-right:1px solid #dbe4ef;font-size:13px;font-weight:800;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-batch-candidate span:last-child,.tml-batch-candidate-head span:last-child{border-right:0}.tml-cand-terminal b{font-family:var(--mono);font-size:13px;color:#1d4ed8}.tml-cand-vessel{display:block !important}.tml-cand-vessel b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b}.tml-cand-vessel small{display:block;margin-top:3px;font-family:var(--mono);font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-cand-score,.tml-cand-date{font-family:var(--mono);font-size:12px}.tml-cand-score{justify-content:center;color:#1d4ed8}
.tml-batch-select-candidate{width:100%;min-height:32px;border:1px solid #93c5fd;border-radius:5px;background:#fff;color:#1d4ed8;font-family:var(--sans);font-size:12px;font-weight:900;padding:0 8px;white-space:nowrap}.tml-batch-candidate:hover .tml-batch-select-candidate{border-color:#2563eb;background:#eff6ff}.tml-batch-candidate.selected .tml-batch-select-candidate{background:#2563eb;border-color:#2563eb;color:#fff}
.tml-batch-empty{padding:18px 14px;text-align:center;font-size:12px;font-weight:800;color:var(--n5)}
.tml-batch-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--g2)}
.tml-batch-actions button{min-height:34px;border:1px solid var(--g3);border-radius:5px;background:#fff;color:var(--navy);padding:0 12px;font-family:var(--sans);font-size:13px;font-weight:900;cursor:pointer}.tml-batch-actions button:disabled{opacity:.45;cursor:not-allowed}.tml-batch-actions .tml-action-primary:not(:disabled),#tml-batch-apply:not(:disabled){border-color:#0f766e;background:#0f766e;color:#fff;box-shadow:0 0 0 2px rgba(15,118,110,.12)}.tml-batch-actions .tml-action-secondary:not(:disabled){border-color:#94a3b8;background:#fff;color:#334155}.tml-batch-actions .tml-action-secondary:not(:disabled):hover{border-color:#0f766e;background:#f8fafc;color:#0f766e}#tml-batch-applied-notice:not(:disabled),#tml-batch-review-send:not(:disabled){border-color:#2563eb;background:#eff6ff;color:#1d4ed8}#tml-batch-applied-changes:not(:disabled){border-color:#0f766e;background:#ecfdf5;color:#0f766e}#tml-batch-rollback:not(:disabled){border-color:#dc2626;background:#fef2f2;color:#991b1b}
.tml-batch-note{padding:0 14px 12px;font-size:11px;font-weight:800;color:var(--n5)}.tml-batch-note.top{padding-top:12px;border-bottom:1px solid var(--g2)}
@media(max-width:820px){.ov-batch-toolbar{align-items:flex-start;flex-direction:column}.tml-batch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tml-batch-section-title{align-items:flex-start;flex-direction:column;gap:3px}.tml-batch-compare-head,.tml-batch-compare-row{grid-template-columns:96px minmax(0,1fr) minmax(0,1fr)}.tml-batch-compare-head span:nth-child(4),.tml-batch-compare-row .state{display:none}.tml-batch-supplement{grid-template-columns:1fr}.tml-batch-row summary{grid-template-columns:1fr;gap:0}.tml-batch-row summary>span,.tml-batch-change-summary{border-right:0;border-bottom:1px solid #eef2f7}.tml-batch-booking{align-items:flex-start;flex-direction:column;gap:3px}.tml-batch-row summary em,.tml-batch-row-status{justify-self:start;margin:9px 13px}.tml-batch-candidate-head{display:none}.tml-batch-candidate{grid-template-columns:1fr;min-width:0}.tml-batch-candidate span{border-right:0;border-bottom:1px solid #eef2f7}.tml-batch-candidate span:last-child{border-bottom:0}.tml-batch-progress div{align-items:flex-start;flex-direction:column}.tml-batch-progress span{text-align:left;white-space:normal}}
@container (max-width:1000px){.sch-tml-batch-shell .tml-batch-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.sch-tml-batch-shell .tml-batch-row summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px;grid-template-areas:"booking route status" "best changes status"}.sch-tml-batch-shell .tml-batch-booking{grid-area:booking}.sch-tml-batch-shell .tml-batch-row summary>span:nth-child(2){grid-area:route}.sch-tml-batch-shell .tml-batch-best{grid-area:best}.sch-tml-batch-shell .tml-batch-change-summary{grid-area:changes;overflow:hidden}.sch-tml-batch-shell .tml-batch-row summary>em,.sch-tml-batch-shell .tml-batch-row-status{grid-area:status;align-self:stretch;justify-self:stretch;width:auto;margin:8px}}
@container (max-width:620px){.sch-tml-batch-shell .tml-batch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sch-tml-batch-shell .tml-batch-row summary{grid-template-columns:1fr;grid-template-areas:none}.sch-tml-batch-shell .tml-batch-booking,.sch-tml-batch-shell .tml-batch-row summary>span:nth-child(2),.sch-tml-batch-shell .tml-batch-best,.sch-tml-batch-shell .tml-batch-change-summary,.sch-tml-batch-shell .tml-batch-row summary>em,.sch-tml-batch-shell .tml-batch-row-status{grid-area:auto}.sch-tml-batch-shell .tml-batch-row summary>span,.sch-tml-batch-shell .tml-batch-change-summary{border-right:0;border-bottom:1px solid #eef2f7}.sch-tml-batch-shell .tml-batch-booking{align-items:flex-start;flex-direction:column;gap:3px}.sch-tml-batch-shell .tml-batch-row summary>em,.sch-tml-batch-shell .tml-batch-row-status{justify-self:start;width:78px;margin:9px 13px}.sch-tml-batch-shell .tml-batch-candidate-head{display:none}.sch-tml-batch-shell .tml-batch-candidate{grid-template-columns:1fr;min-width:0}.sch-tml-batch-shell .tml-batch-candidate span{border-right:0;border-bottom:1px solid #eef2f7}.sch-tml-batch-shell .tml-batch-candidate span:last-child{border-bottom:0}}
.tml-batch-apply-modal{width:min(980px,calc(100vw - 34px))}
.tml-modal-close{min-height:32px;border:1px solid #dbe3ee;border-radius:5px;background:#fff;color:#0f172a;padding:0 10px;font-family:var(--sans);font-size:13px;font-weight:900;cursor:pointer}
.tml-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}
.tml-btn{min-height:34px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#0f172a;padding:0 13px;font-family:var(--sans);font-size:13px;font-weight:900;cursor:pointer}.tml-btn.primary{border-color:#0f766e;background:#0f766e;color:#fff}.tml-btn.ghost{background:#fff;color:#475569}
.tml-batch-change-list{display:grid;gap:8px}
.tml-batch-change-item{border:1px solid #d9e2ef;border-radius:6px;background:#fff;overflow:hidden}
.tml-batch-change-booking{display:grid;grid-template-columns:minmax(260px,1.5fr) 92px minmax(160px,1fr) 92px 86px;align-items:center;border-bottom:1px solid #e2e8f0;background:#f8fafc}.tml-batch-change-booking b,.tml-batch-change-booking span,.tml-batch-change-booking em{min-width:0;padding:10px 12px;border-right:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-batch-change-booking b{font-family:var(--mono);font-size:13px;color:#0f172a}.tml-batch-change-booking span{font-size:13px;font-weight:800;color:#334155}.tml-batch-change-booking em{border-right:0;font-style:normal;font-family:var(--mono);font-size:13px;font-weight:900;color:#0f766e;text-align:center}
.tml-batch-change-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.tml-batch-change-fields span{min-width:0;padding:10px 12px;border-right:1px solid #e2e8f0}.tml-batch-change-fields span:last-child{border-right:0}.tml-batch-change-fields em{display:block;margin-bottom:4px;font-style:normal;font-size:11px;font-weight:900;color:#0f766e}.tml-batch-change-fields small{display:block;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12px;color:#94a3b8}.tml-batch-change-fields b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:13px;color:#0f172a}.tml-batch-change-fields .muted{background:#f8fafc;color:#64748b}
.tml-batch-notice-modal{width:min(1040px,calc(100vw - 34px))}
.tml-batch-notice-list{display:grid;gap:10px}.tml-batch-applied-panel .tml-batch-notice-list{padding:12px 14px}.tml-batch-apply-notice{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:12px}.tml-batch-apply-notice .tml-batch-notice-list{margin-top:8px}.tml-batch-apply-notice .tml-batch-empty{margin-top:8px}
.tml-batch-notice-item{border:1px solid #d9e2ef;border-left:4px solid #2563eb;border-radius:6px;background:#fff;overflow:hidden}
.tml-batch-notice-title{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(260px,1fr);align-items:center;border-bottom:1px solid #e2e8f0;background:#f8fafc}.tml-batch-notice-title b,.tml-batch-notice-title span{min-width:0;padding:11px 12px;border-right:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tml-batch-notice-title b{font-family:var(--mono);font-size:13px;color:#0f172a;background:#fff}.tml-batch-notice-title span{border-right:0;font-size:13px;font-weight:900;color:#1e293b}
.tml-batch-notice-tags{display:flex;gap:8px;flex-wrap:wrap;padding:11px 12px;background:#fff}.tml-batch-notice-tags span{display:grid;grid-template-columns:auto auto auto;gap:4px 7px;align-items:center;min-width:190px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;padding:8px 10px;color:#1d4ed8}.tml-batch-notice-tags span.muted{border-color:#cbd5e1;background:#f8fafc;color:#475569}.tml-batch-notice-tags span.change-cycls{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.tml-batch-notice-tags span.change-etb{border-color:#99f6e4;background:#ecfdf5;color:#0f766e}.tml-batch-notice-tags span.change-etd{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.tml-batch-notice-tags span.change-terminal{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}.tml-batch-notice-tags span.change-doccls{border-color:#fbcfe8;background:#fdf2f8;color:#9d174d}.tml-batch-notice-tags b{font-size:12px;font-weight:900}.tml-batch-notice-tags em{font-style:normal;font-size:12px;font-weight:900;color:inherit}.tml-batch-notice-tags small{font-family:var(--mono);font-size:12px;font-weight:900;color:#334155}.tml-batch-notice-tags i{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-family:var(--mono);font-size:11px;color:#475569}
@media(max-width:820px){.tml-batch-change-booking,.tml-batch-change-fields,.tml-batch-notice-title{grid-template-columns:1fr}.tml-batch-change-booking b,.tml-batch-change-booking span,.tml-batch-change-booking em,.tml-batch-change-fields span,.tml-batch-notice-title b,.tml-batch-notice-title span{border-right:0;border-bottom:1px solid #e2e8f0}.tml-batch-change-fields span:last-child,.tml-batch-notice-title span:last-child{border-bottom:0}.tml-batch-notice-tags span{width:100%;min-width:0}}

/* DSF native terminal schedule */
.tsch-native-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;padding:8px 18px;background:#fff;border-bottom:1px solid var(--g2);flex:0 0 auto;font-family:var(--sans)}
.tsch-native-toolbar>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.tsch-native-toolbar b{font-size:14px;font-weight:950;color:var(--navy)}.tsch-native-toolbar>div:first-child span{border-left:1px solid #cbd5e1;padding-left:10px;font-family:var(--mono);font-size:10px;font-weight:850;color:#64748b;letter-spacing:.5px}
.tsch-native-root{width:100%;max-width:1540px;margin:0 auto;padding:22px 24px 90px;box-sizing:border-box;font-family:var(--sans);color:#0f172a}.tsch-native-search-card,.tsch-native-section{border:1px solid #d8e1ec;border-radius:7px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.04)}
.tsch-native-search-card{border-top:3px solid #0f766e;overflow:hidden;margin-bottom:16px}.tsch-native-section-kicker{padding:9px 16px;border-bottom:1px solid #d8e1ec;background:#f8fafc;font-family:var(--mono);font-size:10px;font-weight:900;color:#0f766e;letter-spacing:1px}.tsch-native-search-form{padding:18px 20px 15px}.tsch-native-search-form>label{display:block;margin-bottom:8px;font-size:13px;font-weight:950;color:#172033}.tsch-native-search-control{display:flex;align-items:stretch;gap:8px;max-width:900px}.tsch-native-search-control input{min-width:0;flex:1;height:46px;border:1.5px solid #94a3b8;border-radius:6px;background:#fff;padding:0 14px;font-family:var(--sans);font-size:15px;font-weight:800;color:#0f172a;outline:none}.tsch-native-search-control input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.12)}.tsch-native-search-control input::placeholder{color:#94a3b8;font-weight:700}.tsch-native-search-control button{min-width:104px;border:1px solid #0f766e;border-radius:6px;background:#0f766e;color:#fff;padding:0 20px;font-family:var(--sans);font-size:14px;font-weight:950;cursor:pointer}.tsch-native-search-control button:disabled{cursor:wait;opacity:.65}.tsch-native-search-foot{margin-top:10px}.tsch-native-search-foot span{font-size:11px;font-weight:750;color:#64748b}
.tsch-native-section{margin-bottom:14px;overflow:hidden}.tsch-native-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid #d8e1ec;background:#f8fafc}.tsch-native-section-head>div{display:flex;align-items:center;gap:9px}.tsch-native-section-head span{font-family:var(--mono);font-size:9px;font-weight:900;color:#0f766e;letter-spacing:.7px}.tsch-native-section-head b{font-size:14px;font-weight:950;color:var(--navy)}.tsch-native-section-head small{font-size:11px;font-weight:750;color:#64748b}
.tsch-native-results{padding:12px;overflow-x:auto}.tsch-native-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #cbd5e1;border-radius:5px;background:#f8fafc;text-align:center}.tsch-native-empty.compact{min-height:86px}.tsch-native-empty b{font-size:13px;font-weight:900;color:#334155}.tsch-native-empty span{font-size:11px;font-weight:750;color:#64748b}.tsch-native-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.tsch-native-result-head>div{display:flex;align-items:center;gap:9px}.tsch-native-result-head b{font-size:13px;font-weight:950;color:#0f766e}.tsch-native-result-head span{font-family:var(--mono);font-size:11px;font-weight:800;color:#475569}.tsch-native-result-head button{min-height:32px;border:1px solid #0f766e;border-radius:5px;background:#fff;color:#0f766e;padding:0 11px;font-family:var(--sans);font-size:12px;font-weight:900;cursor:pointer}.tsch-native-result-columns,.tsch-native-result-row{min-width:980px;display:grid;grid-template-columns:90px minmax(180px,1.3fr) minmax(120px,.8fr) minmax(145px,1fr) minmax(145px,1fr) minmax(145px,1fr);align-items:center}.tsch-native-result-columns{border:1px solid #cbd5e1;background:#f1f5f9}.tsch-native-result-columns b{padding:9px 11px;border-right:1px solid #dbe3ee;font-size:11px;font-weight:950;color:#475569}.tsch-native-result-columns b:last-child{border-right:0}.tsch-native-result-row{border:1px solid #dbe3ee;border-top:0;background:#fff}.tsch-native-result-row:last-child{border-radius:0 0 5px 5px}.tsch-native-result-row>b,.tsch-native-result-row>span{min-width:0;padding:11px;border-right:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsch-native-result-row>*:last-child{border-right:0}.tsch-native-result-row>b{font-family:var(--mono);font-size:12px;color:#0f766e}.tsch-native-result-row>span{font-family:var(--mono);font-size:11px;font-weight:800;color:#334155}.tsch-native-result-row.cached{background:#fffbeb}
.tml-terminal-badge.cached{border-color:#fdba74;background:#fff7ed;color:#b45309}.tml-card.stale{border-color:#f59e0b}.tml-card.stale .tml-card-head{background:#fffbeb}.tml-stale-warn{border-color:#f59e0b!important;background:#fff7ed!important;color:#9a3412!important}.tml-score{display:flex;align-items:center;gap:6px}.tml-learned{display:inline-flex;align-items:center;min-height:20px;border:1px solid #93c5fd;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:0 7px;font-family:var(--sans);font-size:9px;font-weight:900;white-space:nowrap}.tml-modal-secondary.primary{border-color:#0f766e;background:#0f766e;color:#fff}
@media(max-width:720px){.tsch-native-root{padding:12px 10px 80px}.tsch-native-search-form{padding:15px 13px}.tsch-native-search-control{flex-direction:column}.tsch-native-search-control button{height:42px}.tsch-native-section-head{align-items:flex-start;flex-direction:column}.tsch-native-results{padding:9px}}

/* DSF booking-aware terminal board */
.tsch-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:8px 16px;background:var(--teal);flex:0 0 auto;font-family:var(--sans)}
.tsch-board-toolbar-title{display:flex;align-items:center;gap:10px;min-width:0}.tsch-board-toolbar-title b{font-size:14px;font-weight:900;color:#fff}.tsch-board-toolbar-title span{border-left:1px solid rgba(255,255,255,.3);padding-left:10px;font-family:var(--mono);font-size:10px;font-weight:800;color:#b7d7e9;letter-spacing:.4px}
.tsch-board-toolbar-tools,.tsch-board-search-form{display:flex;align-items:center;gap:7px}.tsch-board-search{width:300px;height:32px;box-sizing:border-box;border:1px solid rgba(255,255,255,.36);border-radius:4px;background:rgba(255,255,255,.13);padding:0 10px;color:#fff;font-size:12px;font-weight:700;outline:none}.tsch-board-search::placeholder{color:rgba(255,255,255,.68)}.tsch-board-search:focus{border-color:#fff;background:rgba(255,255,255,.2)}
.sch-tml-board-toolbar .tsch-board-toolbar-tools,.sch-tml-board-toolbar .tsch-board-search-form{min-width:0}.sch-tml-board-toolbar .tsch-board-search{width:220px}
.tsch-board-search-btn,.tsch-board-ghost-btn{height:32px;border:1px solid rgba(255,255,255,.4);border-radius:4px;background:#fff;color:var(--teal);padding:0 11px;font-size:11.5px;font-weight:900;white-space:nowrap}.tsch-board-ghost-btn{background:transparent;color:#fff}.tsch-board-search-btn:hover{background:#eaf5fb}.tsch-board-ghost-btn:hover{background:rgba(255,255,255,.13)}.tsch-board-search-btn:disabled,.tsch-board-ghost-btn:disabled{cursor:wait;opacity:.65}
.tsch-board-root{width:100%;max-width:none;margin:0;padding:0 0 80px;color:var(--navy);font-family:var(--sans)}
.tsch-board-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;background:#f8fafc;border-bottom:1px solid #dbe3ee;position:sticky;top:0;z-index:5}.tsch-board-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tsch-board-chip{min-height:27px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;padding:0 10px;font-size:11px;font-weight:850;color:#475569}.tsch-board-chip:hover{border-color:#94a3b8}.tsch-board-chip.on{border-color:var(--teal);background:var(--teal);color:#fff}.tsch-board-chip b{margin-left:4px;font-family:var(--mono);font-size:10px}.tsch-board-state{display:flex;align-items:center;gap:12px;min-width:0;font-family:var(--mono);font-size:10.5px;font-weight:700;color:#64748b}.tsch-board-state span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsch-board-state span+span{padding-left:12px;border-left:1px solid #cbd5e1}
.tsch-board-search-section{margin:12px 14px 0;border:1px solid #b8c9d9;border-radius:5px;background:#fff;overflow:hidden}.tsch-board-search-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#edf5fa;border-bottom:1px solid #cbd9e5}.tsch-board-search-head>div{display:flex;align-items:center;gap:8px}.tsch-board-search-head b{font-size:12px;color:var(--teal)}.tsch-board-search-head span{font-family:var(--mono);font-size:10px;font-weight:800;color:#64748b}.tsch-board-search-head button{border:1px solid #b8c9d9;border-radius:3px;background:#fff;padding:4px 9px;font-size:10.5px;font-weight:800;color:#475569}.tsch-board-search-section .tsch-native-results{padding:8px;overflow-x:auto}
.tsch-board-search-table{min-width:880px;border:1px solid #dbe3ee;border-radius:4px;overflow:hidden}.tsch-board-search-row{display:grid;grid-template-columns:88px minmax(180px,1.3fr) 100px repeat(3,minmax(135px,1fr)) 70px;align-items:center;background:#fff;border-top:1px solid #e2e8f0}.tsch-board-search-row:first-child{border-top:0}.tsch-board-search-row.head{background:#f1f5f9}.tsch-board-search-row>span,.tsch-board-search-row>b{min-width:0;padding:8px 9px;border-right:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:10.5px;color:#334155}.tsch-board-search-row>*:last-child{border-right:0}.tsch-board-search-row.head>span{font-family:var(--sans);font-weight:900;color:#64748b}.tsch-board-search-row>b{color:var(--teal)}.tsch-board-search-row button{margin:0 7px;border:1px solid var(--teal);border-radius:3px;background:#fff;color:var(--teal);padding:4px 7px;font-size:10.5px;font-weight:900}
.tsch-board-batch-panel{min-height:280px}.tsch-board-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(332px,1fr);gap:10px;align-items:start;overflow-x:auto;padding:12px 14px 18px}.tsch-board-col{min-width:0;border:1px solid #d7e0ea;border-radius:5px;background:#f5f7fa;overflow:hidden}.tsch-board-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:2px solid var(--tl2);background:#fff}.tsch-board-col-head>div{display:flex;align-items:center;gap:7px;min-width:0}.tsch-board-col-head b{font-family:var(--mono);font-size:12px;font-weight:900;color:var(--teal)}.tsch-board-col-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:800;color:#64748b}.tsch-board-col-head small{font-family:var(--mono);font-size:10px;font-weight:800;color:#64748b}.tsch-board-col.review .tsch-board-col-head{border-bottom-color:#d97706}.tsch-board-col.review .tsch-board-col-head b{color:#b45309}.tsch-board-list{display:flex;flex-direction:column;gap:8px;padding:8px}
.tsch-board-card{width:100%;box-sizing:border-box;border:1px solid #cfd9e4;border-radius:5px;background:#fff;padding:0;text-align:left;color:var(--navy);overflow:hidden}.tsch-board-card:hover{border-color:#7f96ab;box-shadow:0 2px 7px rgba(15,23,42,.09)}.tsch-board-card.needs{border-left:4px solid #d97706}.tsch-board-card.changed{border-left:4px solid #dc2626}.tsch-board-card.selected{border-left:4px solid var(--teal)}
.tsch-board-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 10px 7px}.tsch-board-card-vessel{min-width:0}.tsch-board-card-vessel b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:900}.tsch-board-card-vessel span{display:block;margin-top:2px;font-family:var(--mono);font-size:10.5px;font-weight:800;color:var(--tl2)}.tsch-board-card-count{flex:0 0 auto;border-radius:3px;background:#edf2f7;padding:3px 6px;font-family:var(--mono);font-size:9.5px;font-weight:900;color:#475569}.tsch-board-card-count.needs{background:#fff7ed;color:#b45309}
.tsch-board-card-compare{margin:0 9px 8px;border:1px solid #e2e8f0;border-radius:4px;overflow:hidden}.tsch-board-card-compare-head,.tsch-board-card-compare-row{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(0,1fr)}.tsch-board-card-compare-head{background:#f8fafc;border-bottom:1px solid #e2e8f0}.tsch-board-card-compare-head span,.tsch-board-card-compare-row span{min-width:0;padding:5px 7px;border-right:1px solid #e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:10px}.tsch-board-card-compare-head span{font-family:var(--sans);font-weight:900;color:#64748b}.tsch-board-card-compare-row span{color:#334155}.tsch-board-card-compare-row span:first-child{font-family:var(--sans);font-weight:850;color:#64748b;background:#fbfcfe}.tsch-board-card-compare-row span:last-child,.tsch-board-card-compare-head span:last-child{border-right:0}.tsch-board-card-compare-row+.tsch-board-card-compare-row{border-top:1px solid #edf1f5}.tsch-board-card-compare-row .different{background:#fff7ed;color:#9a3412;font-weight:900}
.tsch-board-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-top:1px dashed #dbe3ee;background:#fbfcfe}.tsch-board-card-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850;color:#64748b}.tsch-board-card-foot .doc{color:#9d174d}.tsch-board-card-foot .state{font-family:var(--mono);color:var(--teal)}
.tsch-board-empty{grid-column:1/-1;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #b8c5d2;border-radius:5px;background:#fff;color:#64748b;text-align:center}.tsch-board-empty b{font-size:13px;color:#334155}.tsch-board-empty span{font-size:11px}.tsch-board-progress{margin:14px;border:1px solid #c8d5e1;border-radius:5px;background:#fff;padding:16px}.tsch-board-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tsch-board-progress-head b{font-size:13px;color:var(--teal)}.tsch-board-progress-head span{font-family:var(--mono);font-size:11px;font-weight:800;color:#64748b}.tsch-board-progress-track{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden}.tsch-board-progress-track i{display:block;height:100%;background:var(--tl2)}
.tsch-board-booking-modal{width:min(1120px,calc(100vw - 34px))}.tsch-board-booking-list{display:grid;gap:10px}.tsch-board-booking-item{border:1px solid #d6e0ea;border-radius:5px;background:#fff;overflow:hidden}.tsch-board-booking-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:#f8fafc;border-bottom:1px solid #dbe3ee}.tsch-board-booking-head>div{display:flex;align-items:center;gap:8px;min-width:0}.tsch-board-booking-head b{font-family:var(--mono);font-size:12px;color:var(--teal)}.tsch-board-booking-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;color:#475569}.tsch-board-booking-head button{border:1px solid #b9c7d5;border-radius:3px;background:#fff;padding:4px 8px;font-size:10.5px;font-weight:850;color:#334155}.tsch-board-booking-body{padding:10px}.tsch-board-booking-body .tml-batch-support,.tsch-board-booking-body .tml-batch-compare{margin-bottom:9px}.tsch-board-booking-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}.tsch-board-booking-actions button{border:1px solid var(--teal);border-radius:4px;background:#fff;color:var(--teal);padding:6px 10px;font-size:11px;font-weight:900}.tsch-board-booking-actions button.primary{background:var(--teal);color:#fff}.tsch-board-booking-actions button:disabled{opacity:.5;cursor:not-allowed}
#pg-cl .tml-lookup-status.has-terminal{display:flex !important;align-items:center;gap:5px;min-height:22px;margin:0 0 5px;padding:3px 7px;border:1px solid #b9d3e2;border-radius:4px;background:#edf7fb;color:var(--teal);font-family:var(--mono);font-size:10.5px;font-weight:900}.chip.tml-terminal{border-color:#8bbad3;background:#edf7fb;color:var(--teal)}
@media(max-width:980px){.tsch-board-toolbar{align-items:stretch;flex-direction:column;gap:7px}.tsch-board-toolbar-tools,.tsch-board-search-form{width:100%}.sch-tml-board-toolbar .tsch-board-toolbar-tools{flex-wrap:wrap}.sch-tml-board-toolbar .tsch-board-search-form{width:auto;flex:1 1 300px}.tsch-board-search{width:auto;min-width:120px;flex:1}.tsch-board-filters{align-items:flex-start;flex-direction:column}.tsch-board-state{width:100%;justify-content:space-between}.tsch-board-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr}.tsch-board-booking-modal{width:calc(100vw - 18px)}}
.tml-modal-root{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center}
#pg-ov,#cl-r,#sb-list{scrollbar-gutter:stable}
body.tml-modal-open #pg-ov,
body.tml-modal-open #cl-r,
body.tml-modal-open #sb-list{overflow:hidden !important}
.tml-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52)}
.tml-modal{
  position:relative;
  z-index:1;
  left:auto;
  top:auto;
  transform:none;
  width:min(900px,calc(100vw - 34px));
  max-height:min(84vh,calc(100vh - 82px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:8px;
  box-shadow:0 24px 70px rgba(15,23,42,.35);
  font-family:var(--sans);
  color:var(--navy);
}
.tml-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:17px 18px 14px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.tml-modal-titleline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tml-modal-title{
  font-family:var(--sans);
  font-size:18px;
  font-weight:900;
  color:#0f172a;
  letter-spacing:0;
}
.tml-modal-query{
  margin-top:6px;
  max-width:560px;
  overflow:hidden;
  color:#64748b;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tml-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #99f6e4;
  border-radius:999px;
  background:#ecfdf5;
  color:#0f766e;
  font-family:var(--sans);
  font-size:12px;
  font-weight:900;
}
.tml-modal-x,.tml-modal-secondary,.tml-apply-btn{
  border-radius:5px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.tml-modal-x{
  padding:8px 11px;
  border:1px solid #dbe3ee;
  background:#f8fafc;
  color:#0f172a;
}
.tml-modal-body{padding:14px 18px 16px;overflow:auto;min-height:0}
.tml-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
  color:#64748b;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:700;
}
.tml-terminal-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}
.tml-terminal-badge{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  min-height:30px;
  padding:6px 9px;
  border:1px solid #e2e8f0;
  border-radius:5px;
  background:#fff;
  color:#64748b;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
}
.tml-terminal-badge b{color:#0f172a;font-weight:900}
.tml-terminal-badge.ok{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.tml-terminal-badge.err{border-color:#fecaca;background:#fef2f2;color:#dc2626}
.tml-card{
  margin-top:10px;
  overflow:hidden;
  border:1px solid #93c5fd;
  border-radius:7px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.tml-card.strong{border-color:#60a5fa}
.tml-card.warn{border-color:#fde68a}
.tml-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 13px;
  border-bottom:1px solid #e2e8f0;
  background:#eff6ff;
}
.tml-card.strong .tml-card-head{background:#eff6ff}
.tml-card.warn .tml-card-head{background:#fffbeb}
.tml-card-vessel{
  overflow:hidden;
  color:#0f172a;
  font-family:var(--sans);
  font-size:15px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tml-card-sub{
  margin-top:5px;
  color:#64748b;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
}
.tml-reasons{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}
.tml-reason-label{
  color:#64748b;
  font-family:var(--sans);
  font-size:12px;
  font-weight:900;
  line-height:22px;
}
.tml-reason{
  padding:3px 8px;
  border-radius:999px;
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
  font-family:var(--sans);
  font-size:12px;
  font-weight:900;
}
.tml-score{
  flex-shrink:0;
  padding:6px 10px;
  border:1px solid currentColor;
  border-radius:999px;
  color:#0f766e;
  font-family:var(--sans);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.tml-card.warn .tml-score{color:#b45309}
.tml-card-body{padding:15px}
.tml-warn{
  margin-bottom:9px;
  padding:7px 9px;
  border:1px solid #fde68a;
  border-radius:5px;
  background:#fffbeb;
  color:#92400e;
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
}
.tml-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tml-detail-box{
  border:1px solid #e2e8f0;
  border-radius:7px;
  background:#f8fafc;
  overflow:hidden;
}
.tml-detail-box.apply{
  border-color:#99f6e4;
  background:#f0fdfa;
}
.tml-detail-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid #e2e8f0;
  color:#475569;
  font-family:var(--sans);
  font-size:13px;
  font-weight:900;
}
.tml-detail-box.apply .tml-detail-title{
  border-bottom-color:#99f6e4;
  color:#0f766e;
}
.tml-detail-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:10px 12px;
  border-top:1px solid rgba(226,232,240,.65);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.45;
}
.tml-detail-row:first-of-type{border-top:0}
.tml-row-label{color:#334155;font-weight:900}
.tml-value-main{display:block;color:#0f172a;font-weight:900;font-size:13.5px}
.tml-apply-value{color:#0f766e;font-weight:900}
.tml-row-note{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.tml-change-row.changed{
  background:#fff7ed;
  box-shadow:inset 3px 0 0 #f59e0b;
}
.tml-detail-row.tml-change-row{
  grid-template-columns:92px minmax(0,1fr) auto;
}
.tml-change-row.changed .tml-apply-value{color:#c2410c}
.tml-change-tag{
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#ffedd5;
  color:#c2410c;
  font-size:12px;
  font-weight:900;
}
.tml-change-tag.same{background:#dcfce7;color:#15803d}
.tml-change-tag.new{background:#dbeafe;color:#1d4ed8}
.tml-field-note{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.tml-apply-wrap{display:flex;justify-content:flex-end;margin-top:12px}
.tml-apply-btn{
  padding:10px 16px;
  border:1px solid #2563eb;
  background:#2563eb;
  color:#fff;
}
.tml-apply-btn:hover{background:#1d4ed8}
.tml-bts-card{
  position:relative;
  overflow:hidden;
  border:1.5px solid #93c5fd;
  background:#eff6ff;
  border-radius:6px;
  padding:16px 16px 14px;
  margin:0 0 12px;
  color:#1e3a8a;
  box-shadow:0 8px 22px rgba(37,99,235,.10);
}
.tml-bts-card:before{content:'';position:absolute;left:0;top:0;right:0;height:4px;background:#38bdf8}
.tml-bts-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.tml-bts-title{font-family:var(--mono);font-size:14px;font-weight:950;letter-spacing:.8px;color:#1d4ed8}
.tml-bts-status{font-family:var(--mono);font-size:12px;font-weight:950;color:#075985;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:999px;padding:4px 9px;white-space:nowrap}
.tml-bts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.tml-bts-item{border:1px solid #bfdbfe;background:#fff;border-radius:5px;padding:10px 11px;min-width:0;box-shadow:0 1px 0 rgba(15,23,42,.04)}
.tml-bts-item:nth-child(1),
.tml-bts-item:nth-child(2),
.tml-bts-item:nth-child(3){border-color:#bfdbfe;background:#fff}
.tml-bts-label{display:block;font-family:var(--mono);font-size:10px;font-weight:950;color:#475569;margin-bottom:6px;letter-spacing:.8px}
.tml-bts-value{display:block;font-family:var(--mono);font-size:14px;font-weight:950;color:#0f172a;line-height:1.35;word-break:break-word}
.tml-bts-note{font-size:12px;font-weight:700;color:#334155;margin-top:8px;line-height:1.55}
.tml-bts-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.tml-bts-btn{font-family:var(--mono);font-size:12px;font-weight:950;border-radius:4px;border:1px solid #38bdf8;background:#fff;color:#075985;padding:8px 12px;cursor:pointer}
.tml-bts-btn:hover{background:#e0f2fe}
.tml-bts-btn:disabled{opacity:.45;cursor:not-allowed}

#bkg-ocr-result{
  display:none;
  flex-direction:column !important;
  max-height:min(360px, calc(100vh - 360px)) !important;
  overflow:hidden !important;
}
#bkg-ocr-result[style*="block"]{
  display:flex !important;
}
#bkg-ocr-fields{
  min-height:0 !important;
  max-height:min(270px, calc(100vh - 455px)) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:thin !important;
}
#bkg-ocr-result > div:last-child{
  position:sticky !important;
  bottom:0 !important;
  background:#fff !important;
  z-index:2 !important;
}
.tml-toast{
  position:absolute;
  right:22px;
  top:84px;
  z-index:3;
  min-width:220px;
  max-width:360px;
  padding:10px 13px;
  border-radius:6px;
  border:1px solid #99f6e4;
  background:#ecfdf5;
  color:#0f766e;
  font-family:var(--sans);
  font-size:12px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
}
.tml-toast.show{opacity:1;transform:translateY(0)}
.tml-toast.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}
.schedule-side-head{padding:14px 13px 8px;font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:2px;color:#475569}
.schedule-side-list{display:grid;gap:7px;padding:0 10px 10px}
.schedule-side-item{width:100%;min-height:64px;border:1px solid #d8e2ef;border-radius:7px;background:#fff;color:#172033;display:grid;grid-template-columns:62px minmax(0,1fr);gap:11px;align-items:center;padding:8px 10px;text-align:left;cursor:pointer}
.schedule-side-item:hover{border-color:#9db4cc;background:#f8fbff}
.schedule-side-item.on{border-color:#003E6F;background:#eef7ff;box-shadow:inset 4px 0 0 #003E6F}
.schedule-side-item.tml.on{border-color:#0f766e;background:#ecfdf5;box-shadow:inset 4px 0 0 #0f766e}
.schedule-side-logo{width:56px;height:46px;border:2px solid #0f172a;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 1px 0 rgba(15,23,42,.08)}
.schedule-side-logo img{width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(1.72)}
.schedule-side-item[data-schedule-carrier="HPL"] .schedule-side-logo img{transform:scale(1.76) translateX(3%)}
.schedule-side-logo.tml-logo{border-color:#0f172a;background:#fff;color:#0f172a;font-family:var(--mono);font-size:14px;font-weight:900}
.schedule-side-logo.tml-logo img{transform:scale(1.34);object-position:center}
.schedule-side-text{min-width:0}
.schedule-side-text b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;color:#172033;letter-spacing:0}
.schedule-side-text small{display:block;margin-top:3px;font-size:10px;font-weight:800;line-height:1.25;color:#64748b;white-space:normal}
.schedule-side-item em{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:900;color:#003E6F;background:#dbeafe;border-radius:999px;padding:3px 7px}
.schedule-side-item.tml em{color:#0f766e;background:#ccfbf1}
.sch-tml-batch-shell{margin-top:0;container-type:inline-size}
#pg-sch{scrollbar-gutter:stable}
.tml-toast-global{
  position:fixed;
  top:auto;
  right:18px;
  bottom:18px;
  z-index:100002;
  display:grid;
  gap:4px;
  min-width:260px;
  max-width:min(420px, calc(100vw - 36px));
  pointer-events:none;
  transform:translateY(8px);
  will-change:opacity, transform;
}
.tml-toast-global b{
  display:block;
  font-size:12px;
  font-weight:900;
  color:inherit;
}
.tml-toast-global span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tml-toast-global.show{opacity:1;transform:translateY(0)}
.tml-empty,.tml-error{
  padding:12px;
  border-radius:6px;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.55;
}
.tml-empty{border:1px solid #fde68a;background:#fffbeb;color:#92400e}
.tml-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}
.tml-modal-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:12px;
}
.tml-modal-secondary{
  padding:7px 11px;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#334155;
}


/* Main-only TML actions: keep audit + lookup side by side */
#pg-cl .tml-actions{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-shrink:0 !important;
}
#pg-cl .tml-actions .tml-lookup-ico{
  display:none !important;
}
#pg-cl .tml-actions .tml-audit-btn,
#pg-cl .tml-actions .tml-lookup-btn{
  min-height:30px !important;
  padding:0 11px !important;
  border-radius:5px !important;
  font-family:var(--mono) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  box-shadow:0 1px 2px rgba(15,23,42,.06) !important;
}
#pg-cl .tml-audit-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:4px 9px;
  border:1px solid #bfdbfe;
  border-radius:4px;
  background:#eff6ff;
  color:#1d4ed8;
  font-family:var(--mono);
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
  cursor:pointer;
  white-space:nowrap;
}
#pg-cl .tml-audit-btn:hover{background:#dbeafe;border-color:#93c5fd}
#pg-cl .tml-audit-btn:disabled{cursor:wait;opacity:.72}
#pg-cl .tml-audit-ico{background:#1d4ed8 !important}
#pg-cl .tml-actions .tml-lookup-btn{
  min-width:108px !important;
  justify-content:center !important;
  border-color:#0f766e !important;
  background:#0f766e !important;
  color:#fff !important;
}
#pg-cl .tml-actions .tml-lookup-btn:hover{
  background:#0b5f59 !important;
  border-color:#0b5f59 !important;
}
@media (max-width:1180px){
  #pg-cl .tml-schedule-title{align-items:flex-start !important;flex-direction:column !important}
}
@media (max-width:980px){
  .tml-modal{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 76px);
  }
  .tml-modal-head{padding:13px 14px 11px}
  .tml-modal-body{padding:12px 14px 14px}
  .tml-terminal-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tml-bts-grid{grid-template-columns:1fr}
  .tml-detail-grid{grid-template-columns:1fr}
  .tml-card-head{align-items:flex-start}
  .tml-modal-query{max-width:calc(100vw - 180px)}
}
@media (max-width:720px){
  .tml-modal{
    width:calc(100vw - 16px);
    max-height:calc(100vh - 70px);
    border-radius:6px;
  }
  .tml-modal-title{font-size:16px}
  .tml-terminal-tabs{grid-template-columns:1fr}
  .tml-terminal-badge{min-height:28px;padding:5px 8px;font-size:12px}
  .tml-detail-grid{grid-template-columns:1fr}
  .tml-detail-row,
  .tml-detail-row.tml-change-row{
    grid-template-columns:78px minmax(0,1fr);
    gap:8px;
    padding:8px 10px;
  }
  .tml-detail-row.tml-change-row .tml-change-tag{
    grid-column:2;
    justify-self:start;
  }
  .tml-modal-foot{position:sticky;bottom:0;background:#fff;padding-top:8px}
}

#shell,
#login-overlay,
#ai-panel,
#ai-toggle{
  -webkit-app-region:no-drag;
}
#sb-resizer{
  width:4px !important;
  right:0 !important;
  z-index:80 !important;
  background:#e2e8f0 !important;
  -webkit-app-region:no-drag;
}
#sb-resizer:hover,
#sb-resizer.dragging{
  background:#003E6F !important;
}

/* Sidebar mode tabs: retain the backup styling while fitting the new terminal tab. */
.sb-mode-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;overflow:hidden}
#sbt-bkg[style],
#sbt-tml[style],
#sbt-rt[style]{
  width:100% !important;
  min-width:0 !important;
  padding:11px 2px !important;
  overflow:hidden;
  font-size:12px !important;
  white-space:nowrap;
  background:#fff !important;
  color:#64748b !important;
  font-weight:700 !important;
  border-bottom:3px solid transparent !important;
  box-shadow:none !important;
  transition:border-color .16s ease;
}
#sbt-bkg.sbt-active,
#sbt-tml.sbt-active,
#sbt-rt.sbt-active{
  background:#eef7ff !important;
  color:#003E6F !important;
  font-weight:800 !important;
  border-bottom-color:#1E88BC !important;
  box-shadow:none !important;
}
#sbt-bkg:focus-visible,
#sbt-tml:focus-visible,
#sbt-rt:focus-visible{
  outline:2px solid rgba(30,136,188,.38);
  outline-offset:-3px;
}

#cl-cmdbar{display:none !important}
#pg-cl .chips-bar{margin:16px 0 12px !important}

/* DSF 1A 공통 알림·확인 팝업 */
.dsf-dialog-root{position:fixed;inset:0;z-index:220000;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--sans)}
.dsf-dialog-backdrop{position:absolute;inset:0;background:rgba(7,23,38,.58);backdrop-filter:blur(4px)}
.dsf-dialog-panel{position:relative;width:min(620px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 38px));display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #d9e2e8;border-radius:12px;box-shadow:0 28px 90px rgba(2,20,34,.34);animation:dsfDialogIn .18s ease-out}
@keyframes dsfDialogIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.dsf-dialog-strip{height:5px;flex:0 0 5px;display:grid;grid-template-columns:repeat(3,1fr)}
.dsf-dialog-strip i:nth-child(1){background:#EBAF37}.dsf-dialog-strip i:nth-child(2){background:#1E88BC}.dsf-dialog-strip i:nth-child(3){background:#E4305D}
.dsf-dialog-content{min-height:0;padding:22px 22px 16px;overflow:auto;background:#fff}
.dsf-dialog-title-row{display:flex;align-items:center;margin-bottom:14px}
.dsf-dialog-title-row h2{margin:0;color:#0f2f49;font-size:17px;line-height:1.35;font-weight:900;letter-spacing:-.2px}
.dsf-dialog-message{margin:0;max-height:55vh;overflow:auto;padding:14px 15px;border:1px solid #dce7ef;border-radius:8px;background:#f7fafc;color:#233b4e;font:500 12px/1.65 var(--sans);white-space:pre-wrap;word-break:break-word;scrollbar-color:#9db5c6 transparent}
.dsf-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 15px;border-top:1px solid #e5edf3;background:#fff}
.dsf-dialog-btn{min-width:88px;padding:9px 17px;border-radius:6px;font-family:var(--sans);font-size:11px;font-weight:850;letter-spacing:.3px;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}
.dsf-dialog-btn:hover{transform:translateY(-1px)}
.dsf-dialog-btn:focus-visible{outline:3px solid rgba(14,116,171,.24);outline-offset:2px}
.dsf-dialog-btn.primary{border:1px solid #003E6F;background:#003E6F;color:#fff;box-shadow:0 5px 14px rgba(0,62,111,.2)}
.dsf-dialog-btn.primary:hover{background:#002f55}
.tone-danger .dsf-dialog-btn.primary{border-color:#ba3434;background:#c63d3d;box-shadow:0 5px 14px rgba(198,61,61,.18)}
.dsf-dialog-btn.secondary{border:1px solid #cbd8e2;background:#fff;color:#456075}
.dsf-dialog-btn.secondary:hover{background:#f3f7fa}
@media (max-width:620px){.dsf-dialog-root{padding:12px}.dsf-dialog-content{padding:17px 15px 13px}.dsf-dialog-actions{padding:11px 14px 13px}.dsf-dialog-message{max-height:58vh}}

/* Booking OCR review: original document + editable extraction */
body.bkg-ocr-review-open{overflow:hidden!important}
#bkg-ocr-review-modal{position:fixed;inset:0;z-index:90000;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--sans)}
.bkg-ocr-review-backdrop{position:absolute;inset:0;background:rgba(7,23,38,.62);backdrop-filter:blur(4px)}
.bkg-ocr-review-panel{position:relative;width:min(1440px,calc(100vw - 48px));height:min(900px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9e2e8;border-radius:12px;background:#fff;box-shadow:0 30px 90px rgba(2,20,34,.4)}
.bkg-ocr-review-strip{height:5px;flex:0 0 5px;display:grid;grid-template-columns:repeat(3,1fr)}
.bkg-ocr-review-strip i:nth-child(1){background:#EBAF37}.bkg-ocr-review-strip i:nth-child(2){background:#1E88BC}.bkg-ocr-review-strip i:nth-child(3){background:#E4305D}
.bkg-ocr-review-head{min-height:68px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-bottom:1px solid #dce5eb;background:#fff}
.bkg-ocr-review-head h2{margin:0;color:#0f2f49;font-size:18px;font-weight:900}.bkg-ocr-review-head p{margin:4px 0 0;color:#6b7f8e;font-size:11px;font-weight:700}
.bkg-ocr-review-actions{display:flex;align-items:center;gap:7px}.bkg-ocr-layout-btn{height:34px;padding:0 12px;border:1px solid #cbd8e2;border-radius:6px;background:#fff;color:#50697b;font-size:11px;font-weight:850;cursor:pointer}.bkg-ocr-layout-btn.active{border-color:#003E6F;background:#003E6F;color:#fff}
.bkg-ocr-review-close{width:36px;height:36px;border:1px solid #cbd8e2;border-radius:6px;background:#fff;color:#0f2f49;font-size:22px;line-height:1;cursor:pointer}
.bkg-ocr-review-layout{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(470px,1fr)}
.bkg-ocr-review-panel.data-only .bkg-ocr-review-layout{grid-template-columns:1fr}.bkg-ocr-review-panel.data-only .bkg-ocr-original-pane{display:none}
.bkg-ocr-original-pane,.bkg-ocr-data-pane{min-width:0;min-height:0;display:flex;flex-direction:column}.bkg-ocr-original-pane{border-right:1px solid #cdd9e2;background:#344754}
.bkg-ocr-pane-head{min-height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:1px solid #dce5eb;background:#f8fafc;color:#0f2f49}
.bkg-ocr-pane-head b{font-size:12px;font-weight:900}.bkg-ocr-pane-head span{font-size:10px;font-weight:700;color:#718594}
.bkg-ocr-viewer{min-height:0;flex:1;padding:14px;background:#344754}.bkg-ocr-viewer iframe{width:100%;height:100%;display:block;border:0;background:#fff}.bkg-ocr-viewer img{width:100%;height:100%;display:block;object-fit:contain;background:#263945}
.bkg-ocr-data-pane{background:#f7fafc}.bkg-ocr-review-host{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;padding:14px}
#bkg-ocr-review-modal,#bkg-ocr-review-modal *{font-family:var(--sans)!important}
#bkg-ocr-review-modal #bkg-ocr-status{margin:0 0 10px!important;padding:10px 12px!important;border-radius:6px!important;font-size:12px!important}
#bkg-ocr-review-modal #bkg-ocr-result{min-height:0!important;max-height:none!important;flex:1!important;margin:0!important;overflow:hidden!important;border:1px solid #d8e3ea!important;border-radius:8px!important;background:#fff}
#bkg-ocr-review-modal #bkg-ocr-result>div:first-child{padding:10px 12px!important;border-bottom:1px solid #dce5eb;background:#eef4f7!important;color:#0f2f49!important;font-size:12px!important}
#bkg-ocr-review-modal #bkg-ocr-fields{min-height:0!important;max-height:none!important;flex:1!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:10px!important;padding:12px!important;overflow-y:auto!important}
#bkg-ocr-review-modal .bkg-ocr-field-row{grid-column:span 3;display:block!important;min-width:0}
#bkg-ocr-review-modal .bkg-ocr-field-row[data-field="ETD"],#bkg-ocr-review-modal .bkg-ocr-field-row[data-field="ETB"],#bkg-ocr-review-modal .bkg-ocr-field-row[data-field="ETA"]{grid-column:span 2}
#bkg-ocr-review-modal .bkg-ocr-field-row>span{display:block!important;min-width:0!important;margin-bottom:5px;color:#63798a!important;font-size:10px!important;font-weight:800}
#bkg-ocr-review-modal .bkg-ocr-field-row>input{width:100%;height:34px;padding:0 9px!important;border:1px solid #cbd8e1!important;border-radius:5px!important;background:#fff;font-size:12px!important;box-sizing:border-box}
#bkg-ocr-review-modal .bkg-ocr-target-block{grid-column:1/-1;margin-top:2px!important;padding-top:12px!important}
.bkg-ocr-review-panel.data-only .bkg-ocr-field-row{grid-column:span 2}
#bkg-ocr-review-modal #bkg-ocr-result>div:last-child{position:static!important;flex:0 0 auto;padding:11px 12px!important;border-top:1px solid #dce5eb!important;background:#fff}
#bkg-ocr-review-modal #btn-bkg-ocr-apply{min-height:38px;background:#003E6F!important;font-size:12px!important}#bkg-ocr-review-modal #btn-bkg-ocr-cancel{min-height:38px;font-size:12px!important}
@media(max-width:980px){#bkg-ocr-review-modal{padding:12px}.bkg-ocr-review-panel{width:calc(100vw - 24px);height:calc(100vh - 24px)}.bkg-ocr-review-layout{grid-template-columns:1fr;grid-template-rows:minmax(300px,1fr) minmax(330px,1fr)}.bkg-ocr-original-pane{border-right:0;border-bottom:1px solid #cdd9e2}.bkg-ocr-review-layout .bkg-ocr-pane-head span{display:none}}

/* DSF terminal board: stable geometry, readable schedule comparison */
#pg-tsch,.sch-tml-board-shell,.tsch-board-booking-modal{font-family:var(--sans)}
#tsch-wrapper{scrollbar-gutter:stable;overscroll-behavior:contain}
body.tml-modal-open #tsch-wrapper,body.tml-modal-open #pg-sch{overflow:hidden!important}
.sch-tml-board-shell{overflow:hidden;border:1px solid #cbd8e2;border-radius:7px;background:#eef2f6}
#sch-body.sch-tml-full{width:100%!important;max-width:none!important;margin:0!important;padding:12px 14px 20px!important;box-sizing:border-box}
.sch-tml-board-shell .tsch-board-root{padding-bottom:18px}

/* TML lookup banner: motion follows real batch progress and stays paused while idle. */
.tml-crane-banner{--crane-cycle:3.2s;--crane-travel:clamp(190px,30vw,520px);height:80px;display:grid;grid-template-columns:minmax(310px,370px) minmax(0,1050px);justify-content:center;overflow:hidden;border-bottom:1px solid #c7d6e2;background:linear-gradient(180deg,#f7fbfd 0%,#e7f0f7 62%,#dbe8f2 100%);transition:height .3s ease,opacity .3s ease}
.tml-crane-copy{position:relative;z-index:4;display:flex;justify-content:center;flex-direction:column;padding:10px 18px;background:linear-gradient(90deg,#f8fbfd 78%,rgba(248,251,253,.5));box-sizing:border-box}
.tml-crane-state{display:flex;align-items:center;gap:7px;min-height:15px}
.tml-crane-state>i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#7890a2}
.tml-crane-state>b{color:#64748b;font-family:var(--mono)!important;font-size:9.5px;font-weight:950;letter-spacing:1.5px}
.tml-crane-state>span{color:#6f8190;font-size:9.5px;font-weight:800;letter-spacing:.25px}
.tml-crane-copy>strong{min-width:0;overflow:hidden;margin-top:4px;color:#15293a;font-size:13px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.tml-crane-progress{display:flex;align-items:center;gap:9px;margin-top:7px}
.tml-crane-progress>span{width:min(190px,70%);height:4px;overflow:hidden;border-radius:4px;background:#d2dee8}
.tml-crane-progress>span>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1E88BC,#EBAF37);transition:width .42s ease}
.tml-crane-progress>b{color:#003E6F;font-family:var(--mono)!important;font-size:10.5px;font-weight:900;white-space:nowrap}
.tml-crane-scene{position:relative;min-width:0;overflow:hidden}
.tml-crane-water{position:absolute;left:-140px;width:calc(100% + 280px);height:1px;opacity:.7;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 30px,transparent 30px 88px)}
.tml-crane-water.wave-a{bottom:10px}.tml-crane-water.wave-b{bottom:4px;opacity:.48;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 42px,transparent 42px 116px)}
.tml-crane-scene:after{content:'';position:absolute;right:0;bottom:0;left:0;height:18px;background:linear-gradient(180deg,#b9d2e5,#a8c5dc);z-index:0}
.tml-crane-yard{position:absolute;bottom:18px;left:2%;width:96px;height:28px;z-index:2}
.tml-crane-yard>i{position:absolute;width:35px;height:11px;background:#41526A;box-shadow:inset 0 -3px 4px rgba(0,0,0,.18)}
.tml-crane-yard>i:nth-child(1){left:0;bottom:0}.tml-crane-yard>i:nth-child(2){left:0;bottom:12px;background:#1E88BC}.tml-crane-yard>i:nth-child(3){left:43px;bottom:0;background:#EBAF37}.tml-crane-yard>i:nth-child(4){left:43px;bottom:12px;background:#E4305D}
.tml-crane-ship{position:absolute;right:2%;bottom:17px;width:44%;height:19px;z-index:1;background:linear-gradient(180deg,#41526A,#22303f);clip-path:polygon(1% 0,100% 0,95% 100%,3% 100%)}
.tml-crane-ship:before{content:'';position:absolute;right:8%;bottom:18px;width:45px;height:18px;background:#41526A;box-shadow:inset 0 5px #cfe0ee}
.tml-crane-ship>i{position:absolute;top:-12px;width:34px;height:11px;background:#33445c}.tml-crane-ship>i:nth-child(1){left:8%}.tml-crane-ship>i:nth-child(2){left:28%;background:#2b6f8f}.tml-crane-ship>i:nth-child(3){left:48%;background:#c2762b}
.tml-crane-frame{position:absolute;inset:0;z-index:2}
.tml-crane-frame>i{position:absolute;display:block;background:#22496b}
.tml-crane-frame>.beam{left:13%;top:8px;width:77%;height:5px;background:#003E6F}
.tml-crane-frame>.leg-a{left:30%;top:13px;width:6px;height:51px}.tml-crane-frame>.leg-b{left:46%;top:13px;width:6px;height:51px}.tml-crane-frame>.base{left:29%;bottom:15px;width:19%;height:5px;background:#1b3a57}
.tml-crane-frame>.beacon{left:34%;top:1px;width:8px;height:8px;border-radius:50%;background:#E4305D}
.tml-crane-trolley{position:absolute;left:17%;top:11px;width:0;height:0;z-index:3;will-change:transform}
.tml-crane-wheel{position:absolute;left:-16px;top:0;width:32px;height:9px;border-radius:2px;background:#1E88BC}
.tml-crane-cable{position:absolute;left:-1px;top:9px;width:2px;height:13px;background:#728da2;transform-origin:top;will-change:transform}
.tml-crane-hoist{position:absolute;left:0;top:21px;width:0;height:0;will-change:transform}
.tml-crane-hoist>i{position:absolute;left:-20px;top:0;width:40px;height:4px;background:#2b4a68}.tml-crane-hoist>b{position:absolute;left:-18px;top:4px;width:36px;height:11px;background:#E4305D;box-shadow:inset 0 -3px 4px rgba(0,0,0,.2);will-change:opacity}
.tml-crane-banner.is-running .tml-crane-state>i{background:#E4305D;animation:tmlCranePulse 1.4s ease-in-out infinite}.tml-crane-banner.is-running .tml-crane-state>b{color:#d9234e}
.tml-crane-banner.is-running .tml-crane-trolley{animation:tmlCraneTrolley var(--crane-cycle) cubic-bezier(.45,0,.25,1) infinite}
.tml-crane-banner.is-running .tml-crane-cable{animation:tmlCraneCable var(--crane-cycle) cubic-bezier(.45,0,.25,1) infinite}
.tml-crane-banner.is-running .tml-crane-hoist{animation:tmlCraneHoist var(--crane-cycle) cubic-bezier(.45,0,.25,1) infinite}
.tml-crane-banner.is-running .tml-crane-hoist>b{animation:tmlCraneCarry var(--crane-cycle) linear infinite}.tml-crane-banner.is-running .tml-crane-stage{animation:tmlCraneStage var(--crane-cycle) linear infinite}
.tml-crane-banner.is-running .wave-a{animation:tmlCraneWave 14s linear infinite}.tml-crane-banner.is-running .wave-b{animation:tmlCraneWave 22s linear infinite}.tml-crane-banner.is-running .beacon{animation:tmlCraneBeacon 3.4s ease-in-out infinite}
.tml-crane-banner.is-complete .tml-crane-state>i{background:#16a34a}.tml-crane-banner.is-complete .tml-crane-state>b{color:#15803d}.tml-crane-banner.is-complete .tml-crane-progress>span>i{background:#22a06b}
.tml-crane-banner.is-error .tml-crane-state>i{background:#dc2626}.tml-crane-banner.is-error .tml-crane-state>b,.tml-crane-banner.is-error .tml-crane-copy>strong{color:#b91c1c}.tml-crane-banner.is-error .tml-crane-progress>span>i{background:#dc2626}
.tml-crane-banner.is-compact{height:42px;grid-template-columns:1fr}.tml-crane-banner.is-compact .tml-crane-scene{display:none}.tml-crane-banner.is-compact .tml-crane-copy{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:14px;padding:6px 18px;background:#f3faf6}.tml-crane-banner.is-compact .tml-crane-copy>strong{margin:0}.tml-crane-banner.is-compact .tml-crane-progress{margin:0}.tml-crane-banner.is-compact .tml-crane-state>span{display:none}
@keyframes tmlCraneTrolley{0%,26%{transform:translateX(0)}48%,74%{transform:translateX(var(--crane-travel))}92%,100%{transform:translateX(0)}}
@keyframes tmlCraneHoist{0%,8%{transform:translateY(12px)}20%,48%{transform:translateY(0)}56%,62%{transform:translateY(6px)}74%,92%{transform:translateY(0)}100%{transform:translateY(12px)}}
@keyframes tmlCraneCable{0%,8%,100%{transform:scaleY(1.9)}20%,48%,74%,92%{transform:scaleY(1)}56%,62%{transform:scaleY(1.45)}}
@keyframes tmlCraneCarry{0%,9%{opacity:0}12%,57%{opacity:1}58%,100%{opacity:0}}
@keyframes tmlCraneStage{0%,9%{opacity:1}12%,88%{opacity:0}92%,100%{opacity:1}}
@keyframes tmlCraneWave{from{transform:translateX(0)}to{transform:translateX(-140px)}}
@keyframes tmlCraneBeacon{0%,45%,70%,100%{opacity:.2}52%,62%{opacity:1}}
@keyframes tmlCranePulse{0%,100%{opacity:1}50%{opacity:.3}}
@media(max-width:760px){.tml-crane-banner{grid-template-columns:1fr}.tml-crane-scene{display:none}.tml-crane-copy{background:#f8fbfd}.tml-crane-banner.is-compact .tml-crane-copy{grid-template-columns:auto minmax(0,1fr)}.tml-crane-banner.is-compact .tml-crane-progress{display:none}}
@media(prefers-reduced-motion:reduce){.tml-crane-banner,.tml-crane-banner *{animation:none!important;transition-duration:.01ms!important}}
.tsch-board-search-label{color:#dcecf5;font-size:10.5px;font-weight:850;white-space:nowrap}
.tsch-board-grid{grid-auto-columns:minmax(340px,1fr);scroll-behavior:auto;scrollbar-gutter:stable;overscroll-behavior-x:contain}
.tsch-board-card.ready{border-left:4px solid #1677a5}
.tsch-board-card-vessel b{font-size:15px;line-height:1.3;letter-spacing:.05px}
.tsch-board-card-vessel span{margin-top:3px;font-size:11.5px}
.tsch-board-card-count{padding:4px 7px;font-size:10.5px}
.tsch-board-card-people{display:grid;gap:6px;margin:0 9px 9px;padding:7px;border:1px solid #b8d4e3;border-left:4px solid #0f527a;border-radius:5px;background:#edf6fb;box-shadow:0 1px 2px rgba(15,82,122,.07)}
.tsch-board-party{min-width:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(92px,.75fr);align-items:stretch;gap:6px}
.tsch-board-party-id,.tsch-board-party-shipper{min-width:0;min-height:31px;box-sizing:border-box;display:flex;align-items:center;gap:6px;border:1px solid #cadbe5;border-radius:4px;background:#fff;padding:4px 6px;font-style:normal}
.tsch-board-party-id>i{flex:0 0 auto;border-radius:3px;background:#0f527a;padding:3px 5px;color:#fff;font-family:var(--sans)!important;font-size:9px;font-style:normal;font-weight:950;letter-spacing:.2px}.tsch-board-party-id.bkg>i{background:#b45309}
.tsch-board-party-id>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-family:var(--mono)!important;font-size:12.5px;font-weight:950}
.tsch-board-party-id>u{flex:0 0 auto;color:#64748b;font-size:9.5px;font-weight:850;text-decoration:none;white-space:nowrap}
.tsch-board-party-shipper>i{flex:0 0 auto;color:#64748b;font-size:9px;font-style:normal;font-weight:850}.tsch-board-party-shipper>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172b3a;font-size:12px;font-weight:950}
.tsch-board-card-people-more{display:block;padding-top:5px;border-top:1px dashed #b8cdd9;color:#0f527a;font-size:10.5px;font-weight:900;text-align:right}
.tsch-board-card-compare-head,.tsch-board-card-compare-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr)}
.tsch-board-card-compare-head span,.tsch-board-card-compare-row span{min-height:32px;box-sizing:border-box;display:flex;align-items:center;padding:7px 8px;font-size:12.5px}
.tsch-board-card,.tsch-board-card-vessel b,.tsch-board-card-vessel span,.tsch-board-card-compare-row span{color:#111827}
.tsch-board-card-compare-head span,.tsch-board-card-compare-row span:first-child{color:#263746;font-weight:800}
.tsch-board-card-compare-row span:not(:first-child){font-weight:700}
.tsch-board-card-foot{min-height:34px;box-sizing:border-box}
.tsch-board-card-foot span{font-size:11px}
.tsch-board-card-foot .doc.changed{color:#dc2626;font-weight:900}
.tsch-board-card.changed .tsch-board-card-foot .state{color:#dc2626}
.tsch-board-card-foot .state.settled{color:#15803d;font-weight:900}

/* Imported terminal-board identity colors, completed for all Busan adapters. */
.tsch-board-col[data-terminal="REVIEW"] .tsch-board-col-head{border-bottom-color:#d97706;background:#fff8eb;box-shadow:inset 4px 0 0 #d97706}
.tsch-board-col[data-terminal="UNASSIGNED"] .tsch-board-col-head{border-bottom-color:#64748b;background:#f8fafc;box-shadow:inset 4px 0 0 #64748b}
.tsch-board-col[data-terminal="PNIT"] .tsch-board-col-head{border-bottom-color:#1e88bc;background:#eff8fc;box-shadow:inset 4px 0 0 #1e88bc}.tsch-board-col[data-terminal="PNIT"] .tsch-board-col-head b{color:#1e88bc}
.tsch-board-col[data-terminal="PNC"] .tsch-board-col-head{border-bottom-color:#0f766e;background:#effaf8;box-shadow:inset 4px 0 0 #0f766e}.tsch-board-col[data-terminal="PNC"] .tsch-board-col-head b{color:#0f766e}
.tsch-board-col[data-terminal="HJNC"] .tsch-board-col-head{border-bottom-color:#7c3aed;background:#f7f2ff;box-shadow:inset 4px 0 0 #7c3aed}.tsch-board-col[data-terminal="HJNC"] .tsch-board-col-head b{color:#7c3aed}
.tsch-board-col[data-terminal="HPNT"] .tsch-board-col-head{border-bottom-color:#d97706;background:#fff8eb;box-shadow:inset 4px 0 0 #d97706}.tsch-board-col[data-terminal="HPNT"] .tsch-board-col-head b{color:#b45309}
.tsch-board-col[data-terminal="BNCT"] .tsch-board-col-head{border-bottom-color:#db2777;background:#fff2f8;box-shadow:inset 4px 0 0 #db2777}.tsch-board-col[data-terminal="BNCT"] .tsch-board-col-head b{color:#be185d}
.tsch-board-col[data-terminal="BCT"] .tsch-board-col-head{border-bottom-color:#4f46e5;background:#f3f3ff;box-shadow:inset 4px 0 0 #4f46e5}.tsch-board-col[data-terminal="BCT"] .tsch-board-col-head b{color:#4338ca}
.tsch-board-col[data-terminal="DGT"] .tsch-board-col-head{border-bottom-color:#475569;background:#f4f6f8;box-shadow:inset 4px 0 0 #475569}.tsch-board-col[data-terminal="DGT"] .tsch-board-col-head b{color:#475569}
.tsch-board-col[data-terminal="BPT"] .tsch-board-col-head{border-bottom-color:#003e6f;background:#eff5fa;box-shadow:inset 4px 0 0 #003e6f}.tsch-board-col[data-terminal="BPT"] .tsch-board-col-head b{color:#003e6f}
.tsch-board-col[data-terminal="HKT"] .tsch-board-col-head{border-bottom-color:#15803d;background:#f1fbf4;box-shadow:inset 4px 0 0 #15803d}.tsch-board-col[data-terminal="HKT"] .tsch-board-col-head b{color:#15803d}
.tsch-board-col[data-terminal="KIT"] .tsch-board-col-head{border-bottom-color:#0891b2;background:#ecfeff;box-shadow:inset 4px 0 0 #0891b2}.tsch-board-col[data-terminal="KIT"] .tsch-board-col-head b{color:#0e7490}
.tsch-board-col[data-terminal="HJIT"] .tsch-board-col-head{border-bottom-color:#2563eb;background:#eff6ff;box-shadow:inset 4px 0 0 #2563eb}.tsch-board-col[data-terminal="HJIT"] .tsch-board-col-head b{color:#1d4ed8}
.tsch-board-col[data-terminal="SNCT"] .tsch-board-col-head{border-bottom-color:#9333ea;background:#faf5ff;box-shadow:inset 4px 0 0 #9333ea}.tsch-board-col[data-terminal="SNCT"] .tsch-board-col-head b{color:#7e22ce}

/* Carry each terminal color from the column header into its booking cards. */
.tsch-board-col[data-terminal="REVIEW"]{--terminal-accent:#d97706;--terminal-soft:#fff8eb}
.tsch-board-col[data-terminal="UNASSIGNED"]{--terminal-accent:#64748b;--terminal-soft:#f8fafc}
.tsch-board-col[data-terminal="PNIT"]{--terminal-accent:#1e88bc;--terminal-soft:#eff8fc}
.tsch-board-col[data-terminal="PNC"]{--terminal-accent:#0f766e;--terminal-soft:#effaf8}
.tsch-board-col[data-terminal="HJNC"]{--terminal-accent:#7c3aed;--terminal-soft:#f7f2ff}
.tsch-board-col[data-terminal="HPNT"]{--terminal-accent:#d97706;--terminal-soft:#fff8eb}
.tsch-board-col[data-terminal="BNCT"]{--terminal-accent:#db2777;--terminal-soft:#fff2f8}
.tsch-board-col[data-terminal="BCT"]{--terminal-accent:#4f46e5;--terminal-soft:#f3f3ff}
.tsch-board-col[data-terminal="DGT"]{--terminal-accent:#475569;--terminal-soft:#f4f6f8}
.tsch-board-col[data-terminal="BPT"]{--terminal-accent:#003e6f;--terminal-soft:#eff5fa}
.tsch-board-col[data-terminal="HKT"]{--terminal-accent:#15803d;--terminal-soft:#f1fbf4}
.tsch-board-col[data-terminal="KIT"]{--terminal-accent:#0891b2;--terminal-soft:#ecfeff}
.tsch-board-col[data-terminal="HJIT"]{--terminal-accent:#2563eb;--terminal-soft:#eff6ff}
.tsch-board-col[data-terminal="SNCT"]{--terminal-accent:#9333ea;--terminal-soft:#faf5ff}
.tsch-board-col .tsch-board-list{background:linear-gradient(180deg,var(--terminal-soft,#f5f7fa) 0,#f5f7fa 90px)}
.tsch-board-col .tsch-board-card{border-left:4px solid var(--terminal-accent,#64748b)}
.tsch-board-col .tsch-board-card-people{border-left-color:var(--terminal-accent,#64748b);background:var(--terminal-soft,#edf6fb)}
.tsch-board-card.multi-booking .tsch-board-card-top{background:var(--terminal-soft,#f8fafc)}
.tsch-board-card-count.multiple{border:1px solid var(--terminal-accent,#0f527a);background:#fff;color:var(--terminal-accent,#0f527a);box-shadow:0 0 0 2px var(--terminal-soft,#edf6fb)}
.tsch-board-card-count.multiple:before{content:'●';margin-right:4px;font-size:7px;vertical-align:1px}
.tsch-board-party-id>i,.tsch-board-party-id.bkg>i,.tsch-board-party-id.hbl>i{background:#0f527a}
.tsch-board-party-shipper>i,.tsch-board-party-shipper>strong{color:#111827}
.tsch-board-party-shipper>strong{font-weight:950}
.tsch-board-booking-modal .tml-pill.multi-booking{border-color:#7dd3fc;background:#e0f2fe;color:#075985}

.tsch-board-search-table{width:100%;min-width:1100px;max-width:none;box-sizing:border-box}
.tsch-board-search-row{width:100%;min-height:46px;grid-template-columns:minmax(112px,.7fr) 78px minmax(260px,1.45fr) minmax(90px,.6fr) minmax(130px,.8fr) repeat(3,minmax(130px,.85fr)) 86px;align-items:stretch;text-align:center}
.tsch-board-search-row>span,.tsch-board-search-row>b{display:flex;align-items:center;justify-content:center;min-width:0;padding:7px 6px;font-size:11.5px;line-height:1.25;color:#111827;font-weight:700;text-align:center;box-sizing:border-box}
.tsch-board-search-row.head{min-height:34px}.tsch-board-search-row.head>span{color:#263746;font-size:10.5px;font-weight:900;letter-spacing:.2px}
.tsch-board-search-row .port{white-space:normal;word-break:keep-all;font-family:var(--sans);font-size:10px;font-weight:850;color:#52697b}
.tsch-board-search-row .terminal{font-size:11.5px;color:#0f527a}
.tsch-board-search-row .vessel{position:relative;flex-direction:column;gap:2px;white-space:normal}
.tsch-board-search-row .vessel strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--sans);font-size:12px;color:#111827}
.tsch-board-search-row .vessel small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:9.5px;font-weight:800;color:#607486}
.tsch-board-search-row .vessel em{position:absolute;right:5px;top:4px;border:1px solid #f0b94d;border-radius:999px;background:#fff8e7;padding:1px 5px;color:#9a5a00;font-family:var(--sans);font-size:8px;font-style:normal;font-weight:900}
.tsch-board-search-row .berth,.tsch-board-search-row .route{white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all;font-family:var(--sans);font-size:10.5px}
.tsch-board-search-row .date{white-space:nowrap;font-size:10.5px}.tsch-board-search-row .status{padding-left:4px;padding-right:4px}
.tsch-vessel-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px;min-width:0;padding:0!important;border:0!important;white-space:nowrap;font-family:var(--sans)!important;font-size:9.5px!important;font-weight:950!important}
.tsch-vessel-status>i{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;flex:0 0 21px;border-radius:5px;background:#64748b;color:#fff}
.tsch-vessel-status svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tsch-vessel-status.is-cy-open{color:#468400!important}.tsch-vessel-status.is-cy-open>i{background:#6e9f09}
.tsch-vessel-status.is-expected{color:#52697b!important}.tsch-vessel-status.is-expected>i{background:#70879a}
.tsch-vessel-status.is-berthed{color:#007caf!important}.tsch-vessel-status.is-berthed>i{background:#008bdc}
.tsch-vessel-status.is-departed{color:#c77800!important}.tsch-vessel-status.is-departed>i{background:#f4a800;box-shadow:0 0 0 1px #df9700}
.tsch-vessel-status.is-delayed{color:#c62828!important}.tsch-vessel-status.is-delayed>i{background:#dc3434}
.tsch-vessel-status.is-working{color:#007caf!important}.tsch-vessel-status.is-working>i{background:#008bdc}
.tsch-vessel-status.is-completed{color:#237747!important}.tsch-vessel-status.is-completed>i{background:#33885b}
.tsch-vessel-status.is-unknown{color:#718096!important}.tsch-vessel-status.is-unknown>i{background:#94a3b8}
.tsch-board-search-row.status-departed{box-shadow:inset 4px 0 0 #f4b000;background:#fffaf0}.tsch-board-search-row.status-departed>span,.tsch-board-search-row.status-departed>b{background:#fffaf0;color:#ad6700;font-weight:850}.tsch-board-search-row.status-departed>.status{background:#ffefb8}.tsch-board-search-row.status-departed .vessel strong,.tsch-board-search-row.status-departed .vessel small,.tsch-board-search-row.status-departed .berth,.tsch-board-search-row.status-departed .route,.tsch-board-search-row.status-departed .date{color:#ad6700;font-weight:900}.tsch-board-search-row.status-departed button{border-color:#dfa000;background:#fffdf3;color:#9b5d00}
.tsch-board-search-row button{align-self:center;justify-self:center;width:calc(100% - 10px);min-width:0;min-height:28px;margin:0 5px;padding:3px 4px;box-sizing:border-box;font-size:9.5px}
.tsch-board-search-section{position:relative;z-index:2;margin:10px 14px 18px;overflow:hidden}
.tsch-board-search-section .tsch-native-results{max-height:none;padding:8px 12px 10px;overflow-x:auto;overflow-y:visible;scrollbar-gutter:auto;overscroll-behavior:contain}
.tsch-board-search-row.head{position:sticky;top:0;z-index:3}
.tsch-board-search-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px;background:#f8fafc;border-bottom:1px solid #dbe3ee}
.tsch-board-search-entry .tsch-board-search-form{flex:1;min-width:0}
.tsch-board-search-entry .tsch-board-search-label{color:#334155;font-size:11px}
.tsch-board-search-entry .tsch-board-search-input-wrap{position:relative;flex:1;max-width:560px}
.tsch-board-search-entry .tsch-board-search{width:100%;height:34px;border:1px solid #aebfce;background:#fff;color:#111827}
.tsch-board-search-entry .tsch-board-search::placeholder{color:#94a3b8}
.tsch-board-search-entry .tsch-board-search:focus{border-color:#0f527a;background:#fff;box-shadow:0 0 0 2px rgba(15,82,122,.1)}
.tsch-board-search-entry>span{flex:0 1 520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:750;color:#64748b;text-align:right}
.tsch-board-location-filter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 10px;border-bottom:1px solid #dbe3ee;background:#fff}
.tsch-board-port-filter,.tsch-board-terminal-filter{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:thin}
.tsch-board-port-filter{padding-right:10px;border-right:1px solid #dbe3ee}
.tsch-board-location-filter button{min-height:29px;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;padding:0 10px;border:1px solid #cbd8e2;border-radius:4px;background:#fff;color:#52697b;font-family:var(--sans);font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}
.tsch-board-location-filter button b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#eef3f7;color:#607486;font-family:var(--mono);font-size:9px}
.tsch-board-location-filter button.on{border-color:#0f527a;background:#0f527a;color:#fff;box-shadow:0 1px 3px rgba(15,82,122,.18)}
.tsch-board-location-filter button.on b{background:rgba(255,255,255,.18);color:#fff}
.tsch-board-operation-unavailable{display:flex;align-items:center;justify-content:center;color:#94a3b8!important;font-size:10.5px!important}
.tsch-board-search-pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;border-top:1px solid #dbe3ee;background:#f8fafc}
.tsch-board-search-pager button{min-width:58px;height:28px;border:1px solid #aebfce;border-radius:4px;background:#fff;color:#0f527a;font-size:10.5px;font-weight:850}
.tsch-board-search-pager button:disabled{opacity:.4}
.tsch-board-search-pager span{font-family:var(--mono);font-size:10.5px;font-weight:800;color:#64748b}

.tml-board-terminal-picker{margin-bottom:10px;padding:10px;border:1px solid #c9d7e2;border-radius:6px;background:#f7fafc}
.tml-board-terminal-picker.is-loading{border-color:#3d8fb8;background:#f0f8fc}
.tml-board-terminal-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.tml-board-terminal-picker-head>div{min-width:0}.tml-board-terminal-picker-head b,.tml-board-terminal-picker-head span{display:block}.tml-board-terminal-picker-head b{color:#15384f;font-size:12px;font-weight:950}.tml-board-terminal-picker-head span{margin-top:2px;color:#6b7f8f;font-size:9.5px;font-weight:750}
.tml-board-terminal-picker-head em{max-width:48%;color:#0f527a;font-family:var(--mono);font-size:9.5px;font-style:normal;font-weight:850;text-align:right}
.tml-board-port-options,.tml-board-terminal-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tml-board-terminal-options{margin-top:7px;padding-top:7px;border-top:1px solid #dce5eb}.tml-board-terminal-options>span{color:#7b8e9d;font-size:10px;font-weight:750}
.tml-board-port-options button,.tml-board-terminal-options button{min-height:28px;border:1px solid #b9c9d6;border-radius:4px;background:#fff;padding:0 10px;color:#425b6d;font-size:10.5px;font-weight:900;cursor:pointer}.tml-board-port-options button:hover,.tml-board-terminal-options button:hover{border-color:#3d8fb8;color:#0f527a}.tml-board-port-options button.on,.tml-board-terminal-options button.on{border-color:#0f527a;background:#0f527a;color:#fff}.tml-board-port-options button:disabled,.tml-board-terminal-options button:disabled{cursor:wait;opacity:.55}

.tsch-board-booking-modal{width:min(1180px,calc(100vw - 34px))!important;height:min(84vh,860px);max-height:calc(100vh - 48px)!important}
.tsch-board-booking-modal .tml-modal-head{flex:0 0 auto}
.tsch-board-booking-workspace{min-height:0;flex:1;display:grid;grid-template-columns:240px minmax(0,1fr);padding:0!important;overflow:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.tsch-board-booking-tabs{min-width:0;overflow-y:auto;padding:10px;border-right:1px solid #d8e2ea;background:#f5f8fa;scrollbar-gutter:stable}
.tsch-board-booking-tab{width:100%;display:block;margin:0 0 7px;padding:10px;border:1px solid #cbd8e2;border-radius:6px;background:#fff;text-align:left;color:#334b5d;cursor:pointer}
.tsch-board-booking-tab:last-child{margin-bottom:0}
.tsch-board-booking-tab b,.tsch-board-booking-tab span,.tsch-board-booking-tab small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsch-board-booking-tab b{font-family:var(--mono)!important;font-size:12px;color:#0f527a}
.tsch-board-booking-tab span{margin-top:4px;font-size:11px;font-weight:750;color:#687e8e}
.tsch-board-booking-tab small{margin-top:6px;font-size:10.5px;font-style:normal;font-weight:900;color:#0f766e}
.tsch-board-booking-tab.active{border-color:#0f527a;background:#eaf4f9;box-shadow:inset 3px 0 0 #0f527a}
.tsch-board-booking-tab.changed small{color:#dc2626}
.tsch-board-booking-detail{min-width:0;min-height:0;overflow:auto;padding:12px;background:#f8fafc;scrollbar-gutter:stable;overscroll-behavior:contain}
.tsch-board-booking-item{min-width:0}
.tsch-board-booking-head b{font-size:13px}.tsch-board-booking-head span{font-size:12px}
.tsch-board-booking-detail .tml-batch-compare-head span,.tsch-board-booking-detail .tml-batch-compare-row span{justify-content:center;text-align:center}
.tsch-board-booking-detail .tml-batch-compare-row .value.candidate.changed{background:#dcfce7;color:#047857;font-weight:950;box-shadow:inset 0 0 0 1px #a7e6bd}
.tsch-board-booking-actions{position:sticky;bottom:-10px;z-index:4;margin:10px -10px -10px;padding:11px 10px;border-top:1px solid #dbe3ee;background:rgba(255,255,255,.97)}
.tsch-board-booking-actions button{min-height:34px;padding:0 12px;font-size:12px}
.tsch-board-booking-detail .tml-batch-candidates{position:relative;scrollbar-gutter:stable}
.tsch-board-booking-detail .tml-batch-candidate-head>span:last-child{position:sticky;right:0;z-index:3;background:#e8eef5;box-shadow:-5px 0 9px rgba(15,23,42,.08)}
.tsch-board-booking-detail .tml-batch-candidate>span:last-child{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-5px 0 9px rgba(15,23,42,.08)}
.tsch-board-booking-detail .tml-batch-candidate:hover>span:last-child{background:#f8fafc}
.tsch-board-booking-detail .tml-batch-candidate.selected>span:last-child{background:#eff6ff}
.tsch-board-booking-detail .tml-batch-candidates.is-readonly .tml-batch-candidate{cursor:default}
.tsch-board-booking-detail .tml-batch-candidates.is-readonly .tml-batch-select-candidate{border-color:#cbd5e1;background:#f8fafc;color:#64748b;cursor:default}
.tml-batch-stored-note{padding:8px 10px;border:1px solid #dbe4ec;border-top:0;border-radius:0 0 5px 5px;background:#f8fafc;color:#526779;font-size:11px;font-weight:750}

/* Booking detail: show the decision first, keep reference data one click away. */
.tsch-board-card-foot.state-only{justify-content:flex-end}
.tsch-board-booking-detail .tml-batch-compare-head,.tsch-board-booking-detail .tml-batch-compare-row{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)}
.tsch-board-booking-detail .tml-batch-compare-head span:nth-child(4),.tsch-board-booking-detail .tml-batch-compare-row .state{display:none}
.tsch-board-booking-detail .tml-batch-compare-head span:nth-child(3),.tsch-board-booking-detail .tml-batch-compare-row span:nth-child(3){border-right:0}
.tsch-board-booking-detail .tml-batch-compare.is-changes-only:not(.show-all) .tml-batch-compare-row.is-reference{display:none}
.tsch-board-booking-detail .tml-batch-compare.no-live-change.is-changes-only:not(.show-all) .tml-batch-compare-grid{display:none}
.tsch-board-booking-detail .tml-batch-section-title>div{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.tsch-board-booking-detail .tml-batch-section-title>div>b{font-size:13px;color:#172a3a}
.tsch-board-booking-detail .tml-batch-section-title>div>em{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#fee2e2;color:#b91c1c;padding:0 8px;font-size:10.5px;font-style:normal;font-weight:950}
.tsch-board-booking-detail .tml-batch-section-title>div>em.settled{background:#dcfce7;color:#15803d}
.tsch-board-booking-detail .tml-batch-section-title>div>small{flex-basis:100%;font-size:10.5px;font-weight:750;color:#718293}
.tsch-board-booking-detail [data-tml-compare-toggle]{flex:0 0 auto;min-height:29px;border:1px solid #aebfce;border-radius:4px;background:#fff;color:#0f527a;padding:0 9px;font-size:10.5px;font-weight:900;cursor:pointer}
.tsch-board-support-details,.tsch-board-candidate-details{margin:0 0 9px;border:1px solid #cbd8e2;border-radius:6px;background:#fff;overflow:hidden}
.tsch-board-support-details>summary,.tsch-board-candidate-details>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:38px;padding:0 11px;background:#f8fafc;color:#334b5d;cursor:pointer}
.tsch-board-support-details>summary::-webkit-details-marker,.tsch-board-candidate-details>summary::-webkit-details-marker{display:none}
.tsch-board-support-details>summary:before,.tsch-board-candidate-details>summary:before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #b8c7d4;border-radius:3px;background:#fff;color:#0f527a;font-family:var(--mono);font-size:13px;font-weight:900}
.tsch-board-support-details[open]>summary:before,.tsch-board-candidate-details[open]>summary:before{content:'−'}
.tsch-board-support-details>summary b,.tsch-board-candidate-details>summary b{font-size:11.5px;font-weight:900;color:#17354a}
.tsch-board-support-details>summary span,.tsch-board-candidate-details>summary span{font-size:10.5px;font-weight:750;color:#6b7f8f}
.tsch-board-support-details>summary em{margin-left:auto;font-size:10px;font-style:normal;font-weight:850;color:#8293a2}
.tsch-board-support-details .tml-batch-supplement{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:9px;border-top:1px solid #dbe3ee}
.tsch-board-candidate-details>summary b{color:#0f527a}
.tsch-board-candidate-details[open]>summary{border-bottom:1px solid #dbe3ee}
.tsch-board-candidate-details .tml-batch-candidates{border:0;border-radius:0}
.tsch-board-candidate-details .tml-batch-stored-note{border-right:0;border-bottom:0;border-left:0;border-radius:0}

@media(max-width:980px){
  .tsch-board-location-filter{grid-template-columns:1fr}.tsch-board-port-filter{padding-right:0;padding-bottom:7px;border-right:0;border-bottom:1px solid #dbe3ee}
  .tml-board-terminal-picker-head{flex-direction:column}.tml-board-terminal-picker-head em{max-width:none;text-align:left}
  .tsch-board-search-label{display:none}
  .tsch-board-grid{grid-auto-columns:auto}
  .tsch-board-search-entry{align-items:stretch;flex-direction:column}
  .tsch-board-search-entry .tsch-board-search-input-wrap{max-width:none}
  .tsch-board-search-entry>span{flex:auto;text-align:left;white-space:normal}
  .tsch-board-booking-modal{width:calc(100vw - 18px)!important;height:calc(100vh - 28px)}
  .tsch-board-booking-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .tsch-board-booking-tabs{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:8px;border-right:0;border-bottom:1px solid #d8e2ea}
  .tsch-board-booking-tab{flex:0 0 190px;margin:0}
  .tsch-board-booking-detail .tml-batch-compare-head,.tsch-board-booking-detail .tml-batch-compare-row{grid-template-columns:96px minmax(0,1fr) minmax(0,1fr)}
}

/* Terminal schedule: compact controls and a calm seven-column operations table. */
#pg-tsch{background:#f3f6f8!important}
#pg-tsch .tsch-board-toolbar{min-height:46px;padding:0 18px;background:#0f527a}
#pg-tsch .tsch-board-toolbar-title b{font-size:13px;letter-spacing:.45px}
#pg-tsch .tsch-board-toolbar-title span{font-size:9.5px;color:#c8e0ec}
#pg-tsch .tsch-native-root{box-sizing:border-box;padding:16px 18px 60px}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-section{margin:0;border:1px solid #d4dee6;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(20,49,70,.05);overflow:hidden}
.tsch-schedule-controls{display:grid;grid-template-columns:minmax(330px,1.5fr) 155px 190px auto;gap:8px;align-items:end;padding:13px 14px;background:#fff}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:7px;min-width:0}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-label{display:none}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-input-wrap{position:relative;min-width:0;max-width:none}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-input-wrap>i{position:absolute;left:13px;top:50%;width:10px;height:10px;border:1.8px solid #74899a;border-radius:50%;transform:translateY(-58%);pointer-events:none}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-input-wrap>i:after{content:'';position:absolute;right:-5px;bottom:-3px;width:6px;height:1.8px;border-radius:2px;background:#74899a;transform:rotate(45deg)}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search{width:100%;height:40px;border:1px solid #c7d3dd;border-radius:5px;background:#fff;padding:0 34px 0 37px;color:#172b3a;font-size:12px;font-weight:700;box-shadow:none}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search:focus{border-color:#1777a6;box-shadow:0 0 0 2px rgba(23,119,166,.1)}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search::placeholder{color:#91a1ad;font-weight:650}
.tsch-native-filter-clear{position:absolute;right:7px;top:50%;width:24px;height:24px;border:0!important;border-radius:50%!important;background:transparent!important;color:#7b8f9e!important;padding:0!important;margin:0!important;font-size:17px!important;line-height:22px;transform:translateY(-50%);cursor:pointer}
.tsch-native-filter-clear:hover{background:#eef3f6!important;color:#173b52!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-btn{height:40px;border:1px solid #0f527a;border-radius:5px;background:#0f527a;color:#fff;padding:0 13px;font-size:11px;font-weight:850;box-shadow:none}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-btn:hover{background:#0b4668}
.tsch-board-port-filter,.tsch-board-terminal-filter{display:block;min-width:0;overflow:visible;padding:0;border:0}
.tsch-board-port-filter label,.tsch-board-terminal-filter label{display:block;min-width:0}
.tsch-board-port-filter label>span,.tsch-board-terminal-filter label>span{display:block;margin:0 0 4px;color:#718493;font-family:var(--mono);font-size:8.5px;font-weight:850;letter-spacing:.35px}
.tsch-board-port-filter select,.tsch-board-terminal-filter select{width:100%;height:40px;box-sizing:border-box;border:1px solid #c7d3dd;border-radius:5px;background:#fff;color:#253d4e;padding:0 30px 0 10px;font-size:11px;font-weight:800;outline:none}
.tsch-board-port-filter select:focus,.tsch-board-terminal-filter select:focus{border-color:#1777a6;box-shadow:0 0 0 2px rgba(23,119,166,.1)}
.tsch-schedule-toggle{height:40px;display:flex;align-items:center;gap:8px;padding:0 4px 0 8px;color:#40586a;font-size:10.5px;font-weight:800;white-space:nowrap;cursor:pointer}
.tsch-schedule-toggle input{position:absolute;opacity:0;pointer-events:none}
.tsch-schedule-toggle i{position:relative;width:34px;height:19px;border-radius:999px;background:#d8e1e7;transition:background .15s}
.tsch-schedule-toggle i:after{content:'';position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,44,63,.25);transition:transform .15s}
.tsch-schedule-toggle input:checked+i{background:#1684b6}.tsch-schedule-toggle input:checked+i:after{transform:translateX(15px)}
.tsch-schedule-statusbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-top:1px solid #edf1f4;border-bottom:1px solid #dbe3e9;background:#f9fbfc;color:#6a7e8d;font-size:9.5px;font-weight:750}
.tsch-schedule-statusbar>div{display:flex;align-items:center;gap:11px;min-width:0}.tsch-schedule-statusbar>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsch-schedule-statusbar b{font-family:var(--mono);font-size:9.5px;color:#365064;white-space:nowrap}
.tsch-schedule-legend{display:inline-flex!important;align-items:center;gap:6px;color:#167e99}.tsch-schedule-legend i{width:7px;height:7px;border-radius:50%;background:#11a7a0}
.tsch-native-health{color:#17815b}.tsch-native-health:before{content:'●';margin-right:5px;font-size:7px}.tsch-native-health.is-warning{color:#c35b17}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-section .tsch-native-results{max-height:none;padding:0;overflow-x:auto;overflow-y:visible;background:#fff;scrollbar-gutter:auto}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-table{width:100%;min-width:960px;border:0;border-radius:0;overflow:visible}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row{width:100%;min-height:54px;grid-template-columns:minmax(150px,1.05fr) minmax(220px,1.55fr) minmax(110px,.75fr) minmax(108px,.7fr) repeat(3,minmax(135px,.92fr));align-items:stretch;border-top:1px solid #e4e9ed;background:#fff;box-shadow:none;text-align:center}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.head{min-height:35px;position:sticky;top:0;z-index:3;border-top:0;background:#f5f8fa}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>span{min-width:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:7px 10px;border-right:0;color:#172b3a;font-size:11px;font-weight:700;line-height:1.3;text-align:center}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.head>span{color:#708492;font-family:var(--sans);font-size:9.5px;font-weight:850;letter-spacing:.15px}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row:not(.head):hover{background:#f8fbfd}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.status-departed,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.status-departed>span{background:#fff;color:#172b3a;box-shadow:none}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.status-departed:hover,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.status-departed:hover>span{background:#f8fbfd}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel{align-items:center;flex-direction:column;gap:3px;text-align:center}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal>span{display:flex;align-items:center;gap:6px;max-width:100%}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal strong,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#12354c;font-size:11.5px;font-weight:850}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel strong{color:#0f527a;font-size:12px}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal small,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8394a1;font-family:var(--sans);font-size:9px;font-weight:700}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel em{right:6px;top:6px;border-color:#d9b66b;background:#fffaf0;color:#8a6418;font-size:7.5px}
.tsch-terminal-link{width:21px!important;height:21px!important;min-height:0!important;margin:0!important;padding:0!important;border:1px solid #cad7df!important;border-radius:4px!important;background:#fff!important;color:#527083!important;font-size:11px!important;font-weight:800!important;line-height:19px!important;cursor:pointer}
.tsch-terminal-link:hover{border-color:#0f527a!important;color:#0f527a!important;background:#edf6fa!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .voyage{font-family:var(--mono);font-size:10.5px;color:#314c5f}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .date{font-family:var(--mono);font-size:10px;color:#29485d;white-space:nowrap}
#pg-tsch .tsch-vessel-status{gap:5px;font-size:9px!important;font-weight:800!important}
#pg-tsch .tsch-vessel-status>i{width:19px;height:19px;flex-basis:19px;border-radius:4px}
#pg-tsch .tsch-vessel-status svg{width:13px;height:13px}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-pager{padding:9px;border-top:1px solid #dfe6eb;background:#f9fbfc}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-pager button{height:27px;border-color:#c4d0d9;color:#365a70;font-weight:800}
@media(max-width:1080px){.tsch-schedule-controls{grid-template-columns:minmax(300px,1fr) 150px 180px}.tsch-schedule-toggle{grid-column:3;justify-content:flex-end}.tsch-schedule-controls .tsch-board-search-form{grid-column:1/-1}.tsch-schedule-statusbar{align-items:flex-start;flex-direction:column;padding-top:8px;padding-bottom:8px}.tsch-schedule-statusbar>div{width:100%;justify-content:space-between}}

/* Restore the notice editor controls from the pre-update stylesheet. */
.notify-rich-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 6px;padding:7px 8px;background:#fff;border:1px solid #d7dee8;border-radius:4px}
.notify-rich-tool,.notify-rich-reset,.notify-rich-size,.notify-rich-custom-color{height:30px;border:1px solid #cbd5e1;background:#fff;color:#172033;border-radius:4px;font-family:var(--sans);font-size:12px;font-weight:700;box-sizing:border-box}
.notify-rich-tool{width:32px;padding:0;cursor:pointer}
.notify-rich-tool:hover,.notify-rich-reset:hover{border-color:var(--navy);background:#f8fafc}
.notify-rich-size{width:72px;padding:0 7px}
.notify-rich-custom-color{position:relative;width:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.notify-rich-custom-color span{font-size:15px;font-weight:800;text-decoration:underline;text-decoration-color:#c00000;text-decoration-thickness:3px;text-underline-offset:4px}
.notify-rich-custom-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.notify-rich-palette{display:inline-flex;align-items:center;gap:4px;padding:0 2px}
.notify-rich-swatch{width:24px;height:24px;padding:0;border:1px solid #cbd5e1;border-radius:3px;background:var(--notify-swatch);box-shadow:inset 0 0 0 2px #fff;cursor:pointer}
.notify-rich-swatch:hover{outline:2px solid #94a3b8;outline-offset:1px}
.notify-rich-reset{padding:0 10px;cursor:pointer;margin-left:auto}
.notify-rich-status{margin:0 0 7px;color:#64748b;font-family:var(--sans);font-size:11px;line-height:1.4}
.notify-rich-status.is-error{color:#b91c1c;font-weight:700}
.notify-rich-status.is-success{color:#15803d;font-weight:700}
.notify-inline-save{padding:6px 12px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:#fff;font:700 11px var(--sans);cursor:pointer;white-space:nowrap}
.notify-inline-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 8px;font:11px var(--sans);color:#64748b}
.notify-inline-reset{border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#475569;padding:5px 8px;cursor:pointer;white-space:nowrap}
.notify-table-wrap [data-notify-account-field]:focus{outline:2px solid #4472c4;outline-offset:-2px}
.notify-table-wrap [data-notify-rich-unit]{user-select:text;cursor:text}

/* FWD OPS update build 1.0.6: restore pre-update typography. */
#sbt-bkg[style]{font-size:14px!important}
#sbt-rt[style]{font-size:13px!important}

.exw-panel-shell,
.exw-panel-shell button,
.exw-panel-shell input,
.exw-panel-shell select,
.exw-panel-shell textarea{font-family:var(--sans)!important;letter-spacing:0!important}
.exw-autosave-note{font-size:12px;font-weight:700}
.exw-local-table .exw-lc-input{font-size:13px!important;font-weight:700!important}

.eta-progress-heading h2{font-size:18px;font-weight:900;letter-spacing:-.3px}
.eta-progress-brand{font-size:12px;font-weight:950;letter-spacing:1.2px}
.eta-progress-pct{font-size:21px;line-height:28px;font-weight:950}
.eta-progress-reference{font-size:11px;font-weight:800;letter-spacing:.15px}
.eta-progress-steps li span{font-size:10px;font-weight:900}
.eta-progress-steps li b{font-size:10px;line-height:1.35;font-weight:850}
.eta-progress-detail{font-size:11px;line-height:1.55;font-weight:700}

.modal-box,.modal-box *,.dg-modal-box,.dg-modal-box *,.tml-modal,.tml-modal *,
#alarm-modal>div,#alarm-modal>div *,#claude-api-modal>div,#claude-api-modal>div *,
#bkg-ocr-claude-notice>div,#bkg-ocr-claude-notice>div *,#file-cleanup-modal>div,#file-cleanup-modal>div *,
#pod-hbl-modal>div,#pod-hbl-modal>div *,#mj-multi-modal>div,#mj-multi-modal>div *,#hi-modal>div,#hi-modal>div *{font-family:var(--sans)!important}

/* New TML board: keep the pre-update font hierarchy and compact text rhythm. */
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>span,
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>b{font-family:var(--mono);font-size:10.5px;line-height:normal;text-align:left}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>span{font-weight:400}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>b{font-weight:700}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.head>span{font-family:var(--sans);font-size:10.5px;font-weight:900;text-align:left}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .port,
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal,
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .berth,
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .route,
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .date{font-family:var(--mono);font-size:10.5px;font-weight:400}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel strong{font-family:var(--mono);font-size:10.5px;font-weight:700}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel small{font-family:var(--mono);font-size:9.5px;font-weight:700}
#pg-tsch .tsch-vessel-status{font-family:var(--sans)!important;font-size:9.5px!important;font-weight:700!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row button{font-size:10.5px;font-weight:700}

#pg-tsch .tsch-board-card-vessel b{font-size:12.5px;line-height:normal;letter-spacing:0}
#pg-tsch .tsch-board-card-vessel span{margin-top:2px;font-family:var(--mono);font-size:10.5px;font-weight:800}
#pg-tsch .tsch-board-card-count{font-family:var(--mono);font-size:9.5px;font-weight:900}
#pg-tsch .tsch-board-card-compare-head span,
#pg-tsch .tsch-board-card-compare-row span{font-family:var(--mono);font-size:10px;font-weight:400}
#pg-tsch .tsch-board-card-compare-head span{font-family:var(--sans);font-weight:900}
#pg-tsch .tsch-board-card-compare-row span:first-child{font-family:var(--sans);font-weight:850}
#pg-tsch .tsch-board-card-foot span{font-size:10px}
#pg-tsch .tsch-board-party-id>strong{font-family:var(--mono)!important;font-size:12px;font-weight:700}
#pg-tsch .tsch-board-party-shipper>strong{font-size:12px;font-weight:700}
#pg-tsch .tsch-board-booking-head b{font-family:var(--mono);font-size:12px}
#pg-tsch .tsch-board-booking-head span{font-size:11px}
#pg-tsch .tsch-board-booking-actions button{font-size:11px}

/* Typography rule: Aptos for Latin text with prominent booking and shipper identity. */
.sbi-bkg,.tb-txt.bkg,#pg-ov .ovt-bkg,#cl-cmdbar .cb-bkg{font-weight:800!important}
.sbi-bkg{font-size:16.5px!important}
.tb-txt.bkg{font-size:16px!important}
#pg-ov .ovt-bkg{font-size:15.5px!important}
#cl-cmdbar .cb-bkg{font-size:16.5px!important}
.sbi-ship,.tb-txt.ship,#pg-ov .ovt-ship{font-weight:700!important;color:#111827!important}
.sbi-ship{font-size:16px!important}
.tb-txt.ship{font-size:15.5px!important}
#pg-ov .ovt-ship{font-size:17px!important}
#cl-cmdbar .cb-ship{font-size:16px!important;font-weight:700!important}

/* Terminal lookup: stable layout with regular-weight Aptos text. */
#pg-tsch,#pg-tsch *,.tml-modal,.tml-modal *{font-family:var(--sans)!important;font-weight:400!important;animation:none!important;transition:none!important}
#pg-tsch .tsch-board-toolbar-title b{font-size:16px!important}
#pg-tsch .tsch-board-toolbar-title span{font-size:12px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-label,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-entry .tsch-board-search-label{font-size:12px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search{font-size:14px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-btn,#pg-tsch .tsch-board-ghost-btn{font-size:13px!important}
#pg-tsch .tsch-board-chip{font-size:12px!important}
#pg-tsch .tsch-board-chip b,#pg-tsch .tsch-board-state{font-size:12px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-head b{font-size:13px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-head span,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-head button,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-entry>span{font-size:12px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>span,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row>b,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.head>span{font-size:12px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .port,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .berth,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .route,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .date,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel strong{font-size:12px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel small,#pg-tsch .tsch-vessel-status{font-size:11px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel em{font-size:10px!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row button,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-pager button,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-pager span{font-size:12px!important}

/* Terminal schedule readability: retain the compact layout with stronger text contrast. */
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search::placeholder{color:#52687a!important;opacity:1;font-weight:650!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-btn{font-weight:750!important}
#pg-tsch .tsch-board-port-filter label>span,#pg-tsch .tsch-board-terminal-filter label>span{margin-bottom:5px;color:#40596b!important;font-size:11px!important;font-weight:750!important;letter-spacing:.2px}
#pg-tsch .tsch-board-port-filter select,#pg-tsch .tsch-board-terminal-filter select{color:#173247!important;font-size:13px!important;font-weight:650!important}
#pg-tsch .tsch-schedule-toggle{color:#29475b!important;font-size:12.5px!important;font-weight:700!important}
#pg-tsch .tsch-schedule-statusbar{min-height:44px;color:#405b6d!important;font-size:12px!important;font-weight:600!important}
#pg-tsch .tsch-schedule-statusbar b{color:#203f54!important;font-size:12px!important;font-weight:700!important}
#pg-tsch .tsch-schedule-legend{color:#087e8a!important;font-weight:700!important}
#pg-tsch .tsch-native-health{color:#08734d!important;font-weight:700!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.head{min-height:41px;background:#edf3f6}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row.head>span{color:#344f61!important;font-size:12.5px!important;font-weight:750!important;letter-spacing:.1px}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row:not(.head)>span{color:#172f40!important;font-size:13px!important;font-weight:600!important;line-height:1.4}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal strong,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel strong{color:#0f4464!important;font-size:13.5px!important;font-weight:750!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .terminal small,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .vessel small{color:#536d7f!important;font-size:11.5px!important;font-weight:600!important}
:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .voyage,:is(#pg-tsch,#schedule-manual-search) .tsch-board-search-row .date{color:#203f54!important;font-size:12.5px!important;font-weight:650!important}
#pg-tsch .tsch-vessel-status{font-size:11.5px!important;font-weight:700!important}
#pg-ov .ovt-row>*{justify-self:center!important;text-align:center!important}
#pg-ov .ovt-status,#pg-ov .ovt-tags{justify-content:center!important}

/* Single-booking terminal lookup: keep geometry on whole pixels while results scroll. */
#tml-lookup-modal{display:flex;align-items:center;justify-content:center}
#tml-lookup-modal .tml-modal{
  position:relative;
  z-index:1;
  left:auto;
  top:auto;
  transform:none;
  height:min(768px,calc(100vh - 82px));
}
#tml-lookup-modal .tml-modal-body{
  overflow-y:scroll;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}

/* Changed values and terminal rows retain emphasis inside the regular-weight modal. */
#tml-lookup-modal .tml-terminal-row .tml-row-label,
#tml-lookup-modal .tml-change-row.changed .tml-apply-value,
#tml-lookup-modal .tml-change-row.changed .tml-change-tag{font-weight:700!important}
#tml-lookup-modal .tml-terminal-row .tml-value-main{font-weight:900!important}

/* The checklist text preference grows inner content without enlarging card headings. */
body.cl-font-custom #pg-cl .info-card-title{font-size:14px!important}
