:root{
  --osda-blue:#4a9ccf;
  --osda-blue-dark:#2d79a8;
  --osda-ink:#1f2937;
  --osda-muted:#6b7280;
  --osda-border:#e5e7eb;
  --osda-bg:#ffffff;
  --osda-warn:#b45309;
  --osda-danger:#b91c1c;
  --osda-ok:#065f46;
}

.osda-wrap{
  max-width: 980px;
  margin: 24px auto;
  padding: 0 12px;
  font-family: Arial, sans-serif;
  color: var(--osda-ink);
}

.osda-header{
  display:flex;
  gap:12px;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom: 12px;
}

.osda-brand-title{
  font-size: 28px;
  font-weight: 800;
  letter-spacing: .2px;
}

.osda-brand-subtitle{
  color: var(--osda-muted);
  margin-top: 2px;
  font-size: 14px;
}

.osda-badge{
  font-size: 12px;
  padding: 6px 10px;
  border:1px solid var(--osda-border);
  border-radius: 999px;
  color: var(--osda-blue-dark);
  background: #f3f9fd;
}

.osda-panel{
  background: var(--osda-bg);
  border: 1px solid var(--osda-border);
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  overflow:hidden;
}

.osda-intro{
  padding: 16px 16px 0 16px;
}

.osda-app{
  padding: 16px;
}

.osda-footer{
  border-top: 1px solid var(--osda-border);
  padding: 14px 16px;
  background: #fbfdff;
}

.osda-small{ font-size: 12px; color: var(--osda-muted); }
.osda-tiny{ font-size: 11px; color: #9ca3af; margin-top: 8px; }

.osda-card{
  border: 1px solid var(--osda-border);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 12px;
  background: #fff;
}

.osda-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.osda-field{
  flex: 1 1 240px;
}

.osda-label{
  display:block;
  font-weight: 700;
  margin-bottom: 6px;
  font-size: 13px;
}

.osda-input, .osda-select, .osda-textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 10px 10px;
  border: 1px solid var(--osda-border);
  border-radius: 10px;
  font-size: 14px;
  outline: none;
}

.osda-textarea{ min-height: 84px; resize: vertical; }

.osda-actions{
  display:flex;
  gap:10px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.osda-btn{
  border: none;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
}

.osda-btn-primary{
  background: var(--osda-blue);
  color: #fff;
}
.osda-btn-primary:hover{ background: var(--osda-blue-dark); }

.osda-btn-secondary{
  background: #eef2f7;
  color: var(--osda-ink);
  border:1px solid var(--osda-border);
}
.osda-btn-secondary:hover{ background:#e7eef6; }

.osda-pill{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.osda-pill-danger{ background: #fee2e2; color: var(--osda-danger); }
.osda-pill-warn{ background: #ffedd5; color: var(--osda-warn); }
.osda-pill-ok{ background: #dcfce7; color: var(--osda-ok); }

.osda-list{
  margin: 8px 0 0 0;
  padding-left: 18px;
  color: var(--osda-ink);
}

.osda-divider{
  height:1px;
  background: var(--osda-border);
  margin: 10px 0;
}

.osda-ack{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 12px;
  border-radius: 12px;
  border:1px solid var(--osda-border);
  background:#f8fbff;
}

.osda-ack input{ margin-top: 3px; }

.osda-note{
  font-size: 13px;
  color: var(--osda-muted);
}
