:root{
  --sw-device-ink:#101318;
  --sw-device-muted:#606873;
  --sw-device-line:#dfe3e8;
  --sw-device-surface:#fff;
  --sw-device-soft:#f3f5f7;
  --sw-device-canvas:#eef1f4;
  --sw-device-focus:rgba(32,36,43,.26);
  --sw-device-success:#22623a;
  --sw-device-warning:#745315;
  --sw-device-danger:#9c2e35;
}

.sw-device *{box-sizing:border-box}
.sw-device{margin:0;min-width:0;min-height:100dvh;background:linear-gradient(145deg,#f8f9fa 0%,var(--sw-device-canvas) 100%);color:var(--sw-device-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior-y:contain;-webkit-font-smoothing:antialiased}
.sw-device a{color:inherit;text-decoration:none}
.sw-device button,.sw-device a{touch-action:manipulation}
.sw-device svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.sw-device-skip{position:fixed;left:12px;top:-80px;z-index:1000;padding:12px 16px;border-radius:12px;background:#111;color:#fff}.sw-device-skip:focus{top:12px}
.sw-device-appbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:68px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid rgba(190,197,205,.78);background:rgba(250,251,252,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.sw-device-brand{display:flex;min-width:0;align-items:center;gap:10px}.sw-device-mark{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;background:#181b20;color:#fff;font-weight:850}.sw-device-brand>span:last-child{min-width:0}.sw-device-brand strong,.sw-device-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-device-brand strong{font-size:.88rem;letter-spacing:-.01em}.sw-device-brand small{margin-top:2px;color:var(--sw-device-muted);font-size:.66rem}
.sw-device-health{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d7dde2;border-radius:999px;background:rgba(255,255,255,.84);font-size:.67rem}.sw-device-health>span{width:7px;height:7px;border-radius:50%;background:#3d8b58;box-shadow:0 0 0 4px rgba(61,139,88,.12)}.sw-device-health b{font-weight:750}
.sw-device-web-link{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid #d5dae0;border-radius:12px;background:#fff;font-size:.72rem;font-weight:750}.sw-device-web-link svg{width:20px;height:20px}
.sw-device-preview-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-bottom:1px solid #dfe3e8;background:#f1f3f5;color:#434b55;font-size:.7rem;font-weight:720;text-align:center}.sw-device-preview-note svg{flex:0 0 18px;width:18px;height:18px}
.sw-device-content{width:100%;max-width:1180px;margin:0 auto;padding:18px 14px calc(88px + env(safe-area-inset-bottom))}
.sw-device-alert{margin-bottom:12px;padding:12px 14px;border:1px solid var(--sw-device-line);border-radius:12px;background:#fff;font-size:.82rem}.sw-device-alert.is-danger{border-color:#e5b8bc;color:var(--sw-device-danger)}
.sw-device-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:6px 2px 22px}.sw-device-hero>div>span,.sw-device-section-head>div>span,.sw-device-module-header span{color:#6b7280;font-size:.63rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.sw-device-hero h1{margin:5px 0 7px;font-size:clamp(1.65rem,8vw,2.25rem);line-height:1.02;letter-spacing:-.045em}.sw-device-hero p{max-width:620px;margin:0;color:var(--sw-device-muted);font-size:.78rem;line-height:1.48}.sw-device-hero time{padding-bottom:3px;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}
.sw-device-current{margin-bottom:24px;padding:18px;border:1px solid #272c33;border-radius:20px;background:#171a1f;color:#fff;box-shadow:0 14px 36px rgba(17,24,39,.12)}.sw-device-current-top{display:flex;align-items:center;justify-content:space-between;color:#cbd1d8;font-size:.68rem}.sw-device-current-top>b{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#fff;color:#111}.sw-device-current h2{margin:16px 0 6px;font-size:1.25rem}.sw-device-current p{margin:0 0 16px;color:#cbd1d8;font-size:.76rem;line-height:1.5}
.sw-device-primary{display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;border:1px solid #11151a;border-radius:14px;background:#11151a;color:#fff!important;font:780 .83rem inherit;cursor:pointer}.sw-device-current .sw-device-primary{border-color:#fff;background:#fff;color:#111!important}.sw-device-primary:active,.sw-device-task-action:active{background:#30353c}.sw-device-primary.is-disabled{border-color:#d6dbe1;background:#eef0f2;color:#5d6570!important;cursor:not-allowed}
.sw-device-section{margin-top:24px}.sw-device-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.sw-device-section-head h2{margin:3px 0 0;font-size:1.3rem;letter-spacing:-.035em}.sw-device-section-head>b{display:grid;min-width:36px;height:36px;place-items:center;border:1px solid #d9dee4;border-radius:11px;background:#fff;font-variant-numeric:tabular-nums}
.sw-device-module-grid{display:grid;grid-template-columns:1fr;gap:10px}.sw-device-module-card{display:flex;min-height:210px;flex-direction:column;padding:16px;border:1px solid var(--sw-device-line);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(15,23,42,.035);transition:border-color .18s ease,background .18s ease}.sw-device-module-card:hover{border-color:#8f98a4;background:#fff}.sw-device-module-card:focus-visible,.sw-device a:focus-visible,.sw-device button:focus-visible{outline:3px solid var(--sw-device-focus);outline-offset:2px}.sw-device-module-top{display:flex;align-items:center;justify-content:space-between}.sw-device-module-top>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#1d2025;color:#fff;font:800 .72rem ui-monospace,SFMono-Regular,Consolas,monospace}.sw-device-module-top>b{padding:5px 8px;border:1px solid #d7dce1;border-radius:999px;background:#f5f6f7;color:#555e69;font-size:.58rem}.sw-device-module-card.state-live .sw-device-module-top>b{border-color:#c5dfce;background:#eff8f2;color:#28603b}.sw-device-module-card h3{margin:15px 0 5px;font-size:1.05rem;letter-spacing:-.022em}.sw-device-module-card>p{margin:0;color:var(--sw-device-muted);font-size:.72rem;line-height:1.48}.sw-device-module-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0 0}.sw-device-module-card dl div{padding:8px;border-radius:10px;background:var(--sw-device-soft)}.sw-device-module-card dt{color:#707985;font-size:.55rem}.sw-device-module-card dd{margin:2px 0 0;font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums}.sw-device-module-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;font-size:.72rem;font-weight:800}.sw-device-module-card footer b{font-size:1.1rem}
.sw-device-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:70px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid rgba(190,197,205,.82);background:rgba(250,251,252,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sw-device-bottom-nav a{display:flex;min-width:0;min-height:52px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;color:#68717c;font-size:.59rem;font-weight:720}.sw-device-bottom-nav a:hover,.sw-device-bottom-nav a.is-active{background:#e9ecef;color:#15181d}.sw-device-bottom-nav svg{width:21px;height:21px}
.sw-device-module-header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:2px 0 16px}.sw-device-module-header>a{display:grid;width:48px;height:48px;place-items:center;border:1px solid #d8dde3;border-radius:14px;background:#fff}.sw-device-module-header svg{width:24px;height:24px}.sw-device-module-header h1{margin:4px 0 0;font-size:1.65rem;letter-spacing:-.042em}
.sw-device-module-intro{padding:18px;border:1px solid var(--sw-device-line);border-radius:18px;background:rgba(255,255,255,.9)}.sw-device-module-intro p{margin:0 0 16px;color:var(--sw-device-muted);font-size:.8rem;line-height:1.55}
.sw-device-steps{margin-top:20px}.sw-device-steps ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.sw-device-steps li{display:flex;min-height:52px;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--sw-device-line);border-radius:14px;background:#fff}.sw-device-steps li>span{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:9px;background:#22262c;color:#fff;font:800 .65rem ui-monospace,SFMono-Regular,Consolas,monospace}.sw-device-steps li>b{font-size:.78rem}
.sw-device-task-list{display:grid;gap:9px}.sw-device-task{padding:15px;border:1px solid var(--sw-device-line);border-radius:16px;background:#fff}.sw-device-task.is-mine{border-color:#919aa5}.sw-device-task>header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#616a75;font:700 .63rem ui-monospace,SFMono-Regular,Consolas,monospace}.sw-device-task>header b{padding:4px 7px;border-radius:999px;background:#f0f2f4}.sw-device-task h3{margin:13px 0 5px;font-size:.98rem}.sw-device-task p{margin:0;color:#525b66;font-size:.74rem}.sw-device-task>small{display:block;margin:6px 0 14px;color:#777f89;font-size:.64rem}.sw-device-task-action{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;border:1px solid #15181d;border-radius:13px;background:#15181d;color:#fff;font:780 .78rem inherit;cursor:pointer}.sw-device-task-action.is-disabled{border-color:#d9dde2;background:#f2f4f5;color:#6b7380;cursor:not-allowed}.sw-device-empty{padding:28px 18px;border:1px dashed #cbd1d8;border-radius:16px;text-align:center}.sw-device-empty>span{display:grid;width:44px;height:44px;margin:0 auto 12px;place-items:center;border-radius:13px;background:#22262b;color:#fff;font-weight:800}.sw-device-empty h3{margin:0 0 5px;font-size:1rem}.sw-device-empty p{margin:0;color:var(--sw-device-muted);font-size:.73rem}

/* Tablet keeps the same interaction model but uses the extra visual area. */
.sw-device-tablet .sw-device-content{padding-inline:24px}.sw-device-tablet .sw-device-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-device-tablet .sw-device-module-card{min-height:230px;padding:20px}.sw-device-tablet .sw-device-task-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-device-tablet .sw-device-steps ol{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-device-tablet .sw-device-hero{padding-top:14px}.sw-device-tablet .sw-device-hero h1{font-size:2.45rem}.sw-device-tablet .sw-device-module-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);gap:20px;align-items:center}.sw-device-tablet .sw-device-module-intro p{margin:0}

/* Persistent shortcuts in the administration site. */
.wms-device-shortcuts{display:flex;align-items:center;gap:6px}.wms-device-shortcuts a{display:flex;min-height:42px;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(185,193,202,.68);border-radius:12px;background:rgba(255,255,255,.62);color:#343a43;text-decoration:none;font-size:.72rem;font-weight:760}.wms-device-shortcuts a:hover{border-color:#939ca7;background:#fff;color:#111}.wms-device-shortcuts svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}

/* Device Lab inside the administration site. */
.sw-device-lab{max-width:1580px;margin:0 auto;color:#11151a}.sw-lab-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:22px 0 26px}.sw-lab-hero>div:first-child>span{color:#75603b;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.sw-lab-hero h1{margin:7px 0 10px;font-size:clamp(2rem,4vw,3.75rem);line-height:1;letter-spacing:-.055em}.sw-lab-hero p{max-width:780px;margin:0;color:#626b76;font-size:.9rem;line-height:1.55}.sw-lab-surface-tabs{display:flex;gap:8px}.sw-lab-surface-tabs button{display:flex;min-width:132px;min-height:52px;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border:1px solid #d8dde3;border-radius:15px;background:rgba(255,255,255,.82);color:#47505a;font-weight:780;cursor:pointer}.sw-lab-surface-tabs button:hover,.sw-lab-surface-tabs button.is-active{border-color:#20242a;background:#20242a;color:#fff}.sw-lab-surface-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.sw-lab-workspace{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start}.sw-lab-controls,.sw-lab-stage{border:1px solid #dce1e6;border-radius:24px;background:rgba(255,255,255,.78);box-shadow:0 18px 50px rgba(15,23,42,.045)}.sw-lab-controls{position:sticky;top:94px;padding:20px}.sw-lab-control{margin-bottom:18px}.sw-lab-control label{display:block;margin-bottom:7px;color:#3f4650;font-size:.72rem;font-weight:800}.sw-lab-control select{width:100%;min-height:48px;padding:9px 36px 9px 12px;border:1px solid #cfd5dc;border-radius:13px;background:#fff;color:#15191e;font-size:.88rem}.sw-lab-control small{display:block;margin-top:7px;color:#737c87;font-size:.66rem;line-height:1.45}.sw-lab-actions{display:grid;gap:8px}.sw-lab-actions button,.sw-lab-actions a{display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid #ccd2d9;border-radius:13px;background:#fff;color:#272c33;text-decoration:none;font-size:.76rem;font-weight:780;cursor:pointer}.sw-lab-actions button:hover,.sw-lab-actions a:hover{border-color:#22262c;background:#f3f4f6;color:#111}.sw-lab-actions svg,.sw-lab-security svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.sw-lab-security{display:flex;gap:10px;margin-top:20px;padding:14px;border-radius:14px;background:#f0f3f5;color:#49515c}.sw-lab-security svg{flex:0 0 22px}.sw-lab-security strong,.sw-lab-security span{display:block}.sw-lab-security strong{font-size:.72rem}.sw-lab-security span{margin-top:3px;font-size:.64rem;line-height:1.45}
.sw-lab-stage{min-width:0;overflow:hidden}.sw-lab-stage-head{display:flex;min-height:58px;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #e0e4e8;color:#4d5560;font-size:.72rem}.sw-lab-stage-head>div{display:flex;align-items:center;gap:8px}.sw-lab-live-dot{width:8px;height:8px;border-radius:50%;background:#3d8b58;box-shadow:0 0 0 5px rgba(61,139,88,.11)}.sw-lab-frame-space{display:flex;min-height:680px;align-items:flex-start;justify-content:center;padding:28px 16px;background:radial-gradient(circle at 50% 8%,#fff 0,#eef1f4 54%,#e5e9ed 100%);overflow:hidden}.sw-lab-device-frame{position:relative;flex:none;padding:14px;border:1px solid #353a41;background:#171a1f;box-shadow:0 28px 70px rgba(15,23,42,.2);transform-origin:top center;transition:width .2s ease,height .2s ease,transform .2s ease}.sw-lab-device-frame.is-tsd{border-radius:30px}.sw-lab-device-frame.is-tablet{border-radius:24px}.sw-lab-device-frame iframe{display:block;border:0;border-radius:18px;background:#eef1f4}.sw-lab-device-frame.is-tablet iframe{border-radius:12px}.sw-lab-device-sensor{position:absolute;left:50%;top:5px;z-index:2;width:54px;height:5px;border-radius:99px;background:#4a4f56;transform:translateX(-50%)}.sw-lab-device-frame.is-tablet .sw-lab-device-sensor{width:7px;height:7px;border-radius:50%}

@media (max-width:1100px){
  .wms-device-shortcuts a span{display:none}.wms-device-shortcuts a{min-width:42px;justify-content:center;padding-inline:8px}
  .sw-lab-workspace{grid-template-columns:1fr}.sw-lab-controls{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sw-lab-control{margin:0}.sw-lab-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.sw-lab-security{grid-column:1/-1;margin:0}
}
@media (max-width:760px){
  .sw-device-tablet .sw-device-content{padding-inline:14px}.sw-device-tablet .sw-device-module-grid,.sw-device-tablet .sw-device-task-list,.sw-device-tablet .sw-device-steps ol{grid-template-columns:1fr}.sw-device-tablet .sw-device-module-intro{grid-template-columns:1fr}
  .sw-lab-hero{align-items:stretch;flex-direction:column}.sw-lab-surface-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sw-lab-surface-tabs button{min-width:0}.sw-lab-controls{grid-template-columns:1fr}.sw-lab-actions,.sw-lab-security{grid-column:auto}.sw-lab-frame-space{min-height:440px}.sw-lab-hero h1{font-size:2.45rem}
}
@media (max-width:480px){
  .sw-device-appbar{grid-template-columns:minmax(0,1fr) auto}.sw-device-web-link{display:none}.sw-device-health{padding-inline:8px}.sw-device-health b{display:none}.sw-device-content{padding-inline:12px}.sw-device-hero time{font-size:1.2rem}.sw-device-module-card{min-height:200px}.sw-device-module-header h1{font-size:1.45rem}
  .sw-lab-actions{grid-template-columns:1fr}.sw-lab-frame-space{padding-inline:8px}.sw-lab-hero h1{font-size:2.15rem}
}
@media (prefers-reduced-motion:reduce){
  .sw-device *,.sw-device-lab *{scroll-behavior:auto!important;transition:none!important}
}

/* Tablet operator surface: the same clean device boundary as TSD, with
   additional space for visual checks and task context. */
.sw-device-tablet {
  background:
    radial-gradient(circle at 8% 0, rgba(255,255,255,.98), transparent 34%),
    linear-gradient(145deg, #f7f8f9, #e9edf0);
}

.sw-tablet-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  min-height: 64px;
  padding: max(10px, env(safe-area-inset-top)) 22px 10px;
  align-items: center;
  border-bottom: 1px solid rgba(190,197,205,.8);
  background: rgba(250,251,252,.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.sw-tablet-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
}

.sw-tablet-brand > span:last-child {
  min-width: 0;
}

.sw-tablet-brand strong,
.sw-tablet-brand small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sw-tablet-brand strong {
  font-size: .92rem;
}

.sw-tablet-brand small {
  margin-top: 1px;
  color: #6a727c;
  font-size: .66rem;
}

.sw-device-tablet .sw-device-content {
  max-width: 1200px;
  padding: 24px 24px calc(92px + env(safe-area-inset-bottom));
}

.sw-tablet-home-title {
  margin-bottom: 20px;
}

.sw-tablet-home-title > span,
.sw-tablet-module-header span,
.sw-tablet-instructions > span,
.sw-tablet-jobs > header > span {
  color: #747c86;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.sw-tablet-home-title h1 {
  margin: 5px 0 6px;
  font-size: clamp(1.8rem, 4vw, 2.55rem);
  letter-spacing: -.045em;
  line-height: 1.05;
}

.sw-tablet-home-title p {
  max-width: 660px;
  margin: 0;
  color: #606873;
  font-size: .82rem;
  line-height: 1.5;
}

.sw-tablet-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sw-tablet-module-card {
  display: grid;
  min-height: 148px;
  padding: 18px;
  grid-template-columns: 58px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 15px;
  border: 1px solid rgba(198,204,211,.9);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 30px rgba(15,23,42,.045);
}

.sw-tablet-module-card:hover {
  border-color: #8d959e;
  background: #fff;
}

.sw-tablet-module-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 16px;
  color: #3f464e;
  background: #edf0f2;
}

.sw-tablet-module-icon svg {
  width: 34px;
  height: 34px;
}

.sw-tablet-module--quality .sw-tablet-module-icon {
  color: #8a3237;
  background: #f7e9ea;
}

.sw-tablet-module--return-packing .sw-tablet-module-icon,
.sw-tablet-module--return-inspection .sw-tablet-module-icon {
  color: #75561b;
  background: #f7f0df;
}

.sw-tablet-module-card h2 {
  margin: 0 0 5px;
  font-size: 1.08rem;
  letter-spacing: -.02em;
}

.sw-tablet-module-card p {
  margin: 0;
  color: #626b75;
  font-size: .72rem;
  line-height: 1.45;
}

.sw-tablet-module-card > b {
  color: #8a929b;
  font-size: 2rem;
  font-weight: 400;
  text-align: right;
}

.sw-tablet-module-header {
  display: grid;
  margin-bottom: 18px;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.sw-tablet-module-header > a {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #cfd5db;
  border-radius: 14px;
  background: rgba(255,255,255,.92);
}

.sw-tablet-module-header svg {
  width: 24px;
  height: 24px;
}

.sw-tablet-module-header h1 {
  margin: 3px 0 0;
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -.04em;
}

.sw-tablet-workspace {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.45fr);
  gap: 14px;
  align-items: start;
}

.sw-tablet-instructions,
.sw-tablet-jobs {
  border: 1px solid rgba(199,205,212,.9);
  border-radius: 20px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 38px rgba(15,23,42,.045);
}

.sw-tablet-instructions {
  padding: 20px;
}

.sw-tablet-instructions h2 {
  margin: 7px 0 18px;
  font-size: 1rem;
  line-height: 1.4;
}

.sw-tablet-instructions ol {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 7px;
  list-style: none;
}

.sw-tablet-instructions li {
  display: grid;
  min-height: 48px;
  padding: 8px 10px;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border-radius: 12px;
  background: #f1f3f5;
}

.sw-tablet-instructions li span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #fff;
  background: #4d5156;
  border-radius: 9px;
  font-size: .68rem;
  font-weight: 800;
}

.sw-tablet-instructions li b {
  font-size: .74rem;
  line-height: 1.35;
}

.sw-tablet-preview-lock {
  margin-top: 14px;
  padding: 11px;
  color: #555e68;
  background: #eceff1;
  border-radius: 12px;
  font-size: .72rem;
  font-weight: 750;
  text-align: center;
}

.sw-tablet-jobs {
  min-width: 0;
  padding: 20px;
}

.sw-tablet-jobs > header h2 {
  margin: 4px 0 14px;
  font-size: 1.35rem;
  letter-spacing: -.035em;
}

.sw-tablet-task-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.sw-tablet-task {
  display: flex;
  min-width: 0;
  min-height: 190px;
  padding: 15px;
  flex-direction: column;
  border: 1px solid #d9dee3;
  border-radius: 15px;
  background: #fff;
}

.sw-tablet-task.is-mine {
  border-color: #717982;
  box-shadow: inset 3px 0 #4d5156;
}

.sw-tablet-task > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #66707a;
  font: 700 .63rem ui-monospace, SFMono-Regular, Consolas, monospace;
}

.sw-tablet-task > header b {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eff1f3;
}

.sw-tablet-task h3 {
  margin: 14px 0 6px;
  font-size: .96rem;
}

.sw-tablet-task p {
  margin: 0;
  color: #525c66;
  font-size: .73rem;
  line-height: 1.4;
}

.sw-tablet-task small {
  display: block;
  margin: 7px 0 12px;
  color: #737c85;
  font-size: .65rem;
}

.sw-tablet-task form {
  margin-top: auto;
}

.sw-tablet-task-action {
  display: flex;
  width: 100%;
  min-height: 48px;
  margin-top: auto;
  align-items: center;
  justify-content: center;
  border: 1px solid #22262b;
  border-radius: 12px;
  color: #fff;
  background: #22262b;
  font: 780 .76rem inherit;
}

.sw-tablet-task-action.is-disabled {
  color: #69717a;
  border-color: #d9dde1;
  background: #f0f2f4;
}

.sw-tablet-empty {
  display: flex;
  min-height: 280px;
  padding: 28px;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px dashed #c8ced4;
  border-radius: 16px;
  text-align: center;
}

.sw-tablet-empty svg {
  width: 54px;
  height: 54px;
  color: #a4abb2;
}

.sw-tablet-empty h3 {
  margin: 13px 0 5px;
  font-size: 1rem;
}

.sw-tablet-empty p {
  margin: 0;
  color: #69727c;
  font-size: .72rem;
}

@media (max-width: 820px) {
  .sw-tablet-workspace {
    grid-template-columns: 1fr;
  }

  .sw-tablet-instructions ol,
  .sw-tablet-task-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .sw-tablet-header {
    padding-inline: 14px;
  }

  .sw-device-tablet .sw-device-content {
    padding-inline: 12px;
  }

  .sw-tablet-module-grid,
  .sw-tablet-instructions ol,
  .sw-tablet-task-list {
    grid-template-columns: 1fr;
  }

  .sw-tablet-module-card {
    min-height: 132px;
    padding: 15px;
  }
}

/* -------------------------------------------------------------------------
   WMS 2.4.71 handheld compatibility surface
   Reference geometry: Ulefone 480 × 800, portrait, two-column module menu.
   ------------------------------------------------------------------------- */
.sw-device-tsd {
  --wb-header: #4d5156;
  --wb-body: #d9dbde;
  --wb-module: #007aff;
  --wb-folder: #fe9500;
  --wb-exit: #ff3a30;
  --wb-settings: #8e8d92;
  min-width: 280px;
  margin: 0;
  overflow: hidden;
  color: #111;
  background: var(--wb-body);
  font-family: Roboto, Arial, sans-serif;
}

.sw-device-tsd .sw-device-content {
  position: relative;
  width: 100%;
  min-height: 100vh;
  padding: 0;
  overflow: hidden;
  background: var(--wb-body);
}

.sw-device-tsd .wbwms-preview-marker {
  position: fixed;
  z-index: 50;
  right: 4px;
  bottom: 4px;
  padding: 2px 5px;
  color: #333;
  background: rgba(255,255,255,.72);
  border: 1px solid #aaa;
  font-size: 9px;
  pointer-events: none;
}

.wbwms-shell {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background: var(--wb-body);
}

.wbwms-menu-header {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  max-height: 80px;
  padding: 5px 10px;
  color: #fff;
  background: var(--wb-header);
}

.wbwms-menu-back {
  position: absolute;
  left: 0;
  display: grid;
  width: 52px;
  min-height: 52px;
  place-items: center;
  color: #fff;
  font-size: 38px;
  line-height: 1;
  text-decoration: none;
  touch-action: manipulation;
}

.wbwms-menu-back:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -4px;
}

.wbwms-folder-caption {
  display: flex;
  min-height: 44px;
  padding: 5px 10px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #222;
  background: #f1f2f3;
  border-bottom: 1px solid #aaa;
}

.wbwms-folder-caption strong {
  font-size: clamp(14px, 3.8vw, 19px);
}

.wbwms-folder-caption span {
  color: #555;
  font-size: clamp(11px, 2.8vw, 14px);
  white-space: nowrap;
}

.wbwms-menu-header strong {
  display: block;
  max-width: calc(100% - 106px);
  min-width: 0;
  overflow: hidden;
  font-size: clamp(12px, 4vw, 20px);
  line-height: 1.12;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wbwms-menu-header.has-back {
  padding-right: 60px;
  padding-left: 60px;
}

.wbwms-menu-header.has-back strong {
  width: 100%;
  max-width: 100%;
}

.wbwms-menu-header > span {
  position: absolute;
  right: 10px;
  max-width: 94px;
  font-size: clamp(11px, 3vw, 18px);
  line-height: 1.05;
  text-align: right;
}

.wbwms-menu-body {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(96px, 1fr);
  gap: 4px;
  padding: 5px 4px 4px;
  background: var(--wb-body);
}

.wbwms-menu-button {
  display: flex;
  min-width: 0;
  padding: 8px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  color: #111;
  background: linear-gradient(#fff, #f3f3f3);
  border: 1px solid #a9a9a9;
  border-radius: 2px;
  box-shadow: inset 0 1px 0 #fff, 0 1px 1px rgba(0,0,0,.18);
  text-align: center;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.wbwms-menu-button:active {
  background: #ddd;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.28);
}

.wbwms-menu-button svg {
  width: clamp(32px, 12vw, 58px);
  height: clamp(32px, 12vw, 58px);
  color: var(--wb-module);
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wbwms-menu-button svg circle {
  fill: none;
}

.wbwms-menu-button strong {
  font-size: clamp(13px, 3.9vw, 20px);
  line-height: 1.08;
  font-weight: 500;
}

.wbwms-menu-button small {
  color: #555;
  font-size: clamp(9px, 2.6vw, 13px);
}

.wbwms-menu-button.wbwms-module-core svg {
  color: var(--wb-module);
}

.wbwms-menu-button.wbwms-module-planned svg {
  color: var(--wb-settings);
}

.wbwms-menu-button.wbwms-section-button svg {
  color: var(--wb-folder);
}

.wbwms-menu-button.wbwms-section-button strong {
  max-width: 100%;
  font-size: clamp(12px, 3.5vw, 18px);
}

.wbwms-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wbwms-menu-button.wbwms-settings svg {
  color: var(--wb-settings);
  fill: none;
}

.wbwms-menu-button.wbwms-exit svg {
  color: var(--wb-exit);
  fill: none;
}

.wbwms-module-shell {
  background: #fff;
}

.wbwms-module-bar {
  display: grid;
  flex: 0 0 40px;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  min-height: 40px;
  color: #fff;
  background: var(--wb-header);
}

.wbwms-module-bar a {
  display: grid;
  height: 40px;
  place-items: center;
  color: #fff;
  font-size: 38px;
  line-height: 1;
  text-decoration: none;
}

.wbwms-module-bar strong {
  overflow: hidden;
  font-size: 18px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wbwms-work-area {
  display: flex;
  flex: 1;
  min-height: calc(100vh - 40px);
  flex-direction: column;
  background: #fff;
}

.wbwms-product-photo {
  position: relative;
  display: grid;
  flex: 0 0 clamp(150px, 31vh, 270px);
  place-items: center;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #d2d2d2;
}

.wbwms-product-photo svg {
  width: min(42vw, 150px);
  color: #d8d8d8;
  fill: currentColor;
  stroke: #b4b4b4;
  stroke-width: 1.2;
}

.wbwms-pack-name {
  display: grid;
  flex: 0 0 50px;
  place-items: center;
  color: #fff;
  background: #ff0000;
  font-size: clamp(18px, 5.2vw, 26px);
  font-weight: 700;
  text-align: center;
}

.wbwms-instruction {
  display: flex;
  min-height: 64px;
  padding: 7px 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #aaa;
  text-align: center;
}

.wbwms-instruction strong {
  font-size: clamp(18px, 5vw, 25px);
}

.wbwms-instruction span {
  color: #333;
  font-size: clamp(12px, 3.4vw, 17px);
}

.wbwms-barcode-band {
  display: flex;
  flex: 0 0 80px;
  padding: 7px 10px;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(#f8f8f8, #d9d9d9);
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #888;
}

.wbwms-barcode-band strong {
  font-size: clamp(18px, 5vw, 25px);
}

.wbwms-barcode-band span {
  overflow: hidden;
  color: #222;
  font-size: clamp(12px, 3.3vw, 16px);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wbwms-target {
  display: grid;
  flex: 0 0 50px;
  padding: 4px 10px;
  place-items: center;
  overflow: hidden;
  color: #111;
  background: #baf73c;
  border-bottom: 1px solid #7eaa27;
  font-size: clamp(17px, 5vw, 25px);
  font-weight: 700;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wbwms-scan-control {
  display: grid;
  flex: 0 0 50px;
  grid-template-columns: minmax(0, 1fr) 88px;
  background: #d9dbde;
  border-bottom: 1px solid #888;
}

.wbwms-scan-control label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.wbwms-scan-control input {
  min-width: 0;
  height: 50px;
  padding: 0 10px;
  color: #111;
  background: #fff;
  border: 0;
  border-right: 1px solid #888;
  border-radius: 0;
  font: 18px Roboto, Arial, sans-serif;
}

.wbwms-scan-control input:focus {
  position: relative;
  z-index: 1;
  outline: 3px solid #4d5156;
  outline-offset: -3px;
}

.wbwms-scan-control button {
  min-width: 88px;
  min-height: 50px;
  padding: 0 8px;
  color: #111;
  background: linear-gradient(#fff, #ddd);
  border: 0;
  border-radius: 0;
  font: 700 17px Roboto, Arial, sans-serif;
  touch-action: manipulation;
}

.wbwms-scan-control button:active {
  background: #c9c9c9;
}

.wbwms-scan-control.is-preview input,
.wbwms-scan-control.is-preview button {
  color: #666;
  background: #e6e6e6;
}

.wbwms-task-list {
  flex: 1 1 auto;
  min-height: 70px;
  overflow-y: auto;
  background: #f5f5f5;
}

.wbwms-task-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  min-height: 56px;
  background: #fff;
  border-bottom: 1px solid #aaa;
}

.wbwms-task-row > div {
  display: flex;
  min-width: 0;
  padding: 5px 8px;
  flex-direction: column;
  justify-content: center;
}

.wbwms-task-row strong {
  font-size: 16px;
}

.wbwms-task-row div span {
  overflow: hidden;
  color: #444;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wbwms-task-row > span,
.wbwms-task-row button {
  display: grid;
  min-width: 80px;
  height: 100%;
  padding: 0 7px;
  place-items: center;
  color: #111;
  background: linear-gradient(#fff, #e5e5e5);
  border: 0;
  border-left: 1px solid #aaa;
  border-radius: 0;
  font: inherit;
  font-size: 13px;
}

.wbwms-task-row form {
  margin: 0;
}

.wbwms-empty {
  padding: 20px 10px;
  color: #555;
  font-size: 16px;
  text-align: center;
}

.wbwms-empty small {
  display: block;
  margin-top: 5px;
  color: #666;
  font-size: 12px;
}

.wbwms-bottom-action {
  display: grid;
  flex: 0 0 50px;
  place-items: center;
  color: #111;
  background: linear-gradient(#fff, #ddd);
  border: 1px solid #888;
  border-radius: 0;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.wbwms-bottom-action.is-disabled {
  color: #666;
  background: #e8e8e8;
}

/* SortCenterSortToContainerMrtActivity2 · layout_sc_presort.
   The visible surface follows the handheld layout; the focused one-pixel
   input only receives hardware-scanner keystrokes. */
.wbwms-presort {
  position: relative;
  flex: 1 1 auto;
  min-height: calc(100vh - 40px);
  overflow: hidden;
  background: #fff;
  color: #111;
}

.wbwms-presort-dialog {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  background: #fff;
  text-align: center;
}

.wbwms-presort-dialog strong {
  max-width: 360px;
  font-size: clamp(22px, 6.3vw, 32px);
  line-height: 1.18;
}

.wbwms-presort-dialog span {
  color: #666;
  font-size: 14px;
}

.wbwms-presort[data-state="place"] .wbwms-presort-dialog {
  display: flex;
}

.wbwms-presort[data-state="place"] .wbwms-presort-main {
  display: none;
}

.wbwms-presort-main {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  background: #fff;
}

.wbwms-presort-speed {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 1;
  display: flex;
  gap: 3px;
  align-items: end;
  height: 15px;
}

.wbwms-presort-speed i {
  display: block;
  width: 4px;
  background: #5b6065;
}

.wbwms-presort-speed i:nth-child(1) { height: 5px; }
.wbwms-presort-speed i:nth-child(2) { height: 10px; }
.wbwms-presort-speed i:nth-child(3) { height: 15px; }

.wbwms-presort-direction {
  display: grid;
  min-width: 0;
  min-height: 0;
  place-items: center;
  overflow: hidden;
  padding: 26px 8px 8px;
  color: #ff9800;
  font-family: "DejaVu Sans Mono", Consolas, monospace;
  font-size: clamp(76px, 25vw, 150px);
  font-weight: 800;
  line-height: .9;
  text-align: center;
  overflow-wrap: anywhere;
}

.wbwms-presort-hint {
  display: grid;
  min-height: 48px;
  place-items: center;
  padding: 6px 10px;
  color: #32a852;
  font-size: clamp(18px, 5vw, 24px);
  font-weight: 700;
  text-align: center;
}

.wbwms-presort-place {
  min-height: 50px;
  border: 1px solid #8d8d8d;
  border-radius: 0;
  background: linear-gradient(#fafafa, #dedede);
  color: #111;
  font: 500 17px Roboto, Arial, sans-serif;
}

.wbwms-presort-place:active {
  background: #d0d0d0;
}

.wbwms-scan-capture {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: .001;
  pointer-events: none;
}

.wbwms-scan-capture input,
.wbwms-scan-capture button {
  width: 1px;
  height: 1px;
  border: 0;
  padding: 0;
}

.wbwms-presort > .wbwms-server-result {
  display: none !important;
}

/* Sorting folder · factual WMS 2.4.71 handheld states.  Scanner input is a
   keyboard-wedge receiver and is never presented as an operator form. */
.wbwms-sorting {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  min-height: calc(100vh - 40px);
  overflow: hidden;
  flex-direction: column;
  color: #111;
  background: #fff;
  font-family: Roboto, Arial, sans-serif;
}

.wbwms-sorting--sort_center_presort .wbwms-presort-dialog,
.wbwms-sorting--sort_center_presort .wbwms-presort-main {
  position: absolute;
  inset: 0;
}

.wbwms-sorting--sort_center_presort .wbwms-presort-dialog {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  text-align: center;
}

.wbwms-sorting--sort_center_presort .wbwms-presort-dialog strong {
  font-size: clamp(22px, 6.3vw, 32px);
  line-height: 1.18;
}

.wbwms-sorting--sort_center_presort .wbwms-presort-dialog span {
  color: #666;
  font-size: 14px;
}

.wbwms-sorting--sort_center_presort[data-state="place"] .wbwms-presort-dialog {
  display: flex;
}

.wbwms-sorting--sort_center_presort[data-state="place"] .wbwms-presort-main {
  display: none;
}

.wbwms-sorting--sort_center_presort .wbwms-presort-main {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
}

.wbwms-radio-speed {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  display: flex;
  gap: 3px;
  align-items: end;
  height: 15px;
}

.wbwms-radio-speed i {
  display: block;
  width: 4px;
  background: #596068;
}

.wbwms-radio-speed i:nth-child(1) { height: 5px; }
.wbwms-radio-speed i:nth-child(2) { height: 10px; }
.wbwms-radio-speed i:nth-child(3) { height: 15px; }

.wbwms-return-sort {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 16px;
  text-align: center;
}

.wbwms-return-sort h1 {
  margin: 0;
  font-size: clamp(34px, 10vw, 48px);
  line-height: 1.08;
}

.wbwms-return-result {
  min-height: 58px;
  margin-bottom: 14px;
  color: #32a852;
  font-size: clamp(38px, 12vw, 58px);
  line-height: 1;
}

.wbwms-return-sort > span {
  margin-top: 14px;
  color: #666;
  font-size: 14px;
}

.wbwms-source-button {
  display: grid;
  min-height: 50px;
  padding: 7px 12px;
  place-items: center;
  color: #111;
  background: linear-gradient(#fff, #ddd);
  border: 1px solid #8a8a8a;
  border-radius: 0;
  font: 500 17px Roboto, Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}

.wbwms-source-button--bottom {
  flex: 0 0 50px;
}

.wbwms-seal-toolbar {
  display: flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 5px 8px;
  border-bottom: 1px solid #a7a7a7;
  font-size: 13px;
}

.wbwms-seal-toolbar button {
  min-height: 30px;
  padding: 0 10px;
  color: #111;
  background: linear-gradient(#fff, #ddd);
  border: 1px solid #888;
  border-radius: 0;
}

.wbwms-source-dialog {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
  padding: 28px 18px;
  text-align: center;
}

.wbwms-source-dialog h1 {
  max-width: 440px;
  margin: 0;
  font-size: clamp(24px, 7vw, 34px);
  line-height: 1.16;
}

.wbwms-source-dialog > strong {
  color: #d32f2f;
  font-size: clamp(28px, 8vw, 40px);
  overflow-wrap: anywhere;
}

.wbwms-source-dialog--full,
.wbwms-source-dialog--lookup,
.wbwms-source-dialog--move {
  min-height: 0;
  flex: 1 1 auto;
}

.wbwms-seal-list {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  border-top: 1px solid #aaa;
}

.wbwms-seal-list > div,
.wbwms-lookup-result > div {
  display: grid;
  min-height: 48px;
  padding: 7px 10px;
  grid-template-columns: 1fr minmax(0, 1.4fr);
  align-items: center;
  border-bottom: 1px solid #bbb;
}

.wbwms-seal-list b,
.wbwms-lookup-result b {
  color: #d32f2f;
  text-align: right;
  overflow-wrap: anywhere;
}

.wbwms-sort-center {
  position: relative;
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-rows: 44px minmax(85px, 1fr) auto auto auto 50px;
  text-align: center;
}

.wbwms-sorting--sort_center_transfer[data-state="place"] .wbwms-sort-center > :not(.wbwms-sort-prompt),
.wbwms-sorting--sort_center_kgt[data-state="place"] .wbwms-sort-center > :not(.wbwms-sort-prompt),
.wbwms-sorting--sort_center_kgt_container[data-state="place"] .wbwms-sort-center > :not(.wbwms-sort-prompt) {
  display: none;
}

.wbwms-sorting--sort_center_transfer[data-state="place"] .wbwms-sort-prompt,
.wbwms-sorting--sort_center_kgt[data-state="place"] .wbwms-sort-prompt,
.wbwms-sorting--sort_center_kgt_container[data-state="place"] .wbwms-sort-prompt {
  grid-row: 1 / -1;
  min-height: 100%;
  padding: 24px;
  color: #111;
  font-size: clamp(28px, 8vw, 40px);
  line-height: 1.14;
}

.wbwms-kgt-mode {
  position: absolute;
  top: 7px;
  right: 8px;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 30px;
  place-items: center;
  color: #fff;
  background: #555b61;
  border-radius: 22px 22px 4px 4px;
  font-size: 13px;
  font-weight: 700;
}

.wbwms-sort-icon {
  display: grid;
  grid-row: 1 / span 2;
  place-items: center;
  opacity: .26;
}

.wbwms-sort-icon svg {
  width: min(32vw, 130px);
  fill: none;
  stroke: #3f4449;
  stroke-width: 3;
}

.wbwms-sort-direction {
  display: grid;
  min-height: 88px;
  padding: 4px 8px;
  place-items: center;
  color: #f57c00;
  font-family: "DejaVu Sans Mono", Consolas, monospace;
  font-size: clamp(52px, 18vw, 92px);
  line-height: .92;
  overflow-wrap: anywhere;
}

.wbwms-sort-prompt {
  display: grid;
  min-height: 50px;
  padding: 6px 10px;
  place-items: center;
  color: #269a45;
  font-size: clamp(20px, 5.8vw, 29px);
  font-weight: 700;
  line-height: 1.08;
}

.wbwms-sort-count {
  padding: 5px 10px;
  color: #444;
  font-size: 14px;
}

.wbwms-printer-hint {
  min-height: 34px;
  padding: 5px 12px;
  color: #555;
  font-size: 12px;
}

.wbwms-sort-place {
  width: 100%;
}

.wbwms-lookup-result {
  min-height: 0;
  overflow-y: auto;
  border-top: 1px solid #aaa;
}

.wbwms-lookup-result:not([hidden]) {
  display: block;
  flex: 1 1 auto;
}

.wbwms-wave {
  position: relative;
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-rows: 34px 70px minmax(0, 1fr) 50px;
}

.wbwms-wave-module {
  padding: 8px;
  text-align: right;
  font-size: 12px;
}

.wbwms-wave h1 {
  display: grid;
  margin: 0;
  padding: 6px 10px;
  place-items: center;
  font-size: clamp(25px, 7.5vw, 36px);
  text-align: center;
}

.wbwms-wave-grid {
  display: grid;
  min-height: 0;
  padding: 5px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(54px, auto);
  align-content: start;
  overflow-y: auto;
}

.wbwms-wave-grid b,
.wbwms-wave-grid span {
  display: grid;
  padding: 6px;
  place-items: center;
  border: 1px solid #aaa;
  text-align: center;
  overflow-wrap: anywhere;
}

.wbwms-wave-grid span {
  grid-column: 1 / -1;
  color: #555;
  border: 0;
}

.wbwms-wave-reset {
  justify-self: end;
  min-width: 130px;
}

.wbwms-move-counters {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #aaa;
}

.wbwms-move-counters div {
  display: flex;
  min-width: 0;
  padding: 8px 4px;
  flex-direction: column;
  border-right: 1px solid #aaa;
}

.wbwms-move-counters div:last-child {
  border-right: 0;
}

.wbwms-move-counters span {
  color: #555;
  font-size: 12px;
}

.wbwms-move-counters b {
  font-size: 24px;
}

.wbwms-sorting > .wbwms-server-result {
  display: none !important;
}

/* Shared source-native shell for non-sorting Android activities. */
.wbwms-native {
  position: relative;
  display: flex;
  min-height: calc(100vh - 40px);
  flex: 1 1 auto;
  overflow: hidden;
  flex-direction: column;
  color: #111;
  background: #fff;
  font-family: Roboto, Arial, sans-serif;
}

.wbwms-native-assembly,
.wbwms-native-acceptance,
.wbwms-native-inventory,
.wbwms-native-movement,
.wbwms-native-shipment,
.wbwms-native-measurement,
.wbwms-native-document,
.wbwms-native-dialog {
  display: flex;
  min-height: 0;
  padding: 10px;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  text-align: center;
}

.wbwms-native-utility {
  display: flex;
  min-height: 0;
  padding: 24px;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  text-align: center;
}

.wbwms-native-utility h1 {
  margin: 0;
}

.wbwms-native-utility p {
  max-width: 360px;
  margin: 0;
  color: #555;
  font-size: 14px;
}

.wbwms-native-utility .wbwms-source-button {
  min-width: 220px;
}

.wbwms-native h1 {
  max-width: 440px;
  margin: 0;
  font-size: clamp(24px, 7vw, 34px);
  line-height: 1.14;
}

.wbwms-native h1 + strong,
.wbwms-native-dialog > strong {
  color: #f57c00;
  font-family: "DejaVu Sans Mono", Consolas, monospace;
  font-size: clamp(30px, 9vw, 46px);
  line-height: 1;
  overflow-wrap: anywhere;
}

.wbwms-native-symbol {
  display: grid;
  width: min(30vw, 120px);
  height: min(30vw, 120px);
  place-items: center;
  opacity: .38;
}

.wbwms-native-symbol svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #50555a;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wbwms-native-assembly .wbwms-native-symbol svg {
  fill: #e5e7e9;
}

.wbwms-native-route {
  display: grid;
  width: 100%;
  min-height: 52px;
  padding: 6px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  font-size: 13px;
}

.wbwms-native-route span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.wbwms-native-route b {
  color: #555;
  font-size: 20px;
}

.wbwms-native-counters {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
  border: 1px solid #aaa;
}

.wbwms-native-counters > div {
  display: flex;
  min-height: 58px;
  padding: 6px 3px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-right: 1px solid #aaa;
}

.wbwms-native-counters > div:last-child {
  border-right: 0;
}

.wbwms-native-counters span {
  color: #555;
  font-size: 11px;
}

.wbwms-native-counters b {
  font-size: 24px;
}

.wbwms-native-caption {
  color: #555;
  font-size: 13px;
  text-transform: uppercase;
}

.wbwms-native-big-value {
  color: #f57c00;
  font-family: "DejaVu Sans Mono", Consolas, monospace;
  font-size: clamp(68px, 22vw, 112px);
  line-height: .9;
}

.wbwms-native-list {
  width: 100%;
  border-top: 1px solid #aaa;
}

.wbwms-native-list > div {
  display: grid;
  min-height: 44px;
  padding: 6px 8px;
  grid-template-columns: minmax(90px, .8fr) minmax(0, 1.5fr);
  align-items: center;
  border-bottom: 1px solid #aaa;
  text-align: left;
}

.wbwms-native-list b {
  text-align: right;
  overflow-wrap: anywhere;
}

.wbwms-native-dialog > span {
  color: #666;
  font-size: 13px;
}

.wbwms-native-result {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 7px 10px;
  color: #111;
  background: #eff8f1;
  border-top: 1px solid #8bb795;
  font-size: 13px;
  text-align: center;
}

.wbwms-native-result.is-error {
  color: #8b1111;
  background: #fff0f0;
  border-top-color: #ce8b8b;
}

.wbwms-native-complete {
  width: 100%;
  flex: 0 0 50px;
}

@media (orientation: landscape) and (max-height: 600px) {
  .wbwms-menu-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(70px, 1fr);
  }

  .wbwms-menu-button {
    flex-direction: row;
  }

  .wbwms-menu-button svg {
    width: 38px;
    height: 38px;
  }

  .wbwms-product-photo {
    flex-basis: 110px;
  }
}

@media (min-width: 601px) {
  .sw-device-tsd:not(.is-embedded) {
    overflow-y: auto;
    background: #26282c;
  }

  .sw-device-tsd:not(.is-embedded) .sw-device-content {
    max-width: 480px;
    min-height: 800px;
    margin: 18px auto;
    box-shadow: 0 10px 34px rgba(0,0,0,.38);
  }

  .sw-device-tsd:not(.is-embedded) .wbwms-shell {
    min-height: 800px;
  }
}

/* WBWMS 2.4.71 tool screens restored for the SellWMS TSD shell. */
html {
  --tsd-brightness: 100%;
}

body.sw-device-tsd .sw-device-content {
  filter: brightness(var(--tsd-brightness));
}

.wbwms-server-result {
  min-height: 0;
  margin: 0 10px;
  padding: 0;
  border: 0;
  font-size: 12px;
  line-height: 1.35;
  color: #222;
  background: transparent;
}

.wbwms-server-result:not(:empty) {
  min-height: 34px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #8bc34a;
  border-radius: 3px;
  background: #f1f8e9;
}

.wbwms-server-result.is-error {
  border-color: #ef5350;
  background: #ffebee;
  color: #8e1717;
}

.wbwms-tool-shell {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  background: #f4f4f4;
  color: #111;
}

.wbwms-tool-shell .wbwms-titlebar {
  flex: 0 0 auto;
}

.wbwms-complete-operation {
  width: calc(100% - 20px);
  min-height: 42px;
  margin: 8px 10px 0;
  border: 1px solid #3f4348;
  border-radius: 3px;
  background: linear-gradient(#666b71, #494d52);
  color: #fff;
  font: 700 15px Roboto, Arial, sans-serif;
  touch-action: manipulation;
}

.wbwms-complete-operation:disabled {
  border-color: #999;
  background: #ccc;
  color: #666;
}

.wbwms-tutorial-card {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  background: #fff;
  list-style: none;
}

.wbwms-tutorial-card li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 58px;
  align-items: center;
  border-bottom: 1px solid #ccc;
}

.wbwms-tutorial-card li:last-child {
  border-bottom: 0;
}

.wbwms-tutorial-card li > span {
  display: grid;
  height: 100%;
  place-items: center;
  border-right: 1px solid #aaa;
  background: linear-gradient(#f7f7f7, #dedede);
  color: #484d52;
  font-size: 17px;
  font-weight: 700;
}

.wbwms-tutorial-card p {
  margin: 0;
  padding: 8px 10px;
  color: #202020;
  font-size: 12px;
  line-height: 1.35;
}

.wbwms-tool-body {
  display: grid;
  gap: 8px;
  padding: 9px;
}

.wbwms-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
}

.wbwms-search-form input,
.wbwms-settings-panel select,
.wbwms-settings-panel input[type="text"] {
  width: 100%;
  min-width: 0;
  height: 38px;
  box-sizing: border-box;
  border: 1px solid #a4a4a4;
  border-radius: 3px;
  padding: 0 9px;
  background: #fff;
  color: #111;
  font: inherit;
}

.wbwms-search-form button,
.wbwms-settings-button {
  min-height: 38px;
  border: 1px solid #3f3f3f;
  border-radius: 3px;
  padding: 7px 12px;
  background: linear-gradient(#fff, #e1e1e1);
  color: #111;
  font: inherit;
  font-weight: 700;
}

.wbwms-search-results {
  display: grid;
  gap: 5px;
}

.wbwms-search-result {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  min-height: 43px;
  border: 1px solid #b6b6b6;
  border-radius: 3px;
  padding: 6px 8px;
  background: #fff;
  color: #111;
  text-decoration: none;
}

.wbwms-search-result strong,
.wbwms-search-result small {
  display: block;
}

.wbwms-search-result small {
  margin-top: 2px;
  color: #686868;
  font-size: 10px;
}

.wbwms-search-empty {
  padding: 16px 10px;
  border: 1px solid #c9c9c9;
  border-radius: 3px;
  background: #fff;
  color: #666;
  text-align: center;
}

.wbwms-settings-panel {
  display: grid;
  gap: 8px;
  padding: 8px;
}

.wbwms-settings-section {
  overflow: hidden;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: #fff;
}

.wbwms-settings-section > h2 {
  margin: 0;
  padding: 6px 8px;
  border-bottom: 1px solid #bdbdbd;
  background: linear-gradient(#ececec, #d4d4d4);
  color: #111;
  font-size: 13px;
  line-height: 1.2;
}

.wbwms-setting-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 44%);
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 5px 8px;
  border-bottom: 1px solid #e0e0e0;
}

.wbwms-setting-row:last-child {
  border-bottom: 0;
}

.wbwms-setting-row label,
.wbwms-setting-label {
  font-size: 12px;
  font-weight: 700;
}

.wbwms-setting-row input[type="range"] {
  width: 100%;
  accent-color: #555a60;
}

.wbwms-setting-row select {
  height: 32px;
  font-size: 12px;
}

.wbwms-toggle {
  position: relative;
  justify-self: end;
  width: 46px;
  height: 25px;
}

.wbwms-toggle input {
  position: absolute;
  opacity: 0;
}

.wbwms-toggle span {
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: #a7a7a7;
  transition: background .16s ease;
}

.wbwms-toggle span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
  transition: transform .16s ease;
}

.wbwms-toggle input:checked + span {
  background: #555a60;
}

.wbwms-toggle input:checked + span::after {
  transform: translateX(21px);
}

.wbwms-network-status,
.wbwms-device-status {
  display: grid;
  gap: 5px;
  padding: 8px;
  font-size: 11px;
  line-height: 1.35;
}

.wbwms-network-card > div {
  display: grid;
  gap: 2px;
  min-width: 0;
  font-size: 11px;
}

.wbwms-network-card > div strong,
.wbwms-network-card > div span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wbwms-status-line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.wbwms-status-value {
  font-weight: 700;
  text-align: right;
}

html[data-tsd-theme="dark"] body.sw-device-tsd,
html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-tool-shell,
html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-shell {
  background: #171717;
  color: #f1f1f1;
}

html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-menu-grid,
html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-settings-panel {
  background: #202020;
}

html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-menu-item,
html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-settings-section,
html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-search-result,
html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-search-empty,
html[data-tsd-theme="dark"] body.sw-device-tsd input,
html[data-tsd-theme="dark"] body.sw-device-tsd select {
  border-color: #5b5b5b;
  background: #2b2b2b;
  color: #f5f5f5;
}

html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-settings-section > h2 {
  border-color: #5b5b5b;
  background: linear-gradient(#3a3a3a, #2a2a2a);
  color: #fff;
}

html[data-tsd-theme="dark"] body.sw-device-tsd .wbwms-setting-row {
  border-color: #414141;
}
