/* 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-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-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-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-section{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid #e2e8f0}
.scf-section-title{margin:0 0 6px;font-size:16px;font-weight:800;color:#0f172a}
.scf-section-note{margin:0 0 12px;font-size:13px;line-height:1.5;color:#64748b}
.scf-base-card{padding:14px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}
.scf-base-name{font-size:17px;font-weight:800;margin-bottom:4px}
.scf-base-price{font-size:16px;font-weight:700;color:#2563eb;margin-bottom:12px}
.scf-option-add-entry{margin-top:12px}
.scf-search{width:100%;padding:12px 14px;margin:8px 0 12px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px}
.scf-select{width:100%;padding:12px 14px;margin:8px 0 12px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px;background:#fff}
.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;touch-action:manipulation}
.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-pay-method-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.scf-pay-method-btn{
  padding:12px 16px;font-size:15px;font-weight:700;border-radius:10px;
  border:1px solid #e2e8f0;background:#fff;color:#0f172a;
}
.scf-pay-method-btn.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.scf-route-panel{margin-top:4px}
