/* Staff completion flow — full-screen step wizard (390px+) */
.scf-sheet{
  position:fixed;inset:0;z-index:200;
  display:flex;flex-direction:column;
  height:100dvh;max-height:100dvh;max-width:100vw;overflow-x:hidden;
  background:#fff;
  color:#0f172a;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.scf-sheet.hidden{display:none!important}
.scf-header{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px calc(8px + env(safe-area-inset-top));
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.scf-progress{font-size:13px;color:#64748b;font-weight:600}
.scf-progress-bar{height:3px;background:#e2e8f0;border-radius:999px;margin-top:6px;overflow:hidden}
.scf-progress-bar>i{display:block;height:100%;background:#2563eb;border-radius:999px;transition:width .2s}
.scf-close{
  width:44px;height:44px;padding:0;margin:0;flex-shrink:0;
  border:1px solid #e2e8f0;border-radius:12px;
  background:#f8fafc;color:#475569;font-size:24px;line-height:1;font-weight:400;
}
.scf-body{
  flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:20px 16px 16px;
}
.scf-footer{
  flex:0 0 auto;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid #e2e8f0;background:#fff;
}
.scf-footer-actions{display:flex;gap:8px;align-items:stretch}
.scf-footer-actions .scf-back{
  flex:0 0 auto;min-width:96px;width:auto;margin:0;
  padding:14px 16px;min-height:52px;
}
.scf-footer-actions .scf-primary{
  flex:1;margin:0;min-height:52px;
}
.scf-footer-actions.scf-footer-single{flex-direction:column}
.scf-footer-actions.scf-footer-single .scf-primary{width:100%}
.scf-footer-actions.scf-footer-single .scf-back{width:100%}
.scf-back.hidden,.scf-primary.hidden{display:none!important}
.scf-status{min-height:0;margin-bottom:8px;font-size:14px;line-height:1.45}
.scf-status.err{color:#dc2626;font-weight:700}
.scf-status.ok{color:#16a34a;font-weight:700}
.scf-primary{
  width:100%;padding:16px;margin:0 0 8px;
  font-size:17px;font-weight:800;min-height:52px;
  border-radius:12px;border:none;background:#2563eb;color:#fff;
}
.scf-primary:disabled{opacity:.55}
.scf-primary.hidden{display:none!important}
.scf-back.hidden{display:none!important}
.scf-back{
  width:100%;padding:12px;margin:0;
  font-size:16px;font-weight:700;min-height:44px;
  border-radius:12px;border:1px solid #e2e8f0;background:#fff;color:#475569;
}
.scf-title{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.02em}
.scf-hint{margin:0 0 16px;font-size:15px;color:#64748b;line-height:1.45}
.scf-thumb-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.scf-thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;background:#f1f5f9;border:1px solid #e2e8f0}
.scf-thumb-empty{width:72px;height:72px;border-radius:10px;background:#f8fafc;border:1px dashed #cbd5e1}
.scf-text-btn{
  width:auto;padding:0;margin:8px 0 0;border:none;background:none;
  color:#2563eb;font-size:15px;font-weight:700;text-align:left;
}
.scf-text-btn.scf-terminal-escape{
  display:block;margin:18px 0 0;padding:0;border:none;background:none;
  color:#94a3b8;font-size:12px;font-weight:500;text-align:left;line-height:1.3;
}
.scf-menu-row{padding:16px 0;border-bottom:1px solid #f1f5f9}
.scf-menu-name{font-size:17px;font-weight:800;margin-bottom:4px}
.scf-menu-price{font-size:16px;color:#334155;margin-bottom:8px}
.scf-menu-qty{display:flex;align-items:center;gap:12px}
.scf-menu-qty button{
  width:36px;height:36px;padding:0;margin:0;flex:0 0 auto;
  font-size:18px;border-radius:8px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;
}
.scf-menu-qty span{font-size:16px;font-weight:700;min-width:24px;text-align:center}
.scf-menu-del{
  width:auto;padding:0;margin-left:auto;border:none;background:none;
  color:#64748b;font-size:14px;font-weight:600;text-decoration:underline;
}
.scf-discount{margin:16px 0;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.scf-discount-label{font-size:15px;color:#64748b;margin-bottom:4px}
.scf-discount-value{font-size:17px;font-weight:800;color:#dc2626}
.scf-estimate-box{
  margin:10px 0 12px;padding:12px 12px 8px;border-radius:12px;
  background:#f8fafc;border:1px solid #e2e8f0;
}
.scf-estimate-title{font-size:13px;font-weight:800;color:#475569;margin:0 0 8px}
.scf-estimate-row{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  padding:6px 0;border-bottom:1px dashed #e2e8f0;font-size:14px;line-height:1.45;
}
.scf-estimate-row:last-child{border-bottom:none}
.scf-estimate-name{color:#334155;flex:1;min-width:0}
.scf-estimate-qty{display:block;font-size:12px;color:#94a3b8;margin-top:2px}
.scf-estimate-amount{font-weight:800;color:#0f172a;white-space:nowrap;text-align:right}
.scf-estimate-amount.is-discount{color:#dc2626}
.scf-estimate-total{margin-top:4px;padding-top:8px;border-top:1px solid #cbd5e1;border-bottom:none}
.scf-estimate-total .scf-estimate-name{font-weight:800;color:#0f172a}
.scf-estimate-total .scf-estimate-amount{font-size:16px}
.scf-amount-block{padding:14px 0;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;gap:12px;font-size:16px}
.scf-amount-block.total{border-bottom:none;padding-top:20px;margin-top:8px}
.scf-amount-block.total .scf-amount-label{font-size:16px;font-weight:700}
.scf-amount-block.total .scf-amount-value{font-size:28px;font-weight:800;color:#0f172a}
.scf-amount-label{color:#64748b}
.scf-amount-value{font-weight:700;text-align:right}
.scf-pay-row{margin:12px 0;font-size:16px;line-height:1.6}
.scf-pay-row strong{display:block;font-size:15px;color:#64748b;font-weight:600;margin-bottom:2px}
.scf-pay-amount{font-size:32px;font-weight:800;margin:16px 0;letter-spacing:-.02em}
.scf-pay-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 4px}
.scf-pay-method-btn{
  width:100%;margin:0;padding:14px 10px;min-height:52px;
  font-size:16px;font-weight:700;border-radius:12px;
  border:1px solid #cbd5e1;background:#fff;color:#334155;
}
.scf-pay-method-btn.active{
  border-color:#2563eb;background:#eff6ff;color:#1d4ed8;
  box-shadow:inset 0 0 0 1px #2563eb;
}
.scf-wait{text-align:center;padding:24px 0}
.scf-wait-msg{font-size:20px;font-weight:800;color:#1e40af;line-height:1.45;margin-bottom:16px}
.scf-spinner{width:40px;height:40px;margin:0 auto;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:scf-spin .8s linear infinite}
@keyframes scf-spin{to{transform:rotate(360deg)}}
.scf-done-check{width:64px;height:64px;margin:0 auto 16px;border-radius:999px;background:#dcfce7;color:#166534;font-size:36px;line-height:64px;text-align:center;font-weight:800}
.scf-done-title{text-align:center;font-size:22px;font-weight:800;margin:0 0 20px;color:#166534}
.scf-summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:16px}
.scf-summary-row span{color:#64748b}
.scf-summary-row strong{font-weight:800;text-align:right;max-width:60%}
.scf-secondary-row{display:flex;gap:8px;margin-top:12px}
.scf-secondary-row .scf-back{flex:1}
.scf-memo-toggle{width:auto;padding:0;margin:12px 0 0;border:none;background:none;color:#2563eb;font-size:15px;font-weight:700}
.scf-memo-box{margin-top:8px}
.scf-memo-box textarea{width:100%;min-height:72px;font-size:16px;border:1px solid #e2e8f0;border-radius:12px;padding:12px}
.scf-progress-bar.hidden{display:none}
.scf-hub-row{padding:16px 0;border-bottom:1px solid #f1f5f9}
.scf-hub-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:16px;margin-bottom:8px}
.scf-hub-row-head>span:first-child{font-weight:800;color:#0f172a}
.scf-hub-meta{color:#64748b;font-size:15px;text-align:right;max-width:58%}
.scf-hub-action{width:100%;padding:12px;margin:0;font-size:16px;font-weight:700;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#2563eb}
.scf-row-note{font-size:14px;color:#64748b;margin:4px 0 8px}
.scf-row-note.err{color:#dc2626}
.scf-inline-btn{border:none;background:none;color:#2563eb;font-weight:700;padding:0;text-decoration:underline}
.scf-outline-btn{width:100%;padding:14px;margin:0 0 16px;font-size:16px;font-weight:700;border-radius:10px;border:1px solid #2563eb;background:#fff;color:#2563eb}
.scf-tag{font-size:12px;font-weight:700;color:#2563eb;background:#eff6ff;padding:2px 6px;border-radius:6px;margin-left:4px}
.scf-picker-list{display:flex;flex-direction:column;gap:0}
.scf-picker-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f1f5f9}
.scf-picker-name{font-size:16px;font-weight:800}
.scf-picker-scope{font-size:14px;color:#64748b;margin-top:2px}
.scf-picker-right{text-align:right;flex-shrink:0}
.scf-picker-price{font-size:15px;font-weight:700;margin-bottom:6px}
.scf-select-btn{padding:8px 14px;font-size:15px;font-weight:700;border-radius:8px;border:none;background:#2563eb;color:#fff}
.scf-partial-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}
.scf-partial-label{font-size:16px;font-weight:700;flex:1}
.scf-flow-order{
  margin:0 0 14px;padding:10px 12px;border-radius:10px;
  background:#eff6ff;border:1px solid #bfdbfe;
  font-size:13px;font-weight:700;color:#1d4ed8;line-height:1.4;
}
.scf-hub-row-muted{opacity:.72}
.scf-hub-row-muted .scf-hint{margin-bottom:0}
