body { display: flex; justify-content: center; align-items: flex-start; height: 100vh; background-color: #333333; color: white; font-family: Arial, sans-serif; } .title { font-family: 'Orbitron', sans-serif; /* Scegli il font desiderato */ font-size: 36px; font-weight: bold; margin: 0 0 8px 20px !important; /* Allineato col margine sinistro */ padding-left: 0; } .knob-circle-container { display: flex; } .knob-container, .circle-container { border: 2px solid white; padding: 20px; display: grid; background-color: #333333; position: relative; } .knob-container { display: grid; grid-template-columns: repeat(4, 150px); /* 4 colonne da 150px ciascuna */ gap: 10px; /* Spazio tra i knobs */ margin: 0 auto; padding: 20px; border: 2px solid white; background-color: #333333; position: relative; } .circle-container { display: grid; grid-template-columns: repeat(2, 1fr); /* Adatta se necessario */ grid-gap: 20px; margin-left: 20px; } .knob { width: 100px; height: 100px; text-align: center; } .knob-label { margin-top: 10px; font-family: Arial, sans-serif; font-size: 14px; text-align: center; color: white; } .knob-wrapper { display: flex; flex-direction: column; align-items: center; } .knob-container.hidden { display: none; /* Nasconde il contenitore quando necessario */ } .knob-range { position: absolute; width: 100px; height: 100px; top: 0; left: 0; pointer-events: none; display: none; } .knob-range span { position: absolute; width: 20px; text-align: center; font-size: 10px; color: white; } .knob-range .min { top: 70px; left: -10px; } .knob-range .max { top: 70px; right: -10px; } .knob-range .mid { top: 0; left: 40px; } .circle { width: 200px; height: 200px; background-color: silver; border: 2px solid white; border-radius: 50%; position: relative; overflow: hidden; text-align: center; line-height: 200px; font-size: 24px; color: white; } .circle img { width: 100%; height: 100%; object-fit: cover; } .broadcasting img { animation: flash 1s infinite; } .broadcasting { animation: flash 1s infinite; /* Non aggiungere modifiche che possano influire sul layout generale */ } .circle.broadcasting { animation: flash 1s infinite; } /* Aggiungi questa regola */ #save-witness { display: block !important; /* Forza la visibilità */ } /* Nuova regola per i bottoni del modal */ .modal-footer .modal-btn { padding: 10px 25px !important; font-size: 15px !important; margin: 0 5px !important; border-radius: 4px !important; transition: all 0.3s ease !important; border: none !important; cursor: pointer !important; } #cancel-witness, #save-witness { height: 38px; /* Altezza fissa */ min-width: 100px; /* Larghezza minima */ padding: 8px 20px !important; font-size: 15px !important; font-family: Arial, sans-serif !important; border-radius: 4px !important; border: 1px solid transparent !important; box-sizing: border-box !important; /* Include padding/border nell'altezza */ line-height: 1.2 !important; /* Allineamento testo verticale */ } #cancel-witness { background-color: #ff4444 !important; } #save-witness { background-color: #4CAF50 !important; } /* Effetto hover per entrambi */ .modal-footer .modal-btn:hover { opacity: 0.9; transform: scale(1.05); } @keyframes flash { 0%, 100% { background-color: #ffcccb; } 50% { background-color: #ff0000; } } .circle.broadcasting { animation: flash 1s infinite; } /* .button-container { margin-top: 10px; text-align: center; } */ .button-container { margin-top: 10px; display: flex; justify-content: flex-start; gap: 10px; padding-left: 0; /* Rimuove il padding sinistro */ margin-left: 0; /* Rimuove il margine sinistro */ /* Se vuoi forzare i bottoni sul bordo sinistro della finestra: position: absolute; left: 0; */ } .toggle-button, .store-button, .button, .broadcast-button { padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #444444; color: white; margin: 5px; border: none; border-radius: 5px; } .broadcast-button { position: absolute; bottom: 10px; right: 10px; background-color: #444444; color: white; padding: 10px 20px; border: none; border-radius: 5px; } .title { font-size: 36px; font-weight: bold; margin-bottom: 20px; } .hidden { display: none; } .image-preview { width: 100px; height: 100px; object-fit: cover; margin-top: 10px; border: 1px solid white; } .modal { display: none; position: fixed; z-index: 3; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.5); padding-top: 60px; } .modal-content { background-color: #333; margin: auto; padding: 20px; border: 1px solid #888; width: 80%; max-width: 600px; border-radius: 8px; color: white; } /* Override per allargare il modal CSV */ #csv-modal.csv-loaded .modal-content { width: 95%; max-width: 95vw; } .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer; } .close:hover, .close:focus { color: #fff; text-decoration: none; } .modal-header { padding-bottom: 10px; border-bottom: 1px solid #888; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; } .modal-header h2 { margin: 0; } .modal-body { padding-bottom: 20px; overflow-y: auto; max-height: 400px; } .modal-footer { border-top: 1px solid #888; padding-top: 10px; margin-top: 10px; display: flex; justify-content: flex-end; align-items: center; gap: 10px; /* Spaziatura tra i bottoni */ } .modal-footer button { background-color: #4CAF50; color: white; padding: 10px 20px; border: none; border-radius: 5px; cursor: pointer; margin-left: 10px; } .modal-footer button:hover { background-color: #45a049; } @keyframes flash { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .countdown { position: absolute; bottom: 40px; left: 80%; transform: translateX(-50%); color: #1eaa54; font-weight: bold; background: rgba(0, 0, 0, 0.7); padding: 2px 5px; border-radius: 3px; display: none; } .countdown[id^="countdown10-"] { color: #3bb6c1 !important; } .countdown[id^="countdown44-"] { color: #da5aff !important; } .circle.broadcasting~.countdown { display: block; /* Mostra i countdown associati */ } #witness-modal { display: none; /* Nascondi di default */ position: fixed; z-index: 3; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.5); padding-top: 60px; } #witness-modal .modal-content { background-color: #333; margin: auto; padding: 20px; border: 1px solid #888; width: 80%; max-width: 600px; border-radius: 8px; color: white; } .witness-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .witness-item { border: 1px solid #555; padding: 10px; text-align: center; } .witness-item img { width: 100px; height: 100px; object-fit: cover; } .select-button { background-color: #4CAF50 !important; margin: 5px; } .delete-button { background-color: #ff4444 !important; margin: 5px; } #back-panel { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.9); display: none; /* Nascosto di default */ display: flex; justify-content: center; align-items: center; z-index: 9999; } #back-panel img { max-width: 90%; max-height: 90%; top: 0cap; } #back-panel-button { position: relative; /* o fixed se necessario per il layout */ z-index: 10000; /* Assicurati che sia superiore all'overlay */ padding: 10px 20px; font-size: 16px; background-color: #444444; color: white; border: none; border-radius: 5px; cursor: pointer; } .circle div { display: flex; align-items: center; justify-content: center; height: 100%; text-align: center; } .circle.selected { /* Valore di default se non c'è --selected-color inline */ --selected-color: #00FF00; /* Usa la custom property per colore di bordo e glow */ border: 6px solid var(--selected-color) !important; box-shadow: 0 0 15px var(--selected-color) !important; } /* Rimuovi eventuali stili conflittuali */ .circle.active { border: none; box-shadow: none; } #schedule-modal { display: none; position: fixed; z-index: 3; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.8); padding-top: 60px; color: white; text-align: center; } #schedule-modal .modal-content { background-color: #333; margin: auto; padding: 20px; border: 1px solid #888; width: 80%; max-width: 600px; border-radius: 8px; text-align: left; } .time-control { position: absolute; bottom: 30px; left: 20px; /* Posizionato a sinistra */ transform: none; } .time-input { width: 60px; padding: 5px; border-radius: 4px; border: 1px solid #666; background: #444; color: white; text-align: center; } .time-button { padding: 5px 10px !important; font-size: 14px !important; } #broadcast-button-container-base44, #broadcast-button-container-base10 { grid-column: 1 / -1; text-align: center; } #broadcast-button-container-base10, #broadcast-button-container-base44 { position: absolute; bottom: 30px; left: 150px; /* Regola questo valore in base alla distanza desiderata dal blocco Time */ } .control-buttons { display: flex; align-items: center; gap: 10px; justify-content: flex-start; margin-top: 10px; } #base10-knobs, #base44-knobs { display: grid; /* Forza il layout grid */ grid-template-columns: repeat(4, 150px); /* 4 colonne da 150px ciascuna */ gap: 10px; /* Spazio tra i knobs */ margin: 0 auto; padding: 20px; border: 2px solid white; background-color: #333333; position: relative; } /* Stile per i controlli delle sequenze */ .sequence-controls { display: flex; gap: 8px; /* margin-left: auto; <-- Rimosso per allineare i bottoni a sinistra */ align-items: center; background: rgba(255, 255, 255, 0.1); padding: 8px; border-radius: 8px; } .sequence-controls .button { padding: 8px 12px; font-size: 0.9em; min-width: 100px; } /* Nascondi i bottoni next/register di default */ #next-subtle-body, #register-subtle-body, #next-systems, #register-systems { display: none; } .analysis-container { display: flex; flex-direction: column; justify-content: flex-start; margin-left: 20px; /* Regola questo valore in base allo spazio desiderato */ } .analysis-details { display: flex; flex-direction: column; align-items: center; margin-top: 5px; /* Spazio sotto il bottone principale */ } .config-name { font-size: 16px; margin-bottom: 5px; margin-top: 5px; color: #ffffff; width: 100%; text-align: center; font-weight: bold; } .next-btn { color: yellow; /* Testo giallo per il bottone "Prossimo" */ } .sequence-info { display: flex; flex-direction: column; align-items: flex-start; /* Allinea gli elementi a sinistra */ gap: 5px; /* Eventuale spazio tra gli elementi */ } .analysis-btn { background-color: #525558; /* Blu */ color: #FFF; padding: 12px 20px; border: 2px solid #ccc; border-radius: 5px; font-size: 16px; font-weight: bold; cursor: pointer; margin-bottom: 10px; width: 100%; } .next-button { background-color: #17af51; /* Verde */ color: #FFF; padding: 10px 16px; border: none; border-radius: 5px; font-size: 14px; font-weight: bold; cursor: pointer; margin-top: 5px; width: 100%; } /* Classe per evidenziare il container dei knobs */ /* Classe per evidenziare il container dei knobs */ .highlight { border: 3px solid #00FF00; } .knob-container.highlight { box-shadow: 0 0 15px rgba(0, 255, 0, 0.5); border: 2px solid #00ff00; } /* Contenitore del campo search */ #search-container { display: flex; align-items: center; gap: 10px; justify-content: flex-start; /* Cambiato da center a flex-start */ margin: 0 0 6px 20px !important; /* Stesso margine del titolo */ width: calc(100% - 40px); padding-left: 0; width: 100%; /* Occupa tutta la larghezza disponibile */ } /* Campo di input per la ricerca */ #search-input { padding: 10px 15px; font-size: 16px; border: 2px solid white; border-radius: 5px; background-color: #444444; color: white; outline: none; transition: border-color 0.3s ease, box-shadow 0.3s ease; } #search-input:focus { border-color: #00FF00; box-shadow: 0 0 8px rgba(0, 255, 0, 0.6); } /* Bottone per attivare la ricerca */ #search-button { padding: 10px 20px; font-size: 16px; border: 2px solid white; border-radius: 5px; background-color: #444444; color: white; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; } #search-button:hover { background-color: #555555; transform: scale(1.05); } /* Menu a tendina per i risultati di ricerca */ #search-dropdown { padding: 10px 15px; font-size: 16px; border: 2px solid white; border-radius: 5px; background-color: #444444; color: white; } /* Stile per i bottoni generati nei risultati della ricerca (per Base 10 e Base 44) */ #configuration-options button { padding: 10px 20px; font-size: 16px; border: 2px solid white; border-radius: 5px; background-color: #444444; color: white; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; margin: 5px; } #configuration-options button:hover { background-color: #555555; transform: scale(1.05); } /* Inoltre, se i bottoni dedicati hanno ID specifici, ad esempio per Base 10 e Base 44, puoi assicurarne la coerenza */ #broadcast-button-base10, #broadcast-button-base44 { padding: 10px 20px; font-size: 16px; background-color: #444444; color: white; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; } #broadcast-button-base10:hover, #broadcast-button-base44:hover { background-color: #555555; transform: scale(1.05); } /* Aggiungi queste regole alla fine del tuo CSS */ #search-container { display: flex; align-items: left; gap: 10px; margin: 10px 0 8px 20px; /* Ridotto spazio verticale */ width: calc(100% - 40px); } #search-container .broadcast-button, #search-container .base-toggle { display: none !important; } /* Forza il container a occupare l'intera larghezza del genitore */ .config-wrapper { width: 100%; min-width: 500px; /* o un valore adeguato per il layout */ box-sizing: border-box; } #configuration-options { display: inline-flex !important; align-items: center; gap: 15px; padding: 8px 15px !important; margin: 0 0 10px 20px !important; background: rgba(255, 255, 255, 0.05); border-radius: 6px; border: 1px solid #555; } #configuration-options h3 { margin: 0; font-size: 15px; color: #ffffff; white-space: nowrap; } .config-buttons { display: flex; gap: 10px; } /* Posiziona il container dei bottoni in modo assoluto rispetto al #configuration-options */ #configuration-options .config-buttons { position: static; /* Disattiva posizionamento assoluto */ margin-top: 10px; display: flex; flex-direction: row; gap: 10px; justify-content: flex-start; } #configuration-options .config-buttons button:hover { background-color: #555555; transform: scale(1.05); } /* Mantieni lo scaling */ .main-container { transform: scale(1.2); transform-origin: top center; display: flex; flex-direction: column; align-items: flex-start; padding-left: 0; /* Rimosso padding interno */ margin: 15px 0 0 20px; /* Solo margine sinistro */ min-width: 800px; gap: 6px; /* Spaziatura uniforme ridotta */ } .potency-container { border: 2px solid white; padding: 20px; background-color: #333333; margin-left: auto; height: fit-content; align-self: flex-start; /* Allinea allo stesso livello del circle-container */ } .potency-control { display: flex; align-items: center; gap: 10px; } #potency-input { width: 60px; padding: 8px; background: #444; border: 1px solid white; border-radius: 4px; color: white; font-size: 16px; text-align: center; } #potency-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } #potency-input:focus { outline: none; border-color: #00ff00; box-shadow: 0 0 8px rgba(0, 255, 0, 0.4); } /* Stili per la tabella CSV */ .csv-table { width: 100%; border-collapse: collapse; margin: 1rem 0; } .csv-table th, .csv-table td { border: 1px solid #ddd; padding: 8px; min-width: 120px; } .csv-table th { background-color: #3bb6c1; color: white; position: sticky; top: 0; } .csv-table td { background-color: #fff; transition: background-color 0.3s; } .csv-table td:focus { background-color: #f0f8ff; outline: 2px solid #3bb6c1; } .csv-mode-selector { display: flex; gap: 1rem; justify-content: center; margin-bottom: 2rem; } #csv-modal .csv-table th, #csv-modal .csv-table td { color: #333 !important; background-color: #ffffff !important; } #csv-modal .csv-table th { background-color: #3bb6c1 !important; color: #ffffff !important; } #config-wrapper { clear: both; display: block; margin-top: 10px; } #configuration-options { display: block !important; } #configuration-options .config-buttons { position: static !important; margin-top: 5px; } .dynamization-box { border: 2px solid white; padding: 10px; display: flex; align-items: center; gap: 10px; width: fit-content; margin: 10px 20px; background-color: #333; } .dynamization-box input, .dynamization-box select { background-color: #444; color: white; border: 1px solid #888; padding: 5px 8px; border-radius: 4px; font-size: 14px; } /* Dropdown container: larghezza dinamica */ .custom-select { position: relative; display: inline-block; border: 2px solid white; background-color: #444; color: white; cursor: pointer; user-select: none; padding: 6px 10px; border-radius: 4px; min-width: 80px; max-width: 160px; } /* Il box selezionato */ .selected-option { font-size: 16px; display: flex; align-items: right; justify-content: center; } /* Dropdown menu */ .dropdown-options { position: absolute; top: 100%; left: 0; background-color: #444; border: 1px solid white; border-radius: 0 0 4px 4px; z-index: 10; width: auto; min-width: 100%; } .dropdown-options div { padding: 8px 12px; font-size: 16px; display: flex; align-items: right; justify-content: center; white-space: nowrap; } .dropdown-options div:hover { background-color: #666; } /* Solo immagine, ben visibile */ .infinity-icon-only { height: 15px; width: auto; display: block; margin: 0 auto; } .dynamization-container { border: 2px solid white; background-color: #333; padding: 10px; color: white; display: flex; flex-direction: column; gap: 10px; width: fit-content; font-family: Arial, sans-serif; margin-left: auto; } .dyn-line { display: flex; align-items: center; gap: 10px; } /* Stile input */ .dyn-line input[type="number"] { background-color: #444; color: white; border: 1px solid #888; padding: 5px 8px; border-radius: 4px; font-size: 14px; width: 60px; } .selected-row { background-color: #555 !important; } #knob1.highlight-knob { background-color: #ffeeba !important; color: #000 !important; font-weight: bold; border: 2px solid #f0ad4e !important; box-shadow: 0 0 8px #f0ad4e !important; } /* Colore bianco per i link nel modal Doc */ #docModal a { color: white; text-decoration: underline; /* opzionale per evidenziare il link */ } #docModal a:hover { color: #ddd; /* più chiaro al passaggio del mouse */ } #cookie-banner { position: fixed; bottom: 0; left: 0; width: 100%; background-color: #007bff; color: white; text-align: center; padding: 15px; z-index: 1000; display: flex; justify-content: center; align-items: center; font-size: 16px; font-family: sans-serif; } #cookie-banner span { max-width: 60%; text-align: center; } #cookie-banner button { background-color: white; color: #007bff; border: none; padding: 10px 20px; font-size: 16px; cursor: pointer; border-radius: 5px; font-weight: bold; font-family: sans-serif; margin-left: 20px; } /* Overlay per bloccare il sito fino all'accettazione */ #cookie-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; display: block; } #version-banner { position: fixed; bottom: 0; left: 0; width: 100%; background-color: #ffcc00; color: #000; text-align: center; padding: 15px 10px; font-size: 16px; z-index: 9999; box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.3); } #version-banner button { margin-left: 20px; padding: 8px 16px; font-size: 14px; font-weight: bold; background-color: #000; color: #fff; border: none; border-radius: 4px; cursor: pointer; } #version-banner button:hover { background-color: #333; } .circle.empty::after { content: "+"; font-size: 24px; color: #ccc; } /* (opzionale) un minimo di stile per i pulsanti backup/restore */ .backup-controls { margin-bottom: 1rem; display: flex; gap: 0.5rem; } #btn-backup-witnesses, #btn-restore-witnesses { padding: 0.4rem 0.8rem; font-size: 0.9rem; cursor: pointer; } /* ───────── Evidenziazione verde delle date ───────── */ .schedule-date { font-weight: bold; color: #28a745; /* verde scuro */ } /* ───────── Scroll verticale nel modal-body ───────── */ .modal-body { max-height: 70vh; overflow-y: auto; padding-right: 1rem; } .modal-body::-webkit-scrollbar { width: 8px; } .modal-body::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.2); border-radius: 4px; } .modal-body::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.05); } /* icona tabella verde */ .icon-table-green { color: #28a745; /* o il verde che preferisci */ } .icon-img { width: 2em; height: 2em; vertical-align: middle; margin-right: 0.3em; } .icon-schedule-blue { color: #1d84c4; } .icon-doc-white { color: #ffffff; } .title { display: inline-flex; align-items: center; /* centra verticalmente testo + icona */ } .title-logo { margin-left: 0.5em; /* spazio tra titolo e icona */ width: 1.5em; /* regola la dimensione dell’icona */ height: auto; display: block; } #schedule-modal .loader { display: none; /* definisci qui la tua animazione */ } #schedule-modal.loading .loader { display: block; } #schedule-content { visibility: hidden; } #schedule-modal.loading #schedule-content { visibility: hidden; } #schedule-modal:not(.loading) #schedule-content { visibility: visible; } .single-well-schedule { margin-bottom: 1.5rem; } .single-well-schedule h3 { margin: 0; } .well-desc { margin: 0.25rem 0; font-style: italic; } .schedule-day { margin: 0.5rem 0 0.25rem; font-weight: 600; } .schedule-times { margin: 0 0 0.5rem 1rem; padding-left: 1rem; } .schedule-times li { margin-bottom: 0.25rem; } .executed-header { font-weight: 600; margin-top: 0.5rem; } .executed-list { margin: 0.25rem 0 0.5rem 1rem; padding-left: 1rem; list-style-type: disc; } .executed-list li { margin-bottom: 0.25rem; } .preview-container { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; } .preview-item { display: flex; flex-direction: column; align-items: center; width: 120px; } .image-preview { width: 100px; height: 100px; object-fit: cover; border: 1px solid #ddd; border-radius: 4px; } .file-name { font-size: 12px; text-align: center; margin-top: 5px; word-break: break-all; } .close-button { position: absolute; top: 10px; right: 10px; background: transparent; border: none; color: white; font-size: 24px; cursor: pointer; } .close-button:hover { color: #ff0000; } /* Quando il well è selezionato e in broadcasting */ /* Palette colori: orizzontale, tondi e cliccabili */ /* ---- Spazio extra sopra la palette e allineamento orizzontale ---- */ .color-palette { display: flex; gap: 8px; /* 20px sopra, 20px sotto, margini automatici per centrarla orizzontalmente */ margin: 20px auto; /* Limita la larghezza in modo che non strabordi dal contenitore */ width: fit-content; /* Aggiunge un piccolo padding interno per far “respirare” i bottoni */ padding: 8px; /* (Opzionale) sfondo semi‐trasparente per staccare visivamente */ background: rgba(0, 0, 0, 0.3); border-radius: 12px; } .color-option { width: 24px; height: 24px; border: 2px solid white; border-radius: 50%; cursor: pointer; transition: transform .1s; } .color-option:hover { transform: scale(1.2); } /* /* 1) Tutti i Well in broadcast mantengono il loro box‐shadow/color glow */ /* 2) Sul Well selezionato (sia in broadcast sia no) rimuoviamo l’ombreggiatura */ .circle.selected { box-shadow: none !important; } /* 4) (Opzionale) un piccolo ingrandimento */ .circle.selected { transform: scale(1.05); transition: transform 0.2s ease; } .csv-wrapper { width: 100%; overflow-x: auto; margin: 1em 0; } .csv-wrapper table { width: 100%; border-collapse: collapse; table-layout: auto; } .csv-wrapper table th, .csv-wrapper table td { padding: 0.5em 0.75em; border: 1px solid #ddd; white-space: nowrap; } .single-well-schedule .config-details { background: rgba(255, 255, 255, 0.05); border-radius: 4px; font-size: 0.9rem; line-height: 1.3; } /* 1. Default: ogni config-block è collapsed */ .config-block { border: 1px solid #555; border-radius: 4px; margin: 0.75rem 0; padding: 0.5rem; } .config-block.collapsed>*:not(h4) { display: none; } /* 2. Rendi il titolo cliccabile */ .config-block h4 { cursor: pointer; user-select: none; } /* 3. Toggle icon: anteponiamo un ➕ o ➖ */ .config-block.collapsed h4::before { content: "➕ "; } .config-block:not(.collapsed) h4::before { content: "➖ "; } .button-small { font-size: 0.85rem; padding: 0.25em 0.5em; margin-left: 0.5em; } .schedule-overlap-warning { display: flex; flex-direction: column; background: #661111; color: #fff; padding: 0.75rem; border-radius: 4px; } /* 0) Assicuriamo che il box-model comprenda il border in modo da non ridimensionare il cerchio */ .circle { box-sizing: border-box; } /* 1) Well in broadcast (qualiunque, selected o no) */ .circle.broadcasting { /* border inline già impostato da JS con important */ border: 8px solid currentColor !important; box-shadow: none currentColor !important; } /* 2) Well selezionato (sia broadcasting che no) */ .circle.selected { /* non tocco il border, solo un leggero ingrandimento */ transform: scale(1.05); transition: transform 0.2s ease; } .circle.selected.broadcasting { /* bordo preso da currentColor (impostato inline in JS) */ border: 8px solid currentColor !important; /* glow basato su currentColor */ box-shadow: none currentColor !important; /* leggero ingrandimento come per il selected */ transform: scale(1.05); transition: transform 0.2s ease, box-shadow 0.2s ease; } #dynamization-dropdown .selected-option[data-value="∞"] { font-size: 32px; display: flex; align-items: right; justify-content: center; /* solo quando il valore è ∞ */ }