/* Extracted styles from app_min1.html */
:root { --action-gap: 12px; }
body { font-family: system-ui, Arial, sans-serif; margin:0; padding:0; background:#0d1117; color:#eee; }
header { padding:6px 10px; background:#161b22; display:flex; flex-direction:column; align-items:stretch; gap:6px; font-size:14px; }
.header-main { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.badge { background:#238636; color:#fff; padding:2px 8px; border-radius:12px; font-size:12px; }
button { cursor:pointer; background:#30363d; color:#fff; border:1px solid #3d444d; border-radius:8px; padding:10px 14px; font-size:14px; transition:background .15s, transform .12s; position:relative; }
button:active { transform:translateY(1px); }
button.primary { background:#238636; border-color:#2ea043; }
button.danger { background:#da3633; border-color:#f85149; }
button.small, .thin-btn { padding:10px 14px !important; font-size:14px !important; }
button:disabled { opacity:.7; cursor:default; }
button.is-loading { pointer-events:none; }
/* Loading border: running gradient along the outline (no independent rotation) */
button.is-loading::after {
	content:"";
	position:absolute;
	inset:-2px;
	border-radius:10px;
	padding:2px;
	/* moving highlight that flows along the border */
	background:linear-gradient(90deg, rgba(88,166,255,0) 0%, rgba(88,166,255,0.85) 50%, rgba(88,166,255,0) 100%);
	background-size:200% 100%;
	/* reveal only the border ring */
	-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;
	mask-composite:exclude;
	animation:borderflow 1.2s linear infinite;
}
#main, .panel { padding:12px; }
.hidden { display:none !important; }
.inline-alert-host { padding:0 12px; display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.inline-alert { position:relative; border-radius:12px; padding:12px 14px 14px 14px; border:1px solid #30363d; background:#1c2128; color:#f0f6fc; box-shadow:0 8px 24px rgba(1,4,9,0.35); overflow:hidden; }
.inline-alert.inline-alert-warn { border-color:#d9480f; background:linear-gradient(135deg, rgba(217,72,15,0.16) 0%, rgba(28,33,40,0.95) 60%, rgba(28,33,40,1) 100%); color:#ffd8a8; }
.inline-alert.inline-alert-info { border-color:#1f6feb; background:linear-gradient(135deg, rgba(31,111,235,0.18) 0%, rgba(28,33,40,0.95) 60%, rgba(28,33,40,1) 100%); color:#c9d1d9; }
.inline-alert.inline-alert-success { border-color:#2ea043; background:linear-gradient(135deg, rgba(46,160,67,0.18) 0%, rgba(28,33,40,0.95) 60%, rgba(28,33,40,1) 100%); color:#c9d1d9; }
.inline-alert-title { font-weight:700; font-size:16px; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
.inline-alert-message { font-size:14px; line-height:1.4; opacity:0.9; }
.inline-alert-actions { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.inline-alert-btn { background:#30363d; border:1px solid #3d444d; color:#f0f6fc; padding:8px 12px; border-radius:8px; font-size:14px; }
.inline-alert-btn:hover { background:#3d444d; }
.inline-alert-close { position:absolute; top:10px; right:12px; background:transparent; border:0; color:inherit; font-size:16px; padding:0; line-height:1; opacity:0.7; }
.inline-alert-close:hover { opacity:1; }
.inline-alert-hide { animation:inlineAlertHide .18s ease forwards; }
@keyframes inlineAlertHide { to { opacity:0; transform:translateY(-8px); } }
body.theme-light .inline-alert { background:#ffffff; border-color:#d0d7de; color:#24292f; box-shadow:0 10px 26px rgba(15,23,42,0.16); }
body.theme-light .inline-alert.inline-alert-warn { background:linear-gradient(135deg, rgba(255, 244, 230, 0.9) 0%, #ffffff 75%); border-color:#f08c00; color:#7c2d12; }
body.theme-light .inline-alert.inline-alert-info { background:linear-gradient(135deg, rgba(209, 229, 255, 0.9) 0%, #ffffff 75%); border-color:#1f6feb; color:#0b3d91; }
body.theme-light .inline-alert.inline-alert-success { background:linear-gradient(135deg, rgba(214, 255, 229, 0.9) 0%, #ffffff 75%); border-color:#2ea043; color:#1f6f3d; }
body.theme-light .inline-alert-btn { background:#eaeef2; border-color:#d0d7de; color:#24292f; }
body.theme-light .inline-alert-btn:hover { background:#d8dee4; }
body.theme-light .inline-alert-close { color:#57606a; }
.list { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.skeleton-item { background:#1c2128; border:1px solid #30363d; border-radius:8px; height:44px; position:relative; overflow:hidden; }
.skeleton-item:after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,rgba(255,255,255,0),rgba(255,255,255,0.08),rgba(255,255,255,0)); animation:skeleton 1.2s linear infinite; }
@keyframes skeleton { from { transform:translateX(-100%);} to { transform:translateX(100%);} }
.parcel-btn { background:#21262d; border:1px solid #30363d; padding:10px 12px; border-radius:8px; width:100%; text-align:left; position:relative; display:flex; gap:12px; align-items:center; height:64px; }
.parcel-btn .agent-logo { height:100%; max-height:100%; width:auto; max-width:64px; aspect-ratio:1/1; object-fit:contain; margin:0; border-radius:4px; background:#fff; border:1px solid rgba(0,0,0,0.1); box-shadow:0 0 0 1px rgba(255,255,255,0.05) inset; flex:0 0 auto; }
.parcel-btn .parcel-content { display:flex; flex-direction:column; justify-content:center; min-height:100%; flex:1 1 auto; }
.parcel-btn .parcel-content > span:first-child { font-size:18px; line-height:1.2; }
.parcel-btn .barcode { display:block; font-size:11px; opacity:.7; margin-top:2px; }
.parcel-btn.problem { position:relative; border-color:#b78103; box-shadow:0 0 0 1px #b78103 inset; }
.parcel-btn.problem:after { content:'⚠'; position:absolute; top:6px; right:8px; font-size:16px; }
.parcel-btn.problem-cell_not_open { border-color:#d9480f; box-shadow:0 0 0 1px #d9480f inset; }
.parcel-btn.problem-cell_not_open:after { content:'🔓'; }
.parcel-btn.problem-parcel_absent { border-color:#9d174d; box-shadow:0 0 0 1px #9d174d inset; }
.parcel-btn.problem-parcel_absent:after { content:'📦✖'; font-size:15px; }
.parcel-btn.problem-other { border-color:#6b7280; box-shadow:0 0 0 1px #6b7280 inset; }
.parcel-btn.problem-other:after { content:'❔'; }
/* Problem type color coding (delivery & pickup) */
.parcel-btn.problem-cell_not_open,
.parcel-btn.problem.problem-cell_not_open,
.parcel-btn.problem.problem-cell_not_open.problem-cell_not_open { border-color:#d9480f; box-shadow:0 0 0 1px #d9480f inset; }
.parcel-btn.problem-cell_not_open:after { content:'🔓'; }
.parcel-btn.problem-parcel_absent,
.parcel-btn.problem.problem-parcel_absent { border-color:#ab2f65; box-shadow:0 0 0 1px #ab2f65 inset; }
.parcel-btn.problem-parcel_absent:after { content:'📦✖'; }
.parcel-btn.problem-other,
.parcel-btn.problem.problem-other { border-color:#6f42c1; box-shadow:0 0 0 1px #6f42c1 inset; }
.parcel-btn.problem-other:after { content:'❔'; }
.row { display:flex; gap:8px; flex-wrap:wrap; }
/* new: center alignment helper */
.row.center { justify-content:center; }

#delivery_controls_top {
	flex-wrap: nowrap;
	align-items: stretch;
}

#delivery_controls_top #btn_delivery_back {
	flex: 0 0 auto;
}

#delivery_controls_top #btn_delivery_scan {
	flex: 1 1 0;
	min-width: 0;
	white-space: normal;
}
.pill { background:#30363d; padding:4px 10px; border-radius:16px; font-size:12px; line-height:1.2; }
/* Accent chip: slightly larger and higher contrast; add subtle shadow for light theme readability */
.pill.accent { background:#1f6feb; color:#fff; padding:6px 14px; font-size:14px; box-shadow:0 1px 0 rgba(0,0,0,0.15), 0 0 0 1px rgba(255,255,255,0.05) inset; }
.parcel-num { font-size:22px; font-weight:700; line-height:1.15; }
/* Light theme accent visibility */
body.theme-light .pill.accent { background:#0550ae; color:#fff; box-shadow:0 1px 0 rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.06) inset; }
/* Delivery size selector: full-width adaptive layout */
#size_selector { width:100%; display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
#size_selector .size-btn { width:100%; }
@media (max-width: 360px) {
	#size_selector { grid-template-columns:1fr 1fr; }
	#size_selector .size-btn:last-child { grid-column:1 / -1; }
}
/* Make retry button full width */
#btn_delivery_retry { width:100%; }
#btn_delivery_bigger { width:100%; }
.problem-btn { background:#9e6a03; border-color:#b78103; width:100%; text-align:center; }
.pickup-bottom .thin-btn { width:auto; }

#bigger_only { margin-top:var(--action-gap); gap:var(--action-gap); }

#btn_delivery_confirm.confirm-ready { font-size:24px; padding:16px 20px; min-height:74px; }

.input-inline { display:flex; gap:6px; margin-top:6px; width:100%; }
.input-inline input { flex:1 1 auto; min-width:0; }
input[type=text], input[type=tel] { background:#0d1117; color:#fff; border:1px solid #30363d; border-radius:6px; padding:6px 8px; font-family:inherit; }
.divider { height:1px; background:#30363d; margin:16px 0; }
.note { font-size:12px; opacity:0.75; }
.diag-banner { background:#1c2128; border:1px dashed #484f58; color:#c9d1d9; border-radius:8px; padding:8px 10px; font-size:13px; margin:6px 0; }
body.theme-light .diag-banner { background:#f0f3f6; border-color:#d0d7de; color:#24292f; }
.diag-banner.warn { background:#2a1f1f; border-color:#d9480f; color:#ffd8a8; }
body.theme-light .diag-banner.warn { background:#fff4e6; border-color:#f08c00; color:#7c2d12; }
.form-field { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.form-field label { font-weight:600; font-size:17px; }
.form-field.checkbox-field { flex-direction:row; align-items:center; gap:10px; margin-top:12px; }
.form-field.checkbox-field label { font-weight:500; display:flex; align-items:center; gap:8px; font-size:17px; }
.inventory-list { min-height:40px; }
.inventory-task-btn { background:#21262d; border:1px solid #30363d; border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; gap:4px; text-align:left; }
.inventory-task-btn strong { font-size:20px; }
.inventory-task-btn .inventory-status { font-size:14px; opacity:0.75; }
.inventory-task-btn .inventory-meta-small { font-size:13px; opacity:0.6; }
.inventory-task-btn.active { border-color:#1f6feb; box-shadow:0 0 0 1px rgba(31,111,235,0.45); }
.inventory-details { margin-top:16px; padding:12px; border:1px solid #30363d; border-radius:10px; background:#161b22; }
.inventory-task-meta { display:flex; flex-direction:column; gap:4px; margin-bottom:10px; }
.inventory-task-status { font-size:16px; opacity:0.85; }
.inventory-task-started { font-size:13px; opacity:0.65; }
.inventory-info { margin:12px 0; font-size:17px; line-height:1.5; text-align:center; }
.inventory-info a { color:#58a6ff; text-decoration:underline; }
.inventory-info a:hover { color:#79c0ff; }
.inventory-action-buttons { display:flex; flex-direction:column; gap:10px; margin:14px 0; }
.inventory-action-buttons button { width:100%; }
.inventory-note { font-size:15px; opacity:0.75; margin-top:8px; text-align:center; }
textarea { background:#0d1117; color:#fff; border:1px solid #30363d; border-radius:6px; padding:6px 8px; font-family:inherit; font-size:17px; resize:vertical; }
select { background:#0d1117; color:#fff; border:1px solid #30363d; border-radius:6px; padding:6px 8px; font-size:17px; }
body.theme-light .inventory-task-btn { background:#f0f3f6; border-color:#d0d7de; color:#24292f; }
body.theme-light .inventory-details { background:#ffffff; border-color:#d0d7de; }
body.theme-light textarea, body.theme-light select { background:#ffffff; color:#24292f; border-color:#d0d7de; }
body.theme-light .inventory-info a { color:#0969da; }
body.theme-light .inventory-info a:hover { color:#1f6feb; }
.problem-menu { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.problem-options { display:flex; flex-wrap:wrap; gap:6px; }
.problem-group-title { font-weight:600; font-size:15px; }
.problem-group-description { font-size:13px; opacity:0.75; }
.problem-group-separator { height:1px; background:#30363d; margin:8px 0; }
.problem-empty { font-size:13px; opacity:0.7; font-style:italic; padding:4px 0; }
body.theme-light .problem-group-separator { background:#d0d7de; }
.ghost { opacity:.4; }
#locker_bar { background:#161b22; border-top:1px solid #30363d; border-bottom:1px solid #30363d; padding:8px 12px; position:sticky; top:0; z-index:20; }
#locker_bar h2 { margin:0 0 2px 0; font-size:14px; font-weight:600; }
#phase_label { display:none; }
.header-right { display:flex; gap:8px; align-items:center; }
#btn_theme { background:#484f58; font-size:12px; padding:4px 10px; border-radius:14px; }
.flow-heading { margin:6px 0 6px; font-size:18px; font-weight:600; text-align:center; }
h1, h2, h3 { text-align:center; }
.loading-overlay { position:fixed; inset:0; background:rgba(13,17,23,0.72); backdrop-filter:blur(2px); display:none; align-items:center; justify-content:center; z-index:9999; }
.loading-overlay.visible { display:flex; }
.loading-box { display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 24px; background:rgba(22,27,34,0.66); border:1px solid #30363d; border-radius:12px; }
.spinner { width:48px; height:48px; border-radius:50%; border:4px solid #3d444d; border-top-color:#2ea043; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
/* border gradient flow along the outline */
@keyframes borderflow { from { background-position:200% 0; } to { background-position:-200% 0; } }
.loading-text { color:#c9d1d9; font-size:14px; text-align:center; min-width:200px; }
/* maintenance modal */
.maintenance-overlay { position:fixed; inset:0; background:rgba(13,17,23,0.72); backdrop-filter:blur(2px); display:none; align-items:center; justify-content:center; z-index:10000; }
.maintenance-overlay.visible { display:flex; }
.maintenance-box { display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 24px; background:rgba(22,27,34,0.9); border:1px solid #30363d; border-radius:12px; max-width:420px; box-shadow:0 10px 30px rgba(0,0,0,0.35); }
.maintenance-title { font-weight:700; font-size:16px; color:#f0f6fc; }
.maintenance-text { font-size:14px; color:#c9d1d9; text-align:center; }
.maintenance-countdown { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:16px; color:#9be9a8; }
.maintenance-note { font-size:12px; opacity:0.75; text-align:center; }
body.theme-light .maintenance-overlay { background:rgba(246,248,250,0.72); }
body.theme-light .maintenance-box { background:#ffffff; border-color:#d0d7de; }
body.theme-light .maintenance-title { color:#24292f; }
body.theme-light .maintenance-text { color:#57606a; }
body.theme-light .maintenance-countdown { color:#0969da; }
.settings-modal { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(13,17,23,0.72); backdrop-filter:blur(2px); z-index:11000; opacity:0; pointer-events:none; transition:opacity .18s ease; }
.settings-modal.visible { opacity:1; pointer-events:auto; }
.settings-modal.hidden { display:none !important; }
.settings-panel { width:min(420px, 100%); background:#161b22; border:1px solid #30363d; border-radius:14px; padding:22px 20px 20px; box-shadow:0 18px 38px rgba(0,0,0,0.4); display:flex; flex-direction:column; gap:18px; }
.settings-close { align-self:flex-end; background:transparent; border:0; color:#c9d1d9; font-size:22px; line-height:1; cursor:pointer; }
.settings-close:hover { color:#fff; }
.settings-section { display:flex; flex-direction:column; gap:10px; }
.settings-section h3 { margin:0; font-size:18px; font-weight:600; text-align:left; }
.settings-options { display:flex; gap:10px; flex-wrap:wrap; }
.settings-option { display:inline-flex; align-items:center; gap:8px; font-size:16px; }
.settings-option input:checked + span { font-weight:600; color:#58a6ff; }
.settings-option input[type=radio], .settings-option input[type=checkbox] { width:18px; height:18px; }
.settings-option.checkbox { font-weight:600; font-size:17px; }
.settings-hint { margin:0; font-size:13px; opacity:0.75; }

/* Simulator overlay */
.sim-header-bar {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:4px;
	padding:10px 12px;
	border-radius:12px;
	background:#1f6feb;
	color:#fff;
	border:1px solid rgba(31,111,235,0.55);
	box-shadow:0 8px 22px rgba(8,19,48,0.3);
	font-size:13px;
	text-align:left;
	transition:transform .12s ease, box-shadow .12s ease;
}
.sim-header-bar.hidden { display:none !important; }
.sim-header-bar:active { transform:scale(0.99); }
.sim-header-bar:focus-visible { outline:2px solid #a5d6ff; outline-offset:2px; }
.sim-header-bar-label { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; opacity:0.85; font-weight:600; }
.sim-header-bar-step { font-weight:600; font-size:14px; }
.sim-header-bar-hint { font-size:13px; opacity:0.95; line-height:1.45; }
.sim-panel {
	position:fixed;
	right:12px;
	bottom:12px;
	width:min(320px, calc(100% - 24px));
	max-height:calc(100vh - 120px);
	display:flex;
	flex-direction:column;
	gap:12px;
	padding:16px 18px 18px;
	background:#161b22;
	border:1px solid #30363d;
	border-radius:16px;
	box-shadow:0 18px 38px rgba(1,4,9,0.55);
	z-index:130;
	overflow:hidden;
}
.sim-panel.hidden { display:none !important; }
.sim-header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.sim-header-text { display:flex; flex-direction:column; gap:2px; font-size:16px; }
.sim-header-text strong { font-size:18px; }
.sim-rule {
	font-size:12px;
	color:#a5d6ff;
	text-transform:uppercase;
	letter-spacing:0.08em;
}
.sim-body { display:flex; flex-direction:column; gap:12px; overflow-y:auto; }
.sim-progress { display:flex; flex-direction:column; gap:6px; }
.sim-progress-text { font-size:13px; opacity:0.8; }
.sim-progress-bar { position:relative; height:6px; border-radius:999px; background:#21262d; overflow:hidden; }
#simulator_progress_bar { position:absolute; inset:0; width:0; background:#2ea043; border-radius:999px; transition:width .25s ease; }
.sim-hint { font-size:14px; line-height:1.45; background:#1c2128; border:1px solid #2b313a; border-radius:12px; padding:10px 12px; }
.sim-steps {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.sim-step {
	position:relative;
	padding:10px 12px 10px 38px;
	border-radius:12px;
	border:1px solid #2b313a;
	background:#1c2128;
	font-size:14px;
	line-height:1.4;
}
.sim-step-title { font-weight:600; font-size:14px; margin:0 0 2px; }
.sim-step-summary { margin:0; font-size:12px; opacity:0.7; line-height:1.35; }
.sim-step::before {
	content:attr(data-step-index);
	position:absolute;
	left:12px;
	top:50%;
	transform:translateY(-50%);
	width:18px;
	height:18px;
	border-radius:50%;
	background:#30363d;
	color:#c9d1d9;
	font-size:12px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:600;
}
.sim-step.active { border-color:#2ea043; box-shadow:0 0 0 1px rgba(46,160,67,0.25); }
.sim-step.active::before { background:#2ea043; color:#fff; }
.sim-step.completed { opacity:0.75; }
.sim-step.completed::before { content:'✓'; background:#238636; color:#fff; }
.sim-step.failed { border-color:#d9480f; }
.sim-step.failed::before { background:#d9480f; color:#fff; }
.sim-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.sim-score { font-size:13px; opacity:0.85; }
body.theme-light .sim-header-bar {
	background:#0969da;
	color:#fff;
	border-color:rgba(9,105,218,0.45);
	box-shadow:0 8px 16px rgba(9,105,218,0.25);
}
body.theme-light .sim-panel { background:#ffffff; border-color:#d0d7de; box-shadow:0 22px 42px rgba(15,23,42,0.18); }
body.theme-light .sim-hint { background:#f6f8fa; border-color:#d0d7de; color:#24292f; }
body.theme-light .sim-step { background:#f6f8fa; border-color:#d0d7de; color:#24292f; }
body.theme-light .sim-step::before { background:#c7d1db; color:#24292f; }
body.theme-light .sim-step.active { border-color:#2ea043; }
body.theme-light .sim-rule { color:#0550ae; }
.settings-actions { display:flex; justify-content:flex-end; }
body.modal-open { overflow:hidden; }
body.theme-light .settings-modal { background:rgba(246,248,250,0.72); }
body.theme-light .settings-panel { background:#ffffff; border-color:#d0d7de; box-shadow:0 18px 42px rgba(15,23,42,0.22); }
body.theme-light .settings-close { color:#24292f; }
body.theme-light .settings-option input:checked + span { color:#0969da; }
body.theme-light .settings-hint { color:#57606a; }
body.theme-light { background:#f6f8fa; color:#24292f; }
body.theme-light header { background:#ffffff; color:#24292f; border-bottom:1px solid #d0d7de; }
body.theme-light #locker_bar { background:#ffffff; border-color:#d0d7de; }
body.theme-light .badge { background:#2da44e; }
body.theme-light button { background:#eaeef2; color:#24292f; border-color:#d0d7de; }
body.theme-light button.primary { background:#0969da; border-color:#1f6feb; color:#fff; }
body.theme-light button.danger { background:#cf222e; border-color:#ff8182; color:#fff; }
body.theme-light .problem-btn { background:#bf8700; border-color:#d29922; color:#fff; }
body.theme-light .pill { background:#eaeef2; }
body.theme-light .parcel-btn { background:#f0f3f6; border-color:#d0d7de; color:#24292f; }
body.theme-light .skeleton-item { background:#eaeef2; border-color:#d0d7de; }
body.theme-light .loading-overlay { background:rgba(246,248,250,0.72); }
body.theme-light .loading-box { background:rgba(255,255,255,0.8); border-color:#d0d7de; }
body.theme-light input[type=text], body.theme-light input[type=tel] { background:#ffffff; color:#24292f; border-color:#d0d7de; }
.tsd-hint { display:none; font-size:12px; opacity:0.75; }
body.tsd-mode #btn_scan_start,
body.tsd-mode #btn_pickup_scan,
body.tsd-mode #btn_delivery_scan { display:none !important; }
body.tsd-mode .tsd-hint { display:block; }
/* Unified header icon button style */
.hdr-btn { background:#484f58; font-size:12px; padding:4px 10px; border-radius:14px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
body.theme-light .hdr-btn { background:#eaeef2; }
/* Remove duplicated per-id styles now covered by .hdr-btn */
#toast { position:fixed; left:50%; bottom:14px; transform:translateX(-50%); background:rgba(22,27,34,0.92); color:#fff; border:1px solid #30363d; border-radius:10px; padding:8px 12px; font-size:13px; display:none; z-index:10000; }
body.theme-light #toast { background:rgba(0,0,0,0.75); color:#fff; border-color:rgba(0,0,0,0.2); }

/* new: large scan button matching parcel size */
.big-scan { width:100%; font-size:18px; padding:12px 15px; }
/* Вертикальні стеки дій */
.stacked-actions { display:flex; flex-direction:column; gap:var(--action-gap); margin-top:var(--action-gap); }
.stacked-actions button { width:100%; min-height:58px; }

.pickup-bottom { margin-top:var(--action-gap); align-items:stretch; flex-wrap:nowrap; gap:var(--action-gap); }
.pickup-bottom button { flex:1 1 0; min-height:52px; }
.pickup-bottom .problem-btn { width:auto; }

/* Сітка вибору розміру 2×2 */
#size_selector.size-grid { width:100%; margin-top:var(--action-gap); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-auto-rows:1fr; gap:var(--action-gap); }
#size_selector.size-grid .size-btn { width:100%; min-height:60px; font-size:22px; }
@media (max-width: 360px) {
	#size_selector.size-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
}

/* optional: visually dim UI during operation to hint suppression of maintenance */
body.operation-active #locker_bar { opacity: 0.95; }

/* --- Global font bump +3px --- */
header { font-size: 17px; }
button, button.small, .thin-btn { font-size: 17px !important; }
#btn_settings, #btn_tsd, #btn_demo { font-size: 15px; }
.badge { font-size: 15px; }
.pill { font-size: 15px; }
.pill.accent { font-size: 17px; }
.parcel-btn .parcel-content > span:first-child { font-size: 21px; }
.parcel-btn .barcode { font-size: 14px; }
#log { font-size: 15px; }
.flow-heading { font-size: 21px; }
.parcel-num { font-size: 25px; }
.maintenance-title { font-size: 19px; }
.maintenance-text { font-size: 17px; }
.maintenance-countdown { font-size: 19px; }
.loading-text { font-size: 17px; }
.tsd-hint { font-size: 15px; }
#toast { font-size: 16px; }
.big-scan { font-size: 21px; }
.diag-banner { font-size: 16px; }
.note { font-size: 15px; }
input[type=text], input[type=tel] { font-size: 17px; }
