/*********************************************************************************************************************** Fichier bateaux.php ***********************************************************************************************************************/ #Bateaux .entete_bateau { border-bottom: 2px solid var(--bleu_koriolan_fonce); height: 60px; } #Bateaux .entete_bateau .derniere_maj { width: 60%; padding: 10px 0px; } #Bateaux .entete_bateau .bouton_gestion_acces { text-align: right; float: right } #Bateaux .entete_bateau .bouton_gestion_acces a { background-color: var(--bleu_koriolan_fonce); color: var(--blanc); width: 100%; padding: 5px 20px; display: block; } #Bateaux .entete_bateau .bouton_gestion_acces a:hover { color: var(--bleu_koriolan); background-color: var(--bleu_koriolan_fonce); } #Bateaux .entete_bateau .bouton_gestion_acces a.actif { background-color: var(--bleu_koriolan); color: var(--bleu_koriolan_fonce); } /* Bouton Live (synthèse §49) : à gauche du bouton "Gestion des accès" */ #Bateaux .entete_bateau .bouton_live { float: right; margin-right: 15px; } #Bateaux .entete_bateau .bouton_live button { padding: 5px 25px; line-height: 1.5em; font-weight: bold; } #Bateaux .entete_bateau .bouton_live button::before { content: "\25CF\00A0"; /* point "en direct" */ color: #e53935; } #Bateaux .entete_bateau .bouton_live .live_indisponible { display: inline-block; padding: 5px 10px; color: var(--gris_pale); font-style: italic; } #Bateaux .boutons_haut_de_page { text-align: center; display: grid; grid-template-columns: repeat(6, 1fr); grid-column-gap: 20px; grid-row-gap: 20px; align-items: center; margin: 20px 0px 30px 0px; } #Bateaux .boutons_haut_de_page a { background-color: var(--bleu_koriolan_fonce); color: var(--blanc); width: 100%; display: block; } #Bateaux .boutons_haut_de_page a:hover { color: var(--bleu_koriolan); background-color: var(--bleu_koriolan_fonce); } #Bateaux .boutons_haut_de_page a.actif { background-color: var(--bleu_koriolan); color: var(--bleu_koriolan_fonce); } .page_principale { width: 80% !important; max-width: unset !important; } .table_wrapper { overflow-x: auto; } #Bateaux #accueil table { width: 100%; margin-top: 20px; text-align: center; } #Bateaux #accueil table th { text-align: center; padding: 3px 10px; } #Bateaux #accueil table td { border-top: 1px solid var(--gris_tres_tres_pale); text-align: center; padding: 3px 10px; font-size: 0.9em; } #Bateaux #accueil table td:nth-child(7) { text-align: left; } #Bateaux #accueil table td a { margin: 0px; padding: 0px; } #Bateaux #details_bateau .corps_details_bateau { background-color: var(--blanc_casse); } #Bateaux #details_bateau .corps_details_bateau h2:nth-child(2) { margin: 0px; /* border-top: 0px;*/ } #Bateaux #details_bateau .corps_details_bateau .champs { display: grid; grid-template-columns: 1fr 1fr; margin-top: 5px; } #Bateaux #details_bateau .corps_details_bateau .champs .champs_titre { text-align: left; font-weight: bold; padding-left: 20px; /* background-color: var(--blanc_casse); */ } #Bateaux #details_bateau .corps_details_bateau .champs .champs_valeur { text-align: left; /* background-color: var(--blanc_casse); */ } #Bateaux #creation_bateau .champs { display: grid; grid-template-columns: 1fr; } #Bateaux #creation_bateau .champs .champs_titre { text-align: left; margin-top: 20px; } #Bateaux #creation_bateau .champs .champs_valeur { text-align: left; } #Bateaux #creation_bateau .champs .champs_valeur select option[disabled] { color: var(--gris_tres_pale); background-color: var(--gris_tres_tres_pale); } #Bateaux #creation_bateau .champs .champs_valeur input { text-align: left; } #Bateaux #creation_bateau .champs .champs_valeur textarea { border:1px solid var(--bleu_koriolan); border-radius: 10px; text-align: left; } #Bateaux #creation_bateau .champs .champs_valeur a img { width: 60%; } #Bateaux #creation_bateau .champs .champs_nb { font-size: 0.8em; font-style: italic; } #Bateaux #confirmation_suppression_bateau .message_confirmation { border-radius: 10px; padding: 20px; background-color: var(--rouge); color: var(--jaune_post_it); } #Bateaux .boutons_bas_de_page { text-align: center; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 20px; grid-row-gap: 20px; align-items: center; margin-top: 50px; } #Bateaux .boutons_bas_de_page a { background-color: var(--bleu_koriolan_fonce); color: var(--blanc); } #Bateaux .boutons_bas_de_page a:hover { color: var(--bleu_koriolan); background-color: var(--bleu_koriolan_fonce); } .graphique { display: flex; flex-direction: column; height: unset !important; margin: 20px 0px 20px 0px !important; } .graphique .titre{ margin-bottom: 20px; } .var { /* display: flex; */ flex-direction: row; } .var input{ width: unset !important; margin-right: 10px !important; } .var label{ display: unset !important; } .gestion_acces{ /* height: 100; */ /* display: flex; */ } .gestion_acces .users{ margin-bottom: 50px; overflow-x: auto; } .gestion_acces .users table { text-align: center; } .gestion_acces .users table tr { height: 35px; } .gestion_acces .users table td { border-top: 1px solid var(--gris_tres_tres_pale); padding: 3px 10px; font-size: 0.9em; } #type_acces { height: unset; } form.variables { display: grid; padding-left: 100px; grid-template-columns: 2fr 2fr 100px; padding-right: 100px; } form.variables input{ padding: 5px 10px; } .variables button{ height: 40px; padding: 0; top: 20; position: relative; } .help { position: fixed; height: 50px; width: 50px; background-size: contain; background-repeat: no-repeat; cursor: pointer; bottom: 20px; right: 20px; z-index: 100; } .help_open { background-image: url("images/question.png"); } .help_close{ background-image: url("images/fermer_aide.png"); } .help:hover{ animation: heart_pulse 2s ease-in 0s infinite; } .help_note{ width: 300px; background-color: var(--blanc_casse); min-height: 40px; max-height: 600px; position: fixed; bottom: 26px; right: 26px; border-radius: 5px; border: var(--bleu_koriolan) 1px solid; padding-bottom: 20px; z-index: 50; } /* --------------------- POP UP EDIT ACCESS----------------------*/ #popUpAcces{ display: block; width: 100vw; height: 100vh; position: fixed; background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(3px); left: 0; top: 0; z-index: 9999; } #popUpAccesModal{ width: 50%; background: white; height: 45%; border-radius: 10px; top: 50%; left: 50%; transform: translate(-50%, -50%); position: fixed; box-shadow: 0px 0px 7px 2px var(--bleu_koriolan); overflow-y: auto; } #popUpAccesModal #top_part{ display: grid; grid-template-columns: auto 50px; } #popUpAccesModal #top_part p{ margin: unset; text-align: left; margin-left: 30px; margin-top: 20px; margin-bottom: 20px; color: var(--bleu_koriolan_fonce); font-weight: 600; font-size: 25px; } #popUpAccesModal #top_part p#close{ background-image: url(images/croix_carre.png); background-repeat: no-repeat; background-size: contain; cursor: pointer; width: 30px; height: 30px; margin: 10px; } #popUpAccesModal form{ display: grid; grid-template-columns: 1fr 1fr; padding: 20px; column-gap: 30px; row-gap: 50px; } #popUpAccesModal form label{ position: relative; } #popUpAccesModal form label input, #popUpAccesModal form label select{ width: 100%; } #popUpAccesModal form label span { position: absolute; top: 0; left: 10px; transform: translateY(-18px); font-size: 18px; transition-duration: 300ms; padding-left: 10px; padding-right: 10px; color: var(--bleu_koriolan_fonce); font-weight: 600; background-color: white; } /* --------------------- GESTION DES ACCÈS (synthèse §48) ----------------------*/ /* Formulaire d'invitation : 4 colonnes - adresse (2) / prénom / nom, puis type (2) / fin d'accès / bouton */ .gestion_acces .generer_code { margin: 20px 0px 30px 0px; padding: 0px 20px 20px 20px; border: 1px solid var(--bleu_koriolan_transparent); border-radius: 10px; background-color: var(--blanc); } .gestion_acces .generer_code h3 { text-align: left; margin-bottom: 15px; } .gestion_acces .generer_code form { display: grid; grid-template-columns: 2fr 2fr 1fr 1fr; column-gap: 15px; row-gap: 15px; align-items: end; } .gestion_acces .generer_code form input[name="email_invite"] { grid-column: span 2; } .gestion_acces .generer_code form select { grid-column: span 2; } .gestion_acces .generer_code form input, .gestion_acces .generer_code form select { box-sizing: border-box; width: 100%; height: 42px; padding: 0px 10px; } .gestion_acces .generer_code form .fin_acces { display: flex; flex-direction: column; text-align: left; } .gestion_acces .generer_code form .fin_acces span { font-size: 0.75em; color: var(--gris_pale); margin: 0px 0px 3px 5px; } .gestion_acces .generer_code form button { height: 42px; line-height: 1em; padding: 0px 10px; } /* Tableau des accès */ .gestion_acces .users table th { padding: 5px 10px; white-space: nowrap; } .gestion_acces .users table td:nth-child(1), .gestion_acces .users table th:nth-child(1) { text-align: left; } /* Pastilles de statut */ .gestion_acces .statut { display: inline-block; padding: 2px 10px; border-radius: 1em; font-size: 0.85em; white-space: nowrap; } .gestion_acces .statut_actif { background-color: rgba(2, 166, 2, 0.12); color: #027a02; } .gestion_acces .statut_suspendu { background-color: var(--jaune_post_it_transparent); color: #8a6d00; } .gestion_acces .statut_en_attente { background-color: var(--bleu_koriolan_transparent); color: var(--bleu_koriolan_fonce); } .gestion_acces .statut_expiree { background-color: var(--gris_tres_tres_pale); color: var(--gris_fonce); } /* Actions de chaque ligne : boutons compacts ; "Révoquer" (définitif) en rouge, "Suspendre" en contour */ .gestion_acces .actions_acces { display: flex; align-items: center; justify-content: flex-end; gap: 6px; } .gestion_acces .actions_acces form { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; } .gestion_acces .actions_acces button { padding: 2px 12px; line-height: 1.6em; font-size: 0.85em; border-radius: 0.8em; white-space: nowrap; } .gestion_acces .actions_acces button.action_suspendre { background-color: var(--blanc); color: var(--bleu_koriolan_fonce); } .gestion_acces .actions_acces button.action_suspendre:hover { background-color: var(--bleu_koriolan_transparent); } .gestion_acces .actions_acces button.action_revoquer { background-color: var(--blanc); border-color: var(--rouge); color: var(--rouge); } .gestion_acces .actions_acces button.action_revoquer:hover { background-color: var(--rouge); color: var(--blanc); } .gestion_acces .actions_acces .modifier_acces { display: inline-block; width: 22px; height: 22px; flex: none; background-image: url(images/stylo.png); background-repeat: no-repeat; background-size: contain; background-position: center; cursor: pointer; } /* Confirmation de suppression d'un bateau : formulaire (bouton) aligné comme les liens de bas de page */ #Bateaux #confirmation_suppression_bateau form.boutons_bas_de_page button { line-height: 2em; } /* ------------------ Autres ---------------- */ @media only screen and (max-width: 580px) { #Bateaux .boutons_haut_de_page { grid-template-columns: minmax(50px, auto); } form.variables { display: flex; margin-bottom: 50px; flex-direction: column; padding : 0; } #popUpAccesModal{ width: 95% !important; height: 60% !important; } #popUpAccesModal form { grid-template-columns: 1fr; row-gap: 30px; } } @media only screen and (max-width: 850px) { .page_principale { width: 96% !important; } .gestion_acces{ flex-direction: column-reverse; } .gestion_acces .generer_code form { grid-template-columns: 1fr 1fr; } .gestion_acces .actions_acces, .gestion_acces .actions_acces form { justify-content: flex-start; } form.variables { padding : 0; } #popUpAccesModal{ width: 80%; height: 40%; } } /* Petits écrans : formulaire d'invitation sur une colonne. Placé EN FIN de fichier : le bloc "max-width: 850px" ci-dessus s'applique aussi sous 580px et, venant après, l'emporterait sinon. */ @media only screen and (max-width: 580px) { .gestion_acces .generer_code form { grid-template-columns: 1fr; } .gestion_acces .generer_code form input[name="email_invite"], .gestion_acces .generer_code form select { grid-column: auto; } } /* --------------------- CONSULTATION DES DONNÉES (synthèse §50) ----------------------*/ /* Indicateur de fraîcheur (en-tête de la page du bateau) */ #Bateaux .fraicheur { padding: 1px 8px; border-radius: 1em; } #Bateaux .fraicheur_verte { background-color: rgba(2, 166, 2, 0.12); color: #027a02; } #Bateaux .fraicheur_orange { background-color: rgba(255, 166, 0, 0.18); color: #8a5a00; } #Bateaux .fraicheur_rouge { background-color: rgba(229, 57, 53, 0.15); color: #b71c1c; } /* Choix de la génération consultée */ #Bateaux .consultation .choix_generation { text-align: left; margin: 10px 0px 20px 0px; } #Bateaux .consultation .choix_generation select { width: auto; max-width: 100%; display: inline-block; height: 2.4em; padding: 0px 10px; } #Bateaux .consultation .generation_ancienne { text-align: left; padding: 8px 15px; border-radius: 10px; background-color: var(--jaune_post_it_transparent); } /* Domaines : une grille de familles (cartes) par domaine */ #Bateaux .consultation .domaine { margin-bottom: 30px; } #Bateaux .consultation .domaine h2 { text-align: left; margin-bottom: 10px; } #Bateaux .consultation .domaine { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 15px; align-items: start; } #Bateaux .consultation .domaine h2 { grid-column: 1 / -1; } #Bateaux .consultation .famille { border: 1px solid var(--bleu_koriolan_transparent); border-radius: 10px; padding: 5px 15px 10px 15px; background-color: var(--blanc); } #Bateaux .consultation .famille h3 { text-align: left; font-size: 1.05em; margin: 8px 0px; } #Bateaux .consultation .famille table { width: 100%; } #Bateaux .consultation .famille td { padding: 4px 6px; border-top: 1px solid var(--gris_tres_tres_pale); font-size: 0.9em; text-align: left; vertical-align: top; } #Bateaux .consultation .famille td.valeurs_element { text-align: right; white-space: pre; font-weight: 600; } #Bateaux .consultation .famille td.defaut_element { text-align: right; color: #b71c1c; font-size: 0.8em; } #Bateaux .consultation .famille tr.en_defaut td.nom_element::before { content: "\26A0\00A0"; color: #e53935; } /* Dernières alarmes */ #Bateaux .consultation .dernieres_alarmes { margin-bottom: 30px; } #Bateaux .consultation .dernieres_alarmes h2 { text-align: left; margin-bottom: 10px; } #Bateaux .consultation .dernieres_alarmes .aucune_alarme { text-align: left; font-style: italic; color: var(--gris_pale); } #Bateaux .consultation .dernieres_alarmes table { width: 100%; } #Bateaux .consultation .dernieres_alarmes td { text-align: left; padding: 4px 8px; border-top: 1px solid var(--gris_tres_tres_pale); font-size: 0.9em; vertical-align: top; } #Bateaux .consultation .dernieres_alarmes td.date_alarme { white-space: nowrap; width: 1%; } #Bateaux .consultation .dernieres_alarmes th { text-align: left; padding: 4px 8px; font-size: 0.85em; } #Bateaux .consultation .dernieres_alarmes td.duree_alarme { white-space: nowrap; width: 1%; } #Bateaux .consultation .dernieres_alarmes td.nom_alarme { font-weight: 600; color: #b71c1c; white-space: nowrap; width: 1%; } #Bateaux .consultation .dernieres_alarmes .alarme_en_cours { color: #b71c1c; font-weight: 600; } #Bateaux .consultation .dernieres_alarmes tr.alarme_termine td.nom_alarme, #Bateaux .consultation .dernieres_alarmes tr.alarme_ponctuel td.nom_alarme { color: var(--bleu_koriolan_fonce); } /* Courbes historiques (étape 3c) */ #Bateaux .consultation tr.avec_courbe { cursor: pointer; } #Bateaux .consultation tr.avec_courbe:hover td { background-color: var(--bleu_koriolan_transparent); } #panneau_courbe { position: fixed; inset: 0; z-index: 9999; background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; } #panneau_courbe[hidden] { display: none; } #panneau_courbe .fenetre_courbe { width: min(1000px, 95vw); max-height: 92vh; overflow-y: auto; background: var(--blanc); border-radius: 10px; box-shadow: 0px 0px 7px 2px var(--bleu_koriolan); padding: 10px 20px 15px 20px; } #panneau_courbe .entete_courbe { display: flex; justify-content: space-between; align-items: center; } #panneau_courbe .entete_courbe h3 { margin: 5px 0px; text-align: left; } #panneau_courbe #fermer_courbe { background: none; border: none; color: var(--bleu_koriolan_fonce); font-size: 2em; line-height: 1em; padding: 0px 8px; cursor: pointer; } #panneau_courbe .choix_courbe { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0px; } #panneau_courbe .choix_courbe:empty { display: none; } #panneau_courbe .choix_courbe button { padding: 2px 12px; line-height: 1.6em; font-size: 0.85em; border-radius: 0.8em; background-color: var(--blanc); color: var(--bleu_koriolan_fonce); } #panneau_courbe .choix_courbe button.actif { background-color: var(--bleu_koriolan_fonce); color: var(--blanc); } #panneau_courbe .zone_courbe { position: relative; height: min(55vh, 420px); } #panneau_courbe #message_courbe { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0px; font-style: italic; } #panneau_courbe #message_courbe[hidden] { display: none; } #panneau_courbe #stats_courbe { font-size: 0.85em; text-align: left; white-space: pre-wrap; margin: 8px 0px 0px 0px; } /* Information sur la mise à jour demandée à l'ouverture (étape 3d) */ #Bateaux .entete_bateau .info_mise_a_jour { display: block; font-size: 0.8em; font-style: italic; color: var(--gris_pale); margin-top: 3px; } #Bateaux .entete_bateau .info_mise_a_jour.en_cours::before { content: "\21BB\00A0"; display: inline-block; animation: rotation_mise_a_jour 1.5s linear infinite; } @keyframes rotation_mise_a_jour { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } #Bateaux .entete_bateau { height: auto; min-height: 60px; } /* place pour la ligne d'information ci-dessus */