:root { --ordrejfg-bg: #13161f; --ordrejfg-card: #1c2030; --ordrejfg-border: rgba(255, 255, 255, 0.08); --ordrejfg-text: #f0f2fc; } /* Force le plein écran */ .ordrejfg-page { background-color: var(--ordrejfg-bg); margin: 0; padding: 0; } .ordrejfg-shell { width: 100%; max-width: none; margin: 0; padding: 20px; box-sizing: border-box; } .ordrejfg-card { background: var(--ordrejfg-card); border-radius: 12px; padding: 20px; width: 100%; box-sizing: border-box; } /* Tables en pleine largeur */ .ordrejfg-table, .ordrejfg-detail-table { width: 100% !important; border-collapse: collapse; table-layout: auto; } /* Alignements entêtes */ .ordrejfg-table th, .ordrejfg-detail-table th { background: rgba(255, 255, 255, 0.05); padding: 12px; text-align: left; color: #fff; } .ordrejfg-detail-table th { text-align: center !important; vertical-align: middle; } .ordrejfg-detail-table td { padding: 8px; border-bottom: 1px solid var(--ordrejfg-border); } /* Styles boutons */ .ordrejfg-edit-button { padding: 4px 12px; cursor: pointer; } /* Boutons principaux (Créer et Retour) */ .ordrejfg-btn-menu, .ordrejfg-btn-creer { padding: 10px 24px !important; border-radius: 50px !important; border: none !important; cursor: pointer !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: background 0.3s ease !important; color: #ffffff !important; } /* Bouton Menu (Bleu) */ .ordrejfg-btn-menu { background-color: #1a237e !important; } .ordrejfg-btn-menu:hover { background-color: #283593 !important; } /* Bouton Créer (Vert) */ .ordrejfg-btn-creer { background-color: #28a745 !important; } .ordrejfg-btn-creer:hover { background-color: #218838 !important; } /* Styles lignes */ .ordrejfg-header-style { background: rgba(255, 255, 255, 0.05) !important; } .ordrejfg-header-style td { color: #fff !important; font-weight: 600 !important; padding: 12px !important; border-bottom: 2px solid rgba(255, 255, 255, 0.1) !important; } .ordrejfg-detail-row td { padding: 10px 5px !important; border-bottom: 1px solid var(--ordrejfg-border); color: #e0e0e0; font-family: monospace; } .ordrejfg-detail-row:hover { background-color: rgba(255, 255, 255, 0.03); } /* Alignement colonnes numériques */ .ordrejfg-detail-table .text-right { text-align: right !important; padding-right: 15px !important; } /* Classe commune : force la taille et l'alignement */ .ordrejfg-btn-petit { width: 90px; height: 30px; padding: 0 10px; font-size: 0.8em; font-weight: 600; cursor: pointer; border: none; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; transition: background 0.2s ease; } /* Couleurs spécifiques */ .ordrejfg-btn-creer-petit { background-color: #28a745; color: white; } .ordrejfg-btn-creer-petit:hover { background-color: #218838; } .ordrejfg-btn-modifier-petit { background-color: #1a237e; color: white; } .ordrejfg-btn-modifier-petit:hover { background-color: #283593; } .ordrejfg-master-row { background: linear-gradient(90deg, #001f3f, #004cff) !important; color: #ffffff; font-weight: 600; letter-spacing: 0.3px; border-bottom: 1px solid rgba(255, 255, 255, 0.15); box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08); } /**********************************************************/ /* 1. On nettoie le body */ html, body { height: 100%; margin: 0; overflow: hidden; } /* 2. On positionne le shell en absolu pour qu'il s'insère entre le header et le footer */ .ordrejfg-shell { position: absolute; top: 80px; bottom: 50px; left: 0; right: 0; display: flex; flex-direction: column; padding: 10px; box-sizing: border-box; } /* 3. La carte occupe l'espace restant */ .ordrejfg-card { flex: 1; display: flex; flex-direction: column; overflow: hidden; } /* 4. C'est ici que le scroll se passe */ .ordrejfg-table-wrapper { flex: 1; overflow-y: auto; } .ordrejfg-table { width: 100%; margin: 0; } /* =========================== MODALES =========================== */ .ordrejfg-modal { width: 520px; max-width: 92vw; border: none; border-radius: 18px; background: #20263a; color: white; padding: 30px; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45); animation: popup 0.18s ease-out; } .ordrejfg-modal::backdrop { background: rgba(0, 0, 0, 0.65); backdrop-filter: blur(5px); } @keyframes popup { from { opacity: 0; transform: translateY(-20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } .ordrejfg-modal h2 { margin-top: 0; margin-bottom: 25px; text-align: center; font-size: 24px; font-weight: 600; } .form-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; } .form-group label { font-weight: 600; color: #cfd8ff; } .ordrejfg-modal input, .ordrejfg-modal select { width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 10px; border: 1px solid #3b4668; background: #151b2d; color: white; font-size: 15px; outline: none; transition: 0.25s; } .ordrejfg-modal input:focus, .ordrejfg-modal select:focus { border-color: #4d84ff; box-shadow: 0 0 0 3px rgba(77, 132, 255, 0.25); } .modal-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; } .modal-actions button { border: none; padding: 11px 22px; border-radius: 10px; font-weight: 600; cursor: pointer; transition: 0.2s; } .modal-actions button:first-child { background: #444b63; color: white; } .modal-actions button:first-child:hover { background: #59617c; } .modal-actions button:last-child { background: #2dbf5a; color: white; } .modal-actions button:last-child:hover { background: #27a84f; } .form-group .triple { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; } #btnRechercher { margin-top: 10px; width: 100%; padding: 12px; border: none; border-radius: 10px; background: #2962ff; color: white; font-weight: 600; cursor: pointer; } #btnRechercher:hover { background: #1d4ed8; } dialog.ordrejfg-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; width: 520px; max-width: 90vw; border: none; border-radius: 18px; padding: 30px; background: #20263a; color: white; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45); } dialog.ordrejfg-modal::backdrop { background: rgba(0, 0, 0, 0.65); backdrop-filter: blur(5px); }