/* Existing styles */
div.api_status:before {
  content: " ";
  width: 10px;
  height: 10px;
  display: inline-block;
  margin-right: 10px;
  border-radius: 10px;
}

div.connected:before {
  background: green;  
}

div.down:before {
  background: red;  
}

div.neutral:before {
  background: black;  
}

.flex.container.columns {
  display: flex;
  flex-direction: row;
}

.flex.column {
  flex: 1;
  padding: 0px 10px;
  background: rgba(0,0,0,0.03);
  margin: 5px;
  border: 1px solid rgba(0,0,0,0.5);
  font-size: 90%;
}

.flex.column ul {
  padding: 0;  
}

#edit-group-formazione-del-consenso-su {
  display: none!important;  
}

/* NEW: Invoice status indicators */
.ball_green,
.ball_red,
.ball_blue,
.ball_grey {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
}

.ball_green {
    background-color: #28a745;
}

.ball_red {
    background-color: #dc3545;
}

.ball_blue {
    background-color: #17a2b8;
}

.ball_grey {
    background-color: #6c757d;
}

/* NEW: Invoice containers */
.refund-invoice {
    border-left: 4px solid #17a2b8;
    background-color: #f8f9fa;
}

.regular-invoice {
    border-left: 4px solid #dee2e6;
}

/* NEW: Invoice table styling */
.invoice-table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
}

.invoice-table th {
    background-color: #f8f9fa;
    padding: 12px 8px;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #dee2e6;
}

.invoice-table td {
    padding: 10px 8px;
    border-bottom: 1px solid #e9ecef;
}

.invoice-table tr:hover {
    background-color: #f8f9fa;
}

/* NEW: Credit note rows */
.credit-note-row {
    background-color: #e7f5ff;
}

.credit-note-row:hover {
    background-color: #cfe2ff !important;
}

.credit-note {
    font-style: italic;
}

.credit-amount {
    color: #17a2b8;
    font-weight: 600;
}

/* NEW: Unpaid invoice rows */
.unpaid-row:hover {
    background-color: #fff3cd !important;
}

/* NEW: Summary rows */
.divider {
    height: 2px;
    background-color: #dee2e6;
    margin: 20px 0;
}

.subtotal-row,
.total-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 14px;
}

.subtotal-row.credit {
    color: #17a2b8;
}

.total-row {
    font-weight: 700;
    font-size: 16px;
    padding-top: 12px;
    border-top: 2px solid #212529;
}

.credit-balance {
    color: #28a745;
}

/* NEW: Action links */
.invoice-action a,
.at_actions a {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.invoice-action a:hover,
.at_actions a:hover {
    color: #0056b3;
    text-decoration: underline;
}

/* NEW: Recurring payment styles */
.recurring-disabled {
    display: inline-block;
    padding: 5px 10px;
    background-color: #fff3cd;
    color: #856404;
    border-radius: 4px;
    font-weight: 500;
    font-size: 13px;
}

.disable-recurring {
    color: #dc3545 !important;
    font-weight: 500;
}

.disable-recurring:hover {
    color: #c82333 !important;
}

/* NEW: Paid badge */
.paid-badge {
    display: inline-block;
    padding: 5px 10px;
    background-color: #d4edda;
    color: #155724;
    border-radius: 4px;
    font-weight: 500;
    font-size: 13px;
}

/* NEW: Error badge */
.error-badge {
    display: inline-block;
    padding: 5px 10px;
    background-color: #f8d7da;
    color: #721c24;
    border-radius: 4px;
    font-weight: 500;
    font-size: 13px;
}

/* NEW: Invoice amounts */
.invoice-amount {
    text-align: right;
    font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .flex.container.columns {
        flex-direction: column;
    }
    
    .invoice-table th,
    .invoice-table td {
        padding: 8px 5px;
        font-size: 13px;
    }
}

#map * {
  outline: none !important;
  box-shadow: none !important;
}
#map button,
#map a,
#map img,
#map area {
  outline: none !important;
  box-shadow: none !important;
}
#map button:focus,
#map a:focus,
#map img:focus,
#map area:focus {
  outline: none !important;
  box-shadow: none !important;
}
/* Rimuove outline blu dalla mappa */
#map div {
  outline: none !important;
  box-shadow: none !important;
}
.gm-style button,
.gm-style a,
.gm-style img {
  outline: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
