@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");
:root{
  --bg:#F8FAFD;
  --fg:#606979;
  --panel:#FFFFFF;
  --panel-2:#F2F6FE;
  --line:#E4E9F1;
  --muted:#69A0B1;
  --ok:#00d97e;
  --warn:#ffb020;
  --err:#ff4d4f;
  --blue:#1e88ff;
  --brand:#004BCC;
  --brand-soft:#F2F6FE;
  --text:#606979;
  --text-sub:#606979;
  --text-muted:#B5BFD0;
  --surface:#FFFFFF;
  --surface-soft:#F8FAFD;
  --line-strong:#D8DFEC;
  --disabled:#B5BFD0;
  --shadow:0 10px 28px rgba(0,75,204,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:"Pretendard",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:500}
body{min-height:100vh;-webkit-tap-highlight-color:transparent}
button,input,textarea{font:inherit}
input,textarea{
  width:100%;border:1px solid var(--line);outline:none;color:var(--text);background:var(--surface);
  border-radius:14px;padding:15px 14px
}
button{
  border:1px solid transparent;border-radius:14px;padding:14px 16px;color:#fff;background:var(--brand);font-weight:700
}
button.primary{background:var(--brand);color:#fff}
button.secondary{background:var(--brand-soft);color:var(--brand);border-color:var(--line-strong)}
button.danger{background:#c62828;color:#fff}
button.ghost{background:var(--surface);border:1px solid var(--line);color:var(--text)}
button:disabled{opacity:.42}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0}
.icon-btn svg{width:26px;height:26px;display:block}
.icon-btn.is-on{outline:2px solid rgba(0,217,126,.45);box-shadow:0 0 0 4px rgba(0,217,126,.12) inset}
#torchBtn,#captureFlash{width:72px;height:56px}
#captureSnap svg{width:34px;height:34px}
.hidden{display:none !important}
.screen{display:none;min-height:100vh}
.screen.active{display:block}
.wrap{width:min(100%,760px);margin:0 auto;padding:16px}
.glass{
  background:var(--panel);
  border:1px solid var(--line);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--shadow)
}
.panel{border-radius:20px;padding:16px}
.row{display:flex;gap:10px;align-items:center}
.space{flex:1;min-width:0}
.muted{color:var(--muted)}
.app-title{font-size:30px;font-weight:1000;letter-spacing:-.03em}
.topbar{
  position:sticky;top:0;z-index:30;background:rgba(248,250,253,.96);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)
}
.badge{
  display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;
  border-radius:999px;font-size:12px;font-weight:700;background:var(--surface-soft);color:var(--text);border:1px solid var(--line)
}
.badge.assigned{background:rgba(255,176,32,.18);color:#ffd18a}
.badge.pickup_done{background:rgba(30,136,255,.18);color:#9ecaff}
.badge.delivery_done{background:rgba(0,217,126,.18);color:#86f0bf}
.badge.not_received,.badge.delivery_failed{background:rgba(255,77,79,.18);color:#ffb2b3}
.badge.online{background:rgba(0,217,126,.16);color:#86f0bf}
.badge.offline{background:rgba(255,77,79,.16);color:#ffb2b3}
.badge.queue{background:rgba(255,255,255,.1);color:#fff}
.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px}
.tab{
  white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;
  padding:10px 14px;font-size:14px;font-weight:1000
}
.tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.tab-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;margin-left:6px;font-size:11px;font-weight:1000;background:rgba(255,255,255,.12);color:inherit}
.tab.active .tab-count{background:rgba(255,255,255,.18)}
.list{display:flex;flex-direction:column;gap:12px}
.card{border-radius:18px;padding:14px;cursor:pointer}
.card-top{display:flex;gap:10px;align-items:flex-start}
.card-title{font-size:18px;font-weight:1000;letter-spacing:-.02em;min-width:0;word-break:break-all}
.kv{margin-top:10px;display:grid;gap:6px}
.kv .item{display:grid;grid-template-columns:92px 1fr;gap:10px;font-size:14px}
.kv .k{color:var(--muted);font-weight:900}
.kv .v{font-weight:900;word-break:break-word}
.empty{
  min-height:48vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--muted)
}
#screen-login .wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-box{width:min(100%,420px);padding:28px}
.stack{display:grid;gap:12px}
.login-box .stack{margin-top:24px}
.login-status{min-height:22px;font-size:14px;color:var(--muted);font-weight:800}
.login-status.error{color:#ffb2b3}
.login-status.loading{color:#9ecaff}
#loginBtn.loading{opacity:.9;pointer-events:none}
.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:90;display:none}
.sheet-backdrop.show{display:block}
.sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:91;transform:translateY(100%);
  transition:transform .25s ease;border-top-left-radius:24px;border-top-right-radius:24px;
  padding:18px 16px 20px;max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--line)
}
.sheet.show{transform:translateY(0)}
.sheet-handle{width:48px;height:5px;border-radius:999px;background:var(--line-strong);margin:0 auto 16px}
.sheet-title{font-size:22px;font-weight:1000}
.sheet-main-action{margin-top:16px}
.sheet-main-action button{width:100%;height:60px;font-size:18px}
.sheet-sub-actions{display:flex;gap:10px;align-items:stretch;margin-top:10px}
.sheet-sub-actions button{height:48px;font-size:15px;flex:0 0 calc((100% - 20px)/3)}
.sheet-sub-actions .spacer{flex:1 1 auto;min-width:0}
#sheetCloseBtn{margin-left:auto}
.sheet-head-nav{margin-left:auto;min-width:58px;height:42px;padding:0 12px;border-radius:12px;font-size:13px;font-weight:800}
.sheet-head #sheetCloseIcon{margin-left:0}
.sheet-head{display:flex;align-items:center;gap:12px}
.sheet-close-icon{margin-left:auto;width:42px;height:42px;border-radius:999px;padding:0;font-size:24px;line-height:1;background:transparent;border:1px solid var(--line)}
.detail-kv .item{font-size:16px}
.detail-kv .k{font-size:15px}
.detail-kv .v{font-size:17px}
#captureTopSub{margin-top:8px;font-size:22px;font-weight:700;color:#1F2A3D;line-height:1.35}
#scanTop{padding:12px 16px 10px}
#scanMeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
#scanStatusBoard{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.stat-box{border-radius:16px;padding:12px}
.stat-k{font-size:12px;color:var(--muted);font-weight:900}
.stat-v{margin-top:6px;font-size:24px;font-weight:1000}
#scanCameraWrap{
  position:relative;height:27vh;min-height:180px;max-height:260px;background:#000;overflow:hidden;border-radius:20px
}
#video,#captureVideo{width:100%;height:100%;object-fit:cover;background:#000}
#roiCanvas{display:none}
#frame{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(84vw,620px);height:min(13vh,100px);
  border:2px solid rgba(255,255,255,.82);border-radius:18px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.18)
}
#frame::before,#frame::after{content:"";position:absolute;width:34px;height:34px;border-style:solid}
#frame::before{
  left:-2px;top:-2px;border-width:4px 0 0 4px;border-color:#00ff8a transparent transparent #00ff8a;border-top-left-radius:16px
}
#frame::after{
  right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-color:transparent #00ff8a #00ff8a transparent;border-bottom-right-radius:16px
}
#scanBottom{padding:14px 16px 24px}
.mini-card{border-radius:16px;padding:12px}
.mini-card .row1{display:flex;gap:10px;align-items:center}
.mini-card .title{font-size:16px;font-weight:1000}
.mini-card .meta{margin-top:8px;display:grid;gap:4px;font-size:13px;color:var(--muted)}
.mini-card .mini-actions{margin-top:10px;display:flex;justify-content:flex-end}
.scan-section{margin-top:14px}
.scan-section-title{font-size:15px;font-weight:900;color:#1F2A3D;margin-bottom:8px}
.scan-history-list,.scan-log-list{display:grid;gap:8px}
.scan-history-item,.scan-log-item{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;
  background:var(--surface);border:1px solid var(--line)
}
.scan-history-item .num,.scan-log-item .num{
  min-width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:900
}
.scan-history-item .main,.scan-log-item .main{font-size:14px;font-weight:800;color:#1F2A3D;line-height:1.3}
.scan-history-item .sub,.scan-log-item .sub{margin-top:3px;font-size:12px;color:var(--label)}
#scanFloatActions{position:sticky;bottom:12px;display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
#captureWrap{position:relative;height:100vh;background:#000}
#captureTop{
  position:fixed;left:50%;top:12px;transform:translateX(-50%);width:min(95vw,760px);z-index:50;border-radius:18px;padding:12px 14px
}
#captureVideo{position:fixed;inset:0;width:100vw;height:100vh}
#captureBottom{
  position:fixed;left:50%;bottom:12px;transform:translateX(-50%);
  width:min(95vw,760px);z-index:50;border-radius:18px;padding:14px
}
#captureInfo{font-size:20px;font-weight:1000}
#captureSub{margin-top:6px;color:var(--muted);font-size:13px}
#captureActions{margin-top:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
#captureActions .left{display:flex;justify-content:flex-start}
#captureActions .center{display:flex;justify-content:center}
#captureActions .right{display:flex;justify-content:flex-end}
#captureCancel,#captureFlash{width:64px;height:56px}
#captureSnap{
  width:86px;height:86px;border-radius:999px;background:#fff;color:var(--brand);box-shadow:0 6px 18px rgba(0,75,204,.22)
}
#flashFx{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:70;transition:opacity .12s}
#previewWrap{position:fixed;inset:0;background:#000;z-index:80;display:none}
#previewImg{position:fixed;inset:0 0 184px 0;width:100vw;height:calc(100vh - 184px);object-fit:contain;background:#000}
#previewTop{position:fixed;left:50%;top:12px;transform:translateX(-50%);width:min(95vw,760px);z-index:81;border-radius:16px;padding:12px 14px}
#previewBottom{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(95vw,760px);z-index:81;border-radius:18px;padding:16px}
#previewBtns{display:flex;gap:10px;margin-top:14px}
#previewBtns button{flex:1;height:56px}
#toast{
  position:fixed;left:50%;top:120px;transform:translateX(-50%);
  z-index:200;min-width:180px;max-width:min(92vw,540px);
  padding:14px 18px;border-radius:18px;text-align:center;font-size:18px;font-weight:1000;
  display:none
}
#toast.success{border-color:rgba(0,217,126,.35)}
#toast.error{border-color:rgba(255,77,79,.35)}
#toast.info{border-color:rgba(255,255,255,.18)}
.top-actions-wrap{position:relative}
.top-actions-grid{display:grid;grid-template-columns:48px minmax(84px,1fr) minmax(84px,1fr) 48px;gap:8px;min-width:min(76vw,320px);align-items:stretch}
.top-actions-grid button{white-space:nowrap;line-height:1.15;min-height:48px;padding:0 12px;display:flex;align-items:center;justify-content:center}
.top-actions-grid #scanStartBtn,.top-actions-grid #mapQuickBtn{font-size:14px}
.settings-trigger{width:48px;min-width:48px;height:48px;padding:0;border-radius:14px}
.settings-trigger svg{width:22px;height:22px}
.settings-pop{position:absolute;top:56px;right:0;z-index:45;min-width:168px;background:#5b5b5b;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:8px;box-shadow:var(--shadow);display:none}
.settings-pop.show{display:block}
.settings-pop button{width:100%;min-height:44px;justify-content:flex-start;padding:0 14px;border-radius:12px;background:transparent;border:1px solid transparent;font-size:14px}
.settings-pop button:hover,.settings-pop button:active{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.06)}
.edit-toolbar{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;border-radius:18px}
.edit-toolbar.show{display:flex}
.edit-toolbar .label{font-size:15px;font-weight:1000}
.edit-toolbar .sub{font-size:12px;color:var(--muted);font-weight:800}
.edit-toolbar .actions{margin-left:auto;display:flex;gap:8px}
.edit-toolbar button{min-height:42px;padding:0 14px}
.card.edit-mode{cursor:default;user-select:none}
.card.edit-mode .list-nav-btn{pointer-events:none}
.card.edit-mode.dragging-source{opacity:.38}
.card.sorting-ghost{position:fixed;left:0;top:0;width:min(100vw - 24px,736px);z-index:160;pointer-events:none;transform:translate3d(0,0,0) scale(1.01);box-shadow:0 18px 34px rgba(0,0,0,.45)}
.card.sorting-placeholder{border:2px dashed rgba(255,255,255,.25);background:rgba(255,255,255,.04);min-height:148px}
.drag-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.drag-handle{width:44px;min-width:44px;height:44px;padding:0;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);touch-action:none;cursor:grab}
.drag-handle:active{cursor:grabbing}
.drag-handle svg{width:20px;height:20px}
.card.edit-mode .card-top{align-items:center}
.card.edit-mode .card-title{font-size:17px}
.card.edit-mode .order-chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.09);font-size:12px;font-weight:1000}
.top-actions-grid button.temp-disabled,.top-actions-grid .temp-disabled{opacity:.42;pointer-events:none}
.icon-only-btn{width:48px;min-width:48px;height:48px;padding:0;border-radius:14px}
.icon-only-btn svg{width:22px;height:22px;display:block}
#refreshBtn.loading svg{animation:spinRefresh .85s linear infinite}
@keyframes spinRefresh{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
#navBackdrop,#manualBackdrop,#failBackdrop,#responseBackdrop{z-index:120}
#navBackdrop .sheet,#manualBackdrop .sheet,#failBackdrop .sheet,#responseBackdrop .sheet{z-index:121;background:#141414;border-color:rgba(255,255,255,.18);box-shadow:0 18px 36px rgba(0,0,0,.42)}
#navBackdrop .sheet-title,#manualBackdrop .sheet-title,#failBackdrop .sheet-title,#responseBackdrop .sheet-title{font-size:24px}
#manualBackdrop .sheet{background:var(--surface) !important;border-color:var(--line) !important;box-shadow:var(--shadow) !important}
#manualBackdrop .sheet-title{color:var(--text) !important}
#manualBackdrop .muted{color:var(--text-sub) !important}
#manualBackdrop input{background:#fff !important;color:var(--text) !important;border-color:var(--line) !important}
#manualBackdrop input::placeholder{color:var(--text-muted) !important}
#manualBackdrop .ghost{background:var(--surface-soft) !important;color:var(--text) !important;border-color:var(--line-strong) !important}
#manualBackdrop .primary{background:var(--brand) !important;color:#fff !important;border-color:var(--brand) !important}
.settings-pop{background:rgba(88,88,88,.98);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 38px rgba(0,0,0,.38)}
.settings-pop button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);margin:2px 0;font-weight:900}
.settings-pop button:hover,.settings-pop button:active{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.16)}
.queue-badge-btn{cursor:pointer}
.queue-badge-btn:disabled{cursor:default}
#scanFeedbackCard{margin-top:12px;border-radius:18px;padding:12px 14px;display:none}
#scanFeedbackCard.show{display:block}
#scanFeedbackCard .main{font-size:16px;font-weight:800;color:#1F2A3D}
#scanFeedbackCard .sub{margin-top:4px;font-size:13px;color:var(--label)}
#scanFeedbackCard.success{background:#EEF7FF;border:1px solid #C9D8F2}
#scanFeedbackCard.info{background:#F8FAFD;border:1px solid var(--line)}
#scanFeedbackCard.error{background:#FDECEC;border:1px solid #F5D0D0}
.queue-sheet-list{display:grid;gap:10px;margin-top:14px}
.queue-item{border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);padding:12px;position:relative;}
.queue-item .top{display:flex;gap:8px;align-items:center}
.queue-item .title{font-size:14px;font-weight:800;color:#1F2A3D}
.queue-item .sub{margin-top:6px;font-size:12px;color:var(--label)}
.queue-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.map-edit-count{font-size:13px;font-weight:800;color:var(--label);padding:0 2px}
.map-edit-actions{grid-template-columns:1fr 1fr 1fr !important}
.detail-kv .item.emphasis{background:#F8FAFD;border:1px solid #D8DFEC;border-radius:14px;padding:10px 12px;grid-template-columns:92px 1fr}
.detail-kv .item.emphasis .k{color:#315D92;font-weight:900}
.detail-kv .item.emphasis .v{color:#1F2A3D;font-weight:900}
#failBackdrop .sheet,#responseBackdrop .sheet{background:var(--surface) !important;border-color:var(--line) !important;box-shadow:var(--shadow) !important}
#failBackdrop .sheet-title,#responseBackdrop .sheet-title{color:var(--text) !important}
#failBackdrop .muted,#responseBackdrop .muted{color:var(--text-sub) !important}
#failBackdrop select,#responseBackdrop select{background:#fff !important;color:var(--text) !important;border:1px solid var(--line) !important;border-radius:14px}
#failBackdrop textarea,#responseBackdrop textarea{background:#fff !important;color:var(--text) !important;border-color:var(--line) !important}
#failBackdrop textarea::placeholder,#responseBackdrop textarea::placeholder{color:var(--text-muted) !important}
#failBackdrop .ghost,#responseBackdrop .ghost{background:var(--surface-soft) !important;color:var(--text) !important;border-color:var(--line-strong) !important}
#responseBackdrop .secondary{background:var(--brand) !important;color:#fff !important;border-color:var(--brand) !important}
.queue-item.dead-item {border-color: #F6BDBD;background: #FDE7E7;}
.remove-q-btn {min-width: 34px; width: 34px; height: 34px; padding: 0; background: transparent; border: none; color: #ff4d4f; border-radius: 999px;}
.remove-q-btn:hover { background: rgba(255, 77, 79, 0.1); }
.remove-q-btn svg { width: 22px; height: 22px; stroke: currentColor; }
#screen-map .wrap{padding-top:12px}
.map-top-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px;margin-bottom:10px;padding:10px 12px;border-radius:18px}
.map-top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.map-top-actions.editing{grid-template-columns:1fr 1fr 1fr}
.map-top-actions button{min-height:48px;padding:0 14px;white-space:nowrap;width:100%}
.map-top-actions .primary,.map-top-actions .secondary,.map-top-actions .ghost{width:100%}
.map-stage{border-radius:22px;padding:12px;position:relative;margin-top:10px}
.map-canvas-wrap{position:relative}
.map-current-btn{position:absolute;right:12px;bottom:12px;z-index:4;width:52px;height:52px;border-radius:16px;padding:0;display:flex;align-items:center;justify-content:center;background:rgba(8,8,8,.86);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.map-current-btn svg{width:24px;height:24px;display:block}
.map-current-btn.is-active{outline:2px solid rgba(30,136,255,.42)}
@media (max-width:640px){
  .map-top-controls{align-items:stretch}
  .map-top-actions{width:100%}
}
#mapCanvas{width:100%;height:60vh;min-height:380px;border-radius:18px;overflow:hidden;background:#0d0d0d}
.map-selection-card{margin-top:12px;padding:14px;border-radius:18px;display:none}
.map-selection-card.show{display:block}
.map-selection-card.is-edit{border-color:var(--line-strong);background:var(--brand-soft)}
.map-selection-card .title{font-size:18px;font-weight:1000}
.map-selection-card .sub{margin-top:4px;color:var(--muted);font-size:13px}
.map-selection-card .meta{display:grid;gap:8px;margin-top:12px}
.map-selection-card .rowline{display:grid;grid-template-columns:74px 1fr;gap:10px;font-size:14px}
.map-selection-card .rowline .k{color:var(--muted);font-weight:900}
.map-selection-card .rowline .v{font-weight:900;word-break:break-word}
.map-selection-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.map-selection-card.is-edit .actions{display:none}
.map-marker{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:rgba(30,136,255,.96);border:3px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.34);color:#fff;font-size:15px;font-weight:1000;position:relative;transition:transform .15s ease, box-shadow .15s ease, background .15s ease}
.map-marker::after{content:'';position:absolute;left:50%;bottom:-8px;width:12px;height:12px;background:inherit;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:translateX(-50%) rotate(45deg);border-bottom-right-radius:3px}
.map-marker.is-assigned{background:rgba(215,190,98,.96);color:#2b2410}
.map-marker.is-active{background:rgba(30,136,255,.96)}
.map-marker.is-done{background:rgba(118,118,118,.94)}
.map-marker.is-picked,.map-marker.is-selected{background:rgba(0,217,126,.96);transform:scale(1.12);box-shadow:0 0 0 4px rgba(0,217,126,.22),0 12px 28px rgba(0,0,0,.38)}
.map-marker.is-overlap{transform:scale(1.34);box-shadow:0 0 0 8px rgba(255,77,79,.38),0 16px 38px rgba(0,0,0,.42)}
@media (max-width:480px){
  .app-title{font-size:26px}
  .kv .item{grid-template-columns:84px 1fr}
  #toast{font-size:17px;top:110px}
  .top-actions-grid{grid-template-columns:46px minmax(72px,1fr) minmax(72px,1fr) 46px;min-width:min(86vw,280px)}
  .top-actions-grid #scanStartBtn,.top-actions-grid #mapQuickBtn{font-size:13px;padding:0 10px}
  .settings-trigger{width:46px;min-width:46px;height:46px}
  .settings-pop{top:54px;min-width:156px}
}
body, .wrap, .screen, .panel, .sheet, .card, .mini-card, .stat-box, .login-box, .map-stage, .map-card, .map-selection-card { color: var(--text); }
.glass{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none;}
.muted, .stat-k, .mini-card .meta, #captureSub, .kv .k, .detail-kv .k, .login-status{color:var(--text-sub)}
.app-title, .sheet-title, .card-title, .mini-card .title, .stat-v, .map-selection-card .title, .edit-toolbar .label {font-weight:700 !important;color:#1F2A3D}
.kv .v, .detail-kv .v, .empty, .row, .sheet-head, .sheet-close-icon, .tab, button, input, textarea {font-weight:500}
.kv .v, .detail-kv .v{color:var(--text)}
#captureInfo, #previewInfo, #captureTitle, #mapCardTitle, #sheetInvoice, #manualInvoice, .invoice-text, .card-title, .mini-card .title, [data-role="invoice"], [data-role="invoiceNo"]{font-weight:700 !important; letter-spacing:-.01em;}
input::placeholder, textarea::placeholder{color:var(--text-muted)}
input:focus, textarea:focus{border-color:var(--brand); box-shadow:0 0 0 3px rgba(0,75,204,.12)}
.panel, .card, .mini-card, .stat-box, .login-box, .sheet, .map-stage, .map-selection-card{background:var(--surface)}
.card, .mini-card, .stat-box, .login-box, .sheet, .map-selection-card{border:1px solid var(--line)}
.badge.online{background:#E8F7F0;color:#0D7A55;border-color:#C9EEDC}
.badge.offline{background:#FDECEC;color:#C43D3D;border-color:#F5D0D0}
.badge.queue{background:var(--surface-soft);color:var(--text);border-color:var(--line)}
.sheet-close-icon{background:var(--surface);color:var(--text);border-color:var(--line)}
#captureTop, #captureBottom{background:rgba(255,255,255,.96); border:1px solid var(--line); box-shadow:var(--shadow)}
#captureInfo, #previewInfo, #previewMeta, #captureSub, #previewActions button{color:var(--text)}
#scanStatusBoard .stat-box{background:var(--surface-soft)}
.tab-count{background:var(--brand-soft); color:var(--brand)}
.topbar .wrap{padding-top:12px;padding-bottom:12px}
.map-stage{background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow)}
#mapScreen .wrap > .row:first-of-type div[style*="font-size:22px"]{color:#1F2A3D !important;font-weight:700 !important}
#mapLocateBtn, #mapAllBtn, #mapEditBtn, #mapEditCancelBtn{background:var(--brand-soft);color:var(--brand);border:1px solid var(--line-strong)}
#mapSaveBtn{background:var(--brand);color:#fff;border:1px solid var(--brand)}
.map-floating-actions, .edit-toolbar{background:transparent;box-shadow:none;border:none}
.map-selection-card .badge, .card .badge, .mini-card .badge{font-weight:700}
.map-my-location-marker{filter:drop-shadow(0 6px 12px rgba(0,75,204,.18))}
.map-selection-card{background:var(--surface-soft); border-color:var(--line-strong);}
.map-selection-card .sub, .map-selection-card .rowline .k{color:var(--text-sub)}
.map-selection-card .rowline .v{color:#1F2A3D}
.map-selection-card.is-edit .title, .map-selection-card.is-edit .sub, .map-selection-card.is-edit .rowline .k, .map-selection-card.is-edit .rowline .v{color:#1F2A3D}
.map-selection-card.is-edit .badge{box-shadow:none}
.muted, .stat-k, .mini-card .meta, #captureSub, .kv .k, .detail-kv .k, .login-status{color:var(--text-sub)}
.card .muted, .mini-card .meta, .kv .k, .detail-kv .k{color:var(--text-sub) !important}
:root{--brand-deep:#003A9F;--label:#5B6678;--label-strong:#3D4A5F;}
.login-brand{display:flex;justify-content:center;margin-bottom:18px;}
.login-brand img{display:block;width:min(240px,72vw);height:auto;object-fit:contain;}
#screen-login .app-title{text-align:center;font-size:28px;letter-spacing:-.02em;}
#screen-login .muted{text-align:center;}
.card .meta,.mini-card .meta,.card .muted,.mini-card .muted,.kv .k,.detail-kv .k{color:var(--label) !important;font-weight:700 !important;}
.card .meta b,.mini-card .meta b,.kv .v,.detail-kv .v{color:var(--label-strong) !important;}
.badge{border-width:1px !important;font-weight:800 !important;letter-spacing:-.01em;box-shadow:none !important;}
.badge.delivery_done{background:#D9F7E8 !important;color:#168A5C !important;border-color:#A9E7C9 !important;}
.badge.pickup_done{background:#DCEBFF !important;color:#2E6FD8 !important;border-color:#B8D1FF !important;}
.badge.assigned{background:#FFF0D8 !important;color:#C57A10 !important;border-color:#FFD79A !important;}
.badge.not_received,.badge.delivery_failed{background:#FDE7E7 !important;color:#C84545 !important;border-color:#F6BDBD !important;}
.map-selection-card{background:#F2F6FE !important;border-color:#D8DFEC !important;}
.map-selection-card .title,.map-selection-card .sub,.map-selection-card .rowline .k,.map-selection-card .rowline .v{color:#1F2A3D !important;}
#screen-scan .topbar .row{align-items:stretch}
.scan-top-btn{height:52px !important;min-height:52px !important}
#scanBackBtn,#manualInputBtn{min-width:64px;width:64px;padding:0 8px}
.two-line-btn span{display:inline-block;line-height:1.05;text-align:center;font-size:13px;font-weight:700;letter-spacing:-.01em}
#torchBtn.scan-top-btn{width:52px;min-width:52px;padding:0}
#scanFloatActions{display:none !important}
.settings-pop{background:#FFFFFF !important;border-color:#D8DFEC !important;box-shadow:0 16px 34px rgba(31,42,61,.14) !important}
.settings-pop button{color:#1F2A3D !important;background:#F8FAFD !important;border-color:#D8DFEC !important}
.settings-pop button:hover,.settings-pop button:active{background:#F2F6FE !important;border-color:#B5BFD0 !important}
.map-selection-card{background:#EEF4FF !important;border-color:#C9D8F2 !important}
#mapCardDetailBtn{background:#FFFFFF !important;color:#004BCC !important;border:1px solid #C9D8F2 !important}
#mapCardDetailBtn:hover,#mapCardDetailBtn:active{background:#F2F6FE !important}
#mapCardNavBtn{box-shadow:none}
.list-nav-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important; 
}

#navBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  
  
  background: var(--brand-soft) !important;
  color: var(--brand) !important;
  border: 1px solid var(--line-strong) !important;
}