BastionGuard/thirdparty/bastionguard-backup/files/BastionGuard-dark.css
specialworld83 f0f913a209 Release 2.0
2026-07-15 10:52:22 +02:00

702 lines
39 KiB
CSS

/* ============================================================
* BastionGuard — Tema Scuro
* Palette: bg #1a1d23 · sidebar #1e3352 · testo #e4e7eb
* Riscritto da zero: NO tema di sistema, padding compatti
* ============================================================ */
/* ── RESET GLOBALE ─────────────────────────────────────────── */
* {
all: unset;
font-family: system-ui, sans-serif;
font-size: 13px;
color: #e4e7eb;
box-sizing: border-box;
}
/* ── FINESTRA ───────────────────────────────────────────────── */
window { background-color: #1a1d23; border-radius: 10px; }
dialog { background-color: #1a1d23; border-radius: 10px; }
/* ── HEADERBAR ──────────────────────────────────────────────── */
headerbar.custom-headerbar { background: transparent; border: none; min-height: 26px; padding: 0; margin: 0; }
headerbar .header-left { background-color: #1a1d23; border-top-left-radius: 10px; min-width: 180px; padding: 0; }
headerbar .header-right { background-color: #1a1d23; padding: 2px 6px; }
headerbar button.header-button { background: transparent; border: none; min-width: 24px; min-height: 24px; padding: 3px; border-radius: 5px; color: #e4e7eb; }
headerbar button.header-button:hover { background: rgba(255,255,255,0.10); }
/* ── SIDEBAR ────────────────────────────────────────────────── */
.sidebar { background-color: #1e3352; border-bottom-left-radius: 10px; padding: 6px; }
.sidebar-header { padding: 8px 12px; margin-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,0.12); }
.sidebar-header image { margin-right: 6px; }
.sidebar-title { font-weight: bold; font-size: 14px; color: #ffffff; }
.sidebar .sidebar-button, .sidebar-button {
color: #d0d9e8; background-color: transparent; border-radius: 6px;
padding: 5px 8px; margin: 1px 4px; font-weight: 500; min-height: 26px;
}
.sidebar .sidebar-button:hover { background-color: rgba(255,255,255,0.10); }
.sidebar .sidebar-button:active { background-color: rgba(255,255,255,0.16); }
.sidebar .sidebar-button.active-sidebar-button,
.sidebar .sidebar-button:checked { background-color: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.28); }
.sidebar button, .sidebar .sidebar-button { background-image: none; box-shadow: none; }
.sidebar button box, .sidebar .sidebar-button box,
.sidebar button label, .sidebar .sidebar-button label,
.sidebar button image, .sidebar .sidebar-button image {
background-color: transparent; background-image: none; box-shadow: none; color: #d0d9e8;
}
.sidebar .sidebar-button:hover box, .sidebar .sidebar-button:hover label, .sidebar .sidebar-button:hover image,
.sidebar .sidebar-button.active-sidebar-button box, .sidebar .sidebar-button.active-sidebar-button label, .sidebar .sidebar-button.active-sidebar-button image,
.sidebar .sidebar-button:checked box, .sidebar .sidebar-button:checked label, .sidebar .sidebar-button:checked image {
background-color: transparent; background-image: none; color: #ffffff;
}
.sidebar-group-button { color: #c8d4e8; background-color: transparent; border-radius: 6px; padding: 4px 6px; font-weight: 700; font-size: 12px; }
.sidebar-group-button:hover { background-color: rgba(255,255,255,0.10); }
.sidebar-group-label { color: #8fa8c8; font-weight: 600; font-size: 11px; padding: 4px 8px 2px 8px; }
.sidebar-separator { background-color: rgba(255,255,255,0.10); min-height: 1px; margin: 3px 8px; border-radius: 1px; }
.sidebar-arrow { color: rgba(255,255,255,0.50); font-size: 10px; margin-right: 3px; }
.sidebar .sidebar-langcol { margin: 4px 0 6px 0; padding: 0; }
.sidebar .sidebar-langcol combobox, .sidebar combobox, .sidebar dropdown {
background-color: rgba(255,255,255,0.10); color: #d0d9e8; border-radius: 5px; padding: 4px 8px; min-height: 24px; border: none;
}
.sidebar .sidebar-langcol combobox:hover, .sidebar combobox:hover { background-color: rgba(255,255,255,0.16); }
.sidebar .sidebar-langcol combobox arrow, .sidebar combobox arrow { color: #d0d9e8; }
.sidebar .sidebar-langcol combobox popover, .sidebar .sidebar-langcol combobox popover.menu {
background: #2a2e38; color: #e4e7eb; border-radius: 7px; border: 1px solid #3a3f4b;
}
.sidebar .sidebar-langcol combobox popover modelbutton { padding: 3px 8px; margin: 1px 3px; border-radius: 5px; background: transparent; color: #e4e7eb; }
.sidebar .sidebar-langcol combobox popover modelbutton:hover { background: rgba(100,150,220,0.20); }
.sidebar .sidebar-langcol combobox popover modelbutton:checked,
.sidebar .sidebar-langcol combobox popover modelbutton:active { background: #1e3352; color: #ffffff; }
.sidebar entry, .sidebar spinbutton, .sidebar switch { background-color: rgba(255,255,255,0.10); color: #d0d9e8; border-color: rgba(255,255,255,0.22); border-radius: 5px; }
.sidebar popover, .sidebar popover.background, .sidebar popover.menu { background-color: #2a2e38; color: #e4e7eb; border: 1px solid #3a3f4b; border-radius: 7px; }
/* ── MAIN CONTENT ───────────────────────────────────────────── */
.content { background-color: #1a1d23; padding: 10px; }
/* ── CARD ───────────────────────────────────────────────────── */
.card { background: #242830; border: 1px solid #3a3f4b; border-radius: 8px; padding: 8px 10px; }
.card label { color: #e4e7eb; font-size: 13px; line-height: 1.3; }
.card image { margin-right: 8px; min-width: 48px; min-height: 48px; }
.card label:first-child { font-weight: bold; font-size: 14px; margin-bottom: 2px; }
.card box, .card grid, .card row, .card listview, .card listbox { background-color: transparent; }
.log-card { min-height: 80px; min-width: 0; }
.log-card scrollbar.vertical { min-width: 5px; }
.log-card textview { font-size: 11px; }
/* ── STACK / VIEWPORT / PREFERENCES ────────────────────────── */
stack, stack > box, stack > widget, stack > child,
viewport, scrolledwindow > viewport, frame > border,
preferencespage, preferencesgroup, preferencesrow,
preferencesgroup > box, preferencespage > box {
background-color: #1a1d23; color: #e4e7eb; padding: 0; margin: 0;
}
listbox, listbox row, list, list row { background-color: transparent; color: #e4e7eb; }
listbox row:hover, list row:hover { background-color: rgba(100,150,220,0.10); border-radius: 6px; }
/* ── NOTEBOOK ───────────────────────────────────────────────── */
notebook tab { background: #242830; border: 1px solid #3a3f4b; border-bottom: none; padding: 4px 10px; border-top-left-radius: 5px; border-top-right-radius: 5px; color: #e4e7eb; }
notebook stack { border: 1px solid #3a3f4b; background: #242830; padding: 8px; }
notebook > header tab:checked { background-color: #2e3440; border-bottom: 2px solid #4a90d9; }
notebook > header tab:hover:not(:checked) { background-color: rgba(100,150,220,0.10); }
/* ── TEXTVIEW ───────────────────────────────────────────────── */
textview, textview text { background-color: #1e2128; border: 1px solid #3a3f4b; border-radius: 5px; padding: 5px; color: #a8b4c4; }
/* ── ENTRY ──────────────────────────────────────────────────── */
entry, .entry { background-color: #242830; color: #e4e7eb; border: 1px solid #3a3f4b; border-radius: 5px; padding: 3px 6px; min-height: 24px; caret-color: #4a90d9; }
entry:focus, .entry:focus { border-color: #4a90d9; }
entry:hover, .entry:hover { border-color: #5a6070; }
/* ── SPINBUTTON ─────────────────────────────────────────────── */
spinbutton, .numeric-entry { background-color: #242830; color: #e4e7eb; border: 1px solid #3a3f4b; border-radius: 5px; padding: 3px 6px; min-height: 24px; min-width: 70px; }
spinbutton:focus-within, .numeric-entry:focus-within { border-color: #4a90d9; }
.numeric-entry > button, spinbutton > button, .numeric-entry > separator, spinbutton > separator { opacity: 0; margin: 0; padding: 0; min-width: 0; min-height: 0; border: none; background: transparent; }
/* ── COMBOBOX / DROPDOWN ────────────────────────────────────── */
combobox, dropdown, .card combobox { background-color: #242830; color: #e4e7eb; border: 1px solid #3a3f4b; border-radius: 5px; padding: 3px 8px; min-height: 24px; }
combobox:hover, dropdown:hover { background-color: #2e3440; border-color: #5a6070; }
combobox arrow, dropdown arrow { color: #a0aab8; }
combobox popover, combobox popover.menu, dropdown popover, popover.background, popover.menu { background-color: #2a2e38; color: #e4e7eb; border: 1px solid #3a3f4b; border-radius: 7px; }
combobox popover modelbutton, dropdown popover modelbutton, popover.background modelbutton, popover.menu modelbutton { padding: 3px 8px; margin: 1px 3px; border-radius: 5px; background: transparent; color: #e4e7eb; }
combobox popover modelbutton:hover, dropdown popover modelbutton:hover, popover modelbutton:hover { background: rgba(100,150,220,0.20); }
combobox popover modelbutton:checked, combobox popover modelbutton:active, dropdown popover modelbutton:checked, popover modelbutton:checked { background: #1e3352; color: #ffffff; }
combobox popover modelbutton:checked *, popover modelbutton:checked * { color: #ffffff; }
/* ── SWITCH ─────────────────────────────────────────────────── */
switch { min-width: 34px; min-height: 18px; border-radius: 9px; background: #3a3f4b; }
switch:checked { background: #2979d8; }
switch slider { background: #8090a8; border-radius: 50%; min-width: 14px; min-height: 14px; }
switch:checked slider { background-color: #ffffff; }
/* ── CHECKBUTTON / RADIOBUTTON ──────────────────────────────── */
/* ── CHECKBUTTON ────────────────────────────────────────────── */
checkbutton,
checkbutton * {
color: #e4e7eb;
background-color: transparent;
}
checkbutton label { color: #e4e7eb; }
checkbutton check,
check {
background-color: #2a2e38;
border: 2px solid #5a6070;
border-radius: 4px;
min-width: 16px;
min-height: 16px;
-gtk-icon-size: 12px;
color: transparent;
}
checkbutton:hover check,
checkbutton:focus check,
check:hover {
border-color: #4a90d9;
background-color: #1a2438;
}
checkbutton:checked check,
check:checked,
checkbutton check:checked {
background-color: #2979d8;
border-color: #2979d8;
color: #ffffff;
-gtk-icon-source: -gtk-icontheme("object-select-symbolic");
-gtk-icon-size: 12px;
}
checkbutton:disabled check,
check:disabled {
background-color: #22252d;
border-color: #3a3f4b;
color: #4a5060;
}
checkbutton:indeterminate check,
check:indeterminate {
background-color: #2979d8;
border-color: #2979d8;
color: #ffffff;
}
/* ── RADIOBUTTON ────────────────────────────────────────────── */
radiobutton,
radiobutton * {
color: #e4e7eb;
background-color: transparent;
}
radiobutton label { color: #e4e7eb; }
radiobutton radio,
radio {
background-color: #2a2e38;
border: 2px solid #5a6070;
border-radius: 999px;
min-width: 16px;
min-height: 16px;
-gtk-icon-size: 8px;
color: transparent;
}
radiobutton:hover radio,
radiobutton:focus radio,
radio:hover {
border-color: #4a90d9;
background-color: #1a2438;
}
radiobutton:checked radio,
radio:checked,
radiobutton radio:checked {
background-color: #2979d8;
border-color: #2979d8;
color: #ffffff;
-gtk-icon-source: -gtk-icontheme("media-record-symbolic");
-gtk-icon-size: 8px;
}
radiobutton:disabled radio,
radio:disabled {
background-color: #22252d;
border-color: #3a3f4b;
color: #4a5060;
}
/* ── BUTTON ─────────────────────────────────────────────────── */
button { background-image: none; box-shadow: none; }
/* Icone nei bottoni: seguono il colore testo del bottone */
button image { color: inherit; background-color: transparent; }
/* Bottoni generici contenuto: icone chiare (tema scuro) */
.content button { background: #2a2e38; border: 1px solid #3a3f4b; border-radius: 5px; padding: 4px 10px; color: #e4e7eb; min-height: 24px; }
.content button image { color: #c0cad8; }
.content button:hover { background: #333844; }
/* Bottoni semantici colorati: icone bianche */
button.btn-primary image, button.btn-success image, button.btn-danger image,
button.btn-warning image, button.btn-info image, button.btn-cancel image, button.btn-finish image,
button.btn-next image, button.btn-back image, .BastionGuard-close-btn image,
.privacy-allow-btn image, .privacy-deny-btn image, .alert-button image,
.usb-card button.mount-btn image, .usb-card button.scan-btn image,
.secure-content button image { color: #ffffff; }
/* Bottoni grigi scuro: icone medie */
button.btn-grey image { color: #a0aab8; }
/* Bottoni disabilitati */
button:disabled image { color: #4a5060; }
button.btn-primary { background-color: #1a5fbc; color: #ffffff; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
button.btn-primary:hover { background-color: #1450a0; }
button.btn-primary:active { background-color: #0f4088; }
button.btn-success { background-color: #1e7e34; color: #ffffff; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
button.btn-success:hover { background-color: #196e2c; }
button.btn-success:active { background-color: #155e26; }
button.btn-danger { background-color: #a01c2a; color: #ffffff; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
button.btn-danger:hover { background-color: #8a1823; }
button.btn-danger:active { background-color: #74141e; }
button.btn-warning { background-color: #9c6b1e; color: #ffffff; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
button.btn-warning:hover { background-color: #855a18; }
button.btn-warning:active { background-color: #6e4a12; }
button.btn-info { background-color: #0e6e7a; color: #ffffff; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
button.btn-info:hover { background-color: #0b5c66; }
button.btn-info:active { background-color: #094d56; }
button.btn-grey { background-color: #2a2e38; color: #a0aab8; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
button.btn-grey:hover { background-color: #333844; }
button.btn-grey:active { background-color: #3d4450; }
button:disabled { background-color: #22252d; color: #5a6070; border: 1px solid #3a3f4b; }
.btn-next { background-color: #1a5fbc; color: #ffffff; border: none; border-radius: 5px; padding: 4px 10px; font-weight: 500; }
.btn-next:hover { background-color: #1450a0; }
.btn-back { background-color: #3a3f4b; color: #c0cad8; border: none; border-radius: 5px; padding: 4px 10px; font-weight: 500; }
.btn-back:hover { background-color: #444c5a; }
.btn-finish { background-color: #1e7e34; color: #ffffff; border: none; border-radius: 5px; padding: 4px 10px; font-weight: 500; }
.btn-finish:hover { background-color: #196e2c; }
.btn-cancel { background-color: #a01c2a; color: #ffffff; border: none; border-radius: 5px; padding: 4px 10px; font-weight: 500; }
.btn-cancel:hover { background-color: #8a1823; }
.nav { padding: 8px; min-width: 120px; }
.nav button { border-radius: 5px; padding: 5px 12px; min-width: 100px; font-weight: 500; margin: 2px 0; color: #e4e7eb; }
/* ── TREEVIEW ───────────────────────────────────────────────── */
treeview, treeview.view { background-color: #242830; color: #e4e7eb; }
treeview row { background-color: #242830; color: #e4e7eb; padding: 2px 0; }
treeview.view:selected, treeview row:selected { background-color: #1e3352; color: #ffffff; }
/* ── LIST / COLUMNVIEW / GRIDVIEW ──────────────────────────── */
listview row:selected, list row:selected, columnview row:selected, treeview row:selected,
treeview.view:selected, flowboxchild:selected, gridview child:selected { background-color: #1e3352; color: #ffffff; border-radius: 5px; }
listview row:selected *, list row:selected *, columnview row:selected *, treeview row:selected *,
treeview.view:selected *, flowboxchild:selected *, gridview child:selected * { color: #ffffff; background-color: transparent; }
listview row:hover, list row:hover, columnview row:hover, gridview child:hover { background-color: rgba(100,150,220,0.12); border-radius: 5px; }
entry selection, text selection, textview text selection { background-color: #1e3352; color: #ffffff; }
/* ── SCROLLBAR ──────────────────────────────────────────────── */
scrollbar { background: rgba(0,0,0,0.15); border-radius: 8px; min-width: 8px; min-height: 8px; }
scrollbar slider { background: #4a5060; border-radius: 8px; min-width: 6px; min-height: 6px; }
scrollbar slider:hover { background: #4a90d9; }
scrollbar slider:active { background: #2979d8; }
scrollbar trough { margin: 2px; border-radius: 8px; background: transparent; }
/* ── PROGRESSBAR ────────────────────────────────────────────── */
progressbar.progress-success > trough { min-height: 16px; border-radius: 5px; background-color: #2a2e38; }
progressbar.progress-success > trough > progress { border-radius: 5px; background-color: #1e7e34; }
progressbar.progress-success text { color: white; font-weight: 700; }
.progress-BastionGuard { min-height: 14px; border-radius: 8px; }
.progress-BastionGuard > trough { background: rgba(0,0,0,0.20); border-radius: 8px; }
.progress-BastionGuard > trough > progress { background: linear-gradient(90deg, #0d7a60, #0a6850); border-radius: 8px; }
.progress-BastionGuard text { color: #b0e0d0; font-size: 12px; }
.scan-progressbar { min-height: 16px; border-radius: 6px; }
.scan-progressbar trough { background-color: #2a2e38; border-radius: 6px; min-height: 16px; }
.scan-progressbar progress { background-color: #1e7e34; border-radius: 6px; min-height: 16px; }
/* ── LABELS ─────────────────────────────────────────────────── */
label { color: #e4e7eb; }
.title { font-size: 16px; font-weight: bold; color: #e4e7eb; margin-bottom: 6px; }
.subtitle { font-size: 13px; font-weight: bold; color: #a0aab8; }
.small-label { font-size: 11px; color: #7a8598; }
.xsmall-label { font-size: 10px; color: #6a7588; }
.highlight { color: #4a90d9; font-weight: bold; }
.page-title, h1, h2 { color: #e4e7eb; margin-top: 0; padding-top: 0; }
label.page-title { margin-bottom: 6px; }
/* ── ALERT / BANNER ─────────────────────────────────────────── */
.alert-warning { background-color: #3a2c00; color: #ffd54f; border: 1px solid #8a6000; border-radius: 6px; padding: 6px 10px; margin: 4px 0; font-weight: 500; }
.alert-warning label { color: inherit; }
.alert-info { background-color: #0d2a40; color: #82c4f8; border: 1px solid #1e4060; border-radius: 6px; padding: 6px 10px; margin: 4px 0; font-weight: 500; }
.alert-info label { color: inherit; }
.alert-success { background-color: #1a5e36; border-radius: 5px; padding: 3px 12px; }
.alert-success label { color: #a0e8b8; font-weight: bold; }
.alert-danger { background-color: #6e1018; border-radius: 5px; padding: 3px 12px; }
.alert-danger label { color: #f8b0b8; font-weight: bold; }
.security-banner { border-radius: 5px; padding: 7px 12px; margin-bottom: 4px; }
.security-banner label { font-size: 12px; color: #a0aab8; }
.security-banner.alert-danger { background-color: #6e2000; color: #ffd0b0; border-left: 3px solid #a03010; }
.security-banner.alert-danger label { color: #ffd0b0; }
.security-banner.alert-info { background: linear-gradient(to right, #122840, #1e3352); color: #a0c8f0; border-left: 3px solid #1e3a56; }
.security-banner.alert-info label { color: #a0c8f0; }
.success-label { background-color: #1a3d22; color: #80cc98; border: 1px solid #2a6038; border-radius: 5px; padding: 4px 8px; margin-top: 4px; font-weight: 600; }
.alert-window { background-color: #242830; border-radius: 10px; padding: 16px; min-width: 400px; }
.alert-title { font-size: 16px; font-weight: bold; color: #f07080; margin-bottom: 8px; }
.alert-message { font-size: 13px; color: #8090a8; margin-bottom: 6px; line-height: 1.4; }
.alert-countdown { font-size: 12px; color: #6a7888; margin-top: 4px; }
.alert-button { border-radius: 5px; padding: 4px 12px; font-weight: 500; border: none; color: #ffffff; min-width: 100px; margin: 0 3px; }
/* ── APP DIALOG ─────────────────────────────────────────────── */
.app-dialog { background-color: #242830; border-radius: 10px; padding: 16px; min-width: 440px; }
.app-dialog label { font-size: 13px; color: #a0aab8; margin-bottom: 8px; line-height: 1.4; }
.app-dialog button { color: #ffffff; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; min-width: 90px; }
.app-dialog .btn-success { background-color: #1e7e34; }
.app-dialog .btn-success:hover { background-color: #196e2c; }
.app-dialog .btn-primary { background-color: #1a5fbc; }
.app-dialog .btn-primary:hover { background-color: #1450a0; }
.app-dialog .btn-danger { background-color: #a01c2a; }
.app-dialog .btn-danger:hover { background-color: #8a1823; }
/* ── DIALOG BUTTON BAR ──────────────────────────────────────── */
window.dialog actionbar button, window.dialog .dialog-action-area > button { border-radius: 6px; padding: 4px 10px; min-height: 24px; min-width: 90px; font-weight: 500; border: 1px solid transparent; }
window.dialog actionbar box.start > button:first-child, window.dialog .dialog-action-area > button:first-child { background: #2a2e38; color: #a0aab8; border-color: #3a3f4b; }
window.dialog actionbar box.start > button:first-child:hover, window.dialog .dialog-action-area > button:first-child:hover { background: #333844; }
window.dialog actionbar box.end > button:last-child, window.dialog .dialog-action-area > button:last-child,
window.dialog actionbar button.suggested-action, window.dialog .dialog-action-area > button.suggested-action { background: #1a5fbc; color: #ffffff; border-color: #1450a0; }
window.dialog actionbar box.end > button:last-child:hover, window.dialog .dialog-action-area > button:last-child:hover,
window.dialog actionbar button.suggested-action:hover, window.dialog .dialog-action-area > button.suggested-action:hover { background: #1450a0; }
window.dialog actionbar button:disabled, window.dialog .dialog-action-area > button:disabled { background: #22252d; border-color: #3a3f4b; color: #4a5060; }
/* ── FILE CHOOSER ───────────────────────────────────────────── */
filechooserdialog { background: #1a1d23; color: #e4e7eb; border-radius: 8px; }
filechooserdialog headerbar { background: #1e3352; color: #ffffff; border-bottom: 1px solid #1e3a56; }
filechooserdialog button { background: #1e3352; color: #ffffff; border-radius: 5px; padding: 4px 10px; border: none; font-weight: 500; }
filechooserdialog button:hover { background: #1e3a56; }
filechooserdialog button:active { background: #142d42; }
filechooserdialog list row { background: transparent; color: #e4e7eb; padding: 4px 8px; border-radius: 4px; }
filechooserdialog list row:hover { background: rgba(58,110,165,0.22); }
filechooserdialog list row:selected { background: #1e3352; color: #ffffff; }
filechooserdialog listview row:selected *, filechooserdialog list row:selected *, filechooserdialog columnview row:selected *, filechooserdialog gridview child:selected * { color: #ffffff; }
placessidebar row:selected, placesview row:selected { background-color: #1e3352; color: #ffffff; }
placessidebar row:selected *, placesview row:selected * { color: #ffffff; }
/* ── BASTIONGUARD DIALOG ────────────────────────────────────── */
.BastionGuard-dialog { background-color: #242830; border-radius: 10px; padding: 12px; border: 1px solid #3a3f4b; }
.BastionGuard-popup { border: 1px solid #3a3f4b; background-color: #242830; border-radius: 10px; }
.BastionGuard-dialog-title { font-size: 15px; font-weight: 700; color: #e4e7eb; margin-bottom: 8px; }
.BastionGuard-scroller { border-radius: 6px; border: 1px solid #3a3f4b; background-color: #242830; }
.BastionGuard-textview { font-family: monospace; font-size: 12px; background-color: #1e2128; padding: 8px; border-radius: 6px; color: #a0aab8; }
.BastionGuard-close-btn { background-color: #1a5fbc; color: #ffffff; border-radius: 5px; padding: 4px 12px; border: none; font-weight: 500; min-width: 100px; }
.BastionGuard-close-btn:hover { background-color: #1450a0; }
.BastionGuard-close-btn:active { background-color: #0f4088; }
.BastionGuard-title { padding: 5px 10px; font-weight: 600; font-size: 14px; color: #a0aab8; }
/* ── PRIVACY POPUP ──────────────────────────────────────────── */
.privacy-popup { background-color: #242830; border: 1px solid #3a3f4b; border-radius: 10px; color: #e4e7eb; padding: 12px; }
.privacy-popup-title { font-weight: 700; font-size: 15px; color: #e4e7eb; margin-bottom: 8px; }
.privacy-popup label { color: #a0aab8; font-size: 13px; }
.privacy-popup-pending { font-size: 12px; color: #6a7888; margin-top: 6px; font-style: italic; }
.privacy-allow-btn, .privacy-deny-btn { border-radius: 5px; padding: 4px 12px; font-weight: 500; min-width: 100px; border: none; color: #ffffff; }
.privacy-allow-btn { background-color: #1a5e36; }
.privacy-allow-btn:hover { background-color: #155030; }
.privacy-deny-btn { background-color: #5e1010; }
.privacy-deny-btn:hover { background-color: #6e1818; }
/* ── SCAN FILE LIST ─────────────────────────────────────────── */
.scan-file-list { background-color: #242830; border: 1px solid #3a3f4b; border-radius: 8px; padding: 4px 0; }
.scan-file-list row { padding: 4px 10px; background: transparent; border-radius: 5px; margin: 1px 4px; }
.scan-file-list row:hover { background-color: rgba(100,150,220,0.14); }
.scan-file-list row.current { background-color: #1a2a3e; border-left: 3px solid #4a90d9; font-weight: 600; }
.scan-file-list row label { color: #a0aab8; font-size: 12px; }
.scan-file-list scrollbar slider { background: #4a90d9; border-radius: 5px; }
.scan-file-list scrollbar slider:hover { background: #2979d8; }
.scan-file-list scrollbar { background: rgba(0,0,0,0.15); }
/* ── USB CARD ───────────────────────────────────────────────── */
.usb-card { background: #242830; border: 1px solid #3a3f4b; border-radius: 8px; padding: 8px 10px; margin: 4px; min-width: 140px; min-height: 100px; }
.usb-card:hover { background-color: #2e3440; }
.usb-card-title { font-size: 13px; font-weight: 600; color: #e4e7eb; margin-bottom: 3px; }
.usb-card-info { font-size: 12px; color: #7a8598; line-height: 1.2; margin-bottom: 4px; }
.usb-card button.mount-btn { background-color: #1a5fbc; color: #ffffff; border-radius: 5px; padding: 3px 8px; border: none; font-size: 12px; font-weight: 500; }
.usb-card button.mount-btn:hover { background-color: #1450a0; }
.usb-card button.scan-btn { background-color: #1e7e34; color: #ffffff; border-radius: 5px; padding: 3px 8px; border: none; font-size: 12px; font-weight: 500; }
.usb-card button.scan-btn:hover { background-color: #196e2c; }
.usb-card.disabled { opacity: 0.40; }
/* ── SOURCE ACCORDION ───────────────────────────────────────── */
.source-header { background-color: #242830; border: 1px solid #3a3f4b; border-radius: 5px; padding: 5px 8px; border-bottom: none; }
.source-header:hover { background-color: #2e3440; }
.source-header:last-child { border-bottom: 1px solid #3a3f4b; }
.source-header label { color: #a0aab8; font-weight: 600; font-size: 12px; }
.expand-icon { color: #4a90d9; font-weight: bold; font-size: 12px; margin-left: 3px; }
.source-header.open { background-color: #1a2a3e; border-color: #4a90d9; border-bottom: 1px solid #4a90d9; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.revealer-content { background-color: #242830; border: 1px solid #4a90d9; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; padding: 8px 10px; margin: 0 0 4px 0; }
label.highlight { color: #4a90d9; font-weight: 600; }
label.suggested-action { color: #6a7888; font-weight: 600; }
/* ── ENTRIES SPECIALI ───────────────────────────────────────── */
.whitelist-entry, .whitelist-view, .home-entry { border-radius: 7px; padding: 5px 10px; font-size: 13px; color: #e4e7eb; background: #242830; border: 2px solid #2979d8; caret-color: #4a90d9; }
.whitelist-entry:focus, .whitelist-view:focus, .home-entry:focus { border-color: #4a90d9; background: #1a2438; }
.whitelist-entry:hover, .whitelist-view:hover, .home-entry:hover { border-color: #3a6caa; }
.company-entry { border-radius: 7px; padding: 5px 10px; font-size: 13px; color: #e4e7eb; background: #242830; border: 2px solid #2e6a20; caret-color: #4a9e30; }
.company-entry:focus { border-color: #4a9e30; background: #1a2818; }
.company-entry:hover { border-color: #3a7a28; }
.danger-entry { border-radius: 7px; padding: 5px 10px; font-size: 13px; color: #e4e7eb; background: #242830; border: 2px solid #8a1823; caret-color: #c02030; }
.danger-entry:focus { border-color: #c02030; background: #281820; }
.danger-entry:hover { border-color: #7a1418; }
/* ── SHA DIALOG ─────────────────────────────────────────────── */
.sha-dialog entry { border-radius: 6px; padding: 4px 8px; font-size: 13px; color: #e4e7eb; background: #242830; border: 2px solid #2979d8; caret-color: #4a90d9; }
.sha-dialog entry:focus { border-color: #4a90d9; background: #1a2438; }
.sha-dialog entry:hover { border-color: #3a6caa; }
.sha-dialog button { border-radius: 5px; font-weight: 500; padding: 4px 10px; }
.sha-dialog button.suggested-action { background-color: #1a5fbc; color: white; }
.sha-dialog button.suggested-action:hover { background-color: #1450a0; }
/* ── SECURE WINDOW ──────────────────────────────────────────── */
.secure-window { background-color: #1a1d23; border-radius: 10px; }
.secure-headerbar { background: #1e3352; color: #c8d8f0; padding: 6px 12px; font-weight: 600; border-top-left-radius: 10px; border-top-right-radius: 10px; }
.secure-headerbar .title, .secure-headerbar-title { color: #c8d8f0; }
.secure-headerbar .url { font-size: 12px; opacity: 0.75; margin-left: 5px; font-weight: 400; }
.secure-headerbar .close-btn { background: rgba(255,255,255,0.10); border: none; color: #c8d8f0; border-radius: 4px; font-size: 12px; padding: 3px 7px; }
.secure-headerbar .close-btn:hover { background: rgba(255,255,255,0.20); }
.secure-content { padding: 14px; background-color: #242830; color: #e4e7eb; }
.secure-content entry { border-radius: 5px; border: 1px solid #3a3f4b; padding: 3px 7px; background: #2a2e38; color: #e4e7eb; }
.secure-content entry:focus { border-color: #27ae60; }
.secure-content button { background-color: #1a5e36; color: #a0e8b8; border-radius: 5px; padding: 4px 10px; font-weight: 500; border: none; }
.secure-content button:hover { background-color: #155030; }
/* ── SERVICE ROWS ───────────────────────────────────────────── */
.service-name { font-weight: 600; font-size: 1.0em; color: #e4e7eb; }
.service-desc { font-size: 12px; color: #7a8598; margin-top: 1px; }
.service-row:hover { background-color: rgba(100,150,220,0.10); border-radius: 6px; }
.service-row:active { background-color: rgba(100,150,220,0.18); }
/* ── UPDATE BADGE ───────────────────────────────────────────── */
.update-badge { padding: 4px 8px; border-radius: 999px; font-weight: 600; border: 1px solid rgba(255,255,255,0.08); font-size: 12px; }
.update-checking { background: rgba(255,255,255,0.05); color: #6a7888; }
.update-ok { background: rgba(40,140,70,0.20); color: #60d890; }
.update-warn { background: rgba(200,40,60,0.20); color: #f06080; }
.update-unk { background: rgba(200,160,30,0.20); color: #d4a830; }
/* ── MISC ───────────────────────────────────────────────────── */
.mini-toggle { min-width: 32px; min-height: 16px; padding: 0; margin: 0 3px; }
.mini-toggle slider { min-width: 12px; min-height: 12px; }
.theme-btn { font-size: 1.1em; padding: 1px 5px; border-radius: 5px; opacity: 0.55; }
.theme-btn-active { opacity: 1.0; background-color: rgba(100,150,220,0.18); }
.btn-small { padding: 3px 7px; font-size: 11px; }
@keyframes progress-stripes {
from { background-position: 0 0; }
to { background-position: 40px 0; }
}
/* ============================================================
* ICONE SEMPRE VISIBILI — Dark Theme
* Tutti i contesti dove le icone devono avere colore esplicito
* ============================================================ */
button image,
button image:disabled {
-gtk-icon-style: requested;
background-color: transparent;
}
/* ── Toolbar superiore (Crea, Ripristino, Sfoglia, Elimina) ── */
/* Su sfondo scuro: icone chiare */
toolbar button image,
box > button image,
actionbar button image,
.toolbar button image,
headerbar button image,
headerbar button.header-button image {
color: #c0cad8;
}
/* ── Barra inferiore ── */
revealer button image,
box.linked button image,
flowbox button image,
.bottom-bar button image,
actionbar > revealer > box > button image,
box.toolbar button image {
color: #c0cad8;
}
/* Fallback universale su sfondo scuro */
window button image,
dialog button image {
color: #c0cad8;
}
/* Override per bottoni colorati — sempre bianche */
button.btn-primary image,
button.btn-success image,
button.btn-danger image,
button.btn-warning image,
button.btn-cancel image,
button.btn-finish image,
button.btn-next image,
button.btn-back image,
button.suggested-action image,
button.destructive-action image,
.BastionGuard-close-btn image,
.privacy-allow-btn image,
.privacy-deny-btn image,
.alert-button image,
.usb-card button.mount-btn image,
.usb-card button.scan-btn image,
.secure-content button image,
window.dialog actionbar button.suggested-action image,
window.dialog actionbar button:last-child image {
color: #ffffff;
}
/* Override per sidebar — sempre chiare */
.sidebar button image,
.sidebar .sidebar-button image {
color: #d0d9e8;
}
/* Disabilitati */
button:disabled image {
color: #4a5060;
opacity: 0.5;
}
/* ── Action toolbar buttons ── */
.action-btn { border-radius: 5px; padding: 4px 10px; font-weight: 500; }
/* ── PROGRESSBAR GENERICA (Backup / Restore / Delete / Estimate / RsyncLog) ── */
progressbar {
min-height: 18px;
border-radius: 6px;
margin-top: 4px;
margin-bottom: 4px;
}
progressbar trough {
background-color: #2a2e38;
border-radius: 6px;
min-height: 18px;
border: 1px solid #3a3f4b;
}
progressbar progress {
background-color: #1a5fbc;
background-image: linear-gradient(90deg, #1a5fbc, #2979d8);
border-radius: 6px;
min-height: 18px;
}
progressbar text {
color: #ffffff;
font-weight: 600;
font-size: 12px;
}
progressbar.pulse trough {
background-color: #2a2e38;
}
progressbar.pulse progress {
background-color: #1a5fbc;
background-image: linear-gradient(90deg, #1a5fbc, #2979d8);
border-radius: 6px;
}
/* ── SNAPSHOT LIST ROWS ─────────────────────────────────────────────── */
.boxed-list > row {
padding: 0;
margin: 0;
}
.boxed-list > row:not(:last-child) {
border-bottom: 1px solid #3a3f4b;
}
.boxed-list > row entry {
min-height: 22px;
padding: 2px 6px;
font-size: 12px;
color: #7a8598;
background-color: #1e2128;
border: 1px solid #2a2e38;
border-radius: 4px;
}
.boxed-list > row label {
font-size: 13px;
}
.boxed-list > row .dim-label {
font-size: 11px;
color: #6a7588;
}
/* ── SNAPSHOT PAGE LAYOUT COMPATTO ─────────────────────────────────── */
/* Riduce altezza card status in cima */
.card { padding: 6px 8px; }
/* Riduce img shield */
.card image { min-width: 36px; min-height: 36px; }
/* Snapshot list: rimuove padding extra della boxed-list */
listbox.boxed-list { padding: 0; }
listbox.boxed-list row { padding: 0; }
/* ── TOOLTIP ───────────────────────────────────────────────── */
/* Necessario perché il `* { all: unset }` in cima azzera anche i
* tooltip e li renderebbe illeggibili (testo chiaro su sfondo
* di sistema chiaro). */
tooltip {
background-color: #2a2e38;
border: 1px solid #3a3f4b;
border-radius: 5px;
padding: 4px 8px;
}
tooltip,
tooltip * ,
tooltip label {
color: #e4e7eb;
font-size: 12px;
}
/* ── DIALOG ADD NETWORK SHARE (SMB) ────────────────────────── */
.smb-dialog { padding: 0; }
.smb-dialog .smb-title {
font-size: 15px;
font-weight: 700;
color: #ffffff;
margin-bottom: 4px;
}
.smb-dialog .smb-subtitle {
color: #a0aab8;
font-size: 12px;
margin-bottom: 10px;
}
.smb-dialog entry {
background-color: #242830;
color: #e4e7eb;
border: 1px solid #3a3f4b;
border-radius: 5px;
padding: 4px 8px;
min-height: 26px;
}
.smb-dialog entry:focus-within { border-color: #4a90d9; }
.smb-dialog .error-text { color: #ff6b6b; }
/* Bottoni "Refresh" e "Add Network Share..." nella selezione device */
button.btn-toolbar {
background: #2a2e38;
border: 1px solid #3a3f4b;
border-radius: 5px;
color: #e4e7eb;
padding: 4px 12px;
min-height: 26px;
min-width: 0;
}
button.btn-toolbar:hover { background: #333844; }
button.btn-toolbar label { color: #e4e7eb; }