/* CIRCULOVIVO — Component patterns v0.12 */
.cv-container { width: min(var(--max), calc(100% - 44px)); margin: 0 auto; }
.cv-panel-dark {
  border-radius: var(--radius-panel);
  border: 1px solid rgba(255,255,255,.14);
  background: radial-gradient(circle at 88% 0%, rgba(105,230,177,.13), transparent 30%), linear-gradient(135deg, rgba(8,6,17,.96), rgba(21,19,58,.96) 58%, rgba(26,16,61,.96));
  box-shadow: var(--shadow);
}
.cv-panel-light {
  border-radius: var(--radius-panel);
  border: 1px solid rgba(17,19,26,.10);
  background: #F7F8FB;
  color: var(--ink);
  box-shadow: var(--shadow-light);
}
.cv-photo-system {
  position:relative;
  overflow:hidden;
  background-size:cover;
  background-position:center;
}
.cv-photo-system::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(8,6,17,.20) 0%, rgba(8,6,17,.70) 100%), linear-gradient(135deg, rgba(46,42,134,.22) 0%, rgba(4,207,135,.08) 100%);
  z-index:0;
}
.cv-photo-system > * { position:relative; z-index:1; }
.cv-label-row { display:flex; align-items:center; gap:14px; }
.cv-label-row .cv-mono { color: var(--aurora-soft); white-space:nowrap; flex:0 0 auto; }
.cv-label-row .cv-living-line { flex: 1 1 auto; }
.cv-form-card {
  border-radius:30px;
  padding:22px;
  background: radial-gradient(circle at 92% 0%, rgba(4,207,135,.13), transparent 32%), #fff;
  color:var(--ink);
  box-shadow:var(--shadow-light);
}
.cv-input {
  width:100%; min-height:52px; border-radius:18px; border:1px solid rgba(17,19,26,.12); background:#F7F8FB; color:var(--ink); padding:14px 16px; font-size:15px;
}
.cv-input:focus { outline:0; border-color:var(--aurora-action); background:#fff; box-shadow:0 0 0 4px rgba(4,207,135,.18); }
