/* Star Asia palette (approx. from site screenshot) */
.sa-fc{
  --sa-blue: #004F9C;
  --sa-gold: #EFB727;
  --sa-white: #FFFFFF;
  --sa-ink: #0b1b2b;
  --sa-muted: rgba(11,27,43,.70);
  --sa-border: rgba(0,79,156,.22);
  --sa-shadow: 0 10px 24px rgba(0,0,0,.10);

  max-width: 980px;
  margin: 0 auto;
  font-family: inherit;
}

.sa-fc-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  background: var(--sa-blue);
  padding: 14px;
  border-radius: 12px;
  box-shadow: var(--sa-shadow);
}

.sa-fc-tab{
  appearance:none;
  border: 2px solid rgba(255,255,255,.35);
  background: transparent;
  color: var(--sa-white);
  padding: 10px 14px;
  border-radius: 10px;
  cursor:pointer;
  font-weight: 700;
  letter-spacing: .2px;
  transition: transform .08s ease, background .12s ease, border-color .12s ease;
}

.sa-fc-tab:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.55);
}

.sa-fc-tab.is-active{
  background: var(--sa-gold);
  border-color: var(--sa-gold);
  color: var(--sa-blue);
}

.sa-fc-panels{ margin-top: 14px; }

.sa-fc-panel{ display:none; }
.sa-fc-panel.is-active{ display:block; }

.sa-fc-card{
  background: var(--sa-white);
  border: 1px solid var(--sa-border);
  border-radius: 14px;
  box-shadow: var(--sa-shadow);
  overflow:hidden;
}

.sa-fc-card input[name="pieces"]{
  margin-top: 28px;
}

.sa-fc-card-head{
  background: var(--sa-blue);
  padding: 14px 16px;
}

.sa-fc-title{
  margin:0;
  color: var(--sa-white);
  font-size: 18px;
  font-weight: 800;
}

.sa-fc-form{ padding: 16px; }

.sa-fc-req{ color: #b00020; margin-left: 2px; }

.sa-fc-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 920px){
  .sa-fc-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.sa-fc-field label{
  display:block;
  margin: 0 0 6px;
  font-weight: 800;
  color: var(--sa-ink);
  font-size: 13px;
}

.sa-fc-field-wide{ grid-column: 1 / -1; }

.sa-fc-pair{
  display:flex;
  gap:10px;
  align-items:flex-end;
}

.sa-fc-pair-col{ flex: 1 1 0; }

.sa-fc-pair-label{
  font-size: 12px;
  font-weight: 800;
  color: var(--sa-muted);
  margin: 0 0 4px;
  text-transform: lowercase;
}

.sa-fc-field input{
  width: 100%;
  border: 1px solid rgba(11,27,43,.20);
  border-radius: 10px;
  padding: 10px 10px;
  font-size: 14px;
  outline: none;
  transition: border-color .12s ease, box-shadow .12s ease;
}

.sa-fc-field input:focus{
  border-color: rgba(0,79,156,.65);
  box-shadow: 0 0 0 4px rgba(0,79,156,.15);
}

.sa-fc-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top: 14px;
  flex-wrap: wrap;
}

.sa-fc-btn{
  border: none;
  background: var(--sa-blue);
  color: var(--sa-white);
  padding: 10px 14px;
  border-radius: 10px;
  cursor:pointer;
  font-weight: 900;
  transition: transform .08s ease, filter .12s ease;
}

.sa-fc-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.sa-fc-btn.secondary{
  background: var(--sa-gold);
  color: var(--sa-blue);
}

.sa-fc-error{
  color: #b00020;
  font-weight: 800;
  font-size: 13px;
  margin-left: auto;
}

.sa-fc-results{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 720px){
  .sa-fc-results{ grid-template-columns: 1fr; }
}

.sa-fc-result{
  border: 1px solid rgba(0,79,156,.18);
  background: rgba(0,79,156,.04);
  border-radius: 12px;
  padding: 12px 12px;
}

.sa-fc-result-label{
  color: var(--sa-muted);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .6px;
}

.sa-fc-result-value{
  margin-top: 6px;
  font-size: 18px;
  font-weight: 900;
  color: var(--sa-ink);
}

.sa-fc-mini{
  grid-column: 1 / -1;
  border-top: 1px dashed rgba(0,79,156,.25);
  padding-top: 10px;
  color: var(--sa-ink);
  font-size: 13px;
  display:flex;
  gap: 16px;
  flex-wrap: wrap;
}

.sa-fc-note{
  margin-top: 12px;
  font-size: 12.5px;
  color: rgba(11,27,43,.72);
}

.sa-fc-card .hidden {
  display: none;
}