body { margin:0; background:#0F0F0F; font-family:'Noto Sans KR',sans-serif; }

    .page-header {
      position: fixed;
      top:0; left:0; right:0;
      background:#1A1D26;
      color:#fff;
      padding:14px 32px;
      display:flex;
      align-items:center;
      gap:16px;
      z-index:100;
      border-bottom:1px solid #2D3140;
    }
    .page-header h1 { font-size:15px; font-weight:700; }
    .page-header span { font-size:12px; color:#9CA3AF; }

    .flow-wrapper {
      display:flex;
      align-items:flex-start;
      gap:0;
      padding:48px 32px 32px;
      overflow-x:auto;
      min-height:100vh;
    }
    .flow-wrapper::-webkit-scrollbar { height:6px; }
    .flow-wrapper::-webkit-scrollbar-track { background:#1a1a1a; }
    .flow-wrapper::-webkit-scrollbar-thumb { background:#444; border-radius:3px; }

    .phone-wrap { position:relative; flex-shrink:0; }
    .flow-label {
      position:absolute;
      top:-28px; left:50%;
      transform:translateX(-50%);
      font-size:11px; font-weight:700;
      color:#fff; background:#1A1D26;
      padding:3px 10px; border-radius:99px;
      white-space:nowrap; z-index:10;
    }
    .flow-arrow {
      display:flex; align-items:center; justify-content:center;
      color:#9CA3AF; font-size:22px;
      margin:0 8px; flex-shrink:0;
      padding-top:380px;
    }

    /* 어드민/업체 화면용 웹 스타일 */
    .web-frame {
      width:480px;
      height:812px;
      background:#F7F8FA;
      border-radius:16px;
      box-shadow:0 0 0 1px #2a2a2a, 0 24px 80px rgba(0,0,0,.7);
      overflow:hidden;
      display:flex;
      flex-direction:column;
      flex-shrink:0;
    }
    .web-topbar {
      background:#fff;
      border-bottom:1px solid #E5E7EB;
      padding:12px 20px;
      display:flex;
      align-items:center;
      gap:10px;
      flex-shrink:0;
    }
    .web-topbar .logo {
      font-size:14px; font-weight:800; color:#2563EB;
    }
    .web-topbar .role-badge {
      font-size:10px; font-weight:700;
      background:#DBEAFE; color:#2563EB;
      padding:2px 8px; border-radius:99px;
    }
    .web-topbar .co-name {
      font-size:11px; color:#6B7280; margin-left:auto;
    }
    .web-body {
      flex:1; overflow-y:auto; padding:20px;
    }
    .web-body::-webkit-scrollbar { display:none; }

    .form-section {
      background:#fff;
      border:1px solid #E5E7EB;
      border-radius:12px;
      padding:16px;
      margin-bottom:12px;
    }
    .form-section h3 {
      font-size:13px; font-weight:700; color:#1A1D26;
      margin-bottom:12px;
    }
    .form-row {
      display:flex; flex-direction:column; gap:4px; margin-bottom:10px;
    }
    .form-label {
      font-size:11px; font-weight:600; color:#6B7280;
    }
    .form-input {
      padding:8px 10px;
      border:1.5px solid #E5E7EB;
      border-radius:8px;
      font-size:12px;
      font-family:inherit;
      color:#1A1D26;
      background:#F7F8FA;
    }
    .form-input.filled {
      border-color:#2563EB;
      background:#fff;
    }
    .form-input.error { border-color:#EF4444; }
    .form-select {
      padding:8px 10px;
      border:1.5px solid #E5E7EB;
      border-radius:8px;
      font-size:12px;
      font-family:inherit;
      color:#1A1D26;
      background:#F7F8FA;
      width:100%;
    }

    .market-ref-box {
      background:#DBEAFE;
      border:1px solid #BFDBFE;
      border-radius:8px;
      padding:10px 12px;
      margin-bottom:10px;
    }
    .market-ref-box .ref-label { font-size:10px; color:#2563EB; font-weight:600; }
    .market-ref-box .ref-price { font-size:16px; font-weight:800; color:#2563EB; }
    .market-ref-box .ref-sub { font-size:10px; color:#6B7280; }

    .price-warn {
      background:#FEF3C7;
      border:1px solid #FDE68A;
      border-radius:8px;
      padding:8px 12px;
      font-size:10px;
      color:#92400E;
      margin-bottom:10px;
    }

    .stat-row {
      display:grid; grid-template-columns:1fr 1fr 1fr;
      gap:8px; margin-bottom:12px;
    }
    .stat-box {
      background:#fff; border:1px solid #E5E7EB;
      border-radius:10px; padding:10px; text-align:center;
    }
    .stat-box .s-val { font-size:18px; font-weight:800; color:#2563EB; }
    .stat-box .s-label { font-size:9px; color:#9CA3AF; margin-top:2px; }

    .quote-item {
      background:#fff; border:1px solid #E5E7EB;
      border-radius:10px; padding:12px;
      margin-bottom:8px; display:flex;
      align-items:center; gap:10px;
    }
    .quote-item .qi-badge {
      font-size:9px; font-weight:700;
      padding:2px 7px; border-radius:99px;
      flex-shrink:0;
    }
    .qi-badge.active { background:#D1FAE5; color:#059669; }
    .qi-badge.exp { background:#FEE2E2; color:#EF4444; }
    .qi-badge.pending { background:#FEF3C7; color:#D97706; }

    .web-btn {
      width:100%; padding:12px;
      background:#2563EB; color:#fff;
      border:none; border-radius:10px;
      font-size:13px; font-weight:700;
      font-family:inherit; cursor:pointer;
    }
    .web-btn.secondary {
      background:#fff; color:#1A1D26;
      border:1.5px solid #E5E7EB;
    }
    .web-btn.danger {
      background:#FEE2E2; color:#EF4444;
      border:1px solid #FECACA;
    }

    .noti-item {
      display:flex; gap:10px; align-items:flex-start;
      padding:10px 0; border-bottom:1px solid #F3F4F6;
    }
    .noti-dot {
      width:8px; height:8px; border-radius:50%;
      background:#2563EB; flex-shrink:0; margin-top:4px;
    }
    .noti-dot.gray { background:#D1D5DB; }

    .filter-row {
      display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px;
    }
    .filter-chip {
      padding:5px 10px;
      border:1.5px solid #E5E7EB;
      border-radius:99px; font-size:10px;
      font-weight:600; cursor:pointer;
      background:#fff; color:#6B7280;
    }
    .filter-chip.on {
      background:#DBEAFE; color:#2563EB;
      border-color:#BFDBFE;
    }

    .progress-bar {
      background:#E5E7EB; border-radius:99px;
      height:6px; overflow:hidden; margin-bottom:4px;
    }
    .progress-fill {
      height:100%; border-radius:99px;
      background:linear-gradient(90deg,#2563EB,#7C3AED);
    }

    .match-log-item {
      display:flex; justify-content:space-between;
      align-items:center; padding:8px 0;
      border-bottom:1px solid #F3F4F6;
      font-size:11px;
    }