/* =====================================================================
   CLC Shipment & Job Management System - Navy corporate theme
   ===================================================================== */
:root{
  --clc-navy-950:#061431;--clc-navy-900:#0a1f44;--clc-navy-800:#0d2a5c;--clc-navy-700:#0f2f66;--clc-navy-600:#173f82;--clc-blue:#2563eb;--clc-sky:#3b82f6;
  --clc-bg:#f2f5fa;--clc-card:#fff;--clc-line:#dde4f0;--clc-line-2:#eaeff7;--clc-text:#14233f;--clc-muted:#66758f;
  --clc-ok:#0f8a5f;--clc-ok-bg:#e3f6ee;--clc-warn:#b36b00;--clc-warn-bg:#fff2d9;--clc-bad:#c62d3d;--clc-bad-bg:#fde7ea;--clc-info:#1d5fd1;--clc-info-bg:#e5eefc;--clc-mute-bg:#eceff5;
  --clc-radius:10px;--clc-shadow:0 1px 2px rgba(10,31,68,.06),0 6px 20px rgba(10,31,68,.06);
  --clc-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
body.clc-body{margin:0!important;padding:0!important;background:var(--clc-bg);font-family:var(--clc-font);color:var(--clc-text);-webkit-font-smoothing:antialiased}
.clc-app,.clc-app *,.clc-login-wrap,.clc-login-wrap *,.clc-pub,.clc-pub *{box-sizing:border-box}
.clc-app{font-family:var(--clc-font);font-size:14px;line-height:1.5;color:var(--clc-text);min-height:100vh}
.clc-app h1,.clc-app h2,.clc-app h3,.clc-app h4,.clc-app p{margin:0}
.clc-app a{color:var(--clc-blue);text-decoration:none}
.clc-app button,.clc-app input,.clc-app select,.clc-app textarea{font-family:inherit;font-size:14px;color:inherit}
.clc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.clc-muted{color:var(--clc-muted)}.clc-center{text-align:center}.clc-right{text-align:right}.clc-nowrap{white-space:nowrap}.clc-strong{font-weight:600}.clc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.clc-link{color:var(--clc-blue);cursor:pointer}.clc-link:hover{text-decoration:underline}

/* ---- boot ---- */
.clc-boot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:14px;color:var(--clc-muted)}
.clc-spinner{width:38px;height:38px;border:4px solid var(--clc-line);border-top-color:var(--clc-navy-700);border-radius:50%;animation:clcspin .8s linear infinite}
@keyframes clcspin{to{transform:rotate(360deg)}}

/* ---- buttons ---- */
.clc-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:8px;border:1px solid var(--clc-line);background:#fff;color:var(--clc-text);font-weight:600;cursor:pointer;transition:.15s;line-height:1.2;white-space:nowrap;text-decoration:none}
.clc-btn:hover{border-color:#b9c6dd;background:#f7f9fd}
.clc-btn-primary{background:var(--clc-navy-700);border-color:var(--clc-navy-700);color:#fff!important}
.clc-btn-primary:hover{background:var(--clc-navy-600);border-color:var(--clc-navy-600)}
.clc-btn-danger{background:#fff;border-color:#f0c2c8;color:var(--clc-bad)!important}.clc-btn-danger:hover{background:var(--clc-bad-bg);border-color:#e59aa3}
.clc-btn-success{background:var(--clc-ok);border-color:var(--clc-ok);color:#fff!important}.clc-btn-success:hover{background:#0b7550}
.clc-btn-ghost{background:transparent;border-color:transparent}.clc-btn-ghost:hover{background:var(--clc-mute-bg);border-color:transparent}
.clc-btn-sm{padding:6px 11px;font-size:13px;border-radius:7px}
.clc-btn-icon{padding:6px;width:32px;height:32px}
.clc-btn-block{width:100%;padding:12px}
.clc-btn[disabled]{opacity:.55;cursor:not-allowed}
.clc-ico{display:inline-flex;width:18px;height:18px;flex:0 0 auto}.clc-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---- shell layout ---- */
.clc-shell{display:grid;grid-template-columns:262px 1fr;min-height:100vh}
.clc-side{background:linear-gradient(180deg,var(--clc-navy-900),var(--clc-navy-950));color:#c9d6ee;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.clc-brand{display:flex;align-items:center;gap:11px;padding:20px 20px 16px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.clc-brand img{max-height:38px;max-width:46px;object-fit:contain;background:#fff;border-radius:7px;padding:3px}
.clc-logo-mark{width:38px;height:38px;border-radius:9px;background:#fff;color:var(--clc-navy-800);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px}
.clc-brand b{display:block;font-size:14px;line-height:1.2;letter-spacing:.2px}.clc-brand small{display:block;font-size:11px;color:#8fa5cf;letter-spacing:.8px;text-transform:uppercase;margin-top:2px}
.clc-nav{padding:10px 12px 20px;flex:1}
.clc-nav-sec{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:#6f86b3;padding:16px 10px 6px;font-weight:700}
.clc-nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;color:#c9d6ee;font-weight:500;margin-bottom:2px;cursor:pointer}
.clc-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.clc-nav a.on{background:#fff;color:var(--clc-navy-800);font-weight:700}
.clc-side-foot{padding:14px 20px;font-size:11px;color:#6f86b3;border-top:1px solid rgba(255,255,255,.08)}
.clc-main{min-width:0;display:flex;flex-direction:column}
.clc-top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--clc-line);display:flex;align-items:center;gap:14px;padding:10px 26px;min-height:62px}
.clc-burger{display:none}
.clc-gsearch{position:relative;flex:1;max-width:520px}
.clc-gsearch input{width:100%;padding:9px 14px 9px 38px;border:1px solid var(--clc-line);border-radius:9px;background:var(--clc-bg)}
.clc-gsearch input:focus{outline:2px solid var(--clc-sky);background:#fff}
.clc-gsearch .clc-ico{position:absolute;left:12px;top:10px;color:var(--clc-muted)}
.clc-gs-drop{position:absolute;top:44px;left:0;right:0;background:#fff;border:1px solid var(--clc-line);border-radius:10px;box-shadow:var(--clc-shadow);max-height:70vh;overflow:auto;z-index:50}
.clc-gs-drop h5{margin:0;padding:8px 14px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--clc-muted);background:var(--clc-bg)}
.clc-gs-item{display:flex;justify-content:space-between;gap:10px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--clc-line-2)}.clc-gs-item:hover{background:var(--clc-info-bg)}
.clc-spacer{flex:1}
.clc-user{position:relative}
.clc-user-btn{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;padding:4px 6px;border-radius:9px}.clc-user-btn:hover{background:var(--clc-bg)}
.clc-avatar{width:34px;height:34px;border-radius:50%;background:var(--clc-navy-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.clc-user-meta{text-align:left;line-height:1.25}.clc-user-meta b{display:block;font-size:13px}.clc-user-meta small{color:var(--clc-muted);font-size:11.5px}
.clc-menu{position:absolute;right:0;top:46px;background:#fff;border:1px solid var(--clc-line);border-radius:10px;box-shadow:var(--clc-shadow);min-width:210px;padding:6px;z-index:60}
.clc-menu a,.clc-menu button{display:flex;width:100%;align-items:center;gap:10px;padding:9px 12px;border:0;background:none;border-radius:7px;cursor:pointer;color:var(--clc-text);text-align:left}.clc-menu a:hover,.clc-menu button:hover{background:var(--clc-bg)}
.clc-content{padding:26px;max-width:1500px;width:100%;margin:0 auto}
.clc-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.clc-h1{font-size:22px;font-weight:700;letter-spacing:-.2px;color:var(--clc-navy-900)}.clc-sub{color:var(--clc-muted);margin-top:2px}
.clc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.clc-back{display:inline-flex;align-items:center;gap:6px;color:var(--clc-muted);cursor:pointer;margin-bottom:8px;font-weight:500}.clc-back:hover{color:var(--clc-navy-700)}

/* ---- cards & grids ---- */
.clc-card{background:var(--clc-card);border:1px solid var(--clc-line);border-radius:var(--clc-radius);box-shadow:var(--clc-shadow)}
.clc-card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--clc-line-2);font-weight:700;color:var(--clc-navy-900)}
.clc-card-b{padding:18px}.clc-card-b.np{padding:0}
.clc-grid{display:grid;gap:18px}.clc-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.clc-g4{grid-template-columns:repeat(4,minmax(0,1fr))}.clc-g21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.clc-mt{margin-top:18px}
.clc-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px;margin-bottom:20px}
.clc-kpi{background:#fff;border:1px solid var(--clc-line);border-radius:var(--clc-radius);padding:16px 18px;box-shadow:var(--clc-shadow);position:relative;overflow:hidden;cursor:default}
.clc-kpi.link{cursor:pointer}.clc-kpi.link:hover{border-color:var(--clc-sky)}
.clc-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--clc-navy-700)}
.clc-kpi.warn:before{background:#e09100}.clc-kpi.bad:before{background:var(--clc-bad)}.clc-kpi.good:before{background:var(--clc-ok)}.clc-kpi.info:before{background:var(--clc-sky)}
.clc-kpi .k-label{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--clc-muted);font-weight:600}
.clc-kpi .k-val{font-size:25px;font-weight:700;color:var(--clc-navy-900);margin-top:4px;line-height:1.2}
.clc-kpi .k-sub{font-size:12px;color:var(--clc-muted);margin-top:2px}

/* ---- tables ---- */
.clc-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--clc-line-2)}
.clc-search{position:relative;flex:1;min-width:200px;max-width:340px}.clc-search input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--clc-line);border-radius:8px}.clc-search .clc-ico{position:absolute;left:10px;top:8px;color:var(--clc-muted);width:17px;height:17px}
.clc-select,.clc-input,.clc-textarea{padding:8px 11px;border:1px solid var(--clc-line);border-radius:8px;background:#fff;width:100%}
.clc-toolbar .clc-select,.clc-toolbar .clc-input{width:auto;max-width:190px}
.clc-select:focus,.clc-input:focus,.clc-textarea:focus,.clc-search input:focus{outline:2px solid var(--clc-sky);outline-offset:-1px;border-color:var(--clc-sky)}
.clc-table-wrap{overflow-x:auto}
table.clc-table{width:100%;border-collapse:collapse;min-width:640px}
.clc-table th{background:#f6f8fc;text-align:left;padding:10px 14px;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--clc-muted);font-weight:700;border-bottom:1px solid var(--clc-line);white-space:nowrap;user-select:none}
.clc-table th.sortable{cursor:pointer}.clc-table th.sortable:hover{color:var(--clc-navy-700)}
.clc-table td{padding:11px 14px;border-bottom:1px solid var(--clc-line-2);vertical-align:middle}
.clc-table tbody tr:hover{background:#f8fafe}.clc-table tbody tr.click{cursor:pointer}
.clc-table td.r,.clc-table th.r{text-align:right}
.clc-table .rowact{white-space:nowrap;text-align:right}
.clc-table .main{font-weight:600;color:var(--clc-navy-700)}
.clc-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;color:var(--clc-muted);font-size:13px;flex-wrap:wrap}
.clc-empty{padding:42px 20px;text-align:center;color:var(--clc-muted)}.clc-empty b{display:block;color:var(--clc-text);margin-bottom:4px}
.clc-loading{padding:34px;text-align:center;color:var(--clc-muted)}

/* ---- badges ---- */
.clc-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--clc-mute-bg);color:#46556f}
.clc-badge.ok{background:var(--clc-ok-bg);color:var(--clc-ok)}.clc-badge.warn{background:var(--clc-warn-bg);color:var(--clc-warn)}.clc-badge.bad{background:var(--clc-bad-bg);color:var(--clc-bad)}.clc-badge.info{background:var(--clc-info-bg);color:var(--clc-info)}.clc-badge.navy{background:#dfe6f4;color:var(--clc-navy-700)}
.clc-pill{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11.5px;font-weight:700;background:#eef2fa;color:var(--clc-navy-700)}.clc-pill.dg{background:var(--clc-bad-bg);color:var(--clc-bad)}.clc-pill.urgent{background:var(--clc-warn-bg);color:var(--clc-warn)}

/* ---- tabs ---- */
.clc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--clc-line);margin-bottom:18px;overflow-x:auto}
.clc-tab{padding:11px 16px;border:0;background:none;font-weight:600;color:var(--clc-muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;margin-bottom:-1px}
.clc-tab:hover{color:var(--clc-navy-700)}.clc-tab.on{color:var(--clc-navy-700);border-bottom-color:var(--clc-navy-700)}
.clc-tab .n{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--clc-mute-bg);font-size:11.5px;color:var(--clc-muted)}.clc-tab.on .n{background:var(--clc-info-bg);color:var(--clc-info)}

/* ---- modal / toast ---- */
.clc-modal-back{position:fixed;inset:0;background:rgba(6,20,49,.55);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px;overflow-y:auto;animation:clcfade .15s}
@keyframes clcfade{from{opacity:0}to{opacity:1}}
.clc-modal{background:#fff;border-radius:14px;width:100%;max-width:560px;box-shadow:0 20px 60px rgba(6,20,49,.35);display:flex;flex-direction:column;max-height:92vh;animation:clcpop .18s}
@keyframes clcpop{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
.clc-modal.lg{max-width:760px}.clc-modal.xl{max-width:1040px}.clc-modal.sm{max-width:430px}
.clc-modal-h{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--clc-line-2);font-size:17px;font-weight:700;color:var(--clc-navy-900)}
.clc-modal-b{padding:20px 22px;overflow-y:auto}.clc-modal-f{padding:14px 22px;border-top:1px solid var(--clc-line-2);display:flex;justify-content:flex-end;gap:10px;background:#f9fafd;border-radius:0 0 14px 14px}
.clc-toasts{position:fixed;right:20px;bottom:20px;z-index:2000;display:flex;flex-direction:column;gap:10px}
.clc-toast{background:var(--clc-navy-900);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:var(--clc-shadow);max-width:380px;animation:clcpop .2s;white-space:pre-line}
.clc-toast.err{background:var(--clc-bad)}.clc-toast.ok{background:var(--clc-ok)}

/* ---- forms ---- */
.clc-fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}
.clc-fgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-fgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.clc-field{display:flex;flex-direction:column;gap:5px}.clc-field.w2{grid-column:span 2}.clc-field.w3{grid-column:span 3}.clc-field.w4,.clc-field.full{grid-column:1/-1}
.clc-field>label,.clc-label{font-size:12.5px;font-weight:600;color:#3d4d6a}.clc-field .req{color:var(--clc-bad)}
.clc-field input[type=checkbox]{width:18px;height:18px}.clc-field.chk{flex-direction:row;align-items:center;gap:10px;padding-top:22px}.clc-field.chk>label{margin:0}
.clc-textarea{min-height:76px;resize:vertical}
.clc-fgroup{grid-column:1/-1;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--clc-navy-700);border-bottom:1px solid var(--clc-line);padding-bottom:5px;margin-top:8px}.clc-fgroup:first-child{margin-top:0}
.clc-help{font-size:12px;color:var(--clc-muted)}
.clc-form-msg{padding:10px 14px;border-radius:8px;background:var(--clc-bad-bg);color:var(--clc-bad);margin:10px 0;font-size:13.5px;white-space:pre-line}.clc-form-msg.ok{background:var(--clc-ok-bg);color:var(--clc-ok)}
.clc-form-msg[hidden]{display:none}
.clc-alert{padding:12px 16px;border-radius:9px;background:var(--clc-warn-bg);color:#7a4a00;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}.clc-alert.bad{background:var(--clc-bad-bg);color:#8d1f2b}.clc-alert.info{background:var(--clc-info-bg);color:#143e8d}.clc-alert.ok{background:var(--clc-ok-bg);color:#0a6a49}

/* ---- info grids / lists ---- */
.clc-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px 22px}
.clc-info .l{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--clc-muted);font-weight:600}.clc-info .v{font-weight:600;margin-top:1px;word-break:break-word}.clc-info.full{grid-column:1/-1}
.clc-li{display:flex;justify-content:space-between;gap:12px;padding:11px 18px;border-bottom:1px solid var(--clc-line-2);align-items:center}.clc-li:last-child{border-bottom:0}.clc-li.click{cursor:pointer}.clc-li.click:hover{background:#f8fafe}
.clc-li small{display:block;color:var(--clc-muted)}

/* ---- stage tracker ---- */
.clc-stages{display:flex;align-items:flex-start;margin:6px 0 4px}
.clc-stage{flex:1;text-align:center;position:relative;font-size:12px;color:var(--clc-muted)}
.clc-stage:before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:3px;background:var(--clc-line);z-index:0}.clc-stage:first-child:before{display:none}
.clc-stage i{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0 auto 6px;border-radius:50%;background:#fff;border:3px solid var(--clc-line);font-style:normal;font-size:12px;font-weight:700}
.clc-stage.done:before,.clc-stage.cur:before{background:var(--clc-navy-700)}.clc-stage.done i{background:var(--clc-navy-700);border-color:var(--clc-navy-700);color:#fff}
.clc-stage.cur i{border-color:var(--clc-navy-700);color:var(--clc-navy-700);box-shadow:0 0 0 5px rgba(23,63,130,.15)}.clc-stage.cur,.clc-stage.done{color:var(--clc-navy-900);font-weight:600}

/* ---- timeline ---- */
.clc-timeline{position:relative;padding-left:26px}
.clc-timeline:before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--clc-line)}
.clc-tl{position:relative;padding:0 0 20px}
.clc-tl:before{content:"";position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--clc-line)}
.clc-tl:first-child:before{border-color:var(--clc-navy-700);background:var(--clc-navy-700);box-shadow:0 0 0 4px rgba(23,63,130,.15)}
.clc-tl b{display:block}.clc-tl .when{font-size:12.5px;color:var(--clc-muted)}.clc-tl p{margin-top:3px;color:#3d4d6a;white-space:pre-line}.clc-tl .tag{margin-left:6px}

/* ---- document editor ---- */
.clc-lines{width:100%;border-collapse:collapse}.clc-lines th{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--clc-muted);text-align:left;padding:8px 6px;border-bottom:1px solid var(--clc-line)}
.clc-lines td{padding:6px;vertical-align:top;border-bottom:1px solid var(--clc-line-2)}.clc-lines input{width:100%;padding:7px 9px;border:1px solid var(--clc-line);border-radius:7px}.clc-lines textarea{width:100%;padding:7px 9px;border:1px solid var(--clc-line);border-radius:7px;min-height:38px;resize:vertical}
.clc-lines input:disabled,.clc-lines textarea:disabled,.clc-form-lock input:disabled,.clc-form-lock select:disabled,.clc-form-lock textarea:disabled{background:#f4f6fa;color:#46556f}
.clc-lines .amt{text-align:right;font-weight:600;padding-top:14px;white-space:nowrap}
.clc-totals{margin-left:auto;width:340px;max-width:100%}.clc-totals div{display:flex;justify-content:space-between;padding:6px 0}.clc-totals .grand{font-size:18px;font-weight:800;color:var(--clc-navy-900);border-top:2px solid var(--clc-navy-700);margin-top:6px;padding-top:10px}

/* ---- charts ---- */
.clc-bars{display:flex;align-items:flex-end;gap:10px;height:220px;padding:10px 4px 0;overflow-x:auto}
.clc-bar-col{flex:1;min-width:46px;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.clc-bar-stack{display:flex;align-items:flex-end;gap:3px;height:calc(100% - 24px);width:100%;justify-content:center}
.clc-bar{width:30%;min-width:8px;border-radius:4px 4px 0 0;background:var(--clc-navy-700);min-height:2px;transition:height .3s}.clc-bar.b2{background:var(--clc-sky)}.clc-bar.b3{background:#e0a030}
.clc-bar-col span{font-size:11px;color:var(--clc-muted);white-space:nowrap}
.clc-legend{display:flex;gap:16px;font-size:12.5px;color:var(--clc-muted);margin-bottom:6px;flex-wrap:wrap}.clc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:var(--clc-navy-700)}.clc-legend i.b2{background:var(--clc-sky)}.clc-legend i.b3{background:#e0a030}
.clc-hbar{display:flex;align-items:center;gap:10px;margin:7px 0;font-size:13px}.clc-hbar .lab{width:150px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clc-hbar .trk{flex:1;background:var(--clc-mute-bg);border-radius:6px;height:12px;overflow:hidden}.clc-hbar .trk i{display:block;height:100%;background:var(--clc-navy-700);border-radius:6px}.clc-hbar .num{width:96px;text-align:right;font-weight:600}

/* ====================== Login ====================== */
.clc-login-wrap{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;font-family:var(--clc-font);background:#fff;color:var(--clc-text)}
.clc-login-hero{background:radial-gradient(1200px 600px at 10% -10%,#1b4a9c 0,transparent 60%),linear-gradient(160deg,var(--clc-navy-800),var(--clc-navy-950));color:#fff;padding:44px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.clc-login-hero:after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;border:60px solid rgba(255,255,255,.04)}
.clc-login-brand{display:flex;align-items:center;gap:14px;font-weight:700;font-size:18px}.clc-login-brand img{max-height:48px;max-width:70px;object-fit:contain;background:#fff;border-radius:9px;padding:4px}
.clc-login-copy h1{font-size:40px;line-height:1.15;margin:0 0 16px;letter-spacing:-.5px}.clc-login-copy p{color:#b8c9ea;font-size:16px;max-width:460px;margin:0 0 26px}
.clc-login-copy ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.clc-login-copy li{display:flex;align-items:center;gap:12px;color:#dbe6fb}.clc-login-copy li span{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.14);position:relative;flex:0 0 auto}.clc-login-copy li span:after{content:"";position:absolute;left:7px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.clc-login-foot{color:#7f96c2;font-size:12.5px}
.clc-login-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--clc-bg)}
.clc-login-card{width:100%;max-width:410px;background:#fff;border-radius:16px;padding:36px 34px;box-shadow:var(--clc-shadow);border:1px solid var(--clc-line)}
.clc-login-card h2{margin:0 0 4px;font-size:26px;color:var(--clc-navy-900)}.clc-login-card form{margin-top:22px}
.clc-login-card label{display:block;font-size:13px;font-weight:600;color:#3d4d6a;margin-bottom:14px}
.clc-login-card input[type=text],.clc-login-card input[type=password],.clc-login-card input[type=email]{display:block;width:100%;margin-top:6px;padding:11px 13px;border:1px solid var(--clc-line);border-radius:9px;font-size:15px;background:#fff}
.clc-login-card input:focus{outline:2px solid var(--clc-sky);outline-offset:-1px}
.clc-pw{position:relative;display:block}.clc-pw input{padding-right:62px!important}.clc-pw-toggle{position:absolute;right:8px;top:12px;background:none;border:0;color:var(--clc-blue);font-weight:600;cursor:pointer;font-size:13px}
.clc-row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}.clc-check{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:500!important}.clc-check input{width:auto!important;margin:0!important}
.clc-login-links{margin-top:20px;text-align:center;font-size:14px}.clc-login-mobile-brand{display:none;text-align:center;margin-bottom:12px}.clc-login-mobile-brand img{max-height:54px}
.clc-login-card .clc-btn{margin-top:6px}

/* ====================== Public (tracking / quote) ====================== */
.clc-pub{font-family:var(--clc-font);color:var(--clc-text);max-width:860px;margin:0 auto}
.clc-pub .clc-btn{font-size:15px}
.clc-track-input{display:flex;gap:10px}.clc-track-input input[type=text]{flex:1;padding:14px 16px;border:2px solid var(--clc-line);border-radius:10px;font-size:16px;background:#fff}.clc-track-input input:focus{outline:none;border-color:var(--clc-navy-700)}
.clc-track-input .clc-btn{padding:14px 26px}
.clc-pub .clc-card{margin-top:22px}
.clc-pub .clc-card-b{padding:22px}
.clc-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-bottom:14px}.clc-grid2 label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#3d4d6a}.clc-grid2 .clc-full{grid-column:1/-1}
.clc-grid2 input,.clc-grid2 select,.clc-grid2 textarea{padding:11px 13px;border:1px solid var(--clc-line);border-radius:9px;font-size:15px;font-family:inherit;background:#fff;width:100%}
.clc-pub .clc-stage:before{top:13px}
.clc-pub .clc-info-grid{margin:20px 0}
.clc-pub .clc-timeline{margin-top:10px}

/* ====================== Responsive ====================== */
@media (max-width:1100px){.clc-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-g3{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-g21{grid-template-columns:1fr}.clc-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-field.w3{grid-column:span 2}}
@media (max-width:900px){
  .clc-shell{grid-template-columns:1fr}
  .clc-side{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:200;transform:translateX(-100%);transition:transform .2s}
  .clc-shell.nav-open .clc-side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4)}
  .clc-shell.nav-open:after{content:"";position:fixed;inset:0;background:rgba(6,20,49,.45);z-index:150}
  .clc-burger{display:inline-flex}
  .clc-content{padding:16px}.clc-top{padding:10px 14px}.clc-user-meta{display:none}
  .clc-login-wrap{grid-template-columns:1fr}.clc-login-hero{display:none}.clc-login-mobile-brand{display:block}
}
@media (max-width:640px){.clc-g2,.clc-g3,.clc-g4{grid-template-columns:1fr}.clc-fgrid,.clc-fgrid.c2,.clc-fgrid.c3{grid-template-columns:1fr}.clc-field.w2,.clc-field.w3{grid-column:auto}.clc-grid2{grid-template-columns:1fr}.clc-track-input{flex-direction:column}.clc-stage{font-size:10.5px}.clc-modal-back{padding:0}.clc-modal{border-radius:0;max-height:100vh;min-height:100vh}.clc-kpis{grid-template-columns:1fr 1fr}.clc-kpi .k-val{font-size:20px}}
@media print{.clc-side,.clc-top,.clc-actions,.clc-toolbar .clc-btn,.clc-toasts,.no-print{display:none!important}.clc-shell{display:block}.clc-content{padding:0}.clc-card{box-shadow:none}body.clc-body{background:#fff}}
