/* STILE DELLA SCHEDA DEL PERSONAGGIO - URBAN FANTASY  HELP: Stile urban fantasy con effetti neon e atmosfera dark/cyberpunk
 * Colori principali: ciano (#00d9ff), viola (#8a2be2), magenta (#ff0080)*/
/* Container principale */
div.pagina_scheda {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    background: linear-gradient(135deg, #1a1f35 0%, #0f1320 100%);
    border: 2px solid #00d9ff;
    box-shadow: 
        0 0 30px rgba(0, 217, 255, 0.3),
        0 10px 40px rgba(0, 0, 0, 0.8),
        inset 0 0 100px rgba(0, 217, 255, 0.05);
    position: relative;
}
div.pagina_scheda::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border: 1px solid rgba(138, 43, 226, 0.3);
    pointer-events: none;
    z-index: 1;
}
/* Page Body */
div.pagina_scheda div.page_body {
    padding: 20px;
    position: relative;
    z-index: 2;
}
/* Link generali */
div.pagina_scheda a {
    color: #00d9ff;
    text-decoration: none;
    transition: all 0.3s ease;
}
div.pagina_scheda a:hover {
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
}
/* Form info */
div.pagina_scheda div.form_info {
    font-style: italic;
    color: rgba(0, 217, 255, 0.6);
}
/**************************************************************************/
/* MENU NAVIGAZIONE */
div.menu_scheda {
    background: rgba(10, 14, 23, 0.8);
    border-bottom: 1px solid rgba(0, 217, 255, 0.3);
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    position: relative;
    z-index: 10;
    margin-bottom: 30px;
}
div.menu_scheda a {
    color: #00d9ff;
    text-decoration: none;
    padding: 15px 20px;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-right: 1px solid rgba(0, 217, 255, 0.2);
    transition: all 0.3s ease;
    position: relative;
    background: transparent;
}
div.menu_scheda a:last-child {
    border-right: none;
}
div.menu_scheda a:hover {
    background: rgba(0, 217, 255, 0.1);
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
}
div.menu_scheda a.active {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%);
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
    border-bottom: 2px solid #00d9ff;
}
div.menu_scheda a.admin-only {
    color: #ff0080;
}
div.menu_scheda a.private {
    color: #8a2be2;
}
/**************************************************************************/
/* SISTEMA TAB */
.default-content {
    display: block;
    animation: fadeIn 0.5s ease;
}
.tab-content {
    display: none;
}
.tab-content.active {
    display: block;
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
/* Descrizione personaggio */
.descrizione-testo {
    color: rgba(0, 217, 255, 0.8);
    line-height: 1.8;
    font-size: 1em;
    text-align: justify;
}
/**************************************************************************/
/* LAYOUT SCHEDA - Due colonne */
.scheda-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 30px;
}
/**************************************************************************/
/* RITRATTO (Colonna sinistra) */
div.ritratto {
    text-align: center;
}
/* Titoli dei box */
div.pagina_scheda div.titolo_box {
    color: #00d9ff;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
    font-weight: 600;
}
/* Nome personaggio */
div.ritratto div.ritratto_nome {
    margin-bottom: 15px;
}
div.ritratto_nome span.ritratto_nome_nome {
    display: block;
    font-size: 1.3em;
    color: #00d9ff;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
}
div.ritratto_nome span.ritratto_nome_cognome {
    display: block;
    font-size: 1.2em;
    color: rgba(0, 217, 255, 0.7);
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 2px;
}
/* Avatar */
div.ritratto div.ritratto_avatar {
    width: 300px;
    height: 472px;
    margin: 0 auto 15px;
    border: 2px solid #00d9ff;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 
        0 0 20px rgba(0, 217, 255, 0.5),
        0 0 40px rgba(138, 43, 226, 0.3),
        inset 0 0 30px rgba(0, 217, 255, 0.1);
    background: #000;
    position: relative;
}
div.ritratto_avatar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid rgba(138, 43, 226, 0.5);
    margin: 5px;
    pointer-events: none;
}
div.ritratto_avatar img,
img.ritratto_avatar_immagine {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.9) contrast(1.1);
}
/* Info iscrizione */
div.iscritto_da,
div.ultimo_ingresso {
    font-size: 0.80em;
    color: rgba(0, 217, 255, 0.6);
    margin: 5px 0;
}
/* Link invia messaggio */
div.ritratto div.ritratto_invia_messaggio {
    margin-top: 10px;
}
a.link_invia_messaggio {
    display: inline-block;
    padding: 8px 16px;
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%);
    border: 1px solid #00d9ff;
    color: #00d9ff !important;
    text-decoration: none;
    border-radius: 3px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    font-size: 0.80em;
    letter-spacing: 1px;
}
a.link_invia_messaggio:hover {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.5) 0%, rgba(0, 217, 255, 0.5) 100%);
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.5);
    transform: translateY(-2px);
}
/**************************************************************************/
/* PROFILO (Colonna destra) */
div.profilo { /* Il grid Ã¨ gestito dal parent .scheda-layout */
}
/* Section Title */
.section-title {
    background: linear-gradient(90deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%);
    color: #00d9ff;
    padding: 12px 20px;
    margin: 20px 0 15px 0;
    font-size: 1.1em;
    border-left: 3px solid #8a2be2;
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 300;
}
/* Dati Biometrici */
.dati-biometrici {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-bottom: 15px;
}
.dato-item {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.8) 0%, rgba(15, 19, 32, 0.9) 100%);
    padding: 6px;
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 3px;
    box-shadow: 
        0 0 10px rgba(0, 217, 255, 0.2),
        inset 0 0 20px rgba(0, 217, 255, 0.05);
    transition: all 0.3s ease;
}
.dato-item:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 
        0 0 20px rgba(0, 217, 255, 0.4),
        inset 0 0 20px rgba(0, 217, 255, 0.1);
    transform: translateY(-1px);
}
.dato-label {
    font-size: 0.75em;
    color: #8a2be2;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 4px;
    letter-spacing: 1px;
    text-shadow: 0 0 5px rgba(138, 43, 226, 0.5);
}
.dato-valore {
    font-size: 1em;
    color: #00d9ff;
    font-weight: 300;
    text-shadow: 0 0 5px rgba(0, 217, 255, 0.3);
}
/* Profilo voce (per caratteristiche, razza, ecc) */
div.profilo div.profilo_voce {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    margin: 5px 0;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.2);
    border-radius: 3px;
    transition: all 0.3s ease;
    height: auto;
    clear: both;
    text-align: left;
}
div.profilo_voce:hover {
    border-color: rgba(0, 217, 255, 0.5);
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.3);
}
div.profilo_voce div.profilo_voce_label {
    color: #8a2be2;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    width: auto;
    float: none;
    margin: 0;
}
div.profilo_voce div.profilo_voce_valore {
    color: #00d9ff;
    font-size: 1.1em;
    font-weight: 300;
    text-shadow: 0 0 5px rgba(0, 217, 255, 0.3);
    width: auto;
    float: none;
    margin: 0;
    text-align: right;
}
/* Icone gilda */
img.profilo_img_gilda {
    height: 20px;
    width: 20px;
    border-radius: 3px;
    border: 1px solid rgba(0, 217, 255, 0.3);
}
/**************************************************************************/
/* PUNTI (PF e SanitÃ  Mentale) */
.punti-section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 15px;
}
.punti-box {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 2px solid rgba(0, 217, 255, 0.4);
    border-radius: 5px;
    padding: 10px;
    box-shadow: 
        0 0 20px rgba(0, 217, 255, 0.3),
        inset 0 0 30px rgba(0, 217, 255, 0.05);
    position: relative;
    transition: all 0.3s ease;
}
.punti-box:hover {
    border-color: rgba(0, 217, 255, 0.7);
    box-shadow: 
        0 0 30px rgba(0, 217, 255, 0.5),
        inset 0 0 30px rgba(0, 217, 255, 0.1);
}
.punti-box::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    border: 1px solid rgba(138, 43, 226, 0.2);
    border-radius: 3px;
    pointer-events: none;
}
.punti-title {
    font-size: 0.75em;
    color: #8a2be2;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 6px;
    text-align: center;
    letter-spacing: 2px;
    text-shadow: 0 0 10px rgba(138, 43, 226, 0.8);
}
.punti-display {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    font-size: 1.2em;
    font-weight: 300;
}
.punti-attuale {
    color: #00d9ff;
    text-shadow: 0 0 15px rgba(0, 217, 255, 0.8);
}
.punti-massimi {
    color: rgba(0, 217, 255, 0.5);
    font-size: 0.7em;
}
/* Punti Ferita */
.punti-ferita .punti-title {
    color: #ff0080;
    text-shadow: 0 0 10px rgba(255, 0, 128, 0.8);
}
.punti-ferita .punti-attuale {
    color: #ff0080;
    text-shadow: 0 0 15px rgba(255, 0, 128, 0.8);
}
/* SanitÃ  Mentale */
.punti-sanita .punti-title {
    color: #00ff9d;
    text-shadow: 0 0 10px rgba(0, 255, 157, 0.8);
}
.punti-sanita .punti-attuale {
    color: #00ff9d;
    text-shadow: 0 0 15px rgba(0, 255, 157, 0.8);
}
/* Barre progresso */
.barra-punti {
    margin-top: 6px;
    height: 6px;
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 2px;
    overflow: hidden;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5);
}
.barra-progresso {
    height: 100%;
    transition: width 0.3s ease;
    position: relative;
    box-shadow: 0 0 10px currentColor;
}
.barra-ferita {
    background: linear-gradient(90deg, #ff0080, #ff0040);
}
.barra-sanita {
    background: linear-gradient(90deg, #00ff9d, #00d9ff);
}
.barra-progresso::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, 
        rgba(255, 255, 255, 0.2) 0%, 
        rgba(255, 255, 255, 0) 50%, 
        rgba(0, 0, 0, 0.3) 100%);
}
/**************************************************************************/
/* STATUS */
div.profilo_status {
    margin: 15px 0;
    padding: 15px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 3px;
    color: rgba(0, 217, 255, 0.8);
    text-align: justify;
    clear: both;
    height: auto;
    min-height: 100px;
}
/**************************************************************************/
/* CONTENUTI GENERICI */
.content-placeholder {
    padding: 30px;
    text-align: center;
    color: rgba(0, 217, 255, 0.6);
    font-size: 1.2em;
}
.content-box {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    padding: 20px;
    margin: 15px 0;
    box-shadow: 
        0 0 15px rgba(0, 217, 255, 0.2),
        inset 0 0 20px rgba(0, 217, 255, 0.05);
}
/**************************************************************************/
/* BACKGROUND (storia pg, affetti) */
div.housing-box {
    border: 1px solid rgba(0, 255, 255, 0.4);
    background: rgba(0, 20, 20, 0.4);
    padding: 12px;
    margin-bottom: 15px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
}

div.housing-display {
    line-height: 1.5;
    font-size: 13px;
}

div.background {
    margin: 10px 0;
    clear: both;
    overflow: hidden;
    padding: 20px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    color: rgba(0, 217, 255, 0.8);
}
div.background img {
    max-width: 100%;
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 3px;
}
/**************************************************************************/
/* MESSAGGI WARNING E ERROR */
div.warning {
    background: rgba(255, 165, 0, 0.2);
    border: 1px solid rgba(255, 165, 0, 0.5);
    color: #ffa500;
    padding: 15px;
    margin: 15px 0;
    border-radius: 5px;
    text-shadow: 0 0 5px rgba(255, 165, 0, 0.5);
}
div.error {
    background: rgba(255, 0, 0, 0.2);
    border: 1px solid rgba(255, 0, 0, 0.5);
    color: #ff0000;
    padding: 15px;
    margin: 15px 0;
    border-radius: 5px;
    text-shadow: 0 0 5px rgba(255, 0, 0, 0.5);
}
/**************************************************************************/
/* FORM */
div.form_field input.healt_input {
    width: 50px;
    background: rgba(26, 31, 53, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.3);
    color: #00d9ff;
    padding: 5px;
    border-radius: 3px;
}
/**************************************************************************/
/* RESPONSIVE */
@media (max-width: 768px) {
    .scheda-layout {
        grid-template-columns: 1fr;
    }
    div.ritratto div.ritratto_avatar {
        width: 250px;
        height: 393px;
    }
    .dati-biometrici {
        grid-template-columns: 1fr;
    }
    .punti-section {
        grid-template-columns: 1fr;
    }
    div.menu_scheda {
        flex-direction: column;
    }
    div.menu_scheda a {
        border-right: none;
        border-bottom: 1px solid rgba(0, 217, 255, 0.2);
    }
    div.pagina_scheda {
        max-width: 100%;
    }
}
/* EQUIPAGGIAMENTO E INVENTARIO - Mantengo compatibilitÃ  con sistema originale */
div.omino_bianco_box {
    margin: 20px auto;
    width: 450px;
    height: 300px;
    text-align: center;
}
img.omino_bianco_img {
    margin-top: 40px;
    width: 300px;
    height: 226px;
}
div.omino_bianco_armdx,
div.omino_bianco_armsx,
div.omino_bianco_chest,
div.omino_bianco_legs,
div.omino_bianco_feet,
div.omino_bianco_head,
div.omino_bianco_neck,
div.omino_bianco_ring {
    border: 1px solid rgba(0, 217, 255, 0.3);
    background: rgba(26, 31, 53, 0.6);
    margin-top: 5px;
}
div.omino_bianco_armdx { width: 49px; height: 36px; }
div.omino_bianco_armsx { width: 49px; height: 36px; margin-right: 0; }
div.omino_bianco_chest { width: 75px; height: 50px; margin-right: 0; }
div.omino_bianco_legs { width: 75px; height: 50px; }
div.omino_bianco_feet { width: 63px; height: 46px; }
div.omino_bianco_head { width: 63px; height: 46px; }
div.omino_bianco_neck { width: 49px; height: 36px; }
div.omino_bianco_ring { width: 30px; height: 20px; }
div.pagina_scheda_equip td.casella_elemento,
div.pagina_scheda_oggetti td.casella_elemento {
    font-size: 12px;
    padding: 10px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.2);
}
div.inventario_img img {
    height: 120px;
    width: 120px;
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 3px;
}
div.inventario_nome {
    font-size: 12px;
    text-transform: uppercase;
    color: #00d9ff;
    font-weight: 600;
}
/**************************************************************************/
/* ABILITÃ€ */
div.elenco_abilita {
    margin: 20px auto;
    clear: both;
}
div.elenco_abilita table {
    margin: 10px auto;
    border-collapse: collapse;
}
div.elenco_abilita td {
    vertical-align: top;
    padding: 8px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.2);
    color: #00d9ff;
}
div.abilita_scheda_nome { width: 110px; font-size: 12px; }
div.abilita_scheda_car { width: 70px; font-size: 12px; }
div.abilita_scheda_tank { width: 20px; font-size: 12px; }
div.abilita_scheda_sub { width: 35px; font-size: 12px; }
.skill_incr.active,
.skill_decr.active {
    visibility: visible;
}
.skill_incr.inactive,
.skill_decr.inactive {
    visibility: hidden;
}
/**************************************************************************/
/* DIARIO */
.pagina_scheda_diario {
    width: 100%;
}
.pagina_scheda_diario .fake-table {
    width: 100%;
    margin: 20px auto;
}
.pagina_scheda_diario .fake-table .footer,
.pagina_scheda_diario .fake-table .header {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%) !important;
    border-radius: 5px 5px 0 0;
    color: #00d9ff !important;
    font-weight: bold;
    letter-spacing: 1px;
    padding: 10px;
}
.pagina_scheda_diario .fake-table .tr {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    margin: 0 auto;
    color: #00d9ff;
    border: solid rgba(0, 217, 255, 0.3);
    border-width: 0 1px 1px 1px;
    padding: 10px;
}
/**************************************************************************/
/* MODIFICA SCHEDA */
div.modifica_scheda {
    margin: 10px;
    padding: 20px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
}
.modifica-container {
    margin: 20px 0;
}
.form-section {
    margin-bottom: 30px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 
        0 0 15px rgba(0, 217, 255, 0.2),
        inset 0 0 20px rgba(0, 217, 255, 0.05);
}
.form-section-admin {
    border-color: rgba(255, 0, 128, 0.5);
    box-shadow: 
        0 0 15px rgba(255, 0, 128, 0.3),
        inset 0 0 20px rgba(255, 0, 128, 0.05);
}
.form-section-title {
    background: linear-gradient(90deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%);
    color: #00d9ff;
    padding: 15px 20px;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    border-bottom: 1px solid rgba(0, 217, 255, 0.3);
}
.form-section-admin .form-section-title {
    background: linear-gradient(90deg, rgba(255, 0, 128, 0.3) 0%, rgba(255, 0, 80, 0.3) 100%);
    color: #ff0080;
    border-bottom-color: rgba(255, 0, 128, 0.3);
}
.form-modifica {
    padding: 25px;
}
.form-subsection {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0, 217, 255, 0.1);
}
.form-subsection:last-of-type {
    border-bottom: none;
}
.form-subsection-title {
    color: #8a2be2;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    margin-bottom: 15px;
    text-shadow: 0 0 5px rgba(138, 43, 226, 0.5);
}
.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}
.form-group {
    margin-bottom: 15px;
}
.form-label {
    display: block;
    color: #8a2be2;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 8px;
}
.form-label-warning {
    color: #ffa500;
    text-shadow: 0 0 5px rgba(255, 165, 0, 0.5);
}
.form-input,
.form-textarea,
.form-select {
    width: 90%;
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.3);
    color: #00d9ff;
    padding: 10px 15px;
    border-radius: 3px;
    font-size: 0.95em;
    transition: all 0.3s ease;
    font-family: inherit;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    outline: none;
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.3);
    background: rgba(10, 14, 23, 0.9);
}
.form-input::placeholder {
    color: rgba(0, 217, 255, 0.4);
}
.form-textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.6;
}
.form-input-small {
    width: 80px;
    display: inline-block;
    text-align: center;
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.3);
    color: #00d9ff;
    padding: 8px;
    border-radius: 3px;
    font-size: 1em;
    font-weight: 600;
}
.form-checkbox {
    width: auto;
    margin-right: 10px;
    accent-color: #00d9ff;
}
.form-checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.95em;
}
.form-info {
    color: rgba(0, 217, 255, 0.5);
    font-size: 0.85em;
    margin-top: 5px;
    font-style: italic;
}
.date-selector {
    display: flex;
    gap: 10px;
}
.date-selector .form-select {
    flex: 1;
}
.form-submit-container {
    margin-top: 25px;
    text-align: center;
}
.btn-submit {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.5) 0%, rgba(0, 217, 255, 0.5) 100%);
    border: 1px solid #00d9ff;
    color: #00d9ff;
    padding: 12px 40px;
    border-radius: 3px;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.3);
}
.btn-submit:hover {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.7) 0%, rgba(0, 217, 255, 0.7) 100%);
    box-shadow: 0 0 25px rgba(0, 217, 255, 0.5);
    transform: translateY(-2px);
}
.btn-admin {
    background: linear-gradient(135deg, rgba(255, 0, 128, 0.5) 0%, rgba(255, 0, 80, 0.5) 100%);
    border-color: #ff0080;
    color: #ff0080;
    box-shadow: 0 0 15px rgba(255, 0, 128, 0.3);
}
.btn-admin:hover {
    background: linear-gradient(135deg, rgba(255, 0, 128, 0.7) 0%, rgba(255, 0, 80, 0.7) 100%);
    box-shadow: 0 0 25px rgba(255, 0, 128, 0.5);
}
.btn-exile {
    background: linear-gradient(135deg, rgba(255, 165, 0, 0.5) 0%, rgba(255, 140, 0, 0.5) 100%);
    border-color: #ffa500;
    color: #ffa500;
    box-shadow: 0 0 15px rgba(255, 165, 0, 0.3);
}
.btn-exile:hover {
    background: linear-gradient(135deg, rgba(255, 165, 0, 0.7) 0%, rgba(255, 140, 0, 0.7) 100%);
    box-shadow: 0 0 25px rgba(255, 165, 0, 0.5);
}
.form-exile {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 165, 0, 0.3);
}
/* Responsive */
@media (max-width: 768px) {
    .form-row {
        grid-template-columns: 1fr;
    }    
    .form-modifica {
        padding: 15px;
    }    
    .date-selector {
        flex-direction: column;
    }
}
/**************************************************************************/
/* PAGINA LOG */
.log-container {
    margin: 20px 0;
}
.log-section {
    margin-bottom: 30px;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 
        0 0 15px rgba(0, 217, 255, 0.2),
        inset 0 0 20px rgba(0, 217, 255, 0.05);
}
.log-section.log-warning {
    border-color: rgba(255, 165, 0, 0.5);
    box-shadow: 
        0 0 15px rgba(255, 165, 0, 0.3),
        inset 0 0 20px rgba(255, 165, 0, 0.05);
}
.log-section.log-important {
    border-color: rgba(255, 0, 128, 0.5);
    box-shadow: 
        0 0 15px rgba(255, 0, 128, 0.3),
        inset 0 0 20px rgba(255, 0, 128, 0.05);
}
.log-section-title {
    background: linear-gradient(90deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%);
    color: #00d9ff;
    padding: 12px 20px;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    border-bottom: 1px solid rgba(0, 217, 255, 0.3);
}
.log-warning .log-section-title {
    background: linear-gradient(90deg, rgba(255, 165, 0, 0.3) 0%, rgba(255, 140, 0, 0.3) 100%);
    color: #ffa500;
    border-bottom-color: rgba(255, 165, 0, 0.3);
}
.log-important .log-section-title {
    background: linear-gradient(90deg, rgba(255, 0, 128, 0.3) 0%, rgba(255, 0, 80, 0.3) 100%);
    color: #ff0080;
    border-bottom-color: rgba(255, 0, 128, 0.3);
}
.log-table {
    padding: 15px;
}
.log-table table {
    width: 100%;
    border-collapse: collapse;
}
.log-table thead th {
    background: rgba(10, 14, 23, 0.6);
    color: #8a2be2;
    padding: 10px 15px;
    text-align: left;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid rgba(0, 217, 255, 0.2);
}
.log-table tbody tr {
    border-bottom: 1px solid rgba(0, 217, 255, 0.1);
    transition: all 0.3s ease;
}
.log-table tbody tr:hover {
    background: rgba(0, 217, 255, 0.05);
}
.log-table tbody tr:last-child {
    border-bottom: none;
}
.log-table tbody td {
    padding: 12px 15px;
    vertical-align: top;
}
.log-date {
    color: rgba(0, 217, 255, 0.7);
    font-size: 0.9em;
    white-space: nowrap;
}
.log-info,
.log-author {
    color: #00d9ff;
    font-size: 0.95em;
}
.log-message {
    color: rgba(0, 217, 255, 0.8);
    font-size: 0.9em;
    line-height: 1.5;
}
.log-recipient {
    color: #8a2be2;
    font-weight: 600;
}
.log-recipient a {
    color: #8a2be2;
    text-decoration: none;
    transition: all 0.3s ease;
}
.log-recipient a:hover {
    color: #00d9ff;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
}
.log-text {
    color: rgba(0, 217, 255, 0.7);
    margin-left: 5px;
}
/* Responsive per tabelle log */
@media (max-width: 768px) {
    .log-table table {
        font-size: 0.9em;
    }    
    .log-table thead th,
    .log-table tbody td {
        padding: 8px 10px;
    }
}
/**************************************************************************/
/* ESPERIENZA */
.esperienza-totale {
    margin: 20px 0;
    display: flex;
    justify-content: center;
}
.exp-display {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.2) 0%, rgba(0, 217, 255, 0.2) 100%);
    border: 2px solid rgba(0, 217, 255, 0.5);
    border-radius: 10px;
    padding: 30px 60px;
    text-align: center;
    box-shadow: 
        0 0 20px rgba(0, 217, 255, 0.3),
        inset 0 0 30px rgba(0, 217, 255, 0.1);
}
.exp-label {
    color: #8a2be2;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 10px;
}
.exp-value {
    color: #00d9ff;
    font-size: 3em;
    font-weight: 700;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
}
.exp-unit {
    font-size: 0.6em;
    color: #8a2be2;
}
.subsection-title {
    color: #8a2be2;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(138, 43, 226, 0.3);
}
.px-table {
    overflow-x: auto;
}
.scheda-table {
    width: 100%;
    border-collapse: collapse;
}
.scheda-table thead {
    background: linear-gradient(90deg, rgba(138, 43, 226, 0.3) 0%, rgba(0, 217, 255, 0.3) 100%);
}
.scheda-table th {
    color: #00d9ff;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid rgba(0, 217, 255, 0.3);
}

.scheda-table tbody tr {
    border-bottom: 1px solid rgba(0, 217, 255, 0.1);
    transition: all 0.3s ease;
}
.scheda-table tbody tr:hover {
    background: rgba(0, 217, 255, 0.05);
}
.scheda-table td {
    color: #00d9ff;
    padding: 12px 15px;
    font-size: 0.95em;
}
.scheda-table .col-evento {
    width: 50%;
}
.scheda-table .col-data {
    width: 25%;
}
.scheda-table .col-autore {
    width: 25%;
}
.no-data {
    text-align: center;
    color: rgba(0, 217, 255, 0.5);
    padding: 40px 20px;
    font-style: italic;
}
/**************************************************************************/
/* TRANSAZIONI */
.saldo-container {
    margin: 20px 0;
    display: flex;
    gap: 20px;
    justify-content: center;
}
.saldo-display {
    background: linear-gradient(135deg, rgba(0, 217, 255, 0.2) 0%, rgba(138, 43, 226, 0.2) 100%);
    border: 2px solid rgba(0, 217, 255, 0.5);
    border-radius: 10px;
    padding: 30px 60px;
    text-align: center;
     flex: 1;
    box-shadow: 
        0 0 20px rgba(0, 217, 255, 0.3),
        inset 0 0 30px rgba(0, 217, 255, 0.1);
}
.saldo-label {
    color: #8a2be2;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 10px;
}
.saldo-value {
    color: #00d9ff;
    font-size: 3em;
    font-weight: 700;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.8);
}
.currency-symbol {
    font-size: 0.6em;
    color: #8a2be2;
}
.trans-table {
    overflow-x: auto;
}
.scheda-table .col-transazione {
    width: 40%;
}
.scheda-table .col-destinatario {
    width: 20%;
}
.scheda-table .col-data {
    width: 20%;
}
.scheda-table .col-mittente {
    width: 20%;
}
.trans-icon {
    display: inline-block;
    font-weight: bold;
    margin-right: 8px;
}
.trans-entrata {
    background: rgba(0, 255, 128, 0.1);
}
.trans-entrata .trans-icon {
    color: #00ff80;
    text-shadow: 0 0 5px rgba(0, 255, 128, 0.5);
}
.trans-uscita {
    background: rgba(255, 0, 128, 0.1);
}
.trans-uscita .trans-icon {
    color: #ff0080;
    text-shadow: 0 0 5px rgba(255, 0, 128, 0.5);
}
.trans-legend {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 20px;
    padding: 15px;
    background: rgba(10, 14, 23, 0.5);
    border-radius: 5px;
}
.legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.legend-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 3px;
    font-weight: bold;
}
.legend-icon.trans-entrata {
    background: rgba(0, 255, 128, 0.2);
    color: #00ff80;
    text-shadow: 0 0 5px rgba(0, 255, 128, 0.5);
}
.legend-icon.trans-uscita {
    background: rgba(255, 0, 128, 0.2);
    color: #ff0080;
    text-shadow: 0 0 5px rgba(255, 0, 128, 0.5);
}
.legend-text {
    color: #00d9ff;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
}
/**************************************************************************/
/* DESCRIZIONE E STORIA - Stili per contenuto HTML */
.descrizione-testo {
    line-height: 1.8;
    color: #00d9ff;
}
.descrizione-testo p {
    margin-bottom: 15px;
}
.descrizione-testo h1,
.descrizione-testo h2,
.descrizione-testo h3,
.descrizione-testo h4 {
    color: #8a2be2;
    margin-top: 20px;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.descrizione-testo h1 {
    font-size: 1.5em;
    border-bottom: 2px solid rgba(138, 43, 226, 0.3);
    padding-bottom: 5px;
}
.descrizione-testo h2 {
    font-size: 1.3em;
}
.descrizione-testo h3 {
    font-size: 1.1em;
}
.descrizione-testo strong,
.descrizione-testo b {
    color: #00d9ff;
    font-weight: 700;
    text-shadow: 0 0 5px rgba(0, 217, 255, 0.3);
}
.descrizione-testo em,
.descrizione-testo i {
    color: #8a2be2;
    font-style: italic;
}
.descrizione-testo ul,
.descrizione-testo ol {
    margin: 15px 0;
    padding-left: 30px;
}
.descrizione-testo li {
    margin-bottom: 8px;
}
.descrizione-testo a {
    color: #00d9ff;
    text-decoration: underline;
    transition: all 0.3s ease;
}
.descrizione-testo a:hover {
    color: #8a2be2;
    text-shadow: 0 0 8px rgba(138, 43, 226, 0.6);
}
.descrizione-testo blockquote {
    border-left: 3px solid #8a2be2;
    padding-left: 15px;
    margin: 15px 0;
    font-style: italic;
    color: rgba(0, 217, 255, 0.8);
}
.descrizione-testo code {
    background: rgba(138, 43, 226, 0.2);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: courier;
    color: #00d9ff;
}
.descrizione-testo hr {
    border: none;
    border-top: 1px solid rgba(138, 43, 226, 0.3);
    margin: 20px 0;
}
/* STORIA BLOCCATA */
.form-background {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid rgba(138, 43, 226, 0.3);
}
.storia-locked {
    background: rgba(255, 165, 0, 0.1);
    border: 1px solid rgba(255, 165, 0, 0.3);
    border-radius: 5px;
    padding: 20px;
    margin-top: 15px;
}
.locked-icon {
    font-size: 2em;
    text-align: center;
    margin-bottom: 10px;
}
.locked-message {
    color: #ffa500;
    text-align: center;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 165, 0, 0.3);
}
.locked-content {
    color: #00d9ff;
    line-height: 1.8;
    max-height: 400px;
    overflow-y: auto;
    padding: 15px;
    background: rgba(10, 14, 23, 0.5);
    border-radius: 3px;
}
.private-content {
    text-align: justify;
    font-size: 1.1em;
    color: rgba(255, 165, 0, 0.7);
}
/* INVENTARIO */
.inventory-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 15px;
    margin: 20px 0;
}
.inventory-item {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.1);
}
.inventory-item:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.3);
    transform: translateY(-2px);
}
.item-image {
    position: relative;
    width: 100%;
    height: 150px;
    background: rgba(10, 14, 23, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.item-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.item-quantity {
    position: absolute;
    bottom: 5px;
    right: 5px;
    background: rgba(138, 43, 226, 0.8);
    color: #00d9ff;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.85em;
    font-weight: 700;
    box-shadow: 0 0 10px rgba(138, 43, 226, 0.5);
}
.item-info {
    padding: 15px;
}
.item-name {
    color: #00d9ff;
    font-size: 1em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    text-shadow: 0 0 5px rgba(0, 217, 255, 0.3);
}
.item-description {
    color: rgba(0, 217, 255, 0.7);
    font-size: 0.85em;
    line-height: 1.5;
    margin-top: 8px;
}
.item-quantity-text {
    color: #8a2be2;
    font-size: 0.85em;
    margin-top: 8px;
    font-weight: 600;
}
.inventory-info {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: rgba(138, 43, 226, 0.1);
    border: 1px solid rgba(138, 43, 226, 0.3);
    border-radius: 5px;
    margin-top: 20px;
}
.info-icon {
    font-size: 1.5em;
}
.info-text {
    color: #8a2be2;
    font-size: 0.9em;
    line-height: 1.5;
}
/**************************************************************************/
/* EQUIPAGGIATO */
.equipped-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 20px 0;
}
.equipped-item {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    transition: all 0.3s ease;
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.1);
}
.equipped-item:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.3);
}
.equipped-slot {
    background: linear-gradient(90deg, rgba(138, 43, 226, 0.3) 0%, rgba(138, 43, 226, 0.1) 100%);
    padding: 20px;
    min-width: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-right: 1px solid rgba(138, 43, 226, 0.3);
}
.slot-icon {
    font-size: 2em;
}
.slot-name {
    color: #8a2be2;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    text-align: center;
}
.equipped-content {
    display: flex;
    flex: 1;
    padding: 15px;
    gap: 15px;
}
.equipped-image {
    width: 100px;
    height: 100px;
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.2);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}
.equipped-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.equipped-info {
    flex: 1;
}
.equipped-name {
    color: #00d9ff;
    font-size: 1.1em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    text-shadow: 0 0 5px rgba(0, 217, 255, 0.3);
}
.equipped-description {
    color: rgba(0, 217, 255, 0.7);
    font-size: 0.9em;
    line-height: 1.5;
    margin-bottom: 10px;
}
.equipped-bonus {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(138, 43, 226, 0.3);
}
.bonus-title {
    color: #8a2be2;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 8px;
}
.bonus-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.bonus-item {
    background: rgba(138, 43, 226, 0.2);
    border: 1px solid rgba(138, 43, 226, 0.4);
    color: #00d9ff;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 0.85em;
    font-weight: 600;
}
/* Responsive */
@media (max-width: 768px) {
    .inventory-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 10px;
    }    
    .equipped-item {
        flex-direction: column;
    }    
    .equipped-slot {
        flex-direction: row;
        min-width: auto;
        border-right: none;
        border-bottom: 1px solid rgba(138, 43, 226, 0.3);
    }    
    .equipped-content {
        flex-direction: column;
    }
}
/**************************************************************************/
.item-comment,
.equipped-comment {
    color: rgba(138, 43, 226, 0.8);
    font-size: 0.85em;
    font-style: italic;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(138, 43, 226, 0.2);
}
.item-comment strong,
.equipped-comment strong {
    color: #8a2be2;
    font-style: normal;
}
/**************************************************************************/
/* CONTATTI */

.add-contact-box {
    margin-bottom: 30px;
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.1) 0%, rgba(0, 217, 255, 0.1) 100%);
    border: 1px solid rgba(138, 43, 226, 0.3);
}
.contact-form .form-row {
    display: flex;
    gap: 15px;
    align-items: flex-end;
}
.contact-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contact-form .flex-1 {
    flex: 1;
}
.contact-form .flex-2 {
    flex: 2;
}
.contact-form .flex-3 {
    flex: 3;
}
.form-select {
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    padding: 10px 15px;
    color: #00d9ff;
    font-size: 0.95em;
    transition: all 0.3s ease;
}
.form-select:focus {
    outline: none;
    border-color: #00d9ff;
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.3);
}
.form-select option {
    background: #0a0e17;
    color: #00d9ff;
}
.btn-add-contact {
    background: linear-gradient(135deg, #8a2be2 0%, #00d9ff 100%);
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    color: #fff;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}
.btn-add-contact:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.6);
}
/* Griglia contatti */
.contacts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 20px;
}
.contact-card {
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.6) 0%, rgba(15, 19, 32, 0.8) 100%);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 8px;
    padding: 20px;
    display: flex;
    gap: 15px;
    transition: all 0.3s ease;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.1);
    min-height: 120px;
}
.contact-card:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.3);
    transform: translateY(-2px);
}
/* Avatar contatto */
.contact-avatar {
    width: 80px;
    height: 80px;
    min-width: 80px;
    border-radius: 50%;
    border: 2px solid rgba(0, 217, 255, 0.5);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 14, 23, 0.8);
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.3);
}
.contact-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.contact-avatar .avatar-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2em;
    font-weight: 700;
    color: #00d9ff;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
}
/* Info contatto */
.contact-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contact-name {
    color: #00d9ff;
    font-size: 1.1em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
    text-shadow: 0 0 5px rgba(0, 217, 255, 0.3);
}
.contact-name:hover {
    color: #8a2be2;
    text-shadow: 0 0 10px rgba(138, 43, 226, 0.6);
}
.contact-prestavolto {
    color: rgba(138, 43, 226, 0.9);
    font-size: 0.85em;
    font-style: italic;
}
/* Commento */
.contact-comment-edit {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    width: 100%;
}
.contact-comment-edit .form-input-small,
.contact-comment-edit textarea {
    width: 100%;
    min-height: 60px;
    resize: vertical;
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(138, 43, 226, 0.3);
    border-radius: 5px;
    padding: 8px 12px;
    color: #00d9ff;
    font-size: 0.85em;
    font-family: inherit;
    line-height: 1.4;
}
.contact-comment-edit .btn-save-comment {
    align-self: flex-end;
    padding: 5px 15px;
}
.comment-textarea {
    flex: 1;
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(138, 43, 226, 0.3);
    border-radius: 5px;
    padding: 8px 12px;
    color: #00d9ff;
    font-size: 0.85em;
    resize: vertical;
    font-family: inherit;
    transition: all 0.3s ease;
}
.comment-textarea:focus {
    outline: none;
    border-color: #8a2be2;
    box-shadow: 0 0 10px rgba(138, 43, 226, 0.3);
}
.comment-textarea::placeholder {
    color: rgba(0, 217, 255, 0.4);
}
.btn-save-comment {
    background: rgba(138, 43, 226, 0.3);
    border: 1px solid rgba(138, 43, 226, 0.5);
    border-radius: 5px;
    padding: 8px 15px;
    color: #8a2be2;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-save-comment:hover {
    background: rgba(138, 43, 226, 0.5);
    border-color: #8a2be2;
    box-shadow: 0 0 10px rgba(138, 43, 226, 0.5);
}

.contact-comment-view {
    background: rgba(138, 43, 226, 0.1);
    border-left: 3px solid rgba(138, 43, 226, 0.5);
    padding: 8px 12px;
    color: rgba(0, 217, 255, 0.8);
    font-size: 0.85em;
    font-style: italic;
    margin-top: 5px;
    border-radius: 3px;
}

/* Actions */
.contact-actions {
    position: absolute;
    top: 10px;
    right: 10px;
}

.btn-delete {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-delete:hover {
    background: rgba(255, 0, 0, 0.3);
    border-color: #ff0000;
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.5);
    transform: scale(1.1);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-form .form-row {
        flex-direction: column;
        align-items: stretch;
    }    
    .contact-form .form-group {
        width: 100%;
    }    
    .contacts-grid {
        grid-template-columns: 1fr;
    }
        .contact-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .contact-avatar {
        width: 100px;
        height: 100px;
    }    
    .contact-comment-edit {
        flex-direction: column;
    }
}
/**************************************************************************/
/* FIX FORM CONTATTI */
.contact-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}
.contact-form .form-group { flex: 1; min-width: 200px; }
.contact-form .form-group:last-child { flex: 0 0 auto; min-width: auto; }
.btn-add-contact { height: 42px; padding: 0 25px; }
/* FORM CONTATTI INLINE */
.form-row-inline { display: flex; gap: 50px; align-items: flex-end; }
.form-group-small { flex: 1; max-width: 250px; }
.form-group-small .form-input {
    width: 100%;
    padding: 8px 10px;
    font-size: 0.9em;
}
.form-group-btn {
    flex: 0 0 auto;
    margin-left: 15px;
}
.form-group-btn .btn-add-contact {
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 1.5em;
    font-weight: bold;
    border-radius: 5px;
}

@media (max-width: 500px) {
.form-row-inline { flex-wrap: wrap; }
.form-group-small { max-width: none; flex: 1 1 100%; }
}
/*********************/ /* AMMINISTRA */
.admin-box {
    background: linear-gradient(135deg, rgba(255, 0, 128, 0.05) 0%, rgba(138, 43, 226, 0.1) 100%);
    border: 1px solid rgba(255, 0, 128, 0.3);
}

.admin-form {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.admin-section {
    background: rgba(10, 14, 23, 0.4);
    border: 1px solid rgba(138, 43, 226, 0.2);
    border-radius: 8px;
    padding: 20px;
}

.admin-section-title {
    color: #ff0080;
    font-size: 1.1em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 0, 128, 0.3);
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.admin-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.admin-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.admin-label {
    color: #8a2be2;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.admin-input,
.admin-select {
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    padding: 10px 12px;
    color: #00d9ff;
    font-size: 1em;
    transition: all 0.3s ease;
}

.admin-input:focus,
.admin-select:focus {
    outline: none;
    border-color: #ff0080;
    box-shadow: 0 0 10px rgba(255, 0, 128, 0.3);
}

.admin-select option {
    background: #0a0e17;
    color: #00d9ff;
}

.admin-submit {
    text-align: center;
    padding-top: 10px;
}

.btn-admin-save {
    background: linear-gradient(135deg, #ff0080 0%, #8a2be2 100%);
    border: none;
    border-radius: 5px;
    padding: 15px 40px;
    color: #fff;
    font-size: 1.1em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 0 20px rgba(255, 0, 128, 0.4);
}

.btn-admin-save:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 30px rgba(255, 0, 128, 0.8);
}
@media (max-width: 768px) {
    .admin-grid {
        grid-template-columns: 1fr;
    }
    
    .admin-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .admin-grid-3 {
        grid-template-columns: 1fr;
    }
}
/**************************************************************************/
/* SEZIONE SCHEDA STATS - DNA STYLE */
/* Archetipo */
.archetipo-box {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.2) 0%, rgba(0, 217, 255, 0.1) 100%);
    border: 1px solid rgba(138, 43, 226, 0.5);
}
.archetipo-header {
    display: flex;
    align-items: center;
    gap: 20px;
}
.archetipo-icon {
    font-size: 3em;
    filter: drop-shadow(0 0 10px rgba(138, 43, 226, 0.8));
}

.archetipo-label {
    color: #8a2be2;
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.archetipo-name {
    color: #00d9ff;
    font-size: 1.8em;
    font-weight: 700;
    text-shadow: 0 0 15px rgba(0, 217, 255, 0.6);
}
/* Stats Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.stat-card {
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(138, 43, 226, 0.3);
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    transition: all 0.3s ease;
}
.stat-card:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.2);
}
.stat-name {
    color: #8a2be2;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}
.skill-car {
    font-size: 0.75em;
    opacity: 0.6;
    text-align: center;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
/* DNA Strand / Pallini */
.dna-strand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.dna-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(30, 35, 50, 0.8);
    border: 2px solid rgba(138, 43, 226, 0.4);
    position: relative;
    transition: all 0.3s ease;
}

.dna-dot::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: transparent;
    transition: all 0.3s ease;
}

.dna-dot.active {
    background: linear-gradient(135deg, #8a2be2 0%, #00d9ff 100%);
    border-color: #00d9ff;
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.6), inset 0 0 5px rgba(255, 255, 255, 0.3);
}

.dna-dot.active::before {
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
}

.dna-value {
    color: rgba(0, 217, 255, 0.6);
    font-size: 0.75em;
    margin-left: 10px;
    font-weight: 600;
}
/* Skills Grid */
.skills-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 15px;
}
.skill-card {
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(138, 43, 226, 0.2);
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
}
.skill-card.skill-active {
    border-color: rgba(0, 217, 255, 0.4);
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.1) 0%, rgba(0, 217, 255, 0.05) 100%);
}
.skill-card.skill-inactive {
    opacity: 0.7;
    border-color: rgba(138, 43, 226, 0.15);
}
.skill-card.skill-inactive .skill-name {
    color: rgba(0, 217, 255, 0.5);
}
.skill-card:hover {
    border-color: rgba(0, 217, 255, 0.6);
    opacity: 1;
}
.skill-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.skill-name {
    color: #00d9ff;
    font-size: 0.95em;
    font-weight: 600;
}
.skill-tooltip {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(138, 43, 226, 0.3);
    border: 1px solid rgba(138, 43, 226, 0.5);
    color: #8a2be2;
    font-size: 0.75em;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: help;
    transition: all 0.3s ease;
}
.skill-tooltip:hover {
    background: rgba(138, 43, 226, 0.6);
    color: #fff;
}
.skill-dna {
    margin-bottom: 10px;
}
.profilo-header {
    cursor: pointer;
    user-select: none;
}
.profilo-header::after {
    content: ' ▾';
    font-size: 0.8em;
    opacity: 0.7;
}
.profilo-header.collapsed::after {
    content: ' ▸';
}
.skills-grid {
    transition: opacity 0.2s ease;
}
.skills-grid.hidden {
    display: none;
}
/* Admin controls per skills */
.skill-admin-form {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(138, 43, 226, 0.2);
}

.skill-admin-controls {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.skill-select {
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(255, 0, 128, 0.4);
    border-radius: 4px;
    padding: 5px 10px;
    color: #ff0080;
    font-size: 0.9em;
    cursor: pointer;
}

.skill-select:focus {
    outline: none;
    border-color: #ff0080;
}

.btn-skill-save {
    background: linear-gradient(135deg, #ff0080 0%, #8a2be2 100%);
    border: none;
    border-radius: 4px;
    width: 28px;
    height: 28px;
    color: #fff;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-skill-save:hover {
    box-shadow: 0 0 10px rgba(255, 0, 128, 0.6);
    transform: scale(1.1);
}

/* Responsive */
@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .skills-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; }
.dna-dot { width: 14px; height: 14px; } }
/* STORIA UNIFICATA */
.description-box,
.history-box {
    margin-bottom: 20px;
}

.subsection-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.btn-edit-inline {
    background: rgba(138, 43, 226, 0.3);
    border: 1px solid rgba(138, 43, 226, 0.5);
    border-radius: 5px;
    padding: 5px 15px;
    color: #8a2be2;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-edit-inline:hover {
    background: rgba(138, 43, 226, 0.6);
    color: #fff;
}

.text-content {
    color: #00d9ff;
    line-height: 1.8;
    padding: 15px 0;
    text-align: justify;
}

.edit-form {
    padding: 15px 0;
}

.story-textarea {
    width: 100%;
    min-height: 200px;
    background: rgba(10, 14, 23, 0.8);
    border: 1px solid rgba(0, 217, 255, 0.3);
    border-radius: 5px;
    padding: 15px;
    color: #00d9ff;
    font-size: 0.95em;
    font-family: inherit;
    line-height: 1.6;
    resize: vertical;
}

.story-textarea:focus {
    outline: none;
    border-color: #8a2be2;
    box-shadow: 0 0 10px rgba(138, 43, 226, 0.3);
}

.form-buttons {
    display: flex;
    gap: 10px;
    margin-top: 15px;
    justify-content: flex-end;
}

.btn-save {
    background: linear-gradient(135deg, #8a2be2 0%, #00d9ff 100%);
    border: none;
    border-radius: 5px;
    padding: 10px 25px;
    color: #fff;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.btn-save:hover {
    box-shadow: 0 0 15px rgba(138, 43, 226, 0.6);
    transform: translateY(-2px);
}
.btn-cancel {
    background: transparent;
    border: 1px solid rgba(255, 0, 128, 0.5);
    border-radius: 5px;
    padding: 10px 25px;
    color: #ff0080;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-cancel:hover {
    background: rgba(255, 0, 128, 0.2);
    border-color: #ff0080;
}
.subsection-title-small {
    color: rgba(0, 217, 255, 0.8);
    font-size: 0.95em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 15px 0 10px 0;
}
.contacts-section {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 2px solid rgba(138, 43, 226, 0.3);
}
/* EQUIPAGGIAMENTO E INVENTARIO */
.equipped-section,
.inventory-section {
    margin-bottom: 30px;
}
.inventory-section {
    border-top: 2px solid rgba(138, 43, 226, 0.3);
    padding-top: 30px;
}
/* Lista Equipaggiati */
.equipped-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.equipped-item {
    display: flex;
    gap: 20px;
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(0, 217, 255, 0.2);
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
}

.equipped-item:hover {
    border-color: rgba(0, 217, 255, 0.5);
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.2);
}
.equipped-slot {
    min-width: 100px;
    text-align: center;
    padding: 10px;
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.2) 0%, rgba(0, 217, 255, 0.1) 100%);
    border-radius: 8px;
    border: 1px solid rgba(138, 43, 226, 0.3);
}
.slot-icon {
    font-size: 2em;
    margin-bottom: 5px;
    filter: drop-shadow(0 0 5px rgba(138, 43, 226, 0.6));
}
.slot-name {
    color: #8a2be2;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.equipped-content {
    display: flex;
    gap: 15px;
    flex: 1;
}
.equipped-image {
    min-width: 80px;
    width: 80px;
    height: 80px;
    border-radius: 5px;
    border: 2px solid rgba(0, 217, 255, 0.3);
    overflow: hidden;
    background: rgba(10, 14, 23, 0.8);
}
.equipped-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.equipped-info {
    flex: 1;
}
.equipped-name {
    color: #00d9ff;
    font-size: 1.1em;
    font-weight: 600;
    margin-bottom: 8px;
}
.equipped-description {
    color: rgba(0, 217, 255, 0.7);
    font-size: 0.9em;
    line-height: 1.4;
    margin-bottom: 8px;
}
.equipped-comment {
    color: rgba(138, 43, 226, 0.8);
    font-size: 0.85em;
    font-style: italic;
    margin-top: 8px;
    padding: 8px;
    background: rgba(138, 43, 226, 0.1);
    border-left: 3px solid rgba(138, 43, 226, 0.5);
    border-radius: 3px;
}
.equipped-bonus {
    margin-top: 10px;
    padding: 10px;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 165, 0, 0.1) 100%);
    border: 1px solid rgba(255, 215, 0, 0.3);
    border-radius: 5px;
}
.bonus-title {
    color: #ffd700;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}
.bonus-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.bonus-item {
    color: #ffa500;
    font-size: 0.85em;
    background: rgba(255, 215, 0, 0.1);
    padding: 3px 10px;
    border-radius: 3px;
    border: 1px solid rgba(255, 215, 0, 0.2);
}
/* Griglia Inventario */
.inventory-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
}
.inventory-item {
    background: rgba(10, 14, 23, 0.6);
    border: 1px solid rgba(138, 43, 226, 0.2);
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
}
.inventory-item:hover {
    border-color: rgba(138, 43, 226, 0.5);
    box-shadow: 0 0 15px rgba(138, 43, 226, 0.2);
    transform: translateY(-2px);
}
.item-image {
    position: relative;
    width: 100%;
    height: 150px;
    border-radius: 5px;
    border: 2px solid rgba(138, 43, 226, 0.3);
    overflow: hidden;
    background: rgba(10, 14, 23, 0.8);
    margin-bottom: 10px;
}
.item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.item-quantity {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(138, 43, 226, 0.9);
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.85em;
    font-weight: 600;
}
.item-info {
    text-align: center;
}
.item-name {
    color: #00d9ff;
    font-size: 1em;
    font-weight: 600;
    margin-bottom: 8px;
}
.item-description {
    color: rgba(0, 217, 255, 0.6);
    font-size: 0.85em;
    line-height: 1.4;
    margin-bottom: 8px;
}
.item-comment {
    color: rgba(138, 43, 226, 0.8);
    font-size: 0.8em;
    font-style: italic;
    margin-top: 8px;
}
.item-quantity-text {
    color: #8a2be2;
    font-size: 0.85em;
    font-weight: 600;
    margin-top: 5px;
}
/* Responsive */
@media (max-width: 768px) {
.equipped-item { flex-direction: column; }
.equipped-content { flex-direction: column; }
.inventory-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } }
/* SISTEMA TAB */
.tab-content { display: none; }
.tab-content.active { display: block; }
/* Tab principale (#main) visibile di default quando nessuna altra tab Ã¨ attiva */
#main:not(.hidden) { display: block; }
/* RAZZA CON IMMAGINE E NOTE */
.razza-box {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.1) 0%, rgba(0, 217, 255, 0.05) 100%);
    border: 1px solid rgba(138, 43, 226, 0.3);
    padding: 20px;
    margin-bottom: 20px;
}
.razza-header {
    display: flex;
    gap: 20px;
    align-items: center;
}
.razza-image {
    min-width: 80px;
    width: 80px;
    height: 80px;
    border-radius: 10px;
    border: 2px solid rgba(0, 217, 255, 0.5);
    overflow: hidden;
    background: rgba(10, 14, 23, 0.8);
    box-shadow: 0 0 15px rgba(138, 43, 226, 0.4);
    flex-shrink: 0;
}
.razza-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.razza-name {
    color: #00d9ff;
    font-size: 1.8em;
    font-weight: 700;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
    min-width: 150px;
    flex-shrink: 0;
}
.razza-note {
    color: rgba(138, 43, 226, 0.9);
    font-size: 0.95em;
    line-height: 1.4;
    font-style: italic;
    padding: 10px 15px;
    background: rgba(138, 43, 226, 0.1);
    border-left: 3px solid rgba(138, 43, 226, 0.5);
    border-radius: 3px;
    flex: 1;
    margin-left: auto;
}
/* Campo full-width per note razza in admin */
.admin-field-full {
    grid-column: 1 / -1;
    margin-top: 10px;
}
.admin-field-full .admin-input {
    width: 100%;
    max-width: 600px;
}
@media (max-width: 768px) {
.razza-header { flex-direction: column; text-align: center; }
.razza-name { min-width: auto; }
.razza-note { margin-left: 0; width: 100%; } }
/* ICONE LAVORO E RUOLO */
.dato-valore-icona {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 90px;
}
.icona-lavoro,
.icona-ruolo {
    max-width: 85px;
    max-height: 85px;
    width: auto;
    height: auto;
    border-radius: 8px;
    border: 2px solid rgba(0, 217, 255, 0.3);
    box-shadow: 0 0 10px rgba(138, 43, 226, 0.3);
    transition: all 0.3s ease;
}
.icona-lavoro:hover,
.icona-ruolo:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 15px rgba(0, 217, 255, 0.5);
    transform: scale(1.05);
}
.icona-placeholder {
    color: rgba(0, 217, 255, 0.3);
    font-size: 2em;
}
/* BOTTONI AZIONI SCHEDA (Messaggio e Olotext) */
/* --- CONTENITORE AZIONI --- */
.azioni-scheda {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
/* --- BOTTONE BASE --- */
.btn-azione {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 0px; 
    text-decoration: none;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    font-size: 0.85em;
    text-transform: uppercase;
    transition: all 0.4s ease-in-out;
    flex: 1;
    min-height: 35px;
    position: relative;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    z-index: 1;
}
/* --- MESSAGGIO OFF (CIANO) --- */
.btn-messaggio {
    border: 1px solid #00d9ff;
    /* Gradiente interno che sfuma verso il nero */
    background: linear-gradient(to right, rgba(0, 217, 255, 0.15), transparent);
}
.btn-messaggio:hover {
    color: #fff;
    /* Al passaggio del mouse la sfumatura si accende */
    background: linear-gradient(to right, rgba(0, 217, 255, 0.4), rgba(0, 217, 255, 0.1));
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.4), inset 0 0 10px rgba(0, 217, 255, 0.2);
    transform: scale(1.03);
}
/* --- OLOTEXT (MAGENTA) --- */
.btn-olotext {
    border: 1px solid #ff0080;
    /* Gradiente interno che sfuma verso il nero */
    background: linear-gradient(to right, rgba(255, 0, 128, 0.15), transparent);
}
.btn-olotext:hover {
    color: #fff;
    /* Al passaggio del mouse la sfumatura si accende */
    background: linear-gradient(to right, rgba(255, 0, 128, 0.4), rgba(255, 0, 128, 0.1));
    box-shadow: 0 0 20px rgba(255, 0, 128, 0.4), inset 0 0 10px rgba(255, 0, 128, 0.2);
    transform: scale(1.03);
}
/* EFFETTO GLITCH SULL'ICONA */
.btn-icon {
    font-size: 1.2em;
    filter: drop-shadow(0 0 2px currentColor);
}
/* --- MOBILE --- */
@media (max-width: 768px) {
.azioni-scheda { flex-direction: column; gap: 10px; }
.btn-azione { width: 100%; } }
/* CARD OGGETTI ORIZZONTALI COMPATTE (stile Marketplace) */
.items-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 15px;
}
.item-card {
    display: flex;
    background: linear-gradient(135deg, rgba(26, 31, 53, 0.8) 0%, rgba(15, 19, 32, 0.9) 100%);
    border: 2px solid rgba(0, 217, 255, 0.3);
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.3s ease;
    min-height: 150px;
    align-items: stretch;
}
.item-card:hover {
    border-color: rgba(0, 217, 255, 0.6);
    box-shadow: 0 0 20px rgba(0, 217, 255, 0.3);
}
/* Card Equipaggiata */
.item-card.item-equipped {
    border-color: rgba(138, 43, 226, 0.5);
}
.item-card.item-equipped:hover {
    border-color: rgba(138, 43, 226, 0.8);
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.4);
}
/* Immagine compatta a sinistra */
.item-card-image {
    position: relative;
    width: 150px;
    min-width: 150px;
    height: 150px;
    background: rgba(10, 14, 23, 0.9);
    border-right: 2px solid rgba(0, 217, 255, 0.2);
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.item-card-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 8px;
}
.equipped-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    background: linear-gradient(135deg, #8a2be2 0%, #ff0080 100%);
    color: #fff;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 0.65em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 6px rgba(138, 43, 226, 0.6);
}
/* Contenuto centrale compatto */
.item-card-content {
    flex: 1;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.item-card-name {
    color: #00d9ff;
    font-size: 0.95em;
    font-weight: 700;
    text-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Descrizione con scrollbar */
.item-card-description {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.75em;
    line-height: 1.3;
    max-height: 5.4em; /* ~4 righe */
    overflow-y: auto;
    padding-right: 4px;
    text-align: justify; /* FIX: allineamento giustificato */
}
/* Supporto HTML base nella descrizione */
.item-card-description br {
    display: block;
    content: "";
    margin: 0.3em 0;
}
.item-card-description b,
.item-card-description strong {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
}
.item-card-description i,
.item-card-description em {
    font-style: italic;
    color: rgba(0, 217, 255, 0.8);
}
.item-card-description u {
    text-decoration: underline;
}
/* Scrollbar personalizzata */
.item-card-description::-webkit-scrollbar {
    width: 4px;
}
.item-card-description::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 2px;
}
.item-card-description::-webkit-scrollbar-thumb {
    background: rgba(0, 217, 255, 0.3);
    border-radius: 2px;
}
.item-card-description::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 217, 255, 0.5);
}
/* Info badges compatte */
.item-card-info {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.info-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border-radius: 8px;
    font-size: 0.7em;
    font-weight: 600;
    line-height: 1;
}
.info-quantity {
    background: rgba(0, 217, 255, 0.2);
    color: #00d9ff;
    border: 1px solid rgba(0, 217, 255, 0.4);
}
.info-charges {
    background: rgba(255, 215, 0, 0.2);
    color: #ffd700;
    border: 1px solid rgba(255, 215, 0, 0.4);
}
/* Bonus inline compatti */
.item-card-bonus {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.item-card-bonus span {
    display: inline-flex;
    align-items: center;
    font-size: 0.7em;
    padding: 2px 6px;
    border-radius: 8px;
    font-weight: 600;
    line-height: 1;
}
.bonus-stat {
    background: rgba(0, 217, 255, 0.2);
    color: #00d9ff;
    border: 1px solid rgba(0, 217, 255, 0.3);
}
.bonus-dice {
    background: rgba(138, 43, 226, 0.2);
    color: #8a2be2;
    border: 1px solid rgba(138, 43, 226, 0.3);
}
.bonus-attack {
    background: rgba(255, 0, 128, 0.2);
    color: #ff0080;
    border: 1px solid rgba(255, 0, 128, 0.3);
}
.bonus-defense {
    background: rgba(0, 255, 157, 0.2);
    color: #00ff9d;
    border: 1px solid rgba(0, 255, 157, 0.3);
}
/* Commento compatto con scrollbar */
.item-card-comment {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.7em;
    font-style: italic;
    padding: 6px 8px;
    background: rgba(138, 43, 226, 0.1);
    border-left: 2px solid rgba(138, 43, 226, 0.5);
    border-radius: 3px;
    max-height: 2.6em;
    overflow-y: auto;
}
.item-card-comment::-webkit-scrollbar {
    width: 3px;
}
.item-card-comment::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
}
.item-card-comment::-webkit-scrollbar-thumb {
    background: rgba(138, 43, 226, 0.3);
    border-radius: 2px;
}
/* Spazio azioni con pulsanti */
.item-card-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    background: rgba(10, 14, 23, 0.5);
    border-left: 2px solid rgba(0, 217, 255, 0.2);
    min-width: 110px;
    justify-content: center;
    align-items: stretch;
}
/* Pulsanti azione */
.btn-action {
    padding: 8px 10px;
    font-size: 0.75em;
    border: 1px solid;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-weight: 600;
    text-align: center;
    white-space: normal; /* FIX: permetto il wrap del testo */
    word-wrap: break-word; /* FIX: spezza parole lunghe */
    min-height: 32px; /* FIX: altezza minima uniforme */
    display: flex; /* FIX: centro il contenuto */
    align-items: center; /* FIX: centro verticalmente */
    justify-content: center; /* FIX: centro orizzontalmente */
}
.btn-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
/* Equipaggia */
.btn-equip {
    border-color: rgba(0, 255, 157, 0.5);
    color: #00ff9d;
}
.btn-equip:hover {
    background: rgba(0, 255, 157, 0.2);
    border-color: #00ff9d;
    box-shadow: 0 2px 8px rgba(0, 255, 157, 0.4);
}
/* Riponi */
.btn-unequip {
    border-color: rgba(255, 215, 0, 0.5);
    color: #ffd700;
}
.btn-unequip:hover {
    background: rgba(255, 215, 0, 0.2);
    border-color: #ffd700;
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
}
/* Commenta */
.btn-comment {
    border-color: rgba(0, 217, 255, 0.5);
    color: #00d9ff;
}
.btn-comment:hover {
    background: rgba(0, 217, 255, 0.2);
    border-color: #00d9ff;
    box-shadow: 0 2px 8px rgba(0, 217, 255, 0.4);
}
/* Cedi a */
.btn-transfer {
    border-color: rgba(138, 43, 226, 0.5);
    color: #8a2be2;
}
.btn-transfer:hover {
    background: rgba(138, 43, 226, 0.2);
    border-color: #8a2be2;
    box-shadow: 0 2px 8px rgba(138, 43, 226, 0.4);
}
/* Abbandona */
.btn-delete {
    border-color: rgba(255, 0, 128, 0.5);
    color: #ff0080;
    min-width: 100px; /* o il valore che si allinea agli altri */
}

.btn-delete:hover {
    background: rgba(255, 0, 128, 0.2);
    border-color: #ff0080;
    box-shadow: 0 2px 8px rgba(255, 0, 128, 0.4);
}
/* Sezioni */
.equipped-section,
.inventory-section {
    margin-bottom: 30px;
}
.inventory-section {
    border-top: 2px solid rgba(138, 43, 226, 0.3);
    padding-top: 20px;
}
/* RESPONSIVE CARD OGGETTI */
@media (max-width: 768px) {
.items-grid { gap: 10px; }
.item-card { flex-direction: column; min-height: auto; }
.item-card-image { width: 100%; height: 120px; border-right: none; border-bottom: 2px solid rgba(0, 217, 255, 0.2); }
.item-card-actions { flex-direction: row; border-left: none; border-top: 2px solid rgba(0, 217, 255, 0.2); min-width: auto; }
padding-top: 20px; }
/* Responsive */
@media (max-width: 768px) {
.items-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 15px; }
.item-card-image { height: 150px; } }
/* NOTE FATO */
.note-fato-box {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 8px;
    padding: 12px;
    margin-top: 15px;
}
.note-fato-title {
    color: #00ffff;
    font-size: 0.9em;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: 1px;
}
.note-fato-form {
    display: flex;
    gap: 8px;
    align-items: left;
}
.note-fato-input {
    flex: 1;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 4px;
    padding: 8px 10px;
    color: #fff;
    font-size: 0.85em;
    font-family: 'Courier New', monospace;
}
.note-fato-input:focus {
    outline: none;
    border-color: #00ffff;
    box-shadow: 0 0 5px rgba(0, 255, 255, 0.3);
}
.note-fato-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}
.note-fato-save {
    background: rgba(0, 255, 255, 0.2);
    border: 1px solid #00ffff;
    border-radius: 4px;
    padding: 8px 12px;
    color: #00ffff;
    cursor: pointer;
    font-size: 1em;
    transition: all 0.2s;
}
.note-fato-save:hover {
    background: rgba(0, 255, 255, 0.3);
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.5);
}
.note-fato-display {
    background: rgba(0, 0, 0, 0.5);
    border-radius: 4px;
    padding: 10px;
    color: #fff;
    font-size: 0.85em;
    font-family: 'Courier New', monospace;
    min-height: 38px;
    display: flex;
    align-items: center;
}
.note-fato-empty {
    color: rgba(255, 255, 255, 0.4);
    font-style: italic;
}
/**************************************************************************/
/* SISTEMA ALLENAMENTO SKILL */
.skill-train-area {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(138, 43, 226, 0.2);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.btn-allena {
    background: transparent;
    border: 1px solid rgba(0, 217, 255, 0.5);
    border-radius: 4px;
    padding: 4px 12px;
    color: #00d9ff;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.btn-allena:hover {
    background: rgba(0, 217, 255, 0.15);
    border-color: #00d9ff;
    box-shadow: 0 0 10px rgba(0, 217, 255, 0.3);
}
.btn-allena:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.train-count {
    color: rgba(0, 217, 255, 0.5);
    font-size: 0.75em;
    font-weight: 600;
}
.train-status {
    font-size: 0.78em;
    font-weight: 600;
    letter-spacing: 0.5px;
}
.train-cooldown  { color: rgba(255, 165, 0, 0.8); }
.train-pending   { color: rgba(138, 43, 226, 0.8); }
.train-blocked   { color: rgba(255, 0, 128, 0.7); }
.train-limit     { color: rgba(255, 0, 128, 0.7); }
.train-msg {
    width: 100%;
    font-size: 0.78em;
    min-height: 1em;
}
.train-msg-ok          { color: rgba(0, 255, 157, 0.9); }
.train-msg-errore      { color: rgba(255, 0, 128, 0.9); }
.train-msg-avanzamento { color: #ff0080; font-weight: 700; text-shadow: 0 0 8px rgba(255, 0, 128, 0.6); }


/* ==== GRID STATUS - sezione reputazione (Read Locale / Uplink Interno / Profilo Esposto) ==== */

.clout-section {
    margin-bottom: 2rem;
}

.clout-section-title {
    font-family: 'Orbitron', 'Consolas', monospace;
    font-size: 1.1rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #00FFFF;
    text-shadow: 0 0 8px rgba(0, 255, 255, 0.6);
    border-bottom: 1px solid rgba(0, 255, 255, 0.3);
    padding-bottom: 6px;
    margin-bottom: 1rem;
}
.clout-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.clout-card {
    background: #0d0d0d;
    border: 1px solid #2a2a2a;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.clout-card-visual {
    position: relative;
    height: 150px;
    background: #000;
    overflow: hidden;
}
.clout-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 50%;
    object-fit: cover;
    opacity: 0.55;
}
.clout-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.clout-card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 10px 12px;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 55%, rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.9) 100%);
}
.clout-card-label {
    font-family: 'Orbitron', 'Consolas', monospace;
    font-size: 0.85rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #e6e6e6;
}
.clout-card-fascia {
    font-family: 'Consolas', monospace;
    font-size: 0.75rem;
    font-weight: bold;
    margin-top: 2px;
}
.pagina_scheda_clout .clout-card-desc {
    padding: 10px 12px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #b3b3b3;
    text-align: justify;
}
.pagina_scheda_clout .clout-note-gm {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    font-size: 0.75rem;
    color: #8ab4ff;
    font-style: italic;
    text-align: justify;
}
.clout-edit {
    border-top: 1px solid #222;
    padding: 8px 12px;
}
.clout-edit summary {
    cursor: pointer;
    font-size: 0.75rem;
    color: #00FFFF;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.clout-edit form {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.clout-edit label {
    font-size: 0.75rem;
    color: #999;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.clout-edit input,
.clout-edit textarea {
    background: #1a1a1a;
    border: 1px solid #333;
    color: #e6e6e6;
    padding: 6px 8px;
    font-family: 'Consolas', monospace;
    font-size: 0.8rem;
    border-radius: 2px;
}
.clout-edit button {
    align-self: flex-start;
    background: transparent;
    border: 1px solid #00FFFF;
    color: #00FFFF;
    padding: 5px 14px;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
    cursor: pointer;
}
.clout-edit button:hover {
    background: rgba(0, 255, 255, 0.1);
}
.clout-empty {
    padding: 20px;
    text-align: center;
    color: #555;
    font-size: 0.85rem;
    font-style: italic;
    border: 1px dashed #2a2a2a;
    border-radius: 4px;
}
.clout-bg-img {
    z-index: 1;
}
.clout-card-overlay {
    z-index: 2;
}
.clout-canvas {
    z-index: 3;
    filter: none;
    mix-blend-mode: normal;
    -webkit-filter: none;
}
.clout-card-visual-fama {
    background: radial-gradient(circle at 30% 20%, rgba(0,255,255,0.08), transparent 60%),
                repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 3px),
                linear-gradient(160deg, #0d0d16, #050508);
}
.clout-eq {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    padding: 20px 20px 55px;
}
.clout-eq-bar {
    width: 10%;
    height: var(--bar-h);
    background: #2a2a35;
    border-radius: 2px 2px 0 0;
    transform-origin: bottom;
    transition: background 0.3s, box-shadow 0.3s;
}
.clout-eq-bar.active {
    background: var(--fama-color, #00FFFF);
    box-shadow: 0 0 8px var(--fama-color, #00FFFF);
    animation: eq-pulse 1.4s ease-in-out infinite;
    animation-delay: var(--bar-delay, 0s);
}
@keyframes eq-pulse {
    0%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(0.85); }
}