/* Mottola Agri - stili custom */
.card { @apply bg-white rounded-2xl shadow-sm border border-agri-100 p-5; background:#fff; border-radius:1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); border:1px solid #dcedc8; padding:1.25rem; }
.card-title { font-weight:600; color:#1b5e20; margin-bottom:.75rem; font-size:1rem; }
.inp { width:100%; border:1px solid #d1d5db; border-radius:.6rem; padding:.55rem .75rem; font-size:.95rem; background:#fff; outline:none; transition:border .15s, box-shadow .15s; }
.inp:focus { border-color:#558b2f; box-shadow:0 0 0 3px rgba(85,139,47,.15); }
.btn-primary { display:inline-flex; align-items:center; gap:.25rem; background:#2e7d32; color:#fff; font-weight:600; padding:.55rem 1rem; border-radius:.7rem; transition:background .15s; font-size:.9rem; }
.btn-primary:hover { background:#1b5e20; }
.btn-primary:disabled { opacity:.5; cursor:not-allowed; }
.btn-secondary { display:inline-flex; align-items:center; gap:.25rem; background:#fff; color:#374151; border:1px solid #d1d5db; font-weight:500; padding:.55rem 1rem; border-radius:.7rem; font-size:.9rem; transition:background .15s; }
.btn-secondary:hover { background:#f3f4f6; }
.btn-secondary:disabled { opacity:.5; cursor:not-allowed; }
.btn-danger { display:inline-flex; align-items:center; gap:.25rem; background:#dc2626; color:#fff; font-weight:600; padding:.55rem 1rem; border-radius:.7rem; font-size:.9rem; }
.btn-danger:hover { background:#b91c1c; }
.icon-btn { width:2.2rem; height:2.2rem; border-radius:9999px; display:inline-flex; align-items:center; justify-content:center; color:#4b5563; }
.icon-btn:hover { background:#f3f4f6; }
.chip { padding:.3rem .8rem; border-radius:9999px; background:#fff; border:1px solid #c5e1a5; color:#2e7d32; font-size:.8rem; font-weight:500; }
.chip:hover { background:#f1f8e9; }
.chip-active { background:#2e7d32; color:#fff; border-color:#2e7d32; }
.tbl { width:100%; font-size:.9rem; border-collapse:collapse; }
.tbl th { text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; color:#6b7280; padding:.5rem .6rem; border-bottom:1px solid #e5e7eb; }
.tbl td { padding:.55rem .6rem; border-bottom:1px solid #f3f4f6; vertical-align:top; }
.tbl tbody tr:hover { background:#fafdf7; }
.nav-link { display:flex; align-items:center; gap:.75rem; padding:.7rem 1.25rem; color:#dcedc8; font-size:.92rem; transition:background .15s; }
.nav-link:hover { background:rgba(255,255,255,.08); color:#fff; }
.nav-link.active { background:#2e7d32; color:#fff; border-right:3px solid #aed581; }
.mobile-nav { display:flex; flex-direction:column; align-items:center; gap:2px; padding:.6rem .5rem .5rem; font-size:.65rem; color:#6b7280; flex:1; }
.mobile-nav i { font-size:1.15rem; }
.mobile-nav.active { color:#2e7d32; font-weight:600; }
.mobile-mic { flex:1; display:flex; justify-content:center; }
.mic-btn { width:5.5rem; height:5.5rem; border-radius:9999px; background:#2e7d32; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(46,125,50,.35); transition:transform .15s, background .15s; }
.mic-btn:hover { background:#1b5e20; transform:scale(1.04); }
.mic-btn.listening { background:#dc2626; animation:pulse 1.2s infinite; box-shadow:0 0 0 0 rgba(220,38,38,.6); }
@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(220,38,38,.55);} 70% { box-shadow:0 0 0 22px rgba(220,38,38,0);} 100% { box-shadow:0 0 0 0 rgba(220,38,38,0);} }
.animate-fade { animation:fadein .25s ease; transition:opacity .3s; }
@keyframes fadein { from { opacity:0; transform:translateY(-6px);} to { opacity:1; transform:none;} }
@media (max-width:640px) { .btn-primary, .btn-secondary { padding:.7rem 1rem; } .inp { padding:.7rem .8rem; font-size:1rem; } }
