:root{--black:#101417;--char:#1b2227;--gold:#e1a414;--gold2:#f2bd32;--bg:#edf0f2;--card:#fff;--line:#d8dde1;--muted:#66717a;--green:#25834c;--blue:#2f6fae;--red:#a93d3d;--shadow:0 5px 20px rgba(20,28,34,.06);font-family:Inter,Segoe UI,Arial,sans-serif;color:#172027}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:#245c90;text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--black);color:#fff;position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid #252e34}.logo{display:block;color:#fff;text-decoration:none;padding:5px 8px 20px}.logo:hover{text-decoration:none}.logo img{display:block;width:180px;height:55px;object-fit:contain;object-position:left center}.logo span{font-size:14px;font-weight:800;color:#f5f5f5}.logo b{color:var(--gold2)}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#dce2e5;padding:10px 12px;border-radius:5px;font-weight:650;font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--gold);color:#111;text-decoration:none}.content{min-width:0}.content-head{height:62px;background:var(--char);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:3px solid var(--gold)}.content-head>div:first-child{display:flex;align-items:baseline;gap:13px}.content-head b{font-size:18px}.content-head span{font-size:12px;color:#cbd2d6}.head-actions{display:flex;gap:14px;align-items:center}.head-actions a{color:#fff;font-size:12px}.head-actions .env-chip{color:#f7d168;border:1px solid #5c6266;background:#252d32;padding:6px 9px;border-radius:999px;font-weight:800}main{padding:26px 30px 50px;max-width:1500px}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 20px}.page-title h1{margin:0;font-size:28px;letter-spacing:-.4px}.page-title p{margin:6px 0 0;color:var(--muted)}.btn,button{display:inline-flex;align-items:center;justify-content:center;background:#222a2f;color:#fff;border:0;border-radius:6px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;filter:brightness(.97)}.btn.gold,button.gold{background:var(--gold);color:#111}.btn.danger,button.danger,.danger{background:#8e2e2e;color:#fff}.btn.full{display:flex;width:100%;margin:8px 0}.locked{opacity:.55}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.card.compact{padding:14px 18px}.card h2{margin:0 0 14px;font-size:18px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.card-title h2{margin:0}.stats{display:grid;gap:12px;margin:0 0 18px}.stats.five{grid-template-columns:repeat(5,1fr)}.stats.three{grid-template-columns:repeat(3,1fr)}.stat{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:7px;padding:14px 16px}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:700}.stat b{display:block;font-size:27px;margin-top:4px}.badge,.mode-pill{display:inline-block;background:#e8ecef;color:#34414a;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.mode-pill{padding:8px 12px;background:#fff4d5;border:1px solid #ebcf83}.flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow span{background:#f0f2f3;border:1px solid #d8dde1;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.flow i{font-style:normal;color:#8b949b}.notice{background:#fff7dc;border-left:4px solid var(--gold);padding:11px 13px;border-radius:4px;color:#4c4941}.muted,small{color:var(--muted)}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.toolbar input{min-width:300px}.chips{color:var(--muted);font-size:12px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid #e6e9eb}th{background:#f5f6f7;color:#56616a;font-size:12px}code,.raw{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.raw{white-space:pre;overflow:auto;background:#12181c;color:#dce4e8;padding:18px;border-radius:6px;min-height:300px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.one{grid-template-columns:1fr}.span2{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #bfc7cc;border-radius:6px;background:#fff;font:inherit;color:#172027}label small{font-weight:400}.check{flex-direction:row;align-items:center}.check input{width:auto}.upload{background:#f8f9fa;border:2px dashed #c4cbd0;border-radius:7px;padding:14px}.two-col{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.55fr);gap:18px;align-items:start}.two-col.equal{grid-template-columns:1fr 1fr}.sticky{position:sticky;top:80px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-grid>div{border:1px solid #e0e4e6;background:#f8f9fa;border-radius:6px;padding:11px}.detail-grid small{display:block;margin-bottom:4px}.detail-grid b{font-size:14px}.rate-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-top:15px;border:1px solid #d9e8dc;background:#f3faf5;border-radius:7px}.rate-summary>div{padding:13px;border-right:1px solid #d9e8dc}.rate-summary>div:last-child{border:0}.rate-summary small,.rate-summary b{display:block}.rate-summary b{font-size:19px;color:var(--green)}.inline-form{display:grid;grid-template-columns:140px 180px auto;gap:10px;align-items:end}.buttonrow{display:flex;gap:8px;flex-wrap:wrap}.buttonrow form{display:block}.tabs{display:flex;gap:2px;border-bottom:1px solid #cfd5d9;margin-bottom:18px;overflow:auto}.tabs a{padding:9px 13px;color:#45525b;font-weight:700;font-size:12px;white-space:nowrap}.tabs a.active{border-bottom:3px solid var(--gold);color:#111}.six-elements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.six-elements>div{padding:15px;border:1px solid var(--line);background:#f8f9fa;border-radius:7px}.six-elements b,.six-elements span{display:block}.six-elements span{color:var(--muted);font-size:12px;margin-top:6px}.searchbar{display:grid;grid-template-columns:minmax(200px,500px) auto;gap:8px;justify-content:start;margin-bottom:15px}.tracking-filters{display:grid;grid-template-columns:220px minmax(220px,1fr) 160px auto;gap:8px;margin-bottom:15px}.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:20px}.empty-state b{color:#28333a;font-size:18px}.timeline{border-left:3px solid var(--gold);margin-left:10px}.timeline>div{padding:0 0 20px 18px;position:relative}.timeline>div:before{content:'';position:absolute;left:-8px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--gold)}.timeline b,.timeline span,.timeline small{display:block}.timeline span{margin:4px 0}.login-body{min-height:100vh;background:#101417;display:flex;align-items:center;justify-content:center;gap:70px;padding:30px}.login-brand{color:#fff;width:320px}.login-brand img{width:280px}.login-brand h1{font-size:34px;margin:15px 0 5px}.login-brand p{color:#c8d0d5}.login-card{background:#fff;width:380px;padding:30px;border-radius:9px;display:grid;gap:16px}.login-card h2{margin:0}.mapper-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(430px,1.4fr);gap:18px;align-items:start}.source-field{border:1px solid #ccc;border-radius:8px;padding:10px 12px;margin:8px 0;background:#f7f7f7;cursor:grab}.source-field b,.source-field span{display:block}.source-field span{color:#777;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drop-zone{min-height:48px;border:2px dashed #bbb;border-radius:8px;padding:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fafafa}.mapped-chip{display:flex;align-items:center;gap:7px;background:#1e1e1e;color:#fff;border-radius:6px;padding:7px 8px;font-size:12px}.mapped-chip button{display:inline;background:transparent;padding:0;width:auto}.drop-placeholder{color:#999;font-size:12px;padding:6px}.required{font-size:10px;background:#ffe6a0;padding:3px 6px;border-radius:999px}@media(max-width:1050px){.app-shell{grid-template-columns:185px 1fr}.logo img{width:145px}.stats.five{grid-template-columns:repeat(3,1fr)}.two-col,.two-col.equal{grid-template-columns:1fr}.sticky{position:static}.six-elements{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}main{padding:20px 14px}.content-head{padding:0 14px}.stats.five,.stats.three,.detail-grid,.six-elements,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.tracking-filters,.inline-form{grid-template-columns:1fr}.login-body{flex-direction:column;gap:25px}.login-brand,.login-card{width:min(100%,380px)}.mapper-grid{grid-template-columns:1fr}}
/* v0.7 WYSIWYG envelope editor + customer return-address profiles */
.profile-card{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.profile-logo{height:90px;border:1px solid var(--line);background:#fafafa;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.profile-logo img{max-width:135px;max-height:75px;object-fit:contain}.profile-actions{margin-top:12px}.template-list{display:grid;gap:10px}.template-row{border:1px solid var(--line);border-radius:7px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:18px}.template-row b,.template-row small{display:block}.template-row small{margin-top:5px}.editor-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.editor-toolbar select{width:auto;padding:6px 9px}.editor-shell{display:grid;grid-template-columns:minmax(700px,1fr) 320px;gap:18px;align-items:start}.editor-stage-card{overflow:auto;min-height:760px;position:relative;padding:30px;background:#dfe4e7}.page-wrap{position:relative;margin:0 auto;transition:width .15s,height .15s}.paper{position:absolute;left:0;top:0;width:612px;height:792px;background:#fff;box-shadow:0 4px 22px rgba(0,0,0,.18);background-image:linear-gradient(rgba(0,0,0,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.055) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.paper.no-grid{background-image:none}.window-overlay{position:absolute;border:2px dashed rgba(47,111,174,.38);background:rgba(47,111,174,.045);pointer-events:none;z-index:1}.window-overlay span{font-size:8px;color:#537797;background:#eef7ff;padding:2px 4px}.sender-window{left:20px;top:20px;width:540px;height:125px}.recipient-window{left:45px;top:155px;width:330px;height:90px}.paper.no-windows .window-overlay{display:none}.design-element{position:absolute;border:1px dashed transparent;cursor:move;user-select:none;z-index:5;overflow:hidden}.design-element:hover{border-color:#8e9ca5}.design-element.selected{outline:2px solid var(--gold);outline-offset:2px;background-color:rgba(225,164,20,.035)}.design-element.locked{cursor:not-allowed}.drag-label{position:absolute;right:2px;top:2px;font-size:6px;line-height:8px;color:#7d6b37;background:#fff4d5;padding:1px 3px;border-radius:2px;z-index:3}.element-logo{display:flex;align-items:center;justify-content:flex-start}.element-logo img{max-width:100%;max-height:100%;object-fit:contain;object-position:left center}.logo-placeholder{border:1px dashed #aab4ba;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#89939a;font-size:9px}.element-text{padding:2px}.sample-text{white-space:nowrap}.element-impb{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:0;overflow:visible}.scan-banner{font-weight:900;font-size:9px;line-height:12px;margin-top:4px}.barcode-bars{height:54px;width:94%;margin:2px 0;background:repeating-linear-gradient(90deg,#000 0,#000 2px,#fff 2px,#fff 4px,#000 4px,#000 5px,#fff 5px,#fff 8px)}.tracking-sample{font-size:7px;font-weight:800;letter-spacing:.4px;white-space:nowrap;margin-bottom:2px}.impb-rule{height:2.232px;width:100%;background:#000;flex:0 0 2.232px}.element-immb{display:flex;align-items:center;justify-content:center;overflow:visible}.immb-quiet-guide{position:absolute;left:-7.2px;top:-7.2px;width:calc(100% + 14.4px);height:calc(100% + 14.4px);border:1px dashed rgba(225,164,20,.72);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.matrix-sample{width:calc(100% - 14.4px);height:calc(100% - 14.4px);background-image:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.barcode-guard-note{font-size:11px;line-height:1.35;margin-bottom:12px}.property-panel{top:78px}.property-panel hr{border:0;border-top:1px solid var(--line);margin:18px 0}.selected-name{font-weight:900;color:#7a5500;background:#fff5d8;border:1px solid #efd48c;border-radius:5px;padding:9px;margin-bottom:12px}.ruler{position:absolute;color:#66717a;font-size:8px}.ruler-top{top:8px;left:40px}.ruler-left{left:8px;top:40px}
@media(max-width:1180px){.editor-shell{grid-template-columns:1fr}.property-panel{position:static}.editor-stage-card{min-height:650px}}@media(max-width:760px){.profile-card{grid-template-columns:1fr}.template-row{align-items:flex-start;flex-direction:column}}
/* v0.7.1 Certified Mail IMpb appearance */
.element-impb{padding:0;justify-content:space-between;gap:2px}.element-impb .impb-rule{height:2.232px;min-height:2.232px;width:100%;background:#000;flex:0 0 2.232px}.element-impb .scan-banner{font-weight:900;font-size:10px;line-height:12px;white-space:nowrap;margin-top:1px}.element-impb .barcode-bars{height:37px;width:88%;margin:1px 0}.element-impb .tracking-sample{font-size:7px;font-weight:800;letter-spacing:.4px;white-space:nowrap;margin-bottom:1px}
.logo-cropper{display:none;border:1px solid var(--line);border-radius:7px;padding:12px;background:#f8f9fa;margin-top:8px}.logo-cropper.active{display:block}.crop-preview-wrap{height:220px;display:flex;align-items:center;justify-content:center;background:#dfe4e7;border-radius:5px;overflow:hidden}.crop-preview-wrap canvas{max-width:100%;max-height:210px;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 50%/16px 16px}.crop-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.crop-controls label{font-size:11px}.crop-result{margin-top:10px;display:flex;align-items:center;gap:10px}.crop-result img{max-width:160px;max-height:70px;border:1px solid var(--line);background:#fff}.crop-help{font-size:11px;color:var(--muted);margin-top:7px}
.address-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0}.address-columns>div{border:1px solid #ddd;border-radius:8px;padding:14px;background:#fafafa}.address-columns h3{margin:0 0 8px}.address-block{font-size:15px;line-height:1.45;min-height:72px;padding:10px;background:#fff;border-radius:6px;border:1px solid #e5e5e5}.address-block.suggested{border-left:4px solid #b57a00}.address-block.error{border-left:4px solid #b42318}.filterbar{display:flex;gap:8px;flex-wrap:wrap}.stats.five{grid-template-columns:repeat(5,1fr)}@media(max-width:900px){.address-columns{grid-template-columns:1fr}.stats.five{grid-template-columns:repeat(2,1fr)}}

/* v0.7.4.2 USPS address diagnostics */
.diagnostic-panel{margin:14px 0;padding:12px;border:1px solid #bbb;border-radius:6px;background:#fafafa}
.diagnostic-panel summary{cursor:pointer}
.diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.diagnostic-panel pre{max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#111;color:#eee;padding:12px;border-radius:4px;font-size:12px;line-height:1.35}
@media(max-width:900px){.diagnostic-grid{grid-template-columns:1fr}}
/* v0.7.6 consolidated Job Workspace / Production / Administration */
.workflow-strip{display:flex;gap:0;margin:0 0 14px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.workflow-strip span,.workflow-strip a{flex:1;text-align:center;padding:9px 6px;font-size:12px;border-right:1px solid var(--line);color:var(--muted);text-decoration:none;box-sizing:border-box}.workflow-strip span:last-child,.workflow-strip a:last-child{border-right:0}.workflow-strip .current{background:#fff4cf;color:#6e4c00;font-weight:800}.workspace-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 18px;border-bottom:1px solid var(--line)}.workspace-tabs a{padding:10px 13px;text-decoration:none;color:#34414a;border-radius:7px 7px 0 0}.workspace-tabs a.active{background:#1d2327;color:#fff}.workspace-tabs b{font-size:11px;margin-left:4px}.tab-alert{background:#b42318;color:#fff;border-radius:999px;padding:2px 6px}.notice{padding:12px 14px;border-radius:7px;margin:10px 0}.notice.warning{background:#fff5db;border:1px solid #ead18b}.notice.success{background:#eef8f1;border:1px solid #b9d8c1}.production-gates,.run-cards,.admin-grid{display:grid;gap:14px}.production-gates{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.gate{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.gate small,.gate b{display:block}.gate b{margin-top:5px}.run-cards{grid-template-columns:repeat(3,1fr)}.run-cards>div{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fafafa}.raw-ssf{max-height:620px;overflow:auto;white-space:pre;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;background:#111;color:#eee;padding:14px;border-radius:6px}.audit-piece{border:1px solid var(--line);border-radius:7px;padding:10px;margin:10px 0}.audit-piece summary{cursor:pointer}.admin-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.admin-card{display:block;border:1px solid var(--line);border-radius:9px;background:#fff;padding:20px;text-decoration:none;color:inherit;min-height:105px}.admin-card:hover{border-color:#b98a12;box-shadow:0 2px 10px rgba(0,0,0,.07)}.admin-card b,.admin-card span{display:block}.admin-card b{font-size:18px}.admin-card span{color:var(--muted);margin-top:8px;line-height:1.35}@media(max-width:900px){.production-gates,.run-cards,.admin-grid{grid-template-columns:1fr}.workflow-strip span,.workflow-strip a{font-size:10px;padding:8px 2px}}
/* v0.7.6.1 upload + drag/drop mapping stabilization */
.upload-drop{min-height:120px;justify-content:center}.advanced-settings{border:1px solid var(--line);border-radius:7px;background:#fafafa;padding:12px 14px}.advanced-settings summary{cursor:pointer}.advanced-grid{margin-top:14px}.mapping-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}.mapping-toolbar>div:first-child b,.mapping-toolbar>div:first-child span{display:block}.mapping-template-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.mapping-template-controls label{min-width:190px}.mapping-template-controls form{display:flex;gap:8px;align-items:flex-end}.mapping-workspace{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1fr) minmax(300px,.9fr);gap:18px;align-items:start}.mapping-workspace .card{margin-bottom:0}.source-panel,.target-panel,.preview-panel{max-height:690px;overflow:auto}.target-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:12px 0 5px}.drop-zone.dragover{border-color:var(--gold);background:#fff6d9}.mapped-chip{cursor:grab}.mapped-chip button{color:#fff}.preview-records{display:grid;gap:10px}.preview-card{border:1px solid var(--line);border-radius:7px;padding:11px;background:#fafafa}.preview-card small,.preview-card b,.preview-card span{display:block}.preview-card b{margin:3px 0}.mapping-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;position:sticky;bottom:8px;z-index:10}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1200px){.mapping-workspace{grid-template-columns:minmax(220px,.65fr) minmax(350px,1fr)}.preview-panel{grid-column:1/-1;max-height:none}.preview-records{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.mapping-toolbar,.mapping-template-controls,.mapping-template-controls form,.mapping-footer{align-items:stretch;flex-direction:column}.mapping-workspace{grid-template-columns:1fr}.source-panel,.target-panel,.preview-panel{max-height:none}.preview-records{grid-template-columns:1fr}}

.tab-disabled{display:inline-flex;align-items:center;padding:10px 12px;color:#9ca3af;cursor:not-allowed;user-select:none}

.output-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 8px}.output-card .card-title{align-items:flex-start}.output-card .empty-state{margin-top:12px}

.btn.success,button.success{background:var(--green);color:#fff;border-color:var(--green)}button.large-action,.btn.large-action{font-size:15px;padding:12px 18px;box-shadow:0 2px 5px rgba(0,0,0,.14)}

/* v0.8.1.4 compact production UI */
.stats{grid-template-columns:repeat(6,minmax(0,1fr))}.stats .stat{min-width:0;padding:12px 10px}.stats .stat span{white-space:nowrap;font-size:11px}.stats .stat:last-child span{font-size:10px}.stats .stat b{font-size:22px;overflow-wrap:anywhere}
.tracking-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.tracking-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tracking-record-grid>div{border:1px solid var(--line);background:#f8f9fa;border-radius:6px;padding:8px;min-width:0}.tracking-record-grid small,.tracking-record-grid b{display:block}.tracking-record-grid b{font-size:12px;overflow-wrap:anywhere}.uploaded-fields{margin-top:12px}.uploaded-fields summary{cursor:pointer;font-weight:800;margin-bottom:10px}.calendar-legend{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.calendar-legend span{font-size:10px;font-weight:800;padding:4px 6px;border-radius:4px}.cal-start{background:#9bd4aa!important}.cal-transit{background:#f6df75!important}.cal-arrived{background:#ee9a9a!important}.mini-calendars{display:grid;gap:10px}.mini-calendar{border:1px solid var(--line);border-radius:6px;padding:8px;background:#fafafa}.mini-calendar>b{display:block;text-align:center;font-size:12px;margin-bottom:5px}.cal-weekdays,.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekdays span{font-size:9px;text-align:center;color:var(--muted);font-weight:800}.cal-week span{font-size:10px;text-align:center;padding:4px 2px;border-radius:3px;min-height:20px}.cal-week .outside{opacity:.2}.tracking-map-card{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden}.tracking-map-card .card-title{min-width:0}.tracking-map-frame{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px}.tracking-map{box-sizing:border-box;width:100%;height:420px;min-width:0;max-width:none;overflow:hidden}.tracking-map.leaflet-container{width:100%!important;max-width:100%!important}.tracking-map-card>small{display:block;max-width:100%;margin-top:7px;overflow-wrap:anywhere}
@media(max-width:1100px){.tracking-top-grid{grid-template-columns:1fr}.tracking-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(6,minmax(105px,1fr));overflow-x:auto}}
@media(max-width:760px){.tracking-record-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(6,minmax(100px,1fr))}}

/* v0.8.1.4.5 tracking calendar visibility */
.tracking-detail-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch;margin-bottom:18px}.tracking-detail-top>.card{margin:0;min-width:0}.transit-calendar-card{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible}.transit-calendar-card .mini-calendars{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.transit-calendar-card .mini-calendar{display:block!important}.transit-calendar-card .cal-weekdays,.transit-calendar-card .cal-week{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))}.tracking-record-card{min-width:0}@media(max-width:1100px){.tracking-detail-top{grid-template-columns:1fr}}

/* v0.8.1.4.6 full month transit calendar */
.transit-calendar-card{display:flex!important;flex-direction:column}.transit-month-calendars{display:grid;grid-template-columns:1fr;gap:14px;width:100%}.transit-month-calendar{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.transit-month-title{text-align:center;font-size:17px;font-weight:800;padding:11px 8px;background:#f5f6f7;border-bottom:1px solid var(--line)}.transit-month-calendar .cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;background:#fafafa;border-bottom:1px solid var(--line)}.transit-month-calendar .cal-weekdays span{font-size:11px;font-weight:800;text-align:center;padding:8px 2px;color:var(--muted);border-right:1px solid var(--line)}.transit-month-calendar .cal-weekdays span:last-child{border-right:0}.transit-month-calendar .cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.transit-month-calendar .cal-week span{display:flex;align-items:flex-start;justify-content:flex-end;box-sizing:border-box;min-height:48px;padding:6px 7px;font-size:12px;font-weight:700;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:#fff}.transit-month-calendar .cal-week span:last-child{border-right:0}.transit-month-calendar .cal-week:last-child span{border-bottom:0}.transit-month-calendar .cal-week .outside{background:#f7f7f7;opacity:1}.transit-month-calendar .cal-week .cal-start{background:#9bd4aa!important;color:#143b20}.transit-month-calendar .cal-week .cal-transit{background:#f6df75!important;color:#4a3b00}.transit-month-calendar .cal-week .cal-arrived{background:#ee9a9a!important;color:#5b1111}.transit-calendar-card .calendar-legend{margin:0 0 10px}.transit-calendar-card .calendar-legend .cal-start,.transit-calendar-card .calendar-legend .cal-transit,.transit-calendar-card .calendar-legend .cal-arrived{border:1px solid rgba(0,0,0,.08)}@media(max-width:760px){.transit-month-calendar .cal-weekdays span{font-size:9px;padding:6px 1px}.transit-month-calendar .cal-week span{min-height:38px;padding:4px;font-size:11px}.transit-month-title{font-size:15px}}

/* v0.9.3.2: true five-column job workflow navigation */
.workflow-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important}
.workflow-strip>span,.workflow-strip>a{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;text-align:center!important}

/* v0.9.8.0 New Job Workspace */
.workspace-progress{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:7px;margin:12px 0 18px}.workspace-progress span{padding:9px 7px;border-radius:8px;background:#eef1f4;text-align:center;font-size:12px;font-weight:700;color:#66717c;border:1px solid #d9dee3}.workspace-progress .done{background:#edf8f1;color:#087646;border-color:#bfe4cd}.workspace-progress .current{background:#fff4cc;color:#8a6100;border-color:#e5ad00;box-shadow:inset 0 0 0 1px #e5ad00}.workspace-stage{border-left:4px solid #e5ad00}.upload-drop.drag-active{outline:3px dashed #e5ad00;background:#fff8df}.upload-drop.file-ready{border-color:#16875d;background:#effaf5}.workspace-collapsed-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:11px 15px;margin:8px 0;border:1px solid #cfe5d7;border-radius:8px;background:#f3faf6}.workspace-collapsed-summary b{color:#087646}.workspace-collapsed-summary span{color:#5d6873}.job-jacket{border-top:3px solid #e5ad00}.job-jacket-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.job-jacket-grid>div{padding:12px;border:1px solid #dfe4e8;border-radius:7px;background:#fafbfc}.job-jacket-grid small{display:block;color:#69747e}.job-jacket-grid b{display:block;margin-top:4px}.jacket-actions{margin-top:12px}.workspace-accordion{margin:10px 0;border:1px solid #dfe4e8;border-radius:8px;background:white;overflow:hidden}.workspace-accordion>summary{cursor:pointer;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;background:#f7f8f9}.workspace-accordion>summary span{font-size:12px;color:#6d7780}.workspace-accordion>section.card{border:0;box-shadow:none;margin:0;border-radius:0}@media(max-width:1000px){.workspace-progress{grid-template-columns:repeat(4,1fr)}.job-jacket-grid{grid-template-columns:repeat(2,1fr)}}

/* v0.9.8.1 workspace UI correction */
.workspace-collapsed-summary{min-height:42px}
.workspace-progress{transition:opacity .15s ease}
.job-jacket{box-shadow:0 2px 10px rgba(0,0,0,.08)}

/* v0.9.8.2 workspace progression cleanup */
.workspace-stage-action{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}
.workspace-stage-action .btn-primary{font-weight:700}
.workspace-complete-row{cursor:pointer}
