.rfc-root{position:relative;z-index:999999;font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;}

.rfc-fab{
  position:fixed;right:18px;bottom:18px;
  width:64px;height:64px;border-radius:50%;
  border:0;background:var(--rfc-fab-bg);color:var(--rfc-fab-icon);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  cursor:pointer;transition:transform .16s ease, box-shadow .16s ease;
}
.rfc-fab:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.25);}
.rfc-fab:focus{outline:2px solid rgba(255,255,255,.6);outline-offset:3px;}
.rfc-fab-icon{
  width:28px;height:28px;display:block;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12a9 9 0 0 1-1.4 4.8L21 21l-4.2-1.4A9 9 0 1 1 21 12Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12a9 9 0 0 1-1.4 4.8L21 21l-4.2-1.4A9 9 0 1 1 21 12Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
}

.rfc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(2px);}

.rfc-modal{
  position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;
  padding:18px;
}
@media (max-width:600px){.rfc-modal{align-items:flex-end;justify-content:center;padding:12px;}}

.rfc-card{
  width:360px;max-width:100%;background:#fff;color:#0f172a;
  border-radius:16px;border:1px solid #e5e7eb;
  box-shadow:0 14px 40px rgba(15,23,42,.16);
  padding:18px 18px 16px;position:relative;
}
@media (max-width:600px){.rfc-card{width:100%;border-radius:12px;}}

.rfc-close{
  position:absolute;top:12px;left:-52px;
  width:36px;height:36px;border-radius:10px;border:1px solid #e5e7eb;
  background:#f8fafc;color:#0f172a;font-size:18px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .16s ease, transform .12s ease;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.rfc-close:hover{background:#eef2f7;transform:translateY(-1px);}
@media (max-width:600px){
  .rfc-close{left:12px;right:auto;top:12px;box-shadow:none;}
}

.rfc-intro{margin:0 8px 14px 0;font-size:14px;line-height:1.45;color:#1f2937;}

.rfc-form{display:grid;gap:12px;}
.rfc-field{display:block;}
.rfc-label{display:block;font-size:13px;margin:0 0 6px;color:#374151;font-weight:600;}
.rfc-star{color:var(--rfc-primary);font-weight:700;}

.rfc-field input,
.rfc-field textarea{
  width:100%;border:1px solid #e5e7eb;border-radius:12px;
  padding:11px 12px;font-size:14px;box-sizing:border-box;
  background:#fff;transition:border-color .12s ease, box-shadow .12s ease;
  min-height:72px;max-height:120px;resize:vertical;
}
.rfc-field input:focus,
.rfc-field textarea:focus{
  border-color:var(--rfc-primary);
  box-shadow:0 0 0 3px rgba(230,0,0,.12);
  outline:none;
}

.rfc-hint{display:block;margin-top:6px;font-size:12px;color:#6b7280;}

.rfc-error{display:block;margin-top:6px;font-size:12px;color:#b00020;min-height:16px;}

.rfc-hp-field{
  position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;
}

.rfc-submit{
  margin-top:2px;border:0;border-radius:12px;
  padding:12px 14px;background:var(--rfc-primary);color:var(--rfc-text);
  font-size:15px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:transform .12s ease, box-shadow .16s ease, background .12s ease;
}
.rfc-submit:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.15);}
.rfc-submit[disabled]{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none;}

.rfc-plane{
  width:16px;height:16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2v7z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2v7z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.rfc-status{margin-top:4px;font-size:13px;color:#374151;min-height:18px;}
.rfc-status--ok{color:#0c8a3f;font-weight:700;}
.rfc-status--error{color:#b00020;font-weight:700;}
