  .form {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-top: 24px;
    transition: opacity 0.4s ease;
  }
  .form .full { grid-column: 1 / -1; }
  @media (max-width: 768px){ .form { grid-template-columns: 1fr; } }

  .label{ font-size:.92rem; color:#444; margin-bottom:6px; }
  .input,.select,.textarea{ width:100%; border:none; outline:none; border-bottom:1px solid var(--border); padding:10px 0 12px 0; font:inherit; color:var(--ink); background:transparent; }
  .input::placeholder,.textarea::placeholder{ color:#9aa0a6; }
  .input:focus,.select:focus,.textarea:focus{ border-bottom-color: var(--primary); box-shadow:0 2px 0 0 rgba(50,170,39,.25); }
  .textarea{ min-height:120px; resize:vertical; }

  .actions{ display:flex; gap:12px; align-items:center; margin-top:8px; }
  .form_btn{ 
    appearance:none; 
    border:0; 
    cursor:pointer; 
    padding:.75rem 1.2rem;
    border-radius:8px; 
    font-weight:600;
    background:var(--primary); 
    color:#fff; 
    font-size:.95rem;

    transition:background .3s ease; }
  .form_btn:hover{ 
    background:var(--secondary); 
}
  .small{ color:var(--muted); font-size:.9rem; }

  #form-container {
    position: relative;
    overflow: hidden;
    transition: height 0.5s ease;
  }

  .confirmation {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 12px;
    background: #f1fdf0;
    color: #1b5316;
    border: 1px solid #d4f8d1;
    font-size: 1rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
  }
  .confirmation.show {
    opacity: 1;
    pointer-events: auto;
  }