@font-face{font-family:Inter;src:url('/static/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#fff;--paper:#fff;--ink:#000;--sub:#5c5c5c;--muted:#a0a0a0;--action:#11a8ff;--line:#ebebeb;--soft:#fafafa;--danger:#b42318;--card-shadow:0 0 0 1px #0000000f,0 1px 1px -.5px #0000000f,0 3px 3px -1.5px #0000000f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:12px 20px;min-height:44px;font-weight:500;transition:background .15s,box-shadow .15s}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--action);color:#fff;font-weight:600}.primary:hover:enabled{background:#0096eb}.quiet{background:white;color:var(--sub);box-shadow:0 0 0 1px #cdcdcd}.quiet:hover:enabled{background:var(--soft)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--action);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:40px;font-weight:600;line-height:1.14;letter-spacing:-.48px;margin-bottom:12px}h2{font-size:24px;font-weight:600;letter-spacing:-.4px;line-height:1.3}h3{font-size:20px;font-weight:600;line-height:1.4}p{color:var(--sub);max-width:75ch}label{display:block;font-size:13px;font-weight:500;margin:16px 0;color:var(--sub)}input,select,textarea{display:block;width:100%;background:#fff;border:1px solid #cdcdcd;color:var(--ink);border-radius:8px;min-height:44px;padding:10px 12px;margin-top:8px;font-weight:400}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{min-height:88px;resize:vertical}.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.4px;white-space:nowrap}.brand-dot{font-size:10px;color:#000}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--soft)}.login-card{width:100%;max-width:420px;padding:40px;background:#fff;border-radius:16px;box-shadow:var(--card-shadow)}.login-card h1{font-size:32px;margin-top:32px}.login-card .primary{width:100%;margin-top:16px}.error{color:var(--danger);white-space:pre-wrap;overflow-wrap:anywhere}.error:empty{display:none}
#app-view{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}aside{padding:32px 20px;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;gap:16px;background:var(--soft)}.aside-caption{font-size:12px;margin:0 0 24px;color:var(--sub)}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--sub);border-radius:8px;padding:12px;font-size:13px;white-space:nowrap}nav button:hover{background:#f0f0f0}nav button.selected{color:#000;background:#fff;box-shadow:var(--card-shadow);font-weight:600}.nav-icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}main{padding:0 40px 40px;width:100%;max-width:1200px;margin:0 auto}header{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:132px;border-bottom:1px solid var(--line);padding:28px 0;margin-bottom:32px}header h1{margin:0}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.2px;color:var(--sub);display:block;margin-bottom:10px}.header-actions{display:flex;align-items:center;gap:16px}.live{font-size:12px;color:var(--sub);white-space:nowrap}.account-control{position:relative}.account-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:12px;background:#fff;box-shadow:var(--card-shadow)}.account-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}.account-menu{position:absolute;right:0;top:56px;min-width:210px;padding:16px;border-radius:12px;background:#fff;box-shadow:var(--card-shadow),0 8px 24px #0000000a;z-index:20}.account-menu strong,.account-menu span{display:block;margin-bottom:8px}.account-menu span{color:var(--sub)}.account-menu button{width:100%;margin-top:8px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:32px}.stats>div{background:#fff;border-radius:12px;padding:24px;box-shadow:var(--card-shadow)}.stats span{display:block;font-size:13px;color:var(--sub)}.stats strong{display:block;font-size:40px;font-weight:600;letter-spacing:-1px;line-height:1.2;margin-top:20px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:24px}.toolbar p{flex:1;margin:0}.toolbar .search{margin:0;flex:1;min-width:240px}.search input{background:var(--soft);border-color:var(--line)}.toolbar button{align-self:flex-end}.table-wrap{overflow:auto;background:#fff;border-radius:12px;box-shadow:var(--card-shadow)}table{width:100%;border-collapse:collapse;text-align:left}th{background:var(--soft);color:var(--sub);font-size:12px;font-weight:500;white-space:nowrap}td,th{padding:18px 20px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td{vertical-align:middle}td button{font-size:12px;padding:6px 10px;min-height:34px;border-radius:8px}tbody tr:hover{background:#fcfcfc}.badge{display:inline-block;font-size:12px;padding:4px 8px;border-radius:4px;background:#fafafa;box-shadow:0 0 0 1px #ebebeb;color:var(--sub);white-space:nowrap}.badge.done{background:white;color:#000;box-shadow:0 0 0 1px #cdcdcd}.empty{text-align:center;padding:48px;margin:0}.connect-card{background:#fff;box-shadow:var(--card-shadow);border-radius:12px;padding:32px;max-width:720px}.connect-card ol{padding-left:20px}li{margin-bottom:16px}
dialog{border:0;background:#fff;border-radius:16px;box-shadow:var(--card-shadow),0 24px 80px #00000014;width:min(560px,calc(100% - 32px));max-height:90vh;overflow:auto;padding:28px;color:var(--ink)}dialog::backdrop{background:#00000030}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.dialog-head h2{margin:0}.dialog-head button{background:var(--soft);color:var(--sub);font-size:22px;padding:4px 12px;border-radius:8px}dialog form>.primary{width:100%;margin-top:16px}.detail-grid{display:grid;gap:8px;margin-bottom:24px}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.detail-row>span:first-child{color:var(--sub)}.identity-pictures{display:grid;gap:20px}.identity-pictures img{width:100%;border-radius:12px;box-shadow:var(--card-shadow)}.barcode-label{text-align:center;padding:24px;border-radius:12px;box-shadow:var(--card-shadow);margin:20px 0}.barcode-label img{width:100%;max-width:420px}.barcode-label p{margin:0;max-width:none}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}#print-area{display:none}.converter-dialog{width:min(1000px,calc(100% - 32px))}.converter-defaults{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.converter-defaults>div{padding:16px;background:var(--soft);border-radius:12px;box-shadow:var(--card-shadow)}.converter-defaults dt{color:var(--sub);font-size:12px}.converter-defaults dd{margin:8px 0 0}.converter-dialog .table-wrap{max-height:350px;overflow:auto;margin:20px 0}.converter-dialog td{max-width:250px;overflow-wrap:anywhere}.workflow-steps{display:flex;gap:16px;padding:16px;background:var(--soft);border-radius:12px;margin-bottom:32px;flex-wrap:wrap}.workflow-steps span{flex:1;min-width:140px;font-size:13px;font-weight:500;color:var(--sub)}.workflow-section{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}.workflow-section>.primary{margin-top:16px}
@media(max-width:1100px){main{padding:0 24px 32px}.toolbar .search{flex-basis:100%}.toolbar button{font-size:13px;padding:12px 16px}}@media(max-width:800px){#app-view{display:block}aside{height:auto;position:static;padding:20px;border-right:0;border-bottom:1px solid var(--line);gap:12px}.aside-caption{display:none}nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}nav button{padding:10px;font-size:12px;gap:8px}.nav-icon{width:18px;height:18px}main{padding:0 20px 24px}header{min-height:112px;padding:24px 0;margin-bottom:24px}header h1{font-size:32px}.live{display:none}.stats{gap:12px;margin-bottom:24px}.stats>div{padding:16px}.stats strong{font-size:30px;margin-top:16px}.stats span{font-size:11px}.toolbar{gap:10px}.toolbar button{flex:1;min-width:120px;font-size:12px}td,th{padding:14px;min-width:110px}.login-card{padding:28px}.converter-defaults{grid-template-columns:repeat(2,minmax(0,1fr))}dialog{padding:20px}.dialog-head h2{font-size:22px}}@media(max-width:400px){.stats{gap:8px}.stats>div{padding:12px}.stats strong{font-size:27px}.stats span{font-size:10px}main{padding:0 16px 24px}.workflow-steps{gap:8px}.workflow-steps span{min-width:100%;}.converter-defaults{grid-template-columns:1fr 1fr}}
@media print{body>*{display:none!important}#print-area{display:block!important;padding:20mm;color:#000;background:#fff}#print-area .barcode-label{border:1px solid #000;box-shadow:none;max-width:110mm;border-radius:0}#print-area img{max-width:100mm}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.shipment-tools{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.shipment-tools button{font-size:12px}.shipment-tools>span{color:var(--sub);font-size:12px}.check-label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.check-label input,.shipment-check{width:16px;min-height:16px;height:16px;margin:0;accent-color:var(--action)}.select-column{width:64px}.shipment-tools #archive-all{margin-left:auto}.wizard-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.wizard-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px}.wizard-footer span,.save-note{font-size:12px;color:var(--sub)}.workflow-steps{list-style:none;padding:16px;counter-reset:step}.workflow-steps li{counter-increment:step;flex:1;margin:0;color:var(--muted);font-size:12px;display:flex;gap:8px;align-items:center}.workflow-steps li:before{content:counter(step);display:grid;place-items:center;border-radius:50%;width:28px;height:28px;flex-shrink:0;box-shadow:0 0 0 1px var(--line);color:var(--sub);background:white}.workflow-steps li.current{color:var(--ink);font-weight:600}.workflow-steps li.current:before{color:var(--action);box-shadow:0 0 0 1px var(--action)}.workflow-steps li.complete:before{content:'✓';color:var(--ink)}details>summary{cursor:pointer;padding:16px 0;color:var(--sub)}#wizard-batch-name{font-size:12px;overflow-wrap:anywhere}@media(max-width:600px){.workflow-steps{gap:8px}.workflow-steps li{font-size:11px;flex-basis:100%}.wizard-actions button{flex:1}.shipment-tools #archive-all{margin-left:0}}

.permission-grid{display:grid;gap:16px}.permission-grid fieldset{border:1px solid #e7e7e7;border-radius:12px;padding:16px}.permission-grid legend{font-weight:600;padding:0 8px}.permission-grid .check-label{margin:12px 0}.client-workspace{max-width:1200px;margin:auto;padding:32px}.client-body .client-workspace{margin-left:auto}.tracking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.tracking-card{padding:24px;border:1px solid #ececec;border-radius:12px;background:#fff;box-shadow:0 2px 6px #00000004}.tracking-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.tracking-card p{overflow-wrap:anywhere}.tracking-timeline{list-style:none;padding:0;margin-top:24px}.tracking-timeline li{border-left:2px solid #e7e7e7;padding:0 0 24px 20px;position:relative;color:#919191}.tracking-timeline li:before{content:'';width:12px;height:12px;border-radius:50%;background:#ddd;position:absolute;left:-7px;top:4px}.tracking-timeline li.complete,.tracking-timeline li.current{color:#171717}.tracking-timeline li.complete:before,.tracking-timeline li.current:before{background:#11a8ff}.tracking-timeline p{font-size:13px;margin-top:8px}@media(max-width:600px){.client-workspace{padding:16px}.client-workspace header{gap:16px;flex-wrap:wrap}.tracking-grid{grid-template-columns:1fr}}

.agency-logo{display:block;max-width:100%;height:auto;object-fit:contain;border-radius:4px}.sidebar-logo{width:88px;flex-shrink:0}.login-logo{width:128px;margin:0 auto 24px}@media(max-width:700px){aside .sidebar-logo{width:64px}}
/* Full-width phone workspace; data rows become readable cards. */
@media screen and (max-width:800px){
 body{width:100%;min-height:100dvh}
 #app-view{width:100%;min-height:100dvh}
 #app-view aside{padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left));gap:12px;background:#fff}
 #app-view nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0;gap:6px}
 #app-view nav button{min-width:0;white-space:normal;min-height:44px}
 #app-view main{max-width:none;margin:0;padding:0 0 max(20px,env(safe-area-inset-bottom));min-width:0}
 #app-view header{min-height:90px;margin:0 0 20px;padding:16px 12px;gap:12px}
 #app-view header h1{font-size:28px;overflow-wrap:anywhere}
 #app-view .eyebrow{margin-bottom:6px}
 #app-view .header-actions{gap:8px;flex-shrink:0}
 #app-view main>section>p,#app-view #app-error{margin-left:12px;margin-right:12px}
 #app-view .stats{margin:0 12px 20px;gap:8px}
 #app-view .stats>div{padding:12px 10px}
 #app-view .stats span{font-size:11px}
 #app-view .stats strong{font-size:28px;margin-top:12px}
 #app-view .toolbar,#app-view .shipment-tools{margin-left:12px;margin-right:12px}
 .toolbar .search{min-width:0;flex-basis:100%}
 .toolbar>*{max-width:100%;min-width:0}
 .table-wrap{border-radius:0;box-shadow:none;max-width:100%}
 .connect-card{max-width:none;border-radius:0;box-shadow:none;padding:16px}
 .connect-card h2{font-size:24px}
 dialog,dialog.converter-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:16px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .dialog-head{gap:8px;align-items:flex-start}
 .dialog-head h2{font-size:22px;overflow-wrap:anywhere}
 .dialog-head button{flex-shrink:0;min-width:44px}
 input,select,textarea{font-size:16px;min-width:0}
 input[type=file]{max-width:100%}
 .detail-row{flex-wrap:wrap;gap:8px}
 .detail-row>span{max-width:100%;overflow-wrap:anywhere}
 .wizard-actions{align-items:stretch}
 .wizard-actions button{min-width:0;flex:1 1 100%;white-space:normal}
 .wizard-footer{flex-wrap:wrap}
 .converter-defaults{grid-template-columns:minmax(0,1fr)}
 .converter-defaults dd{overflow-wrap:anywhere}
 .permission-grid fieldset{min-width:0;padding:12px}
 .permission-grid .check-label{align-items:flex-start;white-space:normal}
 .account-menu{min-width:0;width:min(240px,calc(100vw - 24px));overflow-wrap:anywhere}
 .login-wrap{padding:0;background:#fff;min-height:100dvh}
 .login-card{max-width:none;min-height:100dvh;border-radius:0;box-shadow:none;padding:24px 20px}
}
@media screen and (max-width:600px){
 .table-wrap table,.table-wrap tbody{display:block;width:100%}
 .table-wrap thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
 .table-wrap tbody tr{display:block;padding:12px;border-top:1px solid var(--line);border-bottom:6px solid var(--soft)}
 .table-wrap td{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;min-width:0;max-width:none!important;padding:10px 0;border:0;overflow-wrap:anywhere}
 .table-wrap td[data-label]:before{content:attr(data-label);flex:0 0 100%;font-size:11px;color:var(--sub);font-weight:500}
 .table-wrap td[colspan]{display:block}
 .table-wrap td button{min-height:44px;padding:10px 12px}
 .table-wrap td input[type=checkbox]{width:22px;height:22px;min-height:22px}
 .converter-dialog .table-wrap{max-height:none}
 .empty{padding:24px 12px}
}

/* Client tracking workspace. */
.client-body{background:#fff}
.client-workspace{padding:0 32px 32px}
.client-workspace header{min-height:120px;margin-bottom:24px;gap:24px}
.client-logo{width:80px;margin-bottom:16px}
.client-workspace h1{font-size:32px}
.client-workspace .header-actions{flex-wrap:wrap;justify-content:flex-end}
#client-name{font-weight:500;overflow-wrap:anywhere}
.client-workspace .toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;align-items:end}
.client-workspace .toolbar label{margin:0;min-width:0}
.tracking-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}
.tracking-card{padding:20px;min-width:0;box-shadow:var(--card-shadow);border:0}
.tracking-head{align-items:center;margin-bottom:20px}
.tracking-code{display:grid;gap:4px;min-width:0}
.tracking-code>span{font-size:10px;color:var(--sub);letter-spacing:1px}
.tracking-code strong{font-size:16px;overflow-wrap:anywhere}
.tracking-card h3{font-size:20px;margin-bottom:8px;overflow-wrap:anywhere}
.tracking-address{font-size:13px;margin-bottom:16px}
.tracking-card .save-note{padding-top:12px;border-top:1px solid var(--line);margin-bottom:16px}
.tracking-card button{width:100%;min-height:44px}
.client-body .badge{background:#fff6e4;color:#80550c;box-shadow:none}
.client-body .badge.done{background:#e8f7ee;color:#167145}
.client-body .login-card h1{margin-top:24px}
@media screen and (max-width:800px){
 #app-view .sidebar-logo{margin:0;width:64px}
 #app-view nav{grid-auto-rows:60px;gap:8px}
 #app-view nav button{height:60px;width:100%;justify-content:center;padding:10px 6px;border:1px solid var(--line);box-shadow:none;border-radius:10px;gap:8px}
 #app-view nav button.selected{border-color:var(--action);background:#edf8ff;color:#0579bd}
 .client-workspace{padding:0 12px 24px!important;width:100%;max-width:none}
 .client-workspace header{display:grid;grid-template-columns:minmax(0,1fr);padding:20px 0 16px;gap:12px;margin-bottom:20px}
 .client-logo{width:76px;margin:0 auto 20px}
 .client-workspace header h1{font-size:28px;margin:0;text-align:center}
 .client-workspace .header-actions{display:flex;justify-content:space-between;width:100%;gap:12px}
 #client-name{flex:1;min-width:0}
 .client-workspace .stats{gap:8px;margin-bottom:20px}
 .client-workspace .stats>div{padding:12px 10px}
 .client-workspace .stats span{font-size:11px}
 .client-workspace .stats strong{font-size:28px;margin-top:12px}
 .client-workspace .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .client-workspace .toolbar .search{grid-column:1/-1;min-width:0}
 .client-workspace .toolbar button{min-width:0;width:100%}
 .tracking-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .tracking-card{padding:16px}
 .tracking-head{gap:8px;margin-bottom:16px}
 .client-body .login-logo{width:100px}
 .client-body .login-card h1{font-size:28px;text-align:center}
}
@media screen and (max-width:600px){
 #shipment-list tr{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;padding:16px 12px;row-gap:8px}
 #shipment-list td{padding:0;min-width:0;gap:6px;align-items:center}
 #shipment-list td:before{flex-basis:auto;margin-right:4px}
 #shipment-list td:nth-child(1){grid-column:1;grid-row:1/3;align-items:start;padding-top:4px}
 #shipment-list td:nth-child(1):before,#shipment-list td:nth-child(2):before,#shipment-list td:nth-child(3):before,#shipment-list td.shipment-status:before,#shipment-list td.shipment-actions:before{display:none}
 #shipment-list td:nth-child(2){grid-column:2;grid-row:1;font-size:12px;color:var(--sub)}
 #shipment-list td:nth-child(3){grid-column:2;grid-row:2;font-size:16px;font-weight:600}
 #shipment-list td.shipment-status{grid-column:2;grid-row:3}

 #shipment-list td.shipment-actions{grid-column:1/-1;grid-row:5;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
 #shipment-list td.shipment-actions button{flex:1;min-width:0}
 #shipment-list td[colspan]{grid-column:1/-1}
}


@media screen and (max-width:800px){
 #app-view{position:relative}
 #app-view .account-control{position:absolute;top:14px;right:max(12px,env(safe-area-inset-right));z-index:30}
}

@media screen and (max-width:800px){
 #show-archive,.shipment-tools,#shipments-view .select-column,#shipment-list td:first-child,#shipment-list [data-archive-shipment]{display:none!important}
}
@media screen and (max-width:600px){
 #shipment-list tr{grid-template-columns:minmax(0,1fr)}
 #shipment-list td:nth-child(n+2){grid-column:1/-1}
}

.mobile-status{display:none}
.badge.done{background:#e8f7ee;color:#167145;box-shadow:none}
@media screen and (max-width:800px){
 #shipment-list td:nth-child(3){display:flex;align-items:center;gap:8px;flex-wrap:wrap}
 #shipment-list .recipient-text{flex:1;min-width:100px;overflow-wrap:anywhere}
 #shipment-list .mobile-status{display:inline-block;font-weight:400;font-size:11px}
 #shipment-list td.shipment-status,#shipments-view th.shipment-status{display:none}
}
@media screen and (max-width:600px){

 #shipment-list td.shipment-actions{grid-row:4}
}

.account-menu-icon,#mobile-search-slot{display:none}
@media screen and (max-width:800px){
 #mobile-search-slot{display:block;width:100%}
 #mobile-search-slot .search{margin:0;font-size:12px}
 #mobile-search-slot input{margin-top:6px;background:var(--soft);border-color:var(--line)}
 #account-toggle .account-person-icon{display:none}
 #account-toggle .account-menu-icon{display:block}
 #account-menu{width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow-y:auto;padding:12px}
 #account-menu #workspace-nav{grid-template-columns:minmax(0,1fr);grid-auto-rows:48px;gap:6px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
 #account-menu #workspace-nav button{height:48px;justify-content:flex-start;padding:10px 12px}
 #app-view aside{gap:16px}
}
