[Coffre Secrets] Phase 1 complète : chiffrement, API et UI (1a + 1b + 1c) #25
@@ -14331,3 +14331,35 @@ body.has-draco-bar .app-container { height: calc(100vh - 60px); }
|
||||
color: var(--text-primary); font: inherit; font-size: 13.5px;
|
||||
}
|
||||
.draco-liens-erreur { color: var(--err); font-size: 13px; margin: 8px 0 0; }
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Coffre Secrets (Phase 1c, issue #19) — vue Secrets + nœud sidebar.
|
||||
* Réutilise les variables de thème existantes ; aucune valeur de secret
|
||||
* n'est jamais affichée par ces styles (colonne valeur = •••••• en texte).
|
||||
* --------------------------------------------------------------------------- */
|
||||
.coffres-view { padding: 16px 20px; max-width: 1100px; }
|
||||
.coffres-subtitle { color: var(--text-muted); margin: 0 0 12px; }
|
||||
.coffres-banner { padding: 10px 12px; margin: 12px 0; background: var(--bg-secondary, #161b22); border: 1px solid var(--border, #21262d); border-radius: 8px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
||||
.coffres-banner.warn { border-color: var(--warning, #f59e0b); }
|
||||
.coffres-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
|
||||
.coffres-chip { white-space: nowrap; }
|
||||
.coffres-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 12px 0; }
|
||||
.coffres-actions .modal-input { flex: 1 1 220px; }
|
||||
.coffres-table { width: 100%; border-collapse: collapse; margin: 12px 0; }
|
||||
.coffres-table th, .coffres-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--border, #21262d); vertical-align: top; }
|
||||
.coffres-table tbody tr { cursor: pointer; }
|
||||
.coffres-table tbody tr:hover { background: var(--bg-hover, #1f2430); }
|
||||
.coffres-detail { margin-top: 16px; padding: 14px; background: var(--bg-secondary, #161b22); border: 1px solid var(--border, #21262d); border-radius: 8px; }
|
||||
.coffres-dl { display: grid; grid-template-columns: 160px 1fr; gap: 4px 12px; margin: 12px 0; }
|
||||
.coffres-dl dt { color: var(--text-muted); }
|
||||
.coffres-dl dd { margin: 0; overflow-wrap: anywhere; }
|
||||
.coffres-line { padding: 6px 0; border-bottom: 1px solid var(--border, #21262d); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
|
||||
.coffres-empty { color: var(--text-muted); }
|
||||
.coffres-alerts { margin: 12px 0; }
|
||||
.coffres-alert { color: var(--warning, #f59e0b); padding: 2px 0; }
|
||||
.coffres-form { display: grid; gap: 8px; max-width: 560px; margin: 8px 0; }
|
||||
.coffres-icon-lock { font-size: 16px; line-height: 1; }
|
||||
.coffres-alert-dot { color: var(--warning, #f59e0b); font-weight: 700; margin-left: 4px; }
|
||||
.coffres-context-menu { position: fixed; z-index: 1000; min-width: 220px; background: var(--bg-secondary, #161b22); border: 1px solid var(--border, #21262d); border-radius: 8px; padding: 4px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
|
||||
.coffres-context-item { display: block; width: 100%; text-align: left; padding: 8px 12px; background: transparent; border: none; color: var(--text-primary, #e6edf3); cursor: pointer; border-radius: 6px; }
|
||||
.coffres-context-item:hover { background: var(--bg-hover, #1f2430); }
|
||||
|
||||
Reference in New Issue
Block a user