.full-card { background: #ffffff; border: 1px solid #dde5e1; border-radius: 14px; padding: 18px; margin-bottom: 16px; overflow-wrap: anywhere; word-break: break-word; min-width: 0; }
.full-inner { background: #f4f6f4; border: 1px solid #dde5e1; border-radius: 12px; padding: 14px; margin-top: 12px; overflow-wrap: anywhere; word-break: break-word; min-width: 0; }
.full-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 16px; }
.full-plan { margin-bottom: 0; }
.full-current { border: 2px solid #003a34; }
.full-card h2, .full-card h3 { color: #003a34; }
.full-card .btn, .full-plan .btn { min-height: 44px; }
.full-card input, .full-card select, .full-card textarea { min-height: 44px; font-size: 16px; width: 100%; }
.full-card input[type="checkbox"] { min-height: 20px; width: 20px; }
.full-card table { width: 100%; border-collapse: collapse; font-size: 14px; }
.full-card th, .full-card td { border-bottom: 1px solid #dde5e1; padding: 8px; text-align: left; vertical-align: top; overflow-wrap: anywhere; word-break: break-word; }
.full-card .btn:focus-visible, .full-card input:focus-visible, .full-card select:focus-visible, .full-card textarea:focus-visible, .full-card a:focus-visible { outline: 2px solid #c9a06b; outline-offset: 2px; }
.full-card .btn, .full-card a { transition: opacity 0.15s ease, border-color 0.15s ease; }
@media (min-width: 561px) { .full-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .full-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .full-card table, .full-card tr, .full-card th, .full-card td { display: block; width: 100%; }
  .full-card tr:first-child { display: none; }
  .full-card tr { border: 1px solid #dde5e1; border-radius: 12px; padding: 4px 12px; margin-bottom: 12px; }
  .full-card td { border-bottom: 1px solid #dde5e1; padding: 8px 0; }
  .full-card td:last-child { border-bottom: none; }
  .full-card td[data-label]::before { content: attr(data-label); display: block; font-weight: 700; color: #003a34; font-size: 13px; margin-bottom: 2px; }
}
@media (max-width: 560px) {
  .full-card { padding: 14px; }
  .full-card .row .btn, .full-card .btn { width: 100%; }
  .full-card .row .btn.small { width: auto; flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .full-card .btn, .full-card a { transition: none; }
}
