/* BNT Portale Clienti — stile frontend */
.bnt-portal { max-width: 860px; margin: 0 auto; font-size: 16px; }
.bnt-portal * { box-sizing: border-box; }

.bnt-card { background: #fff; border: 1px solid #e2e4e8; border-radius: 10px; padding: 22px; margin-bottom: 18px; box-shadow: 0 1px 3px rgba(0,0,0,.05); }

.bnt-alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-weight: 500; }
.bnt-alert-success { background: #e7f7ec; color: #14522c; border: 1px solid #b8e4c5; }
.bnt-alert-error { background: #fdecec; color: #8a1f1f; border: 1px solid #f3bcbc; }

.bnt-tabs { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.bnt-tabs a { padding: 10px 18px; border-radius: 8px 8px 0 0; background: #eef0f3; color: #333; text-decoration: none; font-weight: 600; }
.bnt-tabs a.active { background: #d3222a; color: #fff; }

.bnt-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; flex-wrap: wrap; gap: 10px; }
.bnt-topbar-right { display: flex; align-items: center; gap: 12px; }
.bnt-credits { background: #101418; color: #ffd75e; padding: 8px 14px; border-radius: 8px; font-size: 15px; }
.bnt-inline { display: inline; margin: 0; }

.bnt-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.bnt-form input[type=text], .bnt-form input[type=email], .bnt-form input[type=password], .bnt-form textarea {
	width: 100%; padding: 10px 12px; border: 1px solid #cfd3d9; border-radius: 8px; font-size: 15px;
}
.bnt-form input[type=file] { padding: 8px 0; }

.bnt-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 640px) { .bnt-grid2 { grid-template-columns: 1fr; } }

.bnt-cat h5 { margin: 18px 0 8px; font-size: 15px; text-transform: uppercase; letter-spacing: .5px; color: #d3222a; }
.bnt-services { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (max-width: 640px) { .bnt-services { grid-template-columns: 1fr; } }
.bnt-service { display: flex; align-items: center; gap: 8px; background: #f7f8fa; border: 1px solid #e2e4e8; border-radius: 8px; padding: 10px 12px; cursor: pointer; font-weight: 400 !important; margin: 0 !important; }
.bnt-service:hover { border-color: #d3222a; }
.bnt-service input { margin: 0; }
.bnt-service-name { flex: 1; }
.bnt-service-cost { font-weight: 700; color: #d3222a; white-space: nowrap; }

.bnt-total { font-size: 18px; background: #101418; color: #fff; padding: 12px 16px; border-radius: 8px; margin: 14px 0; }
.bnt-total strong { color: #ffd75e; }

.bnt-btn { display: inline-block; background: #d3222a; color: #fff !important; border: none; padding: 10px 22px; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; text-decoration: none !important; }
.bnt-btn:hover { background: #b01b22; }
.bnt-btn-big { font-size: 17px; padding: 13px 30px; }
.bnt-btn-ghost { background: #fff; color: #333 !important; border: 1px solid #cfd3d9; }
.bnt-btn-ghost:hover { background: #f1f2f4; }

.bnt-order-head { display: flex; justify-content: space-between; align-items: center; }
.bnt-status { padding: 4px 12px; border-radius: 20px; font-size: 13px; font-weight: 700; }
.bnt-status-in_lavorazione { background: #fff4d6; color: #7a5b00; }
.bnt-status-completato { background: #e7f7ec; color: #14522c; }
.bnt-status-annullato { background: #f0f0f0; color: #666; }

.bnt-reply { background: #f2f7ff; border-left: 4px solid #2a6fd3; padding: 10px 14px; border-radius: 0 8px 8px 0; }
.bnt-small { font-size: 13px; color: #667; font-weight: 400; }
.bnt-recharge { line-height: 1.7; }
