:root{font-family:Inter,Segoe UI,sans-serif;font-synthesis:none;font-size:14px;color:#243247;background:#f5f7fb;--blue: #3d50ff;--ink: #243247;--muted: #64748b;--line: #e8edf3;--bg: #f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;transition:background-color .15s,border-color .15s}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a5b8ff;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:25px;margin-bottom:5px;font-weight:750;letter-spacing:-.4px}h2{font-size:18px;font-weight:650}h3{font-size:15px;font-weight:650}p{line-height:1.65}small{display:block;font-size:12px;color:var(--muted);line-height:1.65}label{display:block;font-size:12px;font-weight:600;margin:18px 0 7px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #d8e0ef;border-radius:7px;background:#fff;min-height:40px;padding:9px 12px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#8291a7}input:focus,select:focus,textarea:focus{border-color:#879fff}textarea{resize:vertical;min-height:90px}select{cursor:pointer}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:inherit;font-variant-numeric:tabular-nums}.eyebrow{font-size:10px;font-weight:500;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:8px;font-size:13px;line-height:20px;font-weight:600;white-space:nowrap}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.primary:hover{background:#2949cc;border-color:#2949cc}.secondary{background:#eef2ff;border:1px solid #cbd8ff;color:#274fc2}.secondary:hover{background:#dfe8ff;border-color:#a9bfff}.wide{width:100%;margin-top:24px}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#647b9c;border-radius:6px;padding:6px}.icon-button:hover{background:#eef2ff;color:var(--blue)}.text-button{display:inline-flex;align-items:center;gap:6px;background:none;color:#243247;padding:0;font-weight:600;text-align:left}.text-button:hover{color:var(--blue);text-decoration:underline}.app{min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10;background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:18px 12px 12px}.sidebar-brand-row{display:flex;align-items:center;gap:4px;padding:0 4px 18px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink);flex:1;white-space:nowrap}.brand-mark{width:34px;height:34px;display:inline-grid;place-items:center;background:var(--blue);color:#fff;border-radius:10px;font-size:12px;font-weight:500;flex-shrink:0}.sidebar-toggle{width:28px;height:32px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:#647b9c;border-radius:8px}.sidebar-toggle svg{transform:rotate(180deg)}.sidebar nav{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d6deef transparent;flex:1}.nav-group{margin-bottom:22px}.nav-caption{font-size:10px;font-weight:650;letter-spacing:.6px;color:#64748b;padding:6px 12px 13px}.sidebar nav button{display:flex;width:100%;align-items:center;gap:13px;color:#405876;background:none;padding:12px 14px;min-height:42px;font-size:13px;font-weight:550;text-align:left;border-radius:9px;margin-bottom:4px;white-space:nowrap;position:relative}.sidebar nav button svg{flex-shrink:0;color:#6980a1}.sidebar nav button.active{color:var(--blue);background:#eef1ff;font-weight:650}.sidebar nav button.active svg{color:var(--blue)}.sidebar nav button.active:before{content:"";width:3px;height:18px;border-radius:3px;position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--blue)}.sidebar nav button:hover{background:#f4f6ff;color:var(--blue)}.nav-count{margin-left:auto;color:#4860bb;background:#e4eaff;font-size:10px;padding:2px 6px;border-radius:10px}.sidebar-bottom{margin-top:auto}.profile{border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:16px 6px 0;font-size:12px}.profile-info{min-width:0}.profile-info strong,.profile-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-info small{font-size:11px;margin-top:4px}.logout-button{background:none;color:var(--muted);font-size:11px;padding:6px 0 0}.logout-button:hover{color:var(--blue)}.compact-logout{display:none}.avatar{width:36px;height:36px;border-radius:50%;background:#eef2ff;color:var(--blue);display:inline-grid;place-items:center;font-size:13px;font-weight:650;flex-shrink:0}main{margin-left:248px;min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:13px 32px}.topbar-title small{font-size:10px;letter-spacing:1px;font-weight:400}.topbar-title strong{display:block;margin-top:2px;font-size:16px;font-weight:650}.top-actions{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.live-indicator{display:inline-flex;align-items:center;gap:8px;font-size:12px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.green{background:#1fa777}.amber{background:#e59a1b}.content{padding:28px 32px 0;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading p{font-size:14px;color:var(--muted);margin:0}.view-tabs{display:flex;padding:6px;gap:6px;background:#eaf0fc;border-radius:12px;margin-bottom:20px}.view-tabs button{flex:1;padding:13px;border-radius:8px;background:transparent;color:#64748b;font-size:13px;font-weight:650}.view-tabs button.active{background:var(--blue);color:#fff;box-shadow:0 2px #fff}.view-tabs button:not(.active):hover{background:#e1e8fa}.panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px;box-shadow:0 2px 8px #1d29450a}.list-panel{padding:20px;overflow:hidden}.status-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.status-tabs button{display:flex;align-items:center;gap:8px;background:#fff;color:#64748b;padding:9px 16px 13px;font-size:13px;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.status-tabs button span{background:#f0f4f9;border-radius:20px;font-size:11px;padding:3px 7px}.status-tabs button.active{color:#243247;border-color:#243247}.status-tabs button:hover{color:var(--blue)}.filters{display:flex;gap:10px;margin-bottom:14px}.filters input,.filters select{margin:0;font-size:14px}.filters select{flex:1;width:0;min-width:160px}.search{display:flex;align-items:center;position:relative;flex:1;min-width:220px}.search>svg{position:absolute;left:12px;color:#8190a7}.search input{padding-left:38px}.list-meta{display:flex;justify-content:space-between;align-items:center;margin:12px 1px 8px;font-size:11px;color:var(--muted)}.list-meta .text-button{font-size:11px;font-weight:500;color:#64748b}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;color:#8995a7;font-weight:600;padding:14px 10px;white-space:nowrap;border-bottom:1px solid var(--line);background:#fff}td{padding:16px 10px;border-bottom:1px solid #f0f2f6;font-size:14px;line-height:1.55;vertical-align:middle}td .text-button{font-size:14px}td small{font-size:12px;margin-top:3px}tbody tr:hover{background:#f8faff}.row-number{width:44px;text-align:center;color:#647b9c}th.row-number{color:#8995a7}.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:650;line-height:1.5;white-space:nowrap;color:#526176;background:#f1f5f9}.badge.waiting,.badge.pending{background:#fff4dd;color:#8b5900}.badge.in_transit,.badge.processing{background:#eef2ff;color:#365cf5}.badge.delivered,.badge.success,.badge.succeeded{background:#e8f7f0;color:#18734f}.badge.blocked,.badge.review{background:#fff4dd;color:#8b5900}.badge.failed,.badge.cancelled{background:#fff0f1;color:#b42338}.platform{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;font-weight:500}.platform>span{height:25px;width:25px;display:inline-grid;place-items:center;border-radius:7px;font-size:16px;font-weight:650}.tiktok>span{background:#243247;color:#fff}.shopee>span{background:#fff0e8;color:#ed7146}.pagination{padding:16px 0 0;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:7px}.pagination button{min-height:34px;padding:6px 12px;font-size:12px}.empty{padding:48px 20px;text-align:center;color:#a9b6d4}.empty h3{color:var(--ink);margin:15px 0 8px}.empty p{font-size:13px;color:var(--muted);max-width:430px;margin:0 auto}.notice{background:#f1f5ff;border:1px solid #dce5ff;border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.7;margin:14px 0}.notice.error{color:#b42338;background:#fff0f1;border-color:#f4d4d9}.notice.success{color:#18734f;background:#e8f7f0;border-color:#cee8da}.notice>button{float:right;background:none;color:inherit;font-size:20px;line-height:1}.notice p{margin:5px 0 0}.demo-banner{background:#f0f3ff;border:1px solid #dce4fa;color:#536a9b;padding:9px 13px;border-radius:7px;font-size:11px;margin-bottom:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2,.section-heading h3{margin:0}.scanner-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);gap:20px;align-items:start}.scanner-card,.scan-feedback{padding:26px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px #1d29450a}.scanner-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.icon-box{background:#eef2ff;border-radius:12px;padding:14px;display:flex;color:var(--blue)}.scanner-card h2{font-size:23px}.scanner-card p{font-size:13px}.scan-input{position:relative}.scan-input>svg{position:absolute;left:14px;top:17px;color:#7187b5}.scan-input input{padding:20px 14px 20px 51px;font-size:15px;background:#f8faff;border-color:#b8c8ff}.scanner-foot{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:26px}.scan-feedback .section-heading .small{font-size:10px;letter-spacing:.5px}.scan-feedback .section-heading:not(:first-child){margin-top:28px}.scan-result{border-radius:9px;background:#f8faff;padding:23px;text-align:center;margin-bottom:24px;border:1px solid #dce5ff}.scan-result.ok{color:#18734f;background:#f2fbf6;border-color:#cee8da}.scan-result.attention{color:#8b5900;background:#fffbf2;border-color:#f0e2c4}.scan-result h3{margin:15px 0 10px;line-height:1.7}.scan-result p{margin:4px 0;font-size:13px}.scan-result .items-list{margin:16px 0;text-align:left}.choices{display:flex;flex-direction:column;gap:8px;margin-top:18px}.choices button{display:flex;flex-direction:column;gap:5px;border:1px solid #d8e0ef;padding:12px;background:#fff;border-radius:7px;text-align:left;font-size:13px;color:var(--ink)}.recent-list>div{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:14px 0;font-size:13px}.recent-list>div>span:last-child{margin-left:auto;font-size:10px}.recent-list small{font-size:11px;max-width:280px}.connection-grid,.users-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.connection{padding:26px}.connection>h2{margin:23px 0 9px;font-size:23px}.connection>p{font-size:13px}.connection>.small{font-size:12px;margin-top:18px}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin:26px 0}.details dt{font-size:12px;color:var(--muted);margin-bottom:7px}.details dd{margin:0;font-size:13px;overflow-wrap:anywhere}.unmatched{margin-top:22px}.user-row{display:flex;align-items:center;gap:12px;padding:18px 0;border-top:1px solid var(--line);font-size:14px}.user-row>.badge{margin-left:auto}.job-error{max-width:340px;font-size:12px;color:var(--muted)}.overlay{position:fixed;inset:0;background:#17233c55;z-index:20;display:flex;justify-content:flex-end}.drawer{width:580px;max-width:100%;background:#fff;overflow-y:auto;padding:28px 32px;box-shadow:-10px 0 60px #17233c20}.drawer-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.drawer-head h2{font-size:22px}.drawer h3{margin-top:24px}.items-list{border:1px solid var(--line);border-radius:8px;padding:0 15px}.items-list>div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;font-size:13px;border-bottom:1px solid var(--line)}.items-list>div:last-child{border-bottom:0}.items-list p{margin:14px 0;font-size:13px}.inspection{background:#f5f7fb;padding:1px 20px 20px;border-radius:8px;margin-top:25px}.inspection select,.inspection textarea{font-size:13px}.inspection .small{font-size:12px;margin-top:15px}.timeline{padding-left:16px;border-left:1px solid #d8e0ef;margin-left:5px;list-style:none}.timeline li{position:relative;padding:8px 0 17px;font-size:13px}.timeline li:before{content:"";position:absolute;top:14px;left:-20px;width:7px;height:7px;background:#a9bfff;border-radius:50%}.timeline p{font-size:12px;margin:5px 0;color:var(--muted)}.drawer summary{font-size:13px;cursor:pointer;padding:18px 0;color:var(--muted)}.drawer pre{background:#f5f7fb;padding:15px;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#eef2ff;color:var(--ink);padding:50px 60px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story>.brand{align-self:flex-start;flex:0}.login-story h1{font-size:52px;font-weight:700;line-height:1.25;letter-spacing:-1.5px;margin:25px 0}.login-story p{max-width:420px;color:var(--muted);font-size:14px}.story-steps{display:flex;gap:20px;margin-top:35px;color:#365cf5;font-size:12px}.login-story>small{font-size:10px;letter-spacing:1px}.login-form{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-form form{width:360px;max-width:100%}.login-form h2{font-size:29px;margin-bottom:10px}.login-form form>.small{text-align:center;margin-top:23px}.boot{padding:100px;text-align:center;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;color:#8291a7;font-size:10px;padding:24px 0}footer>span:first-child{letter-spacing:.8px}.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed main{margin-left:76px}.sidebar-collapsed .sidebar-brand-row{flex-direction:column;gap:12px;padding-bottom:12px}.sidebar-collapsed .sidebar-toggle svg{transform:none}.sidebar-collapsed .brand strong,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-count,.sidebar-collapsed .profile-info{display:none}.sidebar-collapsed .nav-caption{height:14px;padding:0;margin:8px 12px 0;border-top:1px solid var(--line);font-size:0}.sidebar-collapsed .sidebar nav button{justify-content:center;padding:12px}.sidebar-collapsed .profile{flex-direction:column}.sidebar-collapsed .compact-logout{display:flex}@media(max-width:1150px){.content{padding:24px 24px 0}.topbar{padding:13px 24px}.filters{flex-wrap:wrap}.filters .search{min-width:100%}.scanner-layout,.connection-grid,.users-layout{grid-template-columns:1fr}.status-tabs button{padding-left:12px;padding-right:12px}.login-story{padding:40px}.login-story h1{font-size:42px}}@media(max-width:650px){.sidebar,.sidebar-collapsed .sidebar{width:76px}main,.sidebar-collapsed main{margin-left:76px}.sidebar-brand-row{justify-content:center;padding-left:0;padding-right:0}.sidebar .brand{flex:0}.sidebar-toggle,.brand strong,.nav-label,.nav-count,.profile-info{display:none}.nav-caption{height:14px;padding:0;margin:8px 12px 0;border-top:1px solid var(--line);font-size:0}.sidebar nav button{justify-content:center;padding:12px}.profile{flex-direction:column}.compact-logout{display:flex}.content{padding:20px 14px 0}.topbar{padding:12px 14px}.topbar-title small{font-size:8px;letter-spacing:.5px}.topbar-title strong{font-size:14px}.live-indicator{display:none}.page-heading{align-items:start;gap:12px}.page-heading h1{font-size:21px}.page-heading p{font-size:12px}.page-heading>.primary{font-size:0;gap:0;padding:10px}.panel,.scanner-card,.scan-feedback{padding:16px}.view-tabs button{font-size:12px;padding:12px 8px}.filters select,.filters .search{min-width:100%}.scanner-layout{display:block}.scan-feedback{margin-top:20px}.scanner-top{flex-wrap:wrap;gap:12px}.scan-input input{font-size:13px}.recent-list>div{flex-wrap:wrap}.drawer{padding:24px}.login{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100vh;padding:30px}footer>span:last-child{display:none}}
