702 lines
39 KiB
CSS
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; }
|