@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700;900&display=swap');

:root {
    --tm-blue: #259fc6;
    --tm-bg: #000;
    --tm-card: #141414;
    --tm-input: #1f1f1f;
    --font-tm: 'Inter', sans-serif;
}

body { 
    background-color: var(--tm-bg); 
    color: #ffffff; 
    font-family: var(--font-tm);
    letter-spacing: -0.02em;
    padding-bottom: 150px; 
}

.navbar { background-color: #000; border-bottom: 1px solid #222; padding: 25px; position: sticky; top:0; z-index:1000; }
.logo { height: 45px; filter: drop-shadow(0 0 5px rgba(37, 159, 198, 0.2)); }

.section-card { 
    background: var(--tm-card); 
    border: 1px solid #222; 
    border-radius: 4px;
    padding: 35px; 
    margin-bottom: 50px; 
}

.section-title { 
    color: var(--tm-blue); font-weight: 900; text-transform: uppercase; font-size: 1.4rem;
    margin-bottom: 25px; border-left: 5px solid var(--tm-blue); padding-left: 20px;
}

.table { --bs-table-bg: transparent; --bs-table-color: #fff; border-color: #222; }
.header-label { text-transform: uppercase; font-weight: 700; color: #555; font-size: 0.75rem; letter-spacing: 0.1em; }

/* FIX VISIBILITÀ: Testo Bianco su sfondo grigio scuro */
.form-control, .form-select { 
    background-color: var(--tm-input) !important; 
    border: 1px solid #333 !important; 
    color: #ffffff !important; 
    border-radius: 2px; font-weight: 500; padding: 10px 15px;
}

/* PLACEHOLDER IN CORSIVO LEGGERO */
.form-control::placeholder { 
    color: #666 !important; 
    font-style: italic !important; 
    font-weight: 300 !important;
}

.form-control:focus { 
    background-color: #252525 !important; color: #fff !important;
    border-color: var(--tm-blue) !important; box-shadow: 0 0 0 2px rgba(37, 159, 198, 0.2); 
}

.btn-note-toggle { color: var(--tm-blue); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; cursor: pointer; margin-top: 5px; display: inline-block; }
.field-notes-area { display: none; margin-top: 10px; border: 1px dashed #444; background: #111; color: #fff; padding: 10px; }

.opt-params, .num-params { display: none; margin-top: 10px; }

.btn-add { 
    background-color: transparent; border: 1px solid var(--tm-blue); color: var(--tm-blue); 
    font-weight: 700; text-transform: uppercase; font-size: 0.8rem; padding: 12px; transition: 0.3s; 
}
.btn-add:hover { background-color: var(--tm-blue); color: #000; }

.calc-check { width: 1.5rem; height: 1.5rem; background-color: #333; border: 1px solid #444; }
.calc-check:checked { background-color: var(--tm-blue); border-color: var(--tm-blue); }

.sticky-footer { 
    position: fixed; bottom: 0; left: 0; width: 100%; background: rgba(0,0,0,0.9); 
    backdrop-filter: blur(10px); border-top: 1px solid #222; padding: 25px; z-index: 9999; text-align: center;
}

.btn-save { background-color: var(--tm-blue); color: #fff; font-weight: 900; padding: 15px 100px; border-radius: 2px; text-transform: uppercase; border: none; }
.btn-reset { border: 1px solid #dc3545; color: #dc3545; background: transparent; font-weight: 800; font-size: 0.7rem; padding: 5px 10px; text-transform: uppercase; }

/* Handle per Drag & Drop */
.handle { cursor: grab; color: #444; padding-right: 15px; font-size: 1.2rem; }